From 56cd293f4b8a7d62590965d4b8920d4eacf9252f Mon Sep 17 00:00:00 2001 From: Markolie Date: Sat, 31 Jan 2015 16:40:29 +0100 Subject: [PATCH] Unused/WorkInProgress folder cleanup --- code/TriDimension/Movement.dm | 49 - code/TriDimension/Pipes.dm | 0 code/TriDimension/Structures.dm | 205 - code/TriDimension/Turfs.dm | 96 - code/TriDimension/multiz.dmi | Bin 17432 -> 0 bytes code/TriDimension/multiz_pipe.dmi | Bin 1884 -> 0 bytes .../AI_Visibility/_old_AI_Visibility.dm | 573 - code/WorkInProgress/AI_Visibility/ai.dm | 107 - .../WorkInProgress/AI_Visibility/cameranet.dm | 156 - code/WorkInProgress/AI_Visibility/chunk.dm | 224 - code/WorkInProgress/AI_Visibility/minimap.dm | 137 - code/WorkInProgress/AI_Visibility/util.dm | 38 - .../WorkInProgress/Cael_Aislinn/Rust/areas.dm | 77 - .../Cael_Aislinn/Rust/circuits_and_design.dm | 120 - .../Cael_Aislinn/Rust/core_control.dm | 143 - .../Cael_Aislinn/Rust/core_field.dm | 438 - .../Cael_Aislinn/Rust/core_gen.dm | 287 - .../Cael_Aislinn/Rust/core_monitor.dm | 0 .../Cael_Aislinn/Rust/fuel_assembly.dm | 17 - .../Cael_Aislinn/Rust/fuel_assembly_port.dm | 102 - .../Rust/fuel_assembly_port_construction.dm | 133 - .../Cael_Aislinn/Rust/fuel_compressor.dm | 116 - .../Rust/fuel_compressor_construction.dm | 160 - .../Cael_Aislinn/Rust/fuel_control.dm | 192 - .../Cael_Aislinn/Rust/fuel_injector.dm | 308 - .../Cael_Aislinn/Rust/fusion_reactions.dm | 160 - .../Cael_Aislinn/Rust/gyrotron.dm | 186 - .../Cael_Aislinn/Rust/gyrotron_controller.dm | 88 - .../Cael_Aislinn/Rust/radiation.dm | 74 - .../WorkInProgress/Cael_Aislinn/Rust/rust.dmi | Bin 42825 -> 0 bytes .../Cael_Aislinn/Rust/rust_old.dmi | Bin 492 -> 0 bytes .../Rust/virtual_particle_catcher.dm | 53 - .../Cael_Aislinn/Supermatter/Laser2.dm | 132 - .../Cael_Aislinn/Supermatter/LaserComputer.dm | 122 - .../Cael_Aislinn/Supermatter/Shard.dmi | Bin 1575 -> 0 bytes .../Cael_Aislinn/Supermatter/SuperMatter.dm | 186 - .../Supermatter/ZeroPointLaser.dm | 236 - .../Cael_Aislinn/covershield.dmi | Bin 9086 -> 0 bytes .../Cael_Aislinn/meteor_battery.dm | 261 - .../Cael_Aislinn/meteor_turret.dmi | Bin 4153 -> 0 bytes code/WorkInProgress/Cael_Aislinn/sculpture.dm | 262 - code/WorkInProgress/Cael_Aislinn/unknown.dmi | Bin 950 -> 0 bytes code/WorkInProgress/Chinsky/overmap/README.dm | 110 - .../Chinsky/overmap/_defines.dm | 35 - .../WorkInProgress/Chinsky/overmap/sectors.dm | 95 - .../overmap/ships/computers/engine_control.dm | 99 - .../Chinsky/overmap/ships/computers/helm.dm | 174 - .../overmap/ships/computers/shuttle.dm | 139 - .../Chinsky/overmap/ships/engines/engine.dm | 60 - .../Chinsky/overmap/ships/engines/thermal.dm | 99 - .../Chinsky/overmap/ships/ship.dm | 105 - code/WorkInProgress/Cib/amorph/amorph.dm | 590 - .../Cib/amorph/amorph_attack.dm | 248 - .../Cib/amorph/amorph_damage.dm | 12 - code/WorkInProgress/Cib/amorph/amorph_hud.dm | 318 - code/WorkInProgress/Cib/amorph/life.dm | 516 - code/WorkInProgress/Cib/amorph/say.dm | 6 - code/WorkInProgress/Cib/meme.dm | 596 - .../WorkInProgress/IndexLP/indexlp_defines.dm | 32 - code/WorkInProgress/IndexLP/indexlp_icons.dmi | Bin 829 -> 0 bytes code/WorkInProgress/IndexLP/maps/cyberiad.dmm | 13720 ---------------- code/WorkInProgress/Mini/asay_trap.dm | 12 - code/WorkInProgress/Mini/pipe_heater.dm | 84 - code/WorkInProgress/Mloc/Shortcuts.dm | 65 - .../Ported/Abi79/uplink_kits.dm | 53 - code/WorkInProgress/Ported/Abi79/uplinks.dm | 467 - .../Ported/Bureaucracy/copier.dm | 145 - .../Ported/Bureaucracy/filing.dm | 23 - .../WorkInProgress/Ported/Spawners/spawner.dm | 208 - code/WorkInProgress/Ported/sql.dm | 71 - code/WorkInProgress/Sayu/belt.dm | 164 - .../Sigyn/Department Sec/__README.dm | 8 - .../Sigyn/Department Sec/jobs.dm | 126 - .../Sigyn/Softcurity/__README.dm | 10 - .../WorkInProgress/Sigyn/Softcurity/access.dm | 522 - .../Sigyn/Softcurity/clothing.dm | 33 - code/WorkInProgress/Sigyn/Softcurity/jobs.dm | 152 - .../Sigyn/Softcurity/secure_closet.dm | 235 - .../Sigyn/Softcurity/wardrobe.dm | 311 - code/WorkInProgress/SkyMarshal/Ultralight.dm | 385 - .../SkyMarshal/Ultralight_procs.dm | 32 - code/WorkInProgress/SkyMarshal/coatrack.dm | 96 - code/WorkInProgress/SkyMarshal/portalathe.dm | 21 - .../WorkInProgress/SkyMarshal/traitoritems.dm | 76 - code/WorkInProgress/SkyMarshal/wardrobes.dm | 614 - code/WorkInProgress/Susan/biocraps.dmi | Bin 32502 -> 0 bytes code/WorkInProgress/Susan/desert.dmi | Bin 13722 -> 0 bytes .../Susan/susan_desert_turfs.dm | 467 - code/WorkInProgress/Tastyfish/Eliza.dm | 152 - code/WorkInProgress/Tastyfish/Eliza_Data.dm | 435 - code/WorkInProgress/Tastyfish/Parser.dm | 18 - code/WorkInProgress/Tastyfish/livestock.dm | 190 - code/WorkInProgress/Tastyfish/paiLiza.dm | 28 - .../Tastyfish/wallmount_frame.dm | 231 - .../Wrongnumber/weldbackpack.dm | 51 - .../ZomgPonies/clothing/civilian.dm | 30 - .../ZomgPonies/mobs/metroid/Readme.txt | 1 - .../ZomgPonies/mobs/metroid/powers.dm | 277 - .../ZomgPonies/powerarmor/powerarmor.dm | 297 - .../powerarmor/powerarmorcomponents.dm | 261 - code/WorkInProgress/animusstation/atm.dm | 176 - code/WorkInProgress/carn/Explosion2.dm | 117 - code/WorkInProgress/carn/debug_locnull.dm | 7 - code/WorkInProgress/carn/debug_powernets.dm | 14 - .../carn/master_controller_old.dm | 210 - .../carn/master_controller_semi-seq.dm | 258 - code/WorkInProgress/kilakk/responseteam.dm | 256 - code/WorkInProgress/meteors.dm | 153 - code/WorkInProgress/organs/implants.dm | 13 - code/WorkInProgress/organs/organs.dm | 700 - code/ZAS - oldbs12/Airflow.dm | 420 - code/ZAS - oldbs12/Connection.dm | 448 - code/ZAS - oldbs12/Debug.dm | 219 - code/ZAS - oldbs12/FEA_gas_mixture.dm | 1089 -- code/ZAS - oldbs12/FEA_system.dm | 356 - code/ZAS - oldbs12/Fire.dm | 362 - code/ZAS - oldbs12/Functions.dm | 172 - code/ZAS - oldbs12/Plasma.dm | 163 - code/ZAS - oldbs12/Variable Settings.dm | 336 - code/ZAS - oldbs12/ZAS_Turfs.dm | 380 - code/ZAS - oldbs12/ZAS_Zones.dm | 875 - code/ZAS - vg/Airflow.dm | 434 - code/ZAS - vg/Connection.dm | 403 - code/ZAS - vg/Debug.dm | 122 - code/ZAS - vg/FEA_gas_mixture.dm | 1055 -- code/ZAS - vg/FEA_system.dm | 221 - code/ZAS - vg/Fire.dm | 363 - code/ZAS - vg/Functions.dm | 171 - code/ZAS - vg/NewSettings.dm | 517 - code/ZAS - vg/Plasma.dm | 125 - code/ZAS - vg/Variable Settings.dm | 340 - code/ZAS - vg/ZAS_Turfs.dm | 394 - code/ZAS - vg/ZAS_Zones.dm | 554 - code/ZAS/Airflow.dm | 34 +- .../Sayu => datums}/cargoprofile.dm | 4 +- .../medical_effects.dm} | 0 .../periodic_news.dm | 0 .../machinery/computer}/atmos_control.dm | 0 .../Chinsky => game/machinery}/guestpass.dm | 0 .../machinery/programmable_unloader.dm} | 10 - .../oldcode => game/machinery}/turntable.dm | 0 .../objects/effects}/explosion_particles.dm | 140 +- .../Chinsky => game/objects/items}/ashtray.dm | 0 .../objects/items/changestone.dm} | 0 .../objects/items/devices}/autopsy.dm | 0 .../objects/items}/policetape.dm | 0 .../objects/items}/random_items.dm | 0 .../objects/items/weapons}/fireworks.dm | 0 .../objects/items/weapons}/grenades.dm | 0 .../objects/items/weapons/storage/belt.dm | 156 +- .../admin}/buildmode.dm | 532 +- .../clothing/spacesuits/miscellaneous.dm | 33 +- .../computer3/NTOS.dm | 0 .../computer3/bios.dm | 0 .../computer3/buildandrepair.dm | 0 .../computer3/component.dm | 0 .../computer3/computer.dm | 0 .../computer3/computer3_notes.dm | 0 .../computer3/computers/HolodeckControl.dm | 0 .../computer3/computers/Operating.dm | 0 .../computer3/computers/aifixer.dm | 0 .../computer3/computers/arcade.dm | 0 .../computer3/computers/atmos_alert.dm | 0 .../computer3/computers/camera.dm | 0 .../computer3/computers/card.dm | 0 .../computer3/computers/cloning.dm | 0 .../computer3/computers/communications.dm | 0 .../computer3/computers/crew.dm | 0 .../computer3/computers/customs.dm | 0 .../computer3/computers/law.dm | 0 .../computer3/computers/medical.dm | 0 .../computer3/computers/message.dm | 0 .../computer3/computers/power.dm | 0 .../computer3/computers/prisoner.dm | 0 .../computer3/computers/prisonshuttle.dm | 0 .../computer3/computers/robot.dm | 0 .../computer3/computers/scanconsole.dm | 0 .../computer3/computers/security.dm | 0 .../computer3/computers/shuttle.dm | 0 .../computer3/computers/specops_shuttle.dm | 0 .../computer3/computers/station_alert.dm | 0 .../computer3/computers/syndicate_shuttle.dm | 0 .../computers/syndicate_specops_shuttle.dm | 0 .../computer3/computers/welcome.dm | 0 .../computer3/file.dm | 0 .../computer3/laptop.dm | 0 .../computer3/lapvend.dm | 0 .../computer3/networking.dm | 0 .../computer3/program.dm | 0 .../computer3/program_disks.dm | 0 .../computer3/server.dm | 0 .../computer3/storage.dm | 0 .../computer3/test_machines.dm | 0 .../computer3/upload/lawfile.dm | 0 .../computer3/upload/programs.dm | 0 .../Jungle => modules/jungle}/falsewall.dm | 0 .../Jungle => modules/jungle}/jungle.dm | 0 .../Jungle => modules/jungle}/jungle.dmi | Bin .../jungle}/jungle_animals.dm | 0 .../jungle}/jungle_plants.dm | 0 .../jungle}/jungle_temple.dm | 0 .../Jungle => modules/jungle}/jungle_tribe.dm | 0 .../Jungle => modules/jungle}/jungle_turfs.dm | 0 .../Jungle => modules/jungle}/misc_helpers.dm | 0 .../mob/living/simple_animal}/pony.dm | 0 .../research/designs/bluespace_designs.dm | 13 +- .../research/designs/machine_designs.dm | 10 + .../shieldgen}/circuits_and_designs.dm | 0 .../shieldgen}/energy_field.dm | 110 +- .../shieldgen}/shield_capacitor.dm | 0 .../shieldgen}/shield_gen.dm | 0 .../shieldgen}/shield_gen_external.dm | 0 .../shieldgen}/shielding.dmi | Bin code/unused/AI_Visibility.dm | 310 - code/unused/Agouri_stuff.dm | 1949 --- code/unused/BrokenInhands.dm | 36 - code/unused/Ultralight.dm | 341 - code/unused/Virus2Prob.dm | 12 - code/unused/_debug.dm | 619 - code/unused/ai_lockdown.dm | 60 - code/unused/airtunnel.dm | 463 - code/unused/assemblies.dm | 951 -- code/unused/asteroiddevice.dm | 105 - code/unused/authorize.dm | 168 - code/unused/beast/beast.dm | 1 - code/unused/beast/bodypart.dm | 16 - code/unused/beast/death.dm | 13 - code/unused/blender.dm | 156 - code/unused/carpetsplosion.dm | 83 - code/unused/computer2/airlock_control.dm | 60 - code/unused/computer2/arcade.dm | 136 - code/unused/computer2/base_program.dm | 263 - code/unused/computer2/buildandrepair.dm | 150 - code/unused/computer2/computerII.dm | 414 - code/unused/computer2/filebrowse.dm | 164 - code/unused/computer2/med_rec.dm | 463 - code/unused/computer2/messenger.dm | 97 - code/unused/computer2/peripherals.dm | 209 - code/unused/conveyor.dm | 398 - code/unused/disease2/cureimplanter.dm | 42 - code/unused/disease2/curer.dm | 154 - code/unused/disease2/monkeydispensor.dm | 30 - code/unused/dna.dm | 962 -- code/unused/dna_mutations.dm | 101 - code/unused/filter_control.dm | 162 - code/unused/game_kit.dm | 138 - code/unused/gamemodes/ctf.dm | 141 - code/unused/gamemodes/ctf_items.dm | 139 - code/unused/gamemodes/deathmatch.dm | 67 - code/unused/gamemodes/monkey.dm | 131 - code/unused/gamemodes/restructuring.dm | 77 - code/unused/gamemodes/ruby.dm | 289 - code/unused/goonheist/64x64.dmi | Bin 63614 -> 0 bytes code/unused/goonheist/goonsmoke.dmi | Bin 133954 -> 0 bytes code/unused/heater.dm | 201 - code/unused/hivebot/death.dm | 24 - code/unused/hivebot/emote.dm | 140 - code/unused/hivebot/examine.dm | 20 - code/unused/hivebot/hive_modules.dm | 57 - code/unused/hivebot/hivebot.dm | 504 - code/unused/hivebot/hivebotdefine.dm | 46 - code/unused/hivebot/hud.dm | 251 - code/unused/hivebot/life.dm | 227 - code/unused/hivebot/login.dm | 15 - code/unused/hivebot/mainframe.dm | 181 - code/unused/jobs.dm | 291 - code/unused/mining/datum_processing_recipe.dm | 23 - .../mining/machine_craftlathe_unused.dm | 235 - .../mining/machine_gas_extractor_unused.dm | 78 - code/unused/mining/machine_purifier_unused.dm | 88 - code/unused/mining/mine_generator_unused.dm | 174 - code/unused/mining/rail_unused.dm | 338 - .../unused/mining/spaceship_builder_unused.dm | 173 - code/unused/musicplayer.dm | 15 - code/unused/new_year.dm | 138 - code/unused/newcombatsystem.dm | 191 - code/unused/optics/beam.dm | 178 - code/unused/optics/laser-pointer.dm | 73 - code/unused/optics/mirror.dm | 83 - code/unused/pda2/base_os.dm | 446 - code/unused/pda2/base_program.dm | 185 - code/unused/pda2/pda2.dm | 298 - code/unused/pda2/record_progs.dm | 181 - code/unused/pda2/scanners.dm | 103 - code/unused/pda2/smallprogs.dm | 204 - code/unused/pipe.dm | 1832 --- code/unused/pipe_filter.dm | 243 - code/unused/powerarmor/powerarmor.dm | 283 - .../unused/powerarmor/powerarmorcomponents.dm | 277 - code/unused/scrap.dm | 289 - code/unused/shuttle_engines.dm | 37 - code/unused/siphs.dm | 515 - code/unused/spacecraft/manufacturing.dm | 247 - code/unused/spacecraft/shipcore.dm | 348 - code/unused/spells.dm | 585 - code/unused/tensioner.dm | 876 - code/unused/toilets.dm | 96 - code/unused/traps.dm | 225 - code/unused/travel.dm | 90 - code/unused/vehicle.dm | 328 - paradise.dme | 141 +- 301 files changed, 699 insertions(+), 62152 deletions(-) delete mode 100644 code/TriDimension/Movement.dm delete mode 100644 code/TriDimension/Pipes.dm delete mode 100644 code/TriDimension/Structures.dm delete mode 100644 code/TriDimension/Turfs.dm delete mode 100644 code/TriDimension/multiz.dmi delete mode 100644 code/TriDimension/multiz_pipe.dmi delete mode 100644 code/WorkInProgress/AI_Visibility/_old_AI_Visibility.dm delete mode 100644 code/WorkInProgress/AI_Visibility/ai.dm delete mode 100644 code/WorkInProgress/AI_Visibility/cameranet.dm delete mode 100644 code/WorkInProgress/AI_Visibility/chunk.dm delete mode 100644 code/WorkInProgress/AI_Visibility/minimap.dm delete mode 100644 code/WorkInProgress/AI_Visibility/util.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/areas.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/core_control.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/core_field.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/core_monitor.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/fuel_control.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/fusion_reactions.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/gyrotron.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/gyrotron_controller.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/radiation.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/rust_old.dmi delete mode 100644 code/WorkInProgress/Cael_Aislinn/Rust/virtual_particle_catcher.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Supermatter/Laser2.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Supermatter/LaserComputer.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Supermatter/Shard.dmi delete mode 100644 code/WorkInProgress/Cael_Aislinn/Supermatter/SuperMatter.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/Supermatter/ZeroPointLaser.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/covershield.dmi delete mode 100644 code/WorkInProgress/Cael_Aislinn/meteor_battery.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/meteor_turret.dmi delete mode 100644 code/WorkInProgress/Cael_Aislinn/sculpture.dm delete mode 100644 code/WorkInProgress/Cael_Aislinn/unknown.dmi delete mode 100644 code/WorkInProgress/Chinsky/overmap/README.dm delete mode 100644 code/WorkInProgress/Chinsky/overmap/_defines.dm delete mode 100644 code/WorkInProgress/Chinsky/overmap/sectors.dm delete mode 100644 code/WorkInProgress/Chinsky/overmap/ships/computers/engine_control.dm delete mode 100644 code/WorkInProgress/Chinsky/overmap/ships/computers/helm.dm delete mode 100644 code/WorkInProgress/Chinsky/overmap/ships/computers/shuttle.dm delete mode 100644 code/WorkInProgress/Chinsky/overmap/ships/engines/engine.dm delete mode 100644 code/WorkInProgress/Chinsky/overmap/ships/engines/thermal.dm delete mode 100644 code/WorkInProgress/Chinsky/overmap/ships/ship.dm delete mode 100644 code/WorkInProgress/Cib/amorph/amorph.dm delete mode 100644 code/WorkInProgress/Cib/amorph/amorph_attack.dm delete mode 100644 code/WorkInProgress/Cib/amorph/amorph_damage.dm delete mode 100644 code/WorkInProgress/Cib/amorph/amorph_hud.dm delete mode 100644 code/WorkInProgress/Cib/amorph/life.dm delete mode 100644 code/WorkInProgress/Cib/amorph/say.dm delete mode 100644 code/WorkInProgress/Cib/meme.dm delete mode 100644 code/WorkInProgress/IndexLP/indexlp_defines.dm delete mode 100644 code/WorkInProgress/IndexLP/indexlp_icons.dmi delete mode 100644 code/WorkInProgress/IndexLP/maps/cyberiad.dmm delete mode 100644 code/WorkInProgress/Mini/asay_trap.dm delete mode 100644 code/WorkInProgress/Mini/pipe_heater.dm delete mode 100644 code/WorkInProgress/Mloc/Shortcuts.dm delete mode 100644 code/WorkInProgress/Ported/Abi79/uplink_kits.dm delete mode 100644 code/WorkInProgress/Ported/Abi79/uplinks.dm delete mode 100644 code/WorkInProgress/Ported/Bureaucracy/copier.dm delete mode 100644 code/WorkInProgress/Ported/Bureaucracy/filing.dm delete mode 100644 code/WorkInProgress/Ported/Spawners/spawner.dm delete mode 100644 code/WorkInProgress/Ported/sql.dm delete mode 100644 code/WorkInProgress/Sayu/belt.dm delete mode 100644 code/WorkInProgress/Sigyn/Department Sec/__README.dm delete mode 100644 code/WorkInProgress/Sigyn/Department Sec/jobs.dm delete mode 100644 code/WorkInProgress/Sigyn/Softcurity/__README.dm delete mode 100644 code/WorkInProgress/Sigyn/Softcurity/access.dm delete mode 100644 code/WorkInProgress/Sigyn/Softcurity/clothing.dm delete mode 100644 code/WorkInProgress/Sigyn/Softcurity/jobs.dm delete mode 100644 code/WorkInProgress/Sigyn/Softcurity/secure_closet.dm delete mode 100644 code/WorkInProgress/Sigyn/Softcurity/wardrobe.dm delete mode 100644 code/WorkInProgress/SkyMarshal/Ultralight.dm delete mode 100644 code/WorkInProgress/SkyMarshal/Ultralight_procs.dm delete mode 100644 code/WorkInProgress/SkyMarshal/coatrack.dm delete mode 100644 code/WorkInProgress/SkyMarshal/portalathe.dm delete mode 100644 code/WorkInProgress/SkyMarshal/traitoritems.dm delete mode 100755 code/WorkInProgress/SkyMarshal/wardrobes.dm delete mode 100644 code/WorkInProgress/Susan/biocraps.dmi delete mode 100644 code/WorkInProgress/Susan/desert.dmi delete mode 100644 code/WorkInProgress/Susan/susan_desert_turfs.dm delete mode 100644 code/WorkInProgress/Tastyfish/Eliza.dm delete mode 100644 code/WorkInProgress/Tastyfish/Eliza_Data.dm delete mode 100644 code/WorkInProgress/Tastyfish/Parser.dm delete mode 100644 code/WorkInProgress/Tastyfish/livestock.dm delete mode 100644 code/WorkInProgress/Tastyfish/paiLiza.dm delete mode 100644 code/WorkInProgress/Tastyfish/wallmount_frame.dm delete mode 100644 code/WorkInProgress/Wrongnumber/weldbackpack.dm delete mode 100644 code/WorkInProgress/ZomgPonies/clothing/civilian.dm delete mode 100644 code/WorkInProgress/ZomgPonies/mobs/metroid/Readme.txt delete mode 100644 code/WorkInProgress/ZomgPonies/mobs/metroid/powers.dm delete mode 100644 code/WorkInProgress/ZomgPonies/powerarmor/powerarmor.dm delete mode 100644 code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm delete mode 100644 code/WorkInProgress/animusstation/atm.dm delete mode 100644 code/WorkInProgress/carn/Explosion2.dm delete mode 100644 code/WorkInProgress/carn/debug_locnull.dm delete mode 100644 code/WorkInProgress/carn/debug_powernets.dm delete mode 100644 code/WorkInProgress/carn/master_controller_old.dm delete mode 100644 code/WorkInProgress/carn/master_controller_semi-seq.dm delete mode 100644 code/WorkInProgress/kilakk/responseteam.dm delete mode 100644 code/WorkInProgress/meteors.dm delete mode 100644 code/WorkInProgress/organs/implants.dm delete mode 100644 code/WorkInProgress/organs/organs.dm delete mode 100644 code/ZAS - oldbs12/Airflow.dm delete mode 100644 code/ZAS - oldbs12/Connection.dm delete mode 100644 code/ZAS - oldbs12/Debug.dm delete mode 100644 code/ZAS - oldbs12/FEA_gas_mixture.dm delete mode 100644 code/ZAS - oldbs12/FEA_system.dm delete mode 100644 code/ZAS - oldbs12/Fire.dm delete mode 100644 code/ZAS - oldbs12/Functions.dm delete mode 100644 code/ZAS - oldbs12/Plasma.dm delete mode 100644 code/ZAS - oldbs12/Variable Settings.dm delete mode 100644 code/ZAS - oldbs12/ZAS_Turfs.dm delete mode 100644 code/ZAS - oldbs12/ZAS_Zones.dm delete mode 100644 code/ZAS - vg/Airflow.dm delete mode 100644 code/ZAS - vg/Connection.dm delete mode 100644 code/ZAS - vg/Debug.dm delete mode 100644 code/ZAS - vg/FEA_gas_mixture.dm delete mode 100644 code/ZAS - vg/FEA_system.dm delete mode 100644 code/ZAS - vg/Fire.dm delete mode 100644 code/ZAS - vg/Functions.dm delete mode 100644 code/ZAS - vg/NewSettings.dm delete mode 100644 code/ZAS - vg/Plasma.dm delete mode 100644 code/ZAS - vg/Variable Settings.dm delete mode 100644 code/ZAS - vg/ZAS_Turfs.dm delete mode 100644 code/ZAS - vg/ZAS_Zones.dm rename code/{WorkInProgress/Sayu => datums}/cargoprofile.dm (99%) rename code/{WorkInProgress/Cib/MedicalSideEffects.dm => datums/medical_effects.dm} (100%) rename code/{WorkInProgress => datums}/periodic_news.dm (100%) rename code/{WorkInProgress/Mini => game/machinery/computer}/atmos_control.dm (100%) rename code/{WorkInProgress/Chinsky => game/machinery}/guestpass.dm (100%) rename code/{WorkInProgress/Sayu/programmable.dm => game/machinery/programmable_unloader.dm} (98%) rename code/{WorkInProgress/ZomgPonies/oldcode => game/machinery}/turntable.dm (100%) rename code/{WorkInProgress => game/objects/effects}/explosion_particles.dm (95%) rename code/{WorkInProgress/Chinsky => game/objects/items}/ashtray.dm (100%) rename code/{WorkInProgress/Apples/artifacts.dm => game/objects/items/changestone.dm} (100%) rename code/{WorkInProgress => game/objects/items/devices}/autopsy.dm (100%) rename code/{WorkInProgress/Ported => game/objects/items}/policetape.dm (100%) rename code/{WorkInProgress/Sayu => game/objects/items}/random_items.dm (100%) rename code/{WorkInProgress => game/objects/items/weapons}/fireworks.dm (100%) rename code/{WorkInProgress/Sayu => game/objects/items/weapons}/grenades.dm (100%) rename code/{WorkInProgress => modules/admin}/buildmode.dm (97%) rename code/{WorkInProgress => modules}/computer3/NTOS.dm (100%) rename code/{WorkInProgress => modules}/computer3/bios.dm (100%) rename code/{WorkInProgress => modules}/computer3/buildandrepair.dm (100%) rename code/{WorkInProgress => modules}/computer3/component.dm (100%) rename code/{WorkInProgress => modules}/computer3/computer.dm (100%) rename code/{WorkInProgress => modules}/computer3/computer3_notes.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/HolodeckControl.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/Operating.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/aifixer.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/arcade.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/atmos_alert.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/camera.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/card.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/cloning.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/communications.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/crew.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/customs.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/law.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/medical.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/message.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/power.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/prisoner.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/prisonshuttle.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/robot.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/scanconsole.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/security.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/shuttle.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/specops_shuttle.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/station_alert.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/syndicate_shuttle.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/syndicate_specops_shuttle.dm (100%) rename code/{WorkInProgress => modules}/computer3/computers/welcome.dm (100%) rename code/{WorkInProgress => modules}/computer3/file.dm (100%) rename code/{WorkInProgress => modules}/computer3/laptop.dm (100%) rename code/{WorkInProgress => modules}/computer3/lapvend.dm (100%) rename code/{WorkInProgress => modules}/computer3/networking.dm (100%) rename code/{WorkInProgress => modules}/computer3/program.dm (100%) rename code/{WorkInProgress => modules}/computer3/program_disks.dm (100%) rename code/{WorkInProgress => modules}/computer3/server.dm (100%) rename code/{WorkInProgress => modules}/computer3/storage.dm (100%) rename code/{WorkInProgress => modules}/computer3/test_machines.dm (100%) rename code/{WorkInProgress => modules}/computer3/upload/lawfile.dm (100%) rename code/{WorkInProgress => modules}/computer3/upload/programs.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/Jungle => modules/jungle}/falsewall.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/Jungle => modules/jungle}/jungle.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/Jungle => modules/jungle}/jungle.dmi (100%) rename code/{WorkInProgress/Cael_Aislinn/Jungle => modules/jungle}/jungle_animals.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/Jungle => modules/jungle}/jungle_plants.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/Jungle => modules/jungle}/jungle_temple.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/Jungle => modules/jungle}/jungle_tribe.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/Jungle => modules/jungle}/jungle_turfs.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/Jungle => modules/jungle}/misc_helpers.dm (100%) rename code/{WorkInProgress/ZomgPonies/mobs => modules/mob/living/simple_animal}/pony.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/ShieldGen => modules/shieldgen}/circuits_and_designs.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/ShieldGen => modules/shieldgen}/energy_field.dm (96%) rename code/{WorkInProgress/Cael_Aislinn/ShieldGen => modules/shieldgen}/shield_capacitor.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/ShieldGen => modules/shieldgen}/shield_gen.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/ShieldGen => modules/shieldgen}/shield_gen_external.dm (100%) rename code/{WorkInProgress/Cael_Aislinn/ShieldGen => modules/shieldgen}/shielding.dmi (100%) delete mode 100644 code/unused/AI_Visibility.dm delete mode 100644 code/unused/Agouri_stuff.dm delete mode 100644 code/unused/BrokenInhands.dm delete mode 100644 code/unused/Ultralight.dm delete mode 100644 code/unused/Virus2Prob.dm delete mode 100644 code/unused/_debug.dm delete mode 100644 code/unused/ai_lockdown.dm delete mode 100644 code/unused/airtunnel.dm delete mode 100644 code/unused/assemblies.dm delete mode 100644 code/unused/asteroiddevice.dm delete mode 100644 code/unused/authorize.dm delete mode 100644 code/unused/beast/beast.dm delete mode 100644 code/unused/beast/bodypart.dm delete mode 100644 code/unused/beast/death.dm delete mode 100644 code/unused/blender.dm delete mode 100644 code/unused/carpetsplosion.dm delete mode 100644 code/unused/computer2/airlock_control.dm delete mode 100644 code/unused/computer2/arcade.dm delete mode 100644 code/unused/computer2/base_program.dm delete mode 100644 code/unused/computer2/buildandrepair.dm delete mode 100644 code/unused/computer2/computerII.dm delete mode 100644 code/unused/computer2/filebrowse.dm delete mode 100644 code/unused/computer2/med_rec.dm delete mode 100644 code/unused/computer2/messenger.dm delete mode 100644 code/unused/computer2/peripherals.dm delete mode 100644 code/unused/conveyor.dm delete mode 100644 code/unused/disease2/cureimplanter.dm delete mode 100644 code/unused/disease2/curer.dm delete mode 100644 code/unused/disease2/monkeydispensor.dm delete mode 100644 code/unused/dna.dm delete mode 100644 code/unused/dna_mutations.dm delete mode 100644 code/unused/filter_control.dm delete mode 100644 code/unused/game_kit.dm delete mode 100644 code/unused/gamemodes/ctf.dm delete mode 100644 code/unused/gamemodes/ctf_items.dm delete mode 100644 code/unused/gamemodes/deathmatch.dm delete mode 100644 code/unused/gamemodes/monkey.dm delete mode 100644 code/unused/gamemodes/restructuring.dm delete mode 100644 code/unused/gamemodes/ruby.dm delete mode 100644 code/unused/goonheist/64x64.dmi delete mode 100644 code/unused/goonheist/goonsmoke.dmi delete mode 100644 code/unused/heater.dm delete mode 100644 code/unused/hivebot/death.dm delete mode 100644 code/unused/hivebot/emote.dm delete mode 100644 code/unused/hivebot/examine.dm delete mode 100644 code/unused/hivebot/hive_modules.dm delete mode 100644 code/unused/hivebot/hivebot.dm delete mode 100644 code/unused/hivebot/hivebotdefine.dm delete mode 100644 code/unused/hivebot/hud.dm delete mode 100644 code/unused/hivebot/life.dm delete mode 100644 code/unused/hivebot/login.dm delete mode 100644 code/unused/hivebot/mainframe.dm delete mode 100644 code/unused/jobs.dm delete mode 100644 code/unused/mining/datum_processing_recipe.dm delete mode 100644 code/unused/mining/machine_craftlathe_unused.dm delete mode 100644 code/unused/mining/machine_gas_extractor_unused.dm delete mode 100644 code/unused/mining/machine_purifier_unused.dm delete mode 100644 code/unused/mining/mine_generator_unused.dm delete mode 100644 code/unused/mining/rail_unused.dm delete mode 100644 code/unused/mining/spaceship_builder_unused.dm delete mode 100644 code/unused/musicplayer.dm delete mode 100644 code/unused/new_year.dm delete mode 100644 code/unused/newcombatsystem.dm delete mode 100644 code/unused/optics/beam.dm delete mode 100644 code/unused/optics/laser-pointer.dm delete mode 100644 code/unused/optics/mirror.dm delete mode 100644 code/unused/pda2/base_os.dm delete mode 100644 code/unused/pda2/base_program.dm delete mode 100644 code/unused/pda2/pda2.dm delete mode 100644 code/unused/pda2/record_progs.dm delete mode 100644 code/unused/pda2/scanners.dm delete mode 100644 code/unused/pda2/smallprogs.dm delete mode 100644 code/unused/pipe.dm delete mode 100644 code/unused/pipe_filter.dm delete mode 100644 code/unused/powerarmor/powerarmor.dm delete mode 100644 code/unused/powerarmor/powerarmorcomponents.dm delete mode 100644 code/unused/scrap.dm delete mode 100644 code/unused/shuttle_engines.dm delete mode 100644 code/unused/siphs.dm delete mode 100644 code/unused/spacecraft/manufacturing.dm delete mode 100644 code/unused/spacecraft/shipcore.dm delete mode 100644 code/unused/spells.dm delete mode 100644 code/unused/tensioner.dm delete mode 100644 code/unused/toilets.dm delete mode 100644 code/unused/traps.dm delete mode 100644 code/unused/travel.dm delete mode 100644 code/unused/vehicle.dm diff --git a/code/TriDimension/Movement.dm b/code/TriDimension/Movement.dm deleted file mode 100644 index dfb529df5b1..00000000000 --- a/code/TriDimension/Movement.dm +++ /dev/null @@ -1,49 +0,0 @@ -var/maxZ = 6 -var/minZ = 2 - -// Maybe it's best to have this hardcoded for whatever we'd add to the map, in order to avoid exploits -// (such as mining base => admin station) -// Note that this assumes the ship's top is at z=1 and bottom at z=4 -/obj/item/weapon/tank/jetpack/proc/move_z(cardinal, mob/user as mob) - if (user.z > 1) - user << "\red There is nothing of interest in that direction." - return - if(allow_thrust(0.01, user)) - switch(cardinal) - if (UP) // Going up! - if(user.z > maxZ) // If we aren't at the very top of the ship - var/turf/T = locate(user.x, user.y, user.z - 1) - // You can only jetpack up if there's space above, and you're sitting on either hull (on the exterior), or space - //if(T && istype(T, /turf/space) && (istype(user.loc, /turf/space) || istype(user.loc, /turf/space/*/hull*/))) - //check through turf contents to make sure there's nothing blocking the way - if(T && istype(T, /turf/space)) - var/blocked = 0 - for(var/atom/A in T.contents) - if(T.density) - blocked = 1 - user << "\red You bump into [T.name]." - break - if(!blocked) - user.Move(T) - else - user << "\red You bump into the ship's plating." - else - user << "\red The ship's gravity well keeps you in orbit!" // Assuming the ship starts on z level 1, you don't want to go past it - - if (DOWN) // Going down! - if (user.z < 1) // If we aren't at the very bottom of the ship, or out in space - var/turf/T = locate(user.x, user.y, user.z + 1) - // You can only jetpack down if you're sitting on space and there's space down below, or hull - if(T && (istype(T, /turf/space) || istype(T, /turf/space/*/hull*/)) && istype(user.loc, /turf/space)) - var/blocked = 0 - for(var/atom/A in T.contents) - if(T.density) - blocked = 1 - user << "\red You bump into [T.name]." - break - if(!blocked) - user.Move(T) - else - user << "\red You bump into the ship's plating." - else - user << "\red The ship's gravity well keeps you in orbit!" \ No newline at end of file diff --git a/code/TriDimension/Pipes.dm b/code/TriDimension/Pipes.dm deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/code/TriDimension/Structures.dm b/code/TriDimension/Structures.dm deleted file mode 100644 index 85e499f7ad4..00000000000 --- a/code/TriDimension/Structures.dm +++ /dev/null @@ -1,205 +0,0 @@ -/////////////////////////////////////// -//Contents: Ladders, Hatches, Stairs.// -/////////////////////////////////////// - -/obj/multiz - icon = 'code/TriDimension/multiz.dmi' - density = 0 - opacity = 0 - anchored = 1 - var/obj/multiz/target - - CanPass(obj/mover, turf/source, height, airflow) - return airflow || !density - -/obj/multiz/ladder - icon_state = "ladderdown" - name = "ladder" - desc = "A Ladder. You climb up and down it." - - var/top_icon_state = "ladderdown" - var/bottom_icon_state = "ladderup" - - New() - . = ..() - spawn(1) //Allow map to load - if(z in levels_3d) - if(!target) - var/list/adjacent_to_me = global_adjacent_z_levels["[z]"] - if("up" in adjacent_to_me) - target = locate() in locate(x,y,adjacent_to_me["up"]) - if(istype(target)) - icon_state = bottom_icon_state - else if("down" in adjacent_to_me) - target = locate() in locate(x,y,adjacent_to_me["down"]) - if(istype(target)) - icon_state = top_icon_state - else - del src - else - del src - else if("down" in adjacent_to_me) - target = locate() in locate(x,y,adjacent_to_me["down"]) - if(istype(target)) - icon_state = bottom_icon_state - else - del src - else - del src - if(target) - target.icon_state = ( icon_state == top_icon_state ? bottom_icon_state : top_icon_state) - target.target = src - else - del src - - Del() - spawn(1) - if(target) - del target - return ..() - - attack_paw(var/mob/M) - return attack_hand(M) - - attackby(var/W, var/mob/M) - return attack_hand(M) - - attack_hand(var/mob/M) - if(!target || !istype(target.loc, /turf)) - del src - var/list/adjacent_to_me = global_adjacent_z_levels["[z]"] - M.visible_message("\blue \The [M] climbs [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You climb [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You hear some grunting, and clanging of a metal ladder being used.") - M.Move(target.loc) - - - hatch - icon_state = "hatchdown" - name = "hatch" - desc = "A hatch. You climb down it, and it will automatically seal against pressure loss behind you." - top_icon_state = "hatchdown" - var/top_icon_state_open = "hatchdown-open" - var/top_icon_state_close = "hatchdown-close" - - bottom_icon_state = "ladderup" - - var/image/green_overlay - var/image/red_overlay - - var/active = 0 - - New() - . = ..() - red_overlay = image(icon, "red-ladderlight") - green_overlay = image(icon, "green-ladderlight") - - attack_hand(var/mob/M) - - if(!target || !istype(target.loc, /turf)) - del src - - if(active) - M << "That [src] is being used." - return // It is a tiny airlock, only one at a time. - - active = 1 - var/obj/multiz/ladder/hatch/top_hatch = target - var/obj/multiz/ladder/hatch/bottom_hatch = src - if(icon_state == top_icon_state) - top_hatch = src - bottom_hatch = target - - flick(top_icon_state_open, top_hatch) - bottom_hatch.overlays += green_overlay - - spawn(7) - if(!target || !istype(target.loc, /turf)) - del src - if(M.z == z && get_dist(src,M) <= 1) - var/list/adjacent_to_me = global_adjacent_z_levels["[z]"] - M.visible_message("\blue \The [M] scurries [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You scramble [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You hear some grunting, and a hatch sealing.") - M.Move(target.loc) - flick(top_icon_state_close,top_hatch) - bottom_hatch.overlays -= green_overlay - bottom_hatch.overlays += red_overlay - - spawn(7) - top_hatch.icon_state = top_icon_state - bottom_hatch.overlays -= red_overlay - active = 0 - -/obj/multiz/stairs - name = "Stairs" - desc = "Stairs. You walk up and down them." - icon_state = "ramptop" - var/top_icon_state = "ramptop" - var/bottom_icon_state = "rampbottom" - - active - density = 1 - - - New() - . = ..() - spawn(1) - if(z in levels_3d) - if(!target) - var/list/adjacent_to_me = global_adjacent_z_levels["[z]"] - if("up" in adjacent_to_me) - target = locate() in locate(x,y,adjacent_to_me["up"]) - if(istype(target)) - icon_state = bottom_icon_state - else if("down" in adjacent_to_me) - target = locate() in locate(x,y,adjacent_to_me["down"]) - if(istype(target)) - icon_state = top_icon_state - else - del src - else - del src - else if("down" in adjacent_to_me) - target = locate() in locate(x,y,adjacent_to_me["down"]) - if(istype(target)) - icon_state = bottom_icon_state - else - del src - else - del src - if(target) - target.icon_state = ( icon_state == top_icon_state ? bottom_icon_state : top_icon_state) - target.target = src - var/obj/multiz/stairs/lead_in = locate() in get_step(src, reverse_direction(dir)) - if(lead_in) - lead_in.icon_state = ( icon_state == top_icon_state ? bottom_icon_state : top_icon_state) - else - del src - - - Del() - spawn(1) - if(target) - del target - return ..() - - - Bumped(var/atom/movable/M) - if(target.z > z && istype(src, /obj/multiz/stairs/active) && !locate(/obj/multiz/stairs) in M.loc) - return //If on bottom, only let them go up stairs if they've moved to the entry tile first. - //If it's the top, they can fall down just fine. - - if(!target || !istype(target.loc, /turf)) - del src - - if(ismob(M) && M:client) - M:client.moving = 1 - M.Move(target.loc) - if (ismob(M) && M:client) - M:client.moving = 0 - - Click() - if(!istype(usr,/mob/dead/observer)) - return ..() - if(!target || !istype(target.loc, /turf)) - del src - usr.client.moving = 1 - usr.Move(target.loc) - usr.client.moving = 0 \ No newline at end of file diff --git a/code/TriDimension/Turfs.dm b/code/TriDimension/Turfs.dm deleted file mode 100644 index 1e49e4dc80e..00000000000 --- a/code/TriDimension/Turfs.dm +++ /dev/null @@ -1,96 +0,0 @@ -atom/movable/var/list/adjacent_z_levels -atom/movable/var/archived_z_level - -atom/movable/Move() //Hackish - - if(adjacent_z_levels && adjacent_z_levels["up"]) - var/turf/above_me = locate(x,y,adjacent_z_levels["up"]) - if(istype(above_me, /turf/simulated/floor/open)) - above_me:RemoveImage(src) - - . = ..() - - if(archived_z_level != z) - archived_z_level = z - if(z in levels_3d) - adjacent_z_levels = global_adjacent_z_levels["[z]"] - else - adjacent_z_levels = null - - if(adjacent_z_levels && adjacent_z_levels["up"]) - var/turf/above_me = locate(x,y,adjacent_z_levels["up"]) - if(istype(above_me, /turf/simulated/floor/open)) - above_me:AddImage(src) - -/turf/simulated/floor/open - name = "open space" - intact = 0 - density = 0 - icon_state = "black" - pathweight = 100000 //Seriously, don't try and path over this one numbnuts - var/icon/darkoverlays = null - var/turf/floorbelow - var/list/overlay_references - mouse_opacity = 2 - - New() - ..() - spawn(1) - if(!(z in levels_3d)) - ReplaceWithSpace() - var/list/adjacent_to_me = global_adjacent_z_levels["[z]"] - if(!("down" in adjacent_to_me)) - ReplaceWithSpace() - - floorbelow = locate(x, y, adjacent_to_me["down"]) - if(floorbelow) - if(!istype(floorbelow,/turf)) - del src - else if(floorbelow.density) - ReplaceWithPlating() - else - set_up() - else - ReplaceWithSpace() - - - Enter(var/atom/movable/AM) - if (..()) //TODO make this check if gravity is active (future use) - Sukasa - spawn(1) - if(AM) - AM.Move(floorbelow) - if (istype(AM, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = AM - var/damage = rand(5,15) - H.apply_damage(2*damage, BRUTE, "head") - H.apply_damage(2*damage, BRUTE, "chest") - H.apply_damage(0.5*damage, BRUTE, "l_leg") - H.apply_damage(0.5*damage, BRUTE, "r_leg") - H.apply_damage(0.5*damage, BRUTE, "l_arm") - H.apply_damage(0.5*damage, BRUTE, "r_arm") - H:weakened = max(H:weakened,2) - H:updatehealth() - return ..() - - attackby() - return //nothing - - proc/set_up() //Update the overlays to make the openspace turf show what's down a level - if(!overlay_references) - overlay_references = list() - if(!floorbelow) return - overlays += floorbelow - for(var/obj/o in floorbelow) - var/image/o_img = image(o, dir=o.dir, layer = TURF_LAYER+0.05*o.layer) - overlays += o_img - overlay_references[o] = o_img - - proc/AddImage(var/atom/movable/o) - var/o_img = image(o, dir=o.dir, layer = TURF_LAYER+0.05*o.layer) - overlays += o_img - overlay_references[o] = o_img - - proc/RemoveImage(var/atom/movable/o) - var/o_img = overlay_references[o] - overlays -= o_img - overlay_references -= o \ No newline at end of file diff --git a/code/TriDimension/multiz.dmi b/code/TriDimension/multiz.dmi deleted file mode 100644 index 13b118ce9f2e631ed520ba92d839b14032105590..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17432 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 4)) - return - - var/list/par = params2list(params) - var/screen_loc = par["screen-loc"] - - if(findtext(screen_loc, "minimap:") != 1) - return - - screen_loc = copytext(screen_loc, length("minimap:") + 1) - - var/x_text = copytext(screen_loc, 1, findtext(screen_loc, ",")) - var/y_text = copytext(screen_loc, findtext(screen_loc, ",") + 1) - - var/x = (text2num(copytext(x_text, 1, findtext(x_text, ":"))) - 1) * 16 - x += round((text2num(copytext(x_text, findtext(x_text, ":") + 1)) + 1) / 2) - - var/y = (text2num(copytext(y_text, 1, findtext(y_text, ":"))) - 1) * 16 - y += round((text2num(copytext(y_text, findtext(y_text, ":") + 1)) + 1) / 2) - - if(istype(usr, /mob/living/silicon/ai)) - var/mob/living/silicon/ai/ai = usr - ai.freelook() - ai.eyeobj.loc = locate(max(1, x - 1), max(1, y - 1), ai.eyeobj.z) - cameranet.visibility(ai.eyeobj) - - else - usr.loc = locate(max(1, x - 1), max(1, y - 1), usr.z) - -/mob/dead/verb/Open_Minimap() - set category = "Ghost" - winshow(src, "minimapwindow", 1) - client.screen |= cameranet.minimap - - if(cameranet.generating_minimap) - cameranet.minimap_viewers += src - -/mob/living/silicon/ai/verb/Open_Minimap() - set category = "AI Commands" - winshow(src, "minimapwindow", 1) - client.screen |= cameranet.minimap - - if(cameranet.generating_minimap) - cameranet.minimap_viewers += src - -/client/proc/Open_Minimap() - set category = "Admin" - winshow(src, "minimapwindow", 1) - screen |= cameranet.minimap - - if(cameranet.generating_minimap) - cameranet.minimap_viewers += src.mob - -/datum/camerachunk/proc/update_minimap() - if(changed && !updating) - update() - - minimap_icon.Blend(rgb(255, 0, 0), ICON_MULTIPLY) - - var/list/turfs = visibleTurfs | dimTurfs - - for(var/turf/turf in turfs) - var/x = (turf.x & 0xf) * 2 - var/y = (turf.y & 0xf) * 2 - - if(turf.density) - minimap_icon.DrawBox(rgb(100, 100, 100), x + 1, y + 1, x + 2, y + 2) - continue - - else if(istype(turf, /turf/space)) - minimap_icon.DrawBox(rgb(0, 0, 0), x + 1, y + 1, x + 2, y + 2) - - else - minimap_icon.DrawBox(rgb(200, 200, 200), x + 1, y + 1, x + 2, y + 2) - - for(var/obj/structure/o in turf) - if(o.density) - if(istype(o, /obj/structure/window) && (o.dir == NORTH || o.dir == SOUTH || o.dir == EAST || o.dir == WEST)) - if(o.dir == NORTH) - minimap_icon.DrawBox(rgb(150, 150, 200), x + 1, y + 2, x + 2, y + 2) - else if(o.dir == SOUTH) - minimap_icon.DrawBox(rgb(150, 150, 200), x + 1, y + 1, x + 2, y + 1) - else if(o.dir == EAST) - minimap_icon.DrawBox(rgb(150, 150, 200), x + 3, y + 1, x + 2, y + 2) - else if(o.dir == WEST) - minimap_icon.DrawBox(rgb(150, 150, 200), x + 1, y + 1, x + 1, y + 2) - - else - minimap_icon.DrawBox(rgb(150, 150, 150), x + 1, y + 1, x + 2, y + 2) - break - - for(var/obj/machinery/door/o in turf) - if(istype(o, /obj/machinery/door/window)) - if(o.dir == NORTH) - minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 2, x + 2, y + 2) - else if(o.dir == SOUTH) - minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 1, x + 2, y + 1) - else if(o.dir == EAST) - minimap_icon.DrawBox(rgb(100, 150, 100), x + 2, y + 1, x + 2, y + 2) - else if(o.dir == WEST) - minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 1, x + 1, y + 2) - - else - minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 1, x + 2, y + 2) - break - - minimap_obj.screen_loc = "minimap:[src.x / 16],[src.y / 16]" - minimap_obj.icon = minimap_icon - -/mob/aiEye - var/list/visibleCameraChunks = list() - var/mob/ai = null - density = 0 - -/datum/camerachunk/proc/add(mob/aiEye/ai) - ai.visibleCameraChunks += src - if(ai.ai.client) - ai.ai.client.images += obscured - ai.ai.client.images += dim - visible++ - seenby += ai - if(changed && !updating) - update() - changed = 0 - -/datum/camerachunk/proc/remove(mob/aiEye/ai) - ai.visibleCameraChunks -= src - if(ai.ai.client) - ai.ai.client.images -= obscured - ai.ai.client.images -= dim - seenby -= ai - if(visible > 0) - visible-- - -/datum/camerachunk/proc/visibilityChanged(turf/loc) - if(!(loc in visibleTurfs)) - return - - hasChanged() - -/datum/camerachunk/proc/hasChanged() - if(visible) - if(!updating) - updating = 1 - spawn(10)//Batch large changes, such as many doors opening or closing at once - update() - updating = 0 - else - changed = 1 - - if(!minimap_updating) - minimap_updating = 1 - - spawn(MINIMAP_UPDATE_DELAY) - if(changed && !updating) - update() - changed = 0 - - update_minimap() - minimap_updating = 0 - -/datum/camerachunk/proc/update() - - var/list/newDimTurfs = list() - var/list/newVisibleTurfs = list() - - for(var/obj/machinery/camera/c in cameras) - var/lum = c.luminosity - c.luminosity = 7 - - newDimTurfs |= turfs & view(7, c) - newVisibleTurfs |= turfs & view(6, c) - - c.luminosity = lum - - var/list/dimAdded = newDimTurfs - dimTurfs - var/list/dimRemoved = dimTurfs - newDimTurfs - var/list/visAdded = newVisibleTurfs - visibleTurfs - var/list/visRemoved = visibleTurfs - newVisibleTurfs - - visibleTurfs = newVisibleTurfs - dimTurfs = newDimTurfs - obscuredTurfs = turfs - dimTurfs - dimTurfs -= visibleTurfs - - for(var/turf/t in dimRemoved) - if(t.dim) - dim -= t.dim - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images -= t.dim - - if(!(t in visibleTurfs)) - if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) - - obscured += t.obscured - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images += t.obscured - - for(var/turf/t in dimAdded) - if(!(t in visibleTurfs)) - if(!t.dim) - t.dim = image('icons/effects/cameravis.dmi', t, "dim", 15) - t.mouse_opacity = 0 - - dim += t.dim - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images += t.dim - - if(t.obscured) - obscured -= t.obscured - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images -= t.obscured - - for(var/turf/t in visAdded) - if(t.obscured) - obscured -= t.obscured - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images -= t.obscured - - for(var/turf/t in visRemoved) - if(t in obscuredTurfs) - if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) - - obscured += t.obscured - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images += t.obscured - - -/datum/camerachunk/New(loc, x, y, z) - x &= ~0xf - y &= ~0xf - - src.x = x - src.y = y - src.z = z - - for(var/obj/machinery/camera/c in range(16, locate(x + 8, y + 8, z))) - if(c.status) - cameras += c - - turfs = block(locate(x, y, z), locate(min(world.maxx, x + 15), min(world.maxy, y + 15), z)) - - for(var/obj/machinery/camera/c in cameras) - var/lum = c.luminosity - c.luminosity = 7 - - dimTurfs |= turfs & view(7, c) - visibleTurfs |= turfs & view(6, c) - - c.luminosity = lum - - obscuredTurfs = turfs - dimTurfs - dimTurfs -= visibleTurfs - - for(var/turf/t in obscuredTurfs) - if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) - - obscured += t.obscured - - for(var/turf/t in dimTurfs) - if(!(t in visibleTurfs)) - if(!t.dim) - t.dim = image('icons/effects/cameravis.dmi', t, "dim", TURF_LAYER) - t.dim.mouse_opacity = 0 - - dim += t.dim - - cameranet.minimap += minimap_obj - -var/datum/cameranet/cameranet = new() - -/datum/cameranet - var/list/cameras = list() - var/list/chunks = list() - var/network = "net1" - var/ready = 0 - - var/list/minimap = list() - - var/generating_minimap = TRUE - var/list/minimap_viewers = list() - -/datum/cameranet/New() - ..() - - spawn(200) - for(var/x = 0, x <= world.maxx, x += 16) - for(var/y = 0, y <= world.maxy, y += 16) - sleep(1) - var/datum/camerachunk/c = getCameraChunk(x, y, 1) - c.update_minimap() - - for(var/mob/m in minimap_viewers) - m.client.screen |= c.minimap_obj - - generating_minimap = FALSE - minimap_viewers = list() - -/datum/cameranet/proc/chunkGenerated(x, y, z) - var/key = "[x],[y],[z]" - return key in chunks - -/datum/cameranet/proc/getCameraChunk(x, y, z) - var/key = "[x],[y],[z]" - - if(!(key in chunks)) - chunks[key] = new /datum/camerachunk(null, x, y, z) - - return chunks[key] - -/datum/cameranet/proc/visibility(mob/aiEye/ai) - var/x1 = max(0, ai.x - 16) & ~0xf - var/y1 = max(0, ai.y - 16) & ~0xf - var/x2 = min(world.maxx, ai.x + 16) & ~0xf - var/y2 = min(world.maxy, ai.y + 16) & ~0xf - - var/list/visibleChunks = list() - - for(var/x = x1; x <= x2; x += 16) - for(var/y = y1; y <= y2; y += 16) - visibleChunks += getCameraChunk(x, y, ai.z) - - var/list/remove = ai.visibleCameraChunks - visibleChunks - var/list/add = visibleChunks - ai.visibleCameraChunks - - for(var/datum/camerachunk/c in remove) - c.remove(ai) - - for(var/datum/camerachunk/c in add) - c.add(ai) - -/datum/cameranet/proc/updateVisibility(turf/loc) - if(!chunkGenerated(loc.x & ~0xf, loc.y & ~0xf, loc.z)) - return - - var/datum/camerachunk/chunk = getCameraChunk(loc.x & ~0xf, loc.y & ~0xf, loc.z) - chunk.visibilityChanged(loc) - -/datum/cameranet/proc/addCamera(obj/machinery/camera/c) - var/x1 = max(0, c.x - 16) & ~0xf - var/y1 = max(0, c.y - 16) & ~0xf - var/x2 = min(world.maxx, c.x + 16) & ~0xf - var/y2 = min(world.maxy, c.y + 16) & ~0xf - - for(var/x = x1; x <= x2; x += 16) - for(var/y = y1; y <= y2; y += 16) - if(chunkGenerated(x, y, c.z)) - var/datum/camerachunk/chunk = getCameraChunk(x, y, c.z) - if(!(c in chunk.cameras)) - chunk.cameras += c - chunk.hasChanged() - -/datum/cameranet/proc/removeCamera(obj/machinery/camera/c) - var/x1 = max(0, c.x - 16) & ~0xf - var/y1 = max(0, c.y - 16) & ~0xf - var/x2 = min(world.maxx, c.x + 16) & ~0xf - var/y2 = min(world.maxy, c.y + 16) & ~0xf - - for(var/x = x1; x <= x2; x += 16) - for(var/y = y1; y <= y2; y += 16) - if(chunkGenerated(x, y, c.z)) - var/datum/camerachunk/chunk = getCameraChunk(x, y, c.z) - if(!c) - chunk.hasChanged() - if(c in chunk.cameras) - chunk.cameras -= c - chunk.hasChanged() - -/mob/living/silicon/ai/var/mob/aiEye/eyeobj = new() - -/mob/living/silicon/ai/New() - ..() - eyeobj.ai = src - spawn(20) - freelook() - -/mob/living/silicon/ai/death(gibbed) - if(client && client.eye == eyeobj) - for(var/datum/camerachunk/c in eyeobj.visibleCameraChunks) - c.remove(eyeobj) - client.eye = src - return ..(gibbed) - -/mob/living/silicon/ai/verb/freelook() - set category = "AI Commands" - set name = "freelook" - current = null //cancel camera view first, it causes problems - cameraFollow = null -// machine = null - if(!eyeobj) //if it got deleted somehow (like an admin trying to fix things <.<') - eyeobj = new() - eyeobj.ai = src - client.eye = eyeobj - eyeobj.loc = loc - cameranet.visibility(eyeobj) - cameraFollow = null - -/mob/aiEye/Move() - . = ..() - if(.) - cameranet.visibility(src) - -/client/AIMove(n, direct, var/mob/living/silicon/ai/user) - if(eye == user.eyeobj) - user.eyeobj.loc = get_step(user.eyeobj, direct) - cameranet.visibility(user.eyeobj) - - else - return ..() - -/* -/client/AIMoveZ(direct, var/mob/living/silicon/ai/user) - if(eye == user.eyeobj) - var/dif = 0 - if(direct == UP && user.eyeobj.z > 1) - dif = -1 - else if(direct == DOWN && user.eyeobj.z < 4) - dif = 1 - user.eyeobj.loc = locate(user.eyeobj.x, user.eyeobj.y, user.eyeobj.z + dif) - cameranet.visibility(user.eyeobj) - else - return ..() -*/ - -/turf/move_camera_by_click() - if(istype(usr, /mob/living/silicon/ai)) - var/mob/living/silicon/ai/AI = usr - if(AI.client.eye == AI.eyeobj) - return - return ..() - - -/obj/machinery/door/update_nearby_tiles(need_rebuild) - . = ..(need_rebuild) - cameranet.updateVisibility(loc) - -/obj/machinery/camera/New() - ..() - cameranet.addCamera(src) - -/obj/machinery/camera/Del() - cameranet.removeCamera(src) - ..() - -/obj/machinery/camera/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) - . = ..(W, user) - if(istype(W, /obj/item/weapon/wirecutters)) - if(status) - cameranet.addCamera(src) - else - cameranet.removeCamera(src) - -/proc/checkcameravis(atom/A) - for(var/obj/machinery/camera/C in view(A,7)) - if(!C.status || C.stat == 2) - continue - return 1 - return 0 - -/mob/living/silicon/ai/attack_ai(var/mob/user as mob) - if (user != src) - return - - if (stat == 2) - return - - var/list/L = list() - for (var/obj/machinery/camera/C in world) - L.Add(C) - - camera_sort(L) - L = camera_network_sort(L) - - var/list/D = list() - for (var/obj/machinery/camera/C in L) - if ( C.network in src.networks ) - D[text("[]: [][]", C.network, C.c_tag, (C.status ? null : " (Deactivated)"))] = C - D["Cancel"] = "Cancel" - - var/t = input(user, "Which camera should you change to?") as null|anything in D - - if (!t || t == "Cancel") - return 0 - - var/obj/machinery/camera/C = D[t] - - eyeobj.loc = C.loc - cameranet.visibility(eyeobj) - - return - -/mob/living/silicon/ai/cancel_camera() - set name = "Cancel Camera View" - set category = "OOC" - reset_view(null) - machine = null - -/mob/living/silicon/ai/reset_view(atom/A) - if (client) - if(!eyeobj) - eyeobj = new() - eyeobj.ai = src - - client.eye = eyeobj - client.perspective = EYE_PERSPECTIVE - - if (istype(A, /atom/movable)) - eyeobj.loc = locate(A.x, A.y, A.z) - - else - eyeobj.loc = locate(src.x, src.y, src.z) - - cameranet.visibility(eyeobj) diff --git a/code/WorkInProgress/AI_Visibility/ai.dm b/code/WorkInProgress/AI_Visibility/ai.dm deleted file mode 100644 index 7dcbf54e679..00000000000 --- a/code/WorkInProgress/AI_Visibility/ai.dm +++ /dev/null @@ -1,107 +0,0 @@ - -/mob/aiEye - var/list/visibleCameraChunks = list() - var/mob/ai = null - density = 0 - -/mob/living/silicon/ai/var/mob/aiEye/eyeobj = new() - -/mob/living/silicon/ai/New() - ..() - eyeobj.ai = src - spawn(20) - freelook() - -/mob/living/silicon/ai/death(gibbed) - if(client && client.eye == eyeobj) - for(var/datum/camerachunk/c in eyeobj.visibleCameraChunks) - c.remove(eyeobj) - client.eye = src - return ..(gibbed) - -/mob/living/silicon/ai/verb/freelook() - set category = "AI Commands" - set name = "freelook" - current = null //cancel camera view first, it causes problems - cameraFollow = null - if(!eyeobj) //if it got deleted somehow (like an admin trying to fix things <.<') - eyeobj = new() - eyeobj.ai = src - client.eye = eyeobj - eyeobj.loc = loc - cameranet.visibility(eyeobj) - -/mob/aiEye/Move() - . = ..() - if(.) - cameranet.visibility(src) - -/client/AIMove(n, direct, var/mob/living/silicon/ai/user) - if(eye == user.eyeobj) - user.eyeobj.loc = get_step(user.eyeobj, direct) - cameranet.visibility(user.eyeobj) - - else - return ..() - -/turf/move_camera_by_click() - if(istype(usr, /mob/living/silicon/ai)) - var/mob/living/silicon/ai/AI = usr - if(AI.client.eye == AI.eyeobj) - return - return ..() - -/mob/living/silicon/ai/attack_ai(var/mob/user as mob) - if (user != src) - return - - if (stat == 2) - return - - var/list/L = list() - for (var/obj/machinery/camera/C in world) - L.Add(C) - - camera_sort(L) - L = camera_network_sort(L) - - var/list/D = list() - for (var/obj/machinery/camera/C in L) - if ( C.network in src.networks ) - D[text("[]: [][]", C.network, C.c_tag, (C.status ? null : " (Deactivated)"))] = C - D["Cancel"] = "Cancel" - - var/t = input(user, "Which camera should you change to?") as null|anything in D - - if (!t || t == "Cancel") - return 0 - - var/obj/machinery/camera/C = D[t] - - eyeobj.loc = C.loc - cameranet.visibility(eyeobj) - - return - -/mob/living/silicon/ai/cancel_camera() - set name = "Cancel Camera View" - set category = "OOC" - reset_view(null) - machine = null - -/mob/living/silicon/ai/reset_view(atom/A) - if (client) - if(!eyeobj) - eyeobj = new() - eyeobj.ai = src - - client.eye = eyeobj - client.perspective = EYE_PERSPECTIVE - - if (istype(A, /atom/movable)) - eyeobj.loc = locate(A.x, A.y, A.z) - - else - eyeobj.loc = locate(src.x, src.y, src.z) - - cameranet.visibility(eyeobj) diff --git a/code/WorkInProgress/AI_Visibility/cameranet.dm b/code/WorkInProgress/AI_Visibility/cameranet.dm deleted file mode 100644 index 3b46844e6be..00000000000 --- a/code/WorkInProgress/AI_Visibility/cameranet.dm +++ /dev/null @@ -1,156 +0,0 @@ -//------------------------------------------------------------ -// -// The Cameranet -// -// The cameranet is a single global instance of a unique -// datum, which contains logic for managing the individual -// chunks. -// -//------------------------------------------------------------ - -/datum/cameranet - var/list/cameras = list() - var/list/chunks = list() - var/network = "net1" - var/ready = 0 - - var/list/minimap = list() - - var/generating_minimap = TRUE - -var/datum/cameranet/cameranet = new() - - - -/datum/cameranet/New() - ..() - - spawn(100) - init_minimap() - - -/datum/cameranet/proc/init_minimap() - for(var/x = 0, x <= world.maxx, x += 16) - for(var/y = 0, y <= world.maxy, y += 16) - sleep(1) - getCameraChunk(x, y, 5) - getCameraChunk(x, y, 1) - - generating_minimap = FALSE - - -/datum/cameranet/proc/chunkGenerated(x, y, z) - var/key = "[x],[y],[z]" - return key in chunks - - -/datum/cameranet/proc/getCameraChunk(x, y, z) - var/key = "[x],[y],[z]" - - if(!(key in chunks)) - chunks[key] = new /datum/camerachunk(null, x, y, z) - - return chunks[key] - - - - -// This proc updates what chunks are considered seen -// by an aiEye. As part of the process, it will force -// any newly visible chunks with pending unscheduled -// updates to update, and show the correct obscuring -// and dimming image sets. If you do not call this -// after the eye has moved, it may result in the -// affected AI gaining (partial) xray, seeing through -// now-closed doors, not seeing through open doors, -// or other visibility oddities, depending on if/when -// they last visited any of the chunks in the nearby -// area. - -// It must be called manually, as there is no way to -// have a proc called automatically every time an -// object's loc changes. - -/datum/cameranet/proc/visibility(mob/aiEye/ai) - var/x1 = max(0, ai.x - 16) & ~0xf - var/y1 = max(0, ai.y - 16) & ~0xf - var/x2 = min(world.maxx, ai.x + 16) & ~0xf - var/y2 = min(world.maxy, ai.y + 16) & ~0xf - - var/list/visibleChunks = list() - - for(var/x = x1; x <= x2; x += 16) - for(var/y = y1; y <= y2; y += 16) - visibleChunks += getCameraChunk(x, y, ai.z) - - var/list/remove = ai.visibleCameraChunks - visibleChunks - var/list/add = visibleChunks - ai.visibleCameraChunks - - for(var/datum/camerachunk/c in remove) - c.remove(ai) - - for(var/datum/camerachunk/c in add) - c.add(ai) - - - - -// This proc should be called if a turf, or the contents -// of a turf, changes opacity. This includes such things -// as changing the turf, opening or closing a door, or -// anything else that would alter line of sight in the -// general area. - -/datum/cameranet/proc/updateVisibility(turf/loc) - if(!chunkGenerated(loc.x & ~0xf, loc.y & ~0xf, loc.z)) - return - - var/datum/camerachunk/chunk = getCameraChunk(loc.x & ~0xf, loc.y & ~0xf, loc.z) - chunk.visibilityChanged(loc) - - - - -// This proc updates all relevant chunks when enabling or -// creating a camera, allowing freelook and the minimap to -// respond correctly. - -/datum/cameranet/proc/addCamera(obj/machinery/camera/c) - var/x1 = max(0, c.x - 16) & ~0xf - var/y1 = max(0, c.y - 16) & ~0xf - var/x2 = min(world.maxx, c.x + 16) & ~0xf - var/y2 = min(world.maxy, c.y + 16) & ~0xf - - for(var/x = x1; x <= x2; x += 16) - for(var/y = y1; y <= y2; y += 16) - if(chunkGenerated(x, y, c.z)) - var/datum/camerachunk/chunk = getCameraChunk(x, y, c.z) - - if(!(c in chunk.cameras)) - chunk.cameras += c - chunk.hasChanged() - - - - -// This proc updates all relevant chunks when disabling or -// deleting a camera, allowing freelook and the minimap to -// respond correctly. - -/datum/cameranet/proc/removeCamera(obj/machinery/camera/c) - var/x1 = max(0, c.x - 16) & ~0xf - var/y1 = max(0, c.y - 16) & ~0xf - var/x2 = min(world.maxx, c.x + 16) & ~0xf - var/y2 = min(world.maxy, c.y + 16) & ~0xf - - for(var/x = x1; x <= x2; x += 16) - for(var/y = y1; y <= y2; y += 16) - if(chunkGenerated(x, y, c.z)) - var/datum/camerachunk/chunk = getCameraChunk(x, y, c.z) - - if(!c) - chunk.hasChanged() - - if(c in chunk.cameras) - chunk.cameras -= c - chunk.hasChanged() diff --git a/code/WorkInProgress/AI_Visibility/chunk.dm b/code/WorkInProgress/AI_Visibility/chunk.dm deleted file mode 100644 index 8a6886a1ade..00000000000 --- a/code/WorkInProgress/AI_Visibility/chunk.dm +++ /dev/null @@ -1,224 +0,0 @@ -#define MINIMAP_UPDATE_DELAY 1200 - -/datum/camerachunk - var/list/turfs = list() - - var/list/obscuredTurfs = list() - var/list/visibleTurfs = list() - var/list/dimTurfs = list() - - var/list/obscured = list() - var/list/dim = list() - - var/list/cameras = list() - var/list/seenby = list() - - var/changed = 1 - var/updating = 0 - var/minimap_updating = 0 - - var/x - var/y - var/z - - - var/icon/minimap_icon = new('icons/minimap.dmi', "chunk_base") - var/obj/minimap_obj/minimap_obj = new() - - - -/datum/camerachunk/New(loc, x, y, z) - //Round X and Y down to a multiple of 16, if nessecary - src.x = x & ~0xF - src.y = y & ~0xF - src.z = z - - rebuild_chunk() - - - -// Completely re-calculate the whole chunk. - -/datum/camerachunk/proc/rebuild_chunk() - for(var/mob/aiEye/eye in seenby) - if(!eye.ai) - seenby -= eye - continue - - if(eye.ai.client) - eye.ai.client.images -= obscured - eye.ai.client.images -= dim - - var/start = locate(x, y, z) - var/end = locate(min(x + 15, world.maxx), min(y + 15, world.maxy), z) - - turfs = block(start, end) - dimTurfs = list() - visibleTurfs = list() - obscured = list() - dim = list() - cameras = list() - - for(var/obj/machinery/camera/c in range(16, locate(x + 8, y + 8, z))) - if(c.status) - cameras += c - - for(var/obj/machinery/camera/c in cameras) - var/lum = c.luminosity - c.luminosity = 7 - - dimTurfs |= turfs & view(7, c) - visibleTurfs |= turfs & view(6, c) - - c.luminosity = lum - - obscuredTurfs = turfs - dimTurfs - dimTurfs -= visibleTurfs - - for(var/turf/t in obscuredTurfs) - if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) - - obscured += t.obscured - - for(var/turf/t in dimTurfs) - if(!t.dim) - t.dim = image('icons/effects/cameravis.dmi', t, "dim", TURF_LAYER) - t.dim.mouse_opacity = 0 - - dim += t.dim - - cameranet.minimap |= minimap_obj - - for(var/mob/aiEye/eye in seenby) - if(eye.ai.client) - eye.ai.client.images |= obscured - eye.ai.client.images |= dim - - - -/datum/camerachunk/proc/add(mob/aiEye/eye) - eye.visibleCameraChunks |= src - - if(eye.ai.client) - eye.ai.client.images |= obscured - eye.ai.client.images |= dim - - seenby |= eye - - if(changed && !updating) - update() - changed = 0 - - - -/datum/camerachunk/proc/remove(mob/aiEye/eye) - eye.visibleCameraChunks -= src - - if(eye.ai.client) - eye.ai.client.images -= obscured - eye.ai.client.images -= dim - - seenby -= eye - -/datum/camerachunk/proc/visibilityChanged(turf/loc) - if(!(loc in visibleTurfs)) - return - - hasChanged() - -/datum/camerachunk/proc/hasChanged() - if(length(seenby) > 0) - if(!updating) - updating = 1 - - spawn(10)//Batch large changes, such as many doors opening or closing at once - update() - updating = 0 - - else - changed = 1 - - if(!minimap_updating) - minimap_updating = 1 - - spawn(MINIMAP_UPDATE_DELAY) - if(changed && !updating) - update() - changed = 0 - - update_minimap() - minimap_updating = 0 - -/datum/camerachunk/proc/update() - - var/list/newDimTurfs = list() - var/list/newVisibleTurfs = list() - - for(var/obj/machinery/camera/c in cameras) - var/lum = c.luminosity - c.luminosity = 7 - - newDimTurfs |= turfs & view(7, c) - newVisibleTurfs |= turfs & view(6, c) - - c.luminosity = lum - - var/list/dimAdded = newDimTurfs - dimTurfs - var/list/dimRemoved = dimTurfs - newDimTurfs - var/list/visAdded = newVisibleTurfs - visibleTurfs - var/list/visRemoved = visibleTurfs - newVisibleTurfs - - visibleTurfs = newVisibleTurfs - dimTurfs = newDimTurfs - obscuredTurfs = turfs - dimTurfs - dimTurfs -= visibleTurfs - - var/list/images_added = list() - var/list/images_removed = list() - - for(var/turf/t in dimRemoved) - if(t.dim) - dim -= t.dim - images_removed += t.dim - - if(!(t in visibleTurfs)) - if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) - - obscured += t.obscured - images_added += t.obscured - - for(var/turf/t in dimAdded) - if(!(t in visibleTurfs)) - if(!t.dim) - t.dim = image('icons/effects/cameravis.dmi', t, "dim", 15) - t.dim.mouse_opacity = 0 - - dim += t.dim - images_added += t.dim - - if(t.obscured) - obscured -= t.obscured - images_removed += t.obscured - - for(var/turf/t in visAdded) - if(t.obscured) - obscured -= t.obscured - images_removed += t.obscured - - for(var/turf/t in visRemoved) - if(t in obscuredTurfs) - if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) - - obscured += t.obscured - images_added += t.obscured - - for(var/mob/aiEye/eye in seenby) - if(eye.ai) - if(eye.ai.client) - eye.ai.client.images -= images_removed - eye.ai.client.images |= images_added - else - seenby -= eye \ No newline at end of file diff --git a/code/WorkInProgress/AI_Visibility/minimap.dm b/code/WorkInProgress/AI_Visibility/minimap.dm deleted file mode 100644 index c97b01e0f82..00000000000 --- a/code/WorkInProgress/AI_Visibility/minimap.dm +++ /dev/null @@ -1,137 +0,0 @@ -/client/var/minimap_view_z = 1 - -/obj/minimap_obj - var/datum/camerachunk/chunk - -/obj/minimap_obj/Click(location, control, params) - if(!istype(usr, /mob/dead) && !istype(usr, /mob/living/silicon/ai) && !(usr.client && usr.client.holder && usr.client.holder.level >= 4)) - return - - var/list/par = params2list(params) - var/screen_loc = par["screen-loc"] - - if(findtext(screen_loc, "minimap:") != 1) - return - - screen_loc = copytext(screen_loc, length("minimap:") + 1) - - var/x_text = copytext(screen_loc, 1, findtext(screen_loc, ",")) - var/y_text = copytext(screen_loc, findtext(screen_loc, ",") + 1) - - var/x = chunk.x - x += round((text2num(copytext(x_text, findtext(x_text, ":") + 1)) + 1) / 2) - - var/y = chunk.y - y += round((text2num(copytext(y_text, findtext(y_text, ":") + 1)) + 1) / 2) - - if(istype(usr, /mob/living/silicon/ai)) - var/mob/living/silicon/ai/ai = usr - ai.freelook() - ai.eyeobj.loc = locate(max(1, x - 1), max(1, y - 1), usr.client.minimap_view_z) - cameranet.visibility(ai.eyeobj) - - else - usr.loc = locate(max(1, x - 1), max(1, y - 1), usr.client.minimap_view_z) - -/mob/dead/verb/Open_Minimap() - set category = "Ghost" - cameranet.show_minimap(client) - - -/mob/living/silicon/ai/verb/Open_Minimap() - set category = "AI Commands" - cameranet.show_minimap(client) - - -/client/proc/Open_Minimap() - set category = "Admin" - cameranet.show_minimap(src) - - -/mob/verb/Open_Minimap_Z() - set hidden = 1 - - if(!istype(src, /mob/dead) && !istype(src, /mob/living/silicon/ai) && !(client && client.holder && client.holder.level >= 4)) - return - - var/level = input("Select a Z level", "Z select", null) as null | anything in cameranet.minimap - - if(level != null) - cameranet.show_minimap(client, level) - - - -/datum/cameranet/proc/show_minimap(client/client, z_level = "z-1") - if(!istype(client.mob, /mob/dead) && !istype(client.mob, /mob/living/silicon/ai) && !(client.holder && client.holder.level >= 4)) - return - - if(z_level in cameranet.minimap) - winshow(client, "minimapwindow", 1) - - for(var/key in cameranet.minimap) - client.screen -= cameranet.minimap[key] - - client.screen |= cameranet.minimap[z_level] - - if(cameranet.generating_minimap) - spawn(50) - show_minimap(client, z_level) - - client.minimap_view_z = text2num(copytext(z_level, 3)) - - -/datum/camerachunk/proc/update_minimap() - if(changed && !updating) - update() - - minimap_icon.Blend(rgb(255, 0, 0), ICON_MULTIPLY) - - var/list/turfs = visibleTurfs | dimTurfs - - for(var/turf/turf in turfs) - var/x = (turf.x & 0xf) * 2 - var/y = (turf.y & 0xf) * 2 - - if(turf.density) - minimap_icon.DrawBox(rgb(100, 100, 100), x + 1, y + 1, x + 2, y + 2) - continue - - else if(istype(turf, /turf/space)) - minimap_icon.DrawBox(rgb(0, 0, 0), x + 1, y + 1, x + 2, y + 2) - - else - minimap_icon.DrawBox(rgb(200, 200, 200), x + 1, y + 1, x + 2, y + 2) - - for(var/obj/structure/o in turf) - if(o.density) - if(istype(o, /obj/structure/window) && (o.dir == NORTH || o.dir == SOUTH || o.dir == EAST || o.dir == WEST)) - if(o.dir == NORTH) - minimap_icon.DrawBox(rgb(150, 150, 200), x + 1, y + 2, x + 2, y + 2) - else if(o.dir == SOUTH) - minimap_icon.DrawBox(rgb(150, 150, 200), x + 1, y + 1, x + 2, y + 1) - else if(o.dir == EAST) - minimap_icon.DrawBox(rgb(150, 150, 200), x + 3, y + 1, x + 2, y + 2) - else if(o.dir == WEST) - minimap_icon.DrawBox(rgb(150, 150, 200), x + 1, y + 1, x + 1, y + 2) - - else - minimap_icon.DrawBox(rgb(150, 150, 150), x + 1, y + 1, x + 2, y + 2) - break - - for(var/obj/machinery/door/o in turf) - if(istype(o, /obj/machinery/door/window)) - if(o.dir == NORTH) - minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 2, x + 2, y + 2) - else if(o.dir == SOUTH) - minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 1, x + 2, y + 1) - else if(o.dir == EAST) - minimap_icon.DrawBox(rgb(100, 150, 100), x + 2, y + 1, x + 2, y + 2) - else if(o.dir == WEST) - minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 1, x + 1, y + 2) - - else - minimap_icon.DrawBox(rgb(100, 150, 100), x + 1, y + 1, x + 2, y + 2) - break - - minimap_obj.screen_loc = "minimap:[src.x / 16],[src.y / 16]" - minimap_obj.icon = minimap_icon diff --git a/code/WorkInProgress/AI_Visibility/util.dm b/code/WorkInProgress/AI_Visibility/util.dm deleted file mode 100644 index da576cbd406..00000000000 --- a/code/WorkInProgress/AI_Visibility/util.dm +++ /dev/null @@ -1,38 +0,0 @@ - -/turf - var/image/obscured - var/image/dim - -/turf/proc/visibilityChanged() - cameranet.updateVisibility(src) - -/turf/New() - ..() - cameranet.updateVisibility(src) - -/obj/machinery/door/update_nearby_tiles(need_rebuild) - . = ..(need_rebuild) - cameranet.updateVisibility(loc) - -/obj/machinery/camera/New() - ..() - cameranet.addCamera(src) - -/obj/machinery/camera/Del() - cameranet.removeCamera(src) - ..() - -/obj/machinery/camera/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) - . = ..(W, user) - if(istype(W, /obj/item/weapon/wirecutters)) - if(status) - cameranet.addCamera(src) - else - cameranet.removeCamera(src) - -/proc/checkcameravis(atom/A) - for(var/obj/machinery/camera/C in view(A,7)) - if(!C.status || C.stat == 2) - continue - return 1 - return 0 diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/areas.dm b/code/WorkInProgress/Cael_Aislinn/Rust/areas.dm deleted file mode 100644 index 6183ed04f67..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/areas.dm +++ /dev/null @@ -1,77 +0,0 @@ - -//reactor areas - -/area/engine - icon_state = "engine" - - fore - name = "\improper Fore" - - construction_storage - name = "\improper Construction storage" - - locker - name = "\improper Locker room" - - atmos_storage - name = "\improper Atmos storage" - icon_state = "engine_storage" - - control - name = "\improper Control" - icon_state = "engine_control" - - electrical_storage - name = "\improper Electrical storage" - - engine_monitoring - name = "\improper Electrical storage" - icon_state = "engine_monitoring" - - reactor_core - name = "\improper Reactor Core" - //icon_state = "engine_core" - - reactor_gas - name = "Reactor Gas Storage" - //icon_state = "engine_atmos" - - aux_control - name = "Reactor Auxiliary Control" - //icon_state = "engine_aux" - - turbine_control - name = "Turbine Control" - //icon_state = "engine_turbine" - - reactor_airlock - name = "\improper Reactor Primary Entrance" - //icon_state = "engine_airlock" - - reactor_fuel_storage - name = "Reactor Fuel Storage" - //icon_state = "engine_fuel" - - reactor_fuel_ports - name = "\improper Reactor Fuel Ports" - //icon_state = "engine_port" - - generators - name = "\improper Generator Room" - //icon_state = "engine_generators" - - port_gyro_bay - name = "\improper Port Gyrotron Bay" - //icon_state = "engine_starboardgyro" - - starboard_gyro_bay - name = "\improper Starboard Gyrotron Bay" - //icon_state = "engine_portgyro" - - storage - name = "\improper Engineering hallway" - icon_state = "engine_storage" - - hallway - name = "\improper Engineering storage" - icon_state = "engine_hallway" diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm b/code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm deleted file mode 100644 index 8521e4d1b4c..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/circuits_and_design.dm +++ /dev/null @@ -1,120 +0,0 @@ - -////////////////////////////////////// -// RUST Core Control computer - -/obj/item/weapon/circuitboard/rust_core_control - name = "Circuit board (RUST core controller)" - build_path = "/obj/machinery/computer/rust_core_control" - origin_tech = "programming=4;engineering=4" - -datum/design/rust_core_control - name = "Circuit Design (RUST core controller)" - desc = "Allows for the construction of circuit boards used to build a core control console for the RUST fusion engine." - id = "rust_core_control" - req_tech = list("programming" = 4, "engineering" = 4) - build_type = IMPRINTER - materials = list("$glass" = 2000, "sacid" = 20) - build_path = "/obj/item/weapon/circuitboard/rust_core_control" - -////////////////////////////////////// -// RUST Fuel Control computer - -/obj/item/weapon/circuitboard/rust_fuel_control - name = "Circuit board (RUST fuel controller)" - build_path = "/obj/machinery/computer/rust_fuel_control" - origin_tech = "programming=4;engineering=4" - -datum/design/rust_fuel_control - name = "Circuit Design (RUST fuel controller)" - desc = "Allows for the construction of circuit boards used to build a fuel injector control console for the RUST fusion engine." - id = "rust_fuel_control" - req_tech = list("programming" = 4, "engineering" = 4) - build_type = IMPRINTER - materials = list("$glass" = 2000, "sacid" = 20) - build_path = "/obj/item/weapon/circuitboard/rust_fuel_control" - -////////////////////////////////////// -// RUST Fuel Port board - -/obj/item/weapon/module/rust_fuel_port - name = "Internal circuitry (RUST fuel port)" - icon_state = "card_mod" - origin_tech = "engineering=4;materials=5" - -datum/design/rust_fuel_port - name = "Internal circuitry (RUST fuel port)" - desc = "Allows for the construction of circuit boards used to build a fuel injection port for the RUST fusion engine." - id = "rust_fuel_port" - req_tech = list("engineering" = 4, "materials" = 5) - build_type = IMPRINTER - materials = list("$glass" = 2000, "sacid" = 20, "$uranium" = 3000) - build_path = "/obj/item/weapon/module/rust_fuel_port" - -////////////////////////////////////// -// RUST Fuel Compressor board - -/obj/item/weapon/module/rust_fuel_compressor - name = "Internal circuitry (RUST fuel compressor)" - icon_state = "card_mod" - origin_tech = "materials=6;plasmatech=4" - -datum/design/rust_fuel_compressor - name = "Circuit Design (RUST fuel compressor)" - desc = "Allows for the construction of circuit boards used to build a fuel compressor of the RUST fusion engine." - id = "rust_fuel_compressor" - req_tech = list("materials" = 6, "plasmatech" = 4) - build_type = IMPRINTER - materials = list("$glass" = 2000, "sacid" = 20, "$plasma" = 3000, "$diamond" = 1000) - build_path = "/obj/item/weapon/module/rust_fuel_compressor" - -////////////////////////////////////// -// RUST Tokamak Core board - -/obj/item/weapon/circuitboard/rust_core - name = "Internal circuitry (RUST tokamak core)" - build_path = "/obj/machinery/power/rust_core" - board_type = "machine" - origin_tech = "bluespace=3;plasmatech=4;magnets=5;powerstorage=6" - frame_desc = "Requires 2 Pico Manipulators, 1 Ultra Micro-Laser, 5 Pieces of Cable, 1 Subspace Crystal and 1 Console Screen." - req_components = list( - "/obj/item/weapon/stock_parts/manipulator/pico" = 2, - "/obj/item/weapon/stock_parts/micro_laser/ultra" = 1, - "/obj/item/weapon/stock_parts/subspace/crystal" = 1, - "/obj/item/weapon/stock_parts/console_screen" = 1, - "/obj/item/stack/cable_coil" = 5) - -datum/design/rust_core - name = "Internal circuitry (RUST tokamak core)" - desc = "The circuit board that for a RUST-pattern tokamak fusion core." - id = "pacman" - req_tech = list(bluespace = 3, plasmatech = 4, magnets = 5, powerstorage = 6) - build_type = IMPRINTER - reliability_base = 79 - materials = list("$glass" = 2000, "sacid" = 20, "$plasma" = 3000, "$diamond" = 2000) - build_path = "/obj/item/weapon/circuitboard/rust_core" - -////////////////////////////////////// -// RUST Fuel Injector board - -/obj/item/weapon/circuitboard/rust_injector - name = "Internal circuitry (RUST fuel injector)" - build_path = "/obj/machinery/power/rust_fuel_injector" - board_type = "machine" - origin_tech = "powerstorage=3;engineering=4;plasmatech=4;materials=6" - frame_desc = "Requires 2 Pico Manipulators, 1 Phasic Scanning Module, 1 Super Matter Bin, 1 Console Screen and 5 Pieces of Cable." - req_components = list( - "/obj/item/weapon/stock_parts/manipulator/pico" = 2, - "/obj/item/weapon/stock_parts/scanning_module/phasic" = 1, - "/obj/item/weapon/stock_parts/matter_bin/super" = 1, - "/obj/item/weapon/stock_parts/console_screen" = 1, - "/obj/item/stack/cable_coil" = 5) - -datum/design/rust_injector - name = "Internal circuitry (RUST tokamak core)" - desc = "The circuit board that for a RUST-pattern particle accelerator." - id = "pacman" - req_tech = list(powerstorage = 3, engineering = 4, plasmatech = 4, materials = 6) - build_type = IMPRINTER - reliability_base = 79 - materials = list("$glass" = 2000, "sacid" = 20, "$plasma" = 3000, "$uranium" = 2000) - build_path = "/obj/item/weapon/circuitboard/rust_core" diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/core_control.dm b/code/WorkInProgress/Cael_Aislinn/Rust/core_control.dm deleted file mode 100644 index f20f33a7ac4..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/core_control.dm +++ /dev/null @@ -1,143 +0,0 @@ - -/obj/machinery/computer/rust_core_control - name = "RUST Core Control" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' - icon_state = "core_control" - var/list/connected_devices = list() - var/id_tag = "allan remember to update this before you leave" - var/scan_range = 25 - - //currently viewed - var/obj/machinery/power/rust_core/cur_viewed_device - -/obj/machinery/computer/rust_core_control/process() - if(stat & (BROKEN|NOPOWER)) - return - -/obj/machinery/computer/rust_core_control/attack_ai(mob/user) - attack_hand(user) - -/obj/machinery/computer/rust_core_control/attack_hand(mob/user) - add_fingerprint(user) - interact(user) - -/obj/machinery/computer/rust_core_control/interact(mob/user) - if(stat & BROKEN) - user.unset_machine() - user << browse(null, "window=core_control") - return - if (!istype(user, /mob/living/silicon) && (get_dist(src, user) > 1 )) - user.unset_machine() - user << browse(null, "window=core_control") - return - - var/dat = "" - if(stat & NOPOWER) - dat += "The console is dark and nonresponsive." - else - dat += "Reactor Core Primary Monitor
" - if(cur_viewed_device && cur_viewed_device.stat & (BROKEN|NOPOWER)) - cur_viewed_device = null - if(cur_viewed_device && !cur_viewed_device.remote_access_enabled) - cur_viewed_device = null - - if(cur_viewed_device) - dat += "Device tag: [cur_viewed_device.id_tag ? cur_viewed_device.id_tag : "UNSET"]
" - dat += "Device [cur_viewed_device.owned_field ? "activated" : "deactivated"].
" - dat += "\[Bring field [cur_viewed_device.owned_field ? "offline" : "online"]\]
" - dat += "Device [cur_viewed_device.anchored ? "secured" : "unsecured"].
" - dat += "
" - dat += "Field encumbrance: [cur_viewed_device.owned_field ? 0 : "NA"]
" - dat += "Field strength: [cur_viewed_device.field_strength] Wm^3
" - dat += "\[----\] \ - \[--- \] \ - \[-- \] \ - \[- \] \ - \[+ \] \ - \[++ \] \ - \[+++ \] \ - \[++++\]
" - dat += "Field frequency: [cur_viewed_device.field_frequency] MHz
" - dat += "\[----\] \ - \[--- \] \ - \[-- \] \ - \[- \] \ - \[+ \] \ - \[++ \] \ - \[+++ \] \ - \[++++\]
" - - var/power_stat = "Good" - if(cur_viewed_device.cached_power_avail < cur_viewed_device.active_power_usage) - power_stat = "Insufficient" - else if(cur_viewed_device.cached_power_avail < cur_viewed_device.active_power_usage * 2) - power_stat = "Check" - dat += "Power status: [power_stat]
" - else - dat += "\[Refresh device list\]

" - if(connected_devices.len) - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - for(var/obj/machinery/power/rust_core/C in connected_devices) - if(!check_core_status(C)) - connected_devices.Remove(C) - continue - - dat += "" - dat += "" - dat += "" - dat += "" - dat += "
Device tag
[C.id_tag]\[Manage\]
" - else - dat += "No devices connected.
" - - dat += "
" - dat += "Refresh " - dat += "Close" - - user << browse(dat, "window=core_control;size=500x400") - onclose(user, "core_control") - user.set_machine(src) - -/obj/machinery/computer/rust_core_control/Topic(href, href_list) - ..() - - if( href_list["goto_scanlist"] ) - cur_viewed_device = null - - if( href_list["manage_individual"] ) - cur_viewed_device = locate(href_list["manage_individual"]) - - if( href_list["scan"] ) - connected_devices = list() - for(var/obj/machinery/power/rust_core/C in range(scan_range, src)) - if(check_core_status(C)) - connected_devices.Add(C) - - if( href_list["startup"] ) - if(cur_viewed_device) - cur_viewed_device.Startup() - - if( href_list["shutdown"] ) - if(cur_viewed_device) - cur_viewed_device.Shutdown() - - if( href_list["close"] ) - usr << browse(null, "window=core_control") - usr.unset_machine() - - updateDialog() - -/obj/machinery/computer/rust_core_control/proc/check_core_status(var/obj/machinery/power/rust_core/C) - if(!C) - return 0 - - if(C.stat & (BROKEN|NOPOWER) || !C.remote_access_enabled || !C.id_tag) - if(connected_devices.Find(C)) - connected_devices.Remove(C) - return 0 - - return 1 diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/core_field.dm b/code/WorkInProgress/Cael_Aislinn/Rust/core_field.dm deleted file mode 100644 index e42eedac03f..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/core_field.dm +++ /dev/null @@ -1,438 +0,0 @@ -//the em field is where the fun happens -/* -Deuterium-deuterium fusion : 40 x 10^7 K -Deuterium-tritium fusion: 4.5 x 10^7 K -*/ - -//#DEFINE MAX_STORED_ENERGY (held_plasma.toxins * held_plasma.toxins * SPECIFIC_HEAT_TOXIN) - -/obj/effect/rust_em_field - name = "EM Field" - desc = "A coruscating, barely visible field of energy. It is shaped like a slightly flattened torus." - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' - icon_state = "emfield_s1" - // - var/major_radius = 0 //longer radius in meters = field_strength * 0.21875, max = 8.75 - var/minor_radius = 0 //shorter radius in meters = field_strength * 0.2125, max = 8.625 - var/size = 1 //diameter in tiles - var/volume_covered = 0 //atmospheric volume covered - // - var/obj/machinery/power/rust_core/owned_core - var/list/dormant_reactant_quantities = new - //luminosity = 1 - layer = 3.1 - // - var/energy = 0 - var/mega_energy = 0 - var/radiation = 0 - var/frequency = 1 - var/field_strength = 0.01 //in teslas, max is 50T - - var/obj/machinery/rust/rad_source/radiator - var/datum/gas_mixture/held_plasma = new - var/particle_catchers[13] - - var/emp_overload = 0 - -/obj/effect/rust_em_field/New() - ..() - //create radiator - for(var/obj/machinery/rust/rad_source/rad in range(0)) - radiator = rad - if(!radiator) - radiator = new() - - //make sure there's a field generator - for(var/obj/machinery/power/rust_core/core in loc) - owned_core = core - - if(!owned_core) - del(src) - - //create the gimmicky things to handle field collisions - var/obj/effect/rust_particle_catcher/catcher - // - catcher = new (locate(src.x,src.y,src.z)) - catcher.parent = src - catcher.SetSize(1) - particle_catchers.Add(catcher) - // - catcher = new (locate(src.x-1,src.y,src.z)) - catcher.parent = src - catcher.SetSize(3) - particle_catchers.Add(catcher) - catcher = new (locate(src.x+1,src.y,src.z)) - catcher.parent = src - catcher.SetSize(3) - particle_catchers.Add(catcher) - catcher = new (locate(src.x,src.y+1,src.z)) - catcher.parent = src - catcher.SetSize(3) - particle_catchers.Add(catcher) - catcher = new (locate(src.x,src.y-1,src.z)) - catcher.parent = src - catcher.SetSize(3) - particle_catchers.Add(catcher) - // - catcher = new (locate(src.x-2,src.y,src.z)) - catcher.parent = src - catcher.SetSize(5) - particle_catchers.Add(catcher) - catcher = new (locate(src.x+2,src.y,src.z)) - catcher.parent = src - catcher.SetSize(5) - particle_catchers.Add(catcher) - catcher = new (locate(src.x,src.y+2,src.z)) - catcher.parent = src - catcher.SetSize(5) - particle_catchers.Add(catcher) - catcher = new (locate(src.x,src.y-2,src.z)) - catcher.parent = src - catcher.SetSize(5) - particle_catchers.Add(catcher) - // - catcher = new (locate(src.x-3,src.y,src.z)) - catcher.parent = src - catcher.SetSize(7) - particle_catchers.Add(catcher) - catcher = new (locate(src.x+3,src.y,src.z)) - catcher.parent = src - catcher.SetSize(7) - particle_catchers.Add(catcher) - catcher = new (locate(src.x,src.y+3,src.z)) - catcher.parent = src - catcher.SetSize(7) - particle_catchers.Add(catcher) - catcher = new (locate(src.x,src.y-3,src.z)) - catcher.parent = src - catcher.SetSize(7) - particle_catchers.Add(catcher) - - //init values - major_radius = field_strength * 0.21875// max = 8.75 - minor_radius = field_strength * 0.2125// max = 8.625 - volume_covered = PI * major_radius * minor_radius * 2.5 * 2.5 * 1000 - - processing_objects.Add(src) - -/obj/effect/rust_em_field/process() - //make sure the field generator is still intact - if(!owned_core) - del(src) - - //handle radiation - if(!radiator) - radiator = new /obj/machinery/rust/rad_source() - radiator.mega_energy += radiation - radiator.source_alive++ - radiation = 0 - - //update values - var/transfer_ratio = field_strength / 50 //higher field strength will result in faster plasma aggregation - major_radius = field_strength * 0.21875// max = 8.75m - minor_radius = field_strength * 0.2125// max = 8.625m - volume_covered = PI * major_radius * minor_radius * 2.5 * 2.5 * 2.5 * 7 * 7 * transfer_ratio //one tile = 2.5m*2.5m*2.5m - - //add plasma from the surrounding environment - var/datum/gas_mixture/environment = loc.return_air() - - //hack in some stuff to remove plasma from the air because SCIENCE - //the amount of plasma pulled in each update is relative to the field strength, with 50T (max field strength) = 100% of area covered by the field - //at minimum strength, 0.25% of the field volume is pulled in per update (?) - //have a max of 1000 moles suspended - if(held_plasma.toxins < transfer_ratio * 1000) - var/moles_covered = environment.return_pressure()*volume_covered/(environment.temperature * R_IDEAL_GAS_EQUATION) - //world << "\blue moles_covered: [moles_covered]" - // - var/datum/gas_mixture/gas_covered = environment.remove(moles_covered) - var/datum/gas_mixture/plasma_captured = new /datum/gas_mixture() - // - plasma_captured.toxins = round(gas_covered.toxins * transfer_ratio) - //world << "\blue[plasma_captured.toxins] moles of plasma captured" - plasma_captured.temperature = gas_covered.temperature - plasma_captured.update_values() - // - gas_covered.toxins -= plasma_captured.toxins - gas_covered.update_values() - // - held_plasma.merge(plasma_captured) - // - environment.merge(gas_covered) - - //let the particles inside the field react - React() - - //forcibly radiate any excess energy - /*var/energy_max = transfer_ratio * 100000 - if(mega_energy > energy_max) - var/energy_lost = rand( 1.5 * (mega_energy - energy_max), 2.5 * (mega_energy - energy_max) ) - mega_energy -= energy_lost - radiation += energy_lost*/ - - //change held plasma temp according to energy levels - //SPECIFIC_HEAT_TOXIN - if(mega_energy > 0 && held_plasma.toxins) - var/heat_capacity = held_plasma.heat_capacity()//200 * number of plasma moles - if(heat_capacity > 0.0003) //formerly MINIMUM_HEAT_CAPACITY - held_plasma.temperature = (heat_capacity + mega_energy * 35000)/heat_capacity - - //if there is too much plasma in the field, lose some - /*if( held_plasma.toxins > (MOLES_CELLSTANDARD * 7) * (50 / field_strength) ) - LosePlasma()*/ - if(held_plasma.toxins > 1) - //lose a random amount of plasma back into the air, increased by the field strength (want to switch this over to frequency eventually) - var/loss_ratio = rand() * (0.05 + (0.05 * 50 / field_strength)) - //world << "lost [loss_ratio*100]% of held plasma" - // - var/datum/gas_mixture/plasma_lost = new - plasma_lost.temperature = held_plasma.temperature - // - plasma_lost.toxins = held_plasma.toxins * loss_ratio - //plasma_lost.update_values() - held_plasma.toxins -= held_plasma.toxins * loss_ratio - //held_plasma.update_values() - // - environment.merge(plasma_lost) - radiation += loss_ratio * mega_energy * 0.1 - mega_energy -= loss_ratio * mega_energy * 0.1 - else - held_plasma.toxins = 0 - //held_plasma.update_values() - - //handle some reactants formatting - for(var/reactant in dormant_reactant_quantities) - var/amount = dormant_reactant_quantities[reactant] - if(amount < 1) - dormant_reactant_quantities.Remove(reactant) - else if(amount >= 1000000) - var/radiate = rand(3 * amount / 4, amount / 4) - dormant_reactant_quantities[reactant] -= radiate - radiation += radiate - - return 1 - -/obj/effect/rust_em_field/proc/ChangeFieldStrength(var/new_strength) - var/calc_size = 1 - emp_overload = 0 - if(new_strength <= 50) - calc_size = 1 - else if(new_strength <= 200) - calc_size = 3 - else if(new_strength <= 500) - calc_size = 5 - else - calc_size = 7 - if(new_strength > 900) - emp_overload = 1 - // - field_strength = new_strength - change_size(calc_size) - -/obj/effect/rust_em_field/proc/ChangeFieldFrequency(var/new_frequency) - frequency = new_frequency - -/obj/effect/rust_em_field/proc/AddEnergy(var/a_energy, var/a_mega_energy, var/a_frequency) - var/energy_loss_ratio = 0 - if(a_frequency != src.frequency) - energy_loss_ratio = 1 / abs(a_frequency - src.frequency) - energy += a_energy - a_energy * energy_loss_ratio - mega_energy += a_mega_energy - a_mega_energy * energy_loss_ratio - - while(energy > 100000) - energy -= 100000 - mega_energy += 0.1 - -/obj/effect/rust_em_field/proc/AddParticles(var/name, var/quantity = 1) - if(name in dormant_reactant_quantities) - dormant_reactant_quantities[name] += quantity - else if(name != "proton" && name != "electron" && name != "neutron") - dormant_reactant_quantities.Add(name) - dormant_reactant_quantities[name] = quantity - -/obj/effect/rust_em_field/proc/RadiateAll(var/ratio_lost = 1) - for(var/particle in dormant_reactant_quantities) - radiation += dormant_reactant_quantities[particle] - dormant_reactant_quantities.Remove(particle) - radiation += mega_energy - mega_energy = 0 - - //lose all held plasma back into the air - var/datum/gas_mixture/environment = loc.return_air() - environment.merge(held_plasma) - -/obj/effect/rust_em_field/proc/change_size(var/newsize = 1) - // - var/changed = 0 - switch(newsize) - if(1) - size = 1 - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' - icon_state = "emfield_s1" - pixel_x = 0 - pixel_y = 0 - // - changed = 1 - if(3) - size = 3 - icon = 'icons/effects/96x96.dmi' - icon_state = "emfield_s3" - pixel_x = -32 - pixel_y = -32 - // - changed = 3 - if(5) - size = 5 - icon = 'icons/effects/160x160.dmi' - icon_state = "emfield_s5" - pixel_x = -64 - pixel_y = -64 - // - changed = 5 - if(7) - size = 7 - icon = 'icons/effects/224x224.dmi' - icon_state = "emfield_s7" - pixel_x = -96 - pixel_y = -96 - // - changed = 7 - - for(var/obj/effect/rust_particle_catcher/catcher in particle_catchers) - catcher.UpdateSize() - return changed - -//the !!fun!! part -/obj/effect/rust_em_field/proc/React() - //loop through the reactants in random order - var/list/reactants_reacting_pool = dormant_reactant_quantities.Copy() - /* - for(var/reagent in dormant_reactant_quantities) - world << " before: [reagent]: [dormant_reactant_quantities[reagent]]" - */ - - //cant have any reactions if there aren't any reactants present - if(reactants_reacting_pool.len) - //determine a random amount to actually react this cycle, and remove it from the standard pool - //this is a hack, and quite nonrealistic :( - for(var/reactant in reactants_reacting_pool) - reactants_reacting_pool[reactant] = rand(0,reactants_reacting_pool[reactant]) - dormant_reactant_quantities[reactant] -= reactants_reacting_pool[reactant] - if(!reactants_reacting_pool[reactant]) - reactants_reacting_pool -= reactant - - //loop through all the reacting reagents, picking out random reactions for them - var/list/produced_reactants = new/list - var/list/primary_reactant_pool = reactants_reacting_pool.Copy() - while(primary_reactant_pool.len) - //pick one of the unprocessed reacting reagents randomly - var/cur_primary_reactant = pick(primary_reactant_pool) - primary_reactant_pool.Remove(cur_primary_reactant) - //world << "\blue primary reactant chosen: [cur_primary_reactant]" - - //grab all the possible reactants to have a reaction with - var/list/possible_secondary_reactants = reactants_reacting_pool.Copy() - //if there is only one of a particular reactant, then it can not react with itself so remove it - possible_secondary_reactants[cur_primary_reactant] -= 1 - if(possible_secondary_reactants[cur_primary_reactant] < 1) - possible_secondary_reactants.Remove(cur_primary_reactant) - - //loop through and work out all the possible reactions - var/list/possible_reactions = new/list - for(var/cur_secondary_reactant in possible_secondary_reactants) - if(possible_secondary_reactants[cur_secondary_reactant] < 1) - continue - var/datum/fusion_reaction/cur_reaction = get_fusion_reaction(cur_primary_reactant, cur_secondary_reactant) - if(cur_reaction) - //world << "\blue secondary reactant: [cur_secondary_reactant], [reaction_products.len]" - possible_reactions.Add(cur_reaction) - - //if there are no possible reactions here, abandon this primary reactant and move on - if(!possible_reactions.len) - //world << "\blue no reactions" - continue - - //split up the reacting atoms between the possible reactions - while(possible_reactions.len) - //pick a random substance to react with - var/datum/fusion_reaction/cur_reaction = pick(possible_reactions) - possible_reactions.Remove(cur_reaction) - - //set the randmax to be the lower of the two involved reactants - var/max_num_reactants = reactants_reacting_pool[cur_reaction.primary_reactant] > reactants_reacting_pool[cur_reaction.secondary_reactant] ? \ - reactants_reacting_pool[cur_reaction.secondary_reactant] : reactants_reacting_pool[cur_reaction.primary_reactant] - if(max_num_reactants < 1) - continue - - //make sure we have enough energy - if(mega_energy < max_num_reactants * cur_reaction.energy_consumption) - max_num_reactants = round(mega_energy / cur_reaction.energy_consumption) - if(max_num_reactants < 1) - continue - - //randomly determined amount to react - var/amount_reacting = rand(1, max_num_reactants) - - //removing the reacting substances from the list of substances that are primed to react this cycle - //if there aren't enough of that substance (there should be) then modify the reactant amounts accordingly - if( reactants_reacting_pool[cur_reaction.primary_reactant] - amount_reacting >= 0 ) - reactants_reacting_pool[cur_reaction.primary_reactant] -= amount_reacting - else - amount_reacting = reactants_reacting_pool[cur_reaction.primary_reactant] - reactants_reacting_pool[cur_reaction.primary_reactant] = 0 - //same again for secondary reactant - if( reactants_reacting_pool[cur_reaction.secondary_reactant] - amount_reacting >= 0 ) - reactants_reacting_pool[cur_reaction.secondary_reactant] -= amount_reacting - else - reactants_reacting_pool[cur_reaction.primary_reactant] += amount_reacting - reactants_reacting_pool[cur_reaction.primary_reactant] - amount_reacting = reactants_reacting_pool[cur_reaction.secondary_reactant] - reactants_reacting_pool[cur_reaction.secondary_reactant] = 0 - - //remove the consumed energy - mega_energy -= max_num_reactants * cur_reaction.energy_consumption - - //add any produced energy - mega_energy += max_num_reactants * cur_reaction.energy_production - - //add any produced radiation - radiation += max_num_reactants * cur_reaction.radiation - - //create the reaction products - for(var/reactant in cur_reaction.products) - var/success = 0 - for(var/check_reactant in produced_reactants) - if(check_reactant == reactant) - produced_reactants[reactant] += cur_reaction.products[reactant] * amount_reacting - success = 1 - break - if(!success) - produced_reactants[reactant] = cur_reaction.products[reactant] * amount_reacting - - //this reaction is done, and can't be repeated this sub-cycle - possible_reactions.Remove(cur_reaction.secondary_reactant) - - // - /*if(new_radiation) - if(!radiating) - radiating = 1 - PeriodicRadiate()*/ - - //loop through the newly produced reactants and add them to the pool - //var/list/neutronic_radiation = new - //var/list/protonic_radiation = new - for(var/reactant in produced_reactants) - AddParticles(reactant, produced_reactants[reactant]) - //world << "produced: [reactant], [dormant_reactant_quantities[reactant]]" - - //check whether there are reactants left, and add them back to the pool - for(var/reactant in reactants_reacting_pool) - AddParticles(reactant, reactants_reacting_pool[reactant]) - //world << "retained: [reactant], [reactants_reacting_pool[reactant]]" - -/obj/effect/rust_em_field/Destroy() - //radiate everything in one giant burst - for(var/obj/effect/rust_particle_catcher/catcher in particle_catchers) - del (catcher) - RadiateAll() - - processing_objects.Remove(src) - ..() diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm b/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm deleted file mode 100644 index 72dddd6fe06..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/core_gen.dm +++ /dev/null @@ -1,287 +0,0 @@ -//the core [tokamaka generator] big funky solenoid, it generates an EM field - -/* -when the core is turned on, it generates [creates] an electromagnetic field -the em field attracts plasma, and suspends it in a controlled torus (doughnut) shape, oscillating around the core - -the field strength is directly controllable by the user -field strength = sqrt(energy used by the field generator) - -the size of the EM field = field strength / k -(k is an arbitrary constant to make the calculated size into tilewidths) - -1 tilewidth = below 5T -3 tilewidth = between 5T and 12T -5 tilewidth = between 10T and 25T -7 tilewidth = between 20T and 50T -(can't go higher than 40T) - -energy is added by a gyrotron, and lost when plasma escapes -energy transferred from the gyrotron beams is reduced by how different the frequencies are (closer frequencies = more energy transferred) - -frequency = field strength * (stored energy / stored moles of plasma) * x -(where x is an arbitrary constant to make the frequency something realistic) -the gyrotron beams' frequency and energy are hardcapped low enough that they won't heat the plasma much - -energy is generated in considerable amounts by fusion reactions from injected particles -fusion reactions only occur when the existing energy is above a certain level, and it's near the max operating level of the gyrotron. higher energy reactions only occur at higher energy levels -a small amount of energy constantly bleeds off in the form of radiation - -the field is constantly pulling in plasma from the surrounding [local] atmosphere -at random intervals, the field releases a random percentage of stored plasma in addition to a percentage of energy as intense radiation - -the amount of plasma is a percentage of the field strength, increased by frequency -*/ - -/* -- VALUES - - -max volume of plasma storeable by the field = the total volume of a number of tiles equal to the (field tilewidth)^2 - -*/ - -#define MAX_FIELD_FREQ 1000 -#define MIN_FIELD_FREQ 1 -#define MAX_FIELD_STR 1000 -#define MIN_FIELD_STR 1 - -/obj/machinery/power/rust_core - name = "RUST Tokamak core" - desc = "Enormous solenoid for generating extremely high power electromagnetic fields" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' - icon_state = "core0" - density = 1 - var/obj/effect/rust_em_field/owned_field - var/field_strength = 1//0.01 - var/field_frequency = 1 - var/id_tag = "allan, don't forget to set the ID of this one too" - req_access = list(access_engine) - // - use_power = 1 - idle_power_usage = 50 - active_power_usage = 500 //multiplied by field strength - var/cached_power_avail = 0 - directwired = 1 - anchored = 0 - - var/state = 0 - var/locked = 1 - var/remote_access_enabled = 1 - -/obj/machinery/power/rust_core/process() - if(stat & BROKEN || !powernet) - Shutdown() - - cached_power_avail = avail() - //luminosity = round(owned_field.field_strength/10) - //luminosity = max(luminosity,1) - -/obj/machinery/power/rust_core/attackby(obj/item/W, mob/user) - - if(istype(W, /obj/item/weapon/wrench)) - if(owned_field) - user << "Turn off [src] first." - return - switch(state) - if(0) - state = 1 - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) - user.visible_message("[user.name] secures [src.name] to the floor.", \ - "You secure the external reinforcing bolts to the floor.", \ - "You hear a ratchet") - src.anchored = 1 - if(1) - state = 0 - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) - user.visible_message("[user.name] unsecures [src.name] reinforcing bolts from the floor.", \ - "You undo the external reinforcing bolts.", \ - "You hear a ratchet") - src.anchored = 0 - if(2) - user << "\red The [src.name] needs to be unwelded from the floor." - return - - if(istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/WT = W - if(owned_field) - user << "Turn off the [src] first." - return - switch(state) - if(0) - user << "\red The [src.name] needs to be wrenched to the floor." - if(1) - if (WT.remove_fuel(0,user)) - playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) - user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \ - "You start to weld the [src] to the floor.", \ - "You hear welding") - if (do_after(user,20)) - if(!src || !WT.isOn()) return - state = 2 - user << "You weld the [src] to the floor." - connect_to_network() - src.directwired = 1 - else - user << "\red You need more welding fuel to complete this task." - if(2) - if (WT.remove_fuel(0,user)) - playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) - user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \ - "You start to cut the [src] free from the floor.", \ - "You hear welding") - if (do_after(user,20)) - if(!src || !WT.isOn()) return - state = 1 - user << "You cut the [src] free from the floor." - disconnect_from_network() - src.directwired = 0 - else - user << "\red You need more welding fuel to complete this task." - return - - if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda)) - if(emagged) - user << "\red The lock seems to be broken" - return - if(src.allowed(user)) - if(owned_field) - src.locked = !src.locked - user << "The controls are now [src.locked ? "locked." : "unlocked."]" - else - src.locked = 0 //just in case it somehow gets locked - user << "\red The controls can only be locked when the [src] is online" - else - user << "\red Access denied." - return - - if(istype(W, /obj/item/weapon/card/emag) && !emagged) - locked = 0 - emagged = 1 - user.visible_message("[user.name] emags the [src.name].","\red You short out the lock.") - return - - ..() - return - -/obj/machinery/power/rust_core/attack_ai(mob/user) - attack_hand(user) - -/obj/machinery/power/rust_core/attack_hand(mob/user) - add_fingerprint(user) - interact(user) - -/obj/machinery/power/rust_core/interact(mob/user) - if(stat & BROKEN) - user.unset_machine() - user << browse(null, "window=core_gen") - return - if(!istype(user, /mob/living/silicon) && get_dist(src, user) > 1) - user.unset_machine() - user << browse(null, "window=core_gen") - return - - var/dat = "" - if(stat & NOPOWER || locked || state != 2) - dat += "The console is dark and nonresponsive." - else - dat += "RUST Tokamak pattern Electromagnetic Field Generator
" - dat += "Device ID tag: [id_tag ? id_tag : "UNSET"] \[Modify\]
" - dat += "\[[owned_field ? "Deactivate" : "Activate"]\]
" - dat += "\[[remote_access_enabled ? "Disable remote access to this device" : "Enable remote access to this device"]\]
" - dat += "
" - dat += "Field strength: [field_strength]Wm^3
" - dat += "\[----\] \ - \[--- \] \ - \[-- \] \ - \[- \] \ - \[+ \] \ - \[++ \] \ - \[+++ \] \ - \[++++\]
" - - dat += "Field frequency: [field_frequency]MHz
" - dat += "\[----\] \ - \[--- \] \ - \[-- \] \ - \[- \] \ - \[+ \] \ - \[++ \] \ - \[+++ \] \ - \[++++\]
" - - var/font_colour = "green" - if(cached_power_avail < active_power_usage) - font_colour = "red" - else if(cached_power_avail < active_power_usage * 2) - font_colour = "orange" - dat += "Power status: [active_power_usage]/[cached_power_avail] W
" - - user << browse(dat, "window=core_gen;size=500x300") - onclose(user, "core_gen") - user.set_machine(src) - -/obj/machinery/power/rust_core/Topic(href, href_list) - if(href_list["str"]) - var/dif = text2num(href_list["str"]) - field_strength = min(max(field_strength + dif, MIN_FIELD_STR), MAX_FIELD_STR) - active_power_usage = 5 * field_strength //change to 500 later - if(owned_field) - owned_field.ChangeFieldStrength(field_strength) - - if(href_list["freq"]) - var/dif = text2num(href_list["freq"]) - field_frequency = min(max(field_frequency + dif, MIN_FIELD_FREQ), MAX_FIELD_FREQ) - if(owned_field) - owned_field.ChangeFieldFrequency(field_frequency) - - if(href_list["toggle_active"]) - if(!Startup()) - Shutdown() - - if( href_list["toggle_remote"] ) - remote_access_enabled = !remote_access_enabled - - if(href_list["new_id_tag"]) - if(usr) - id_tag = input("Enter a new ID tag", "Tokamak core ID tag", id_tag) as text|null - - if(href_list["close"]) - usr << browse(null, "window=core_gen") - usr.unset_machine() - - if(href_list["extern_update"]) - var/obj/machinery/computer/rust_core_control/C = locate(href_list["extern_update"]) - if(C) - C.updateDialog() - - src.updateDialog() - -/obj/machinery/power/rust_core/proc/Startup() - if(owned_field) - return - owned_field = new(src.loc) - owned_field.ChangeFieldStrength(field_strength) - owned_field.ChangeFieldFrequency(field_frequency) - icon_state = "core1" - luminosity = 1 - use_power = 2 - return 1 - -/obj/machinery/power/rust_core/proc/Shutdown() - //todo: safety checks for field status - if(owned_field) - icon_state = "core0" - del(owned_field) - luminosity = 0 - use_power = 1 - -/obj/machinery/power/rust_core/proc/AddParticles(var/name, var/quantity = 1) - if(owned_field) - owned_field.AddParticles(name, quantity) - return 1 - return 0 - -/obj/machinery/power/rust_core/bullet_act(var/obj/item/projectile/Proj) - if(owned_field) - return owned_field.bullet_act(Proj) - return 0 diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/core_monitor.dm b/code/WorkInProgress/Cael_Aislinn/Rust/core_monitor.dm deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly.dm deleted file mode 100644 index d8ca364cb20..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly.dm +++ /dev/null @@ -1,17 +0,0 @@ - -/obj/item/weapon/fuel_assembly - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' - icon_state = "fuel_assembly" - name = "Fuel Rod Assembly" - var/list/rod_quantities - var/percent_depleted = 1 - layer = 3.1 - // - New() - rod_quantities = new/list - -//these can be abstracted away for now -/* -/obj/item/weapon/fuel_rod -/obj/item/weapon/control_rod -*/ diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm deleted file mode 100644 index 7c976ac9564..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port.dm +++ /dev/null @@ -1,102 +0,0 @@ - - -/obj/machinery/rust_fuel_assembly_port - name = "Fuel Assembly Port" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' - icon_state = "port2" - density = 0 - var/obj/item/weapon/fuel_assembly/cur_assembly - var/busy = 0 - anchored = 1 - - var/opened = 1 //0=closed, 1=opened - var/has_electronics = 0 // 0 - none, bit 1 - circuitboard, bit 2 - wires - -/obj/machinery/rust_fuel_assembly_port/attackby(var/obj/item/I, var/mob/user) - if(istype(I,/obj/item/weapon/fuel_assembly) && !opened) - if(cur_assembly) - user << "\red There is already a fuel rod assembly in there!" - else - cur_assembly = I - user.drop_item() - I.loc = src - icon_state = "port1" - user << "\blue You insert [I] into [src]. Touch the panel again to insert [I] into the injector." - -/obj/machinery/rust_fuel_assembly_port/attack_hand(mob/user) - add_fingerprint(user) - if(stat & (BROKEN|NOPOWER) || opened) - return - - if(cur_assembly) - if(try_insert_assembly()) - user << "\blue \icon[src] [src] inserts it's fuel rod assembly into an injector." - else - if(eject_assembly()) - user << "\red \icon[src] [src] ejects it's fuel assembly. Check the fuel injector status." - else if(try_draw_assembly()) - user << "\blue \icon[src] [src] draws a fuel rod assembly from an injector." - else if(try_draw_assembly()) - user << "\blue \icon[src] [src] draws a fuel rod assembly from an injector." - else - user << "\red \icon[src] [src] was unable to draw a fuel rod assembly from an injector." - -/obj/machinery/rust_fuel_assembly_port/proc/try_insert_assembly() - var/success = 0 - if(cur_assembly) - var/turf/check_turf = get_step(get_turf(src), src.dir) - check_turf = get_step(check_turf, src.dir) - for(var/obj/machinery/power/rust_fuel_injector/I in check_turf) - if(I.stat & (BROKEN|NOPOWER)) - break - if(I.cur_assembly) - break - if(I.state != 2) - break - - I.cur_assembly = cur_assembly - cur_assembly.loc = I - cur_assembly = null - icon_state = "port0" - success = 1 - - return success - -/obj/machinery/rust_fuel_assembly_port/proc/eject_assembly() - if(cur_assembly) - cur_assembly.loc = src.loc//get_step(get_turf(src), src.dir) - cur_assembly = null - icon_state = "port0" - return 1 - -/obj/machinery/rust_fuel_assembly_port/proc/try_draw_assembly() - var/success = 0 - if(!cur_assembly) - var/turf/check_turf = get_step(get_turf(src), src.dir) - check_turf = get_step(check_turf, src.dir) - for(var/obj/machinery/power/rust_fuel_injector/I in check_turf) - if(I.stat & (BROKEN|NOPOWER)) - break - if(!I.cur_assembly) - break - if(I.injecting) - break - if(I.state != 2) - break - - cur_assembly = I.cur_assembly - cur_assembly.loc = src - I.cur_assembly = null - icon_state = "port1" - success = 1 - break - - return success - -/obj/machinery/rust_fuel_assembly_port/verb/eject_assembly_verb() - set name = "Eject assembly from port" - set category = "Object" - set src in oview(1) - - eject_assembly() - diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm deleted file mode 100644 index b012d1c360e..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_assembly_port_construction.dm +++ /dev/null @@ -1,133 +0,0 @@ - -//frame assembly - -/obj/item/rust_fuel_assembly_port_frame - name = "Fuel Assembly Port frame" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' - icon_state = "port2" - w_class = 4 - flags = FPRINT | TABLEPASS| CONDUCT - -/obj/item/rust_fuel_assembly_port_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/wrench)) - new /obj/item/stack/sheet/plasteel( get_turf(src.loc), 12 ) - del(src) - return - ..() - -/obj/item/rust_fuel_assembly_port_frame/proc/try_build(turf/on_wall) - if (get_dist(on_wall,usr)>1) - return - var/ndir = get_dir(usr,on_wall) - if (!(ndir in cardinal)) - return - var/turf/loc = get_turf(usr) - var/area/A = loc.loc - if (!istype(loc, /turf/simulated/floor)) - usr << "\red Port cannot be placed on this spot." - return - if (A.requires_power == 0 || A.name == "Space") - usr << "\red Port cannot be placed in this area." - return - new /obj/machinery/rust_fuel_assembly_port(loc, ndir, 1) - del(src) - -//construction steps -/obj/machinery/rust_fuel_assembly_port/New(turf/loc, var/ndir, var/building=0) - ..() - - // offset 24 pixels in direction of dir - // this allows the APC to be embedded in a wall, yet still inside an area - if (building) - dir = ndir - else - has_electronics = 3 - opened = 0 - icon_state = "port0" - - //20% easier to read than apc code - pixel_x = (dir & 3)? 0 : (dir == 4 ? 32 : -32) - pixel_y = (dir & 3)? (dir ==1 ? 32 : -32) : 0 - -/obj/machinery/rust_fuel_assembly_port/attackby(obj/item/W, mob/user) - - if (istype(user, /mob/living/silicon) && get_dist(src,user)>1) - return src.attack_hand(user) - if (istype(W, /obj/item/weapon/crowbar)) - if(opened) - if(has_electronics & 1) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) - user << "You begin removing the circuitboard" //lpeters - fixed grammar issues - if(do_after(user, 50)) - user.visible_message(\ - "\red [user.name] has removed the circuitboard from [src.name]!",\ - "\blue You remove the circuitboard.") - has_electronics = 0 - new /obj/item/weapon/module/rust_fuel_port(loc) - has_electronics &= ~1 - else - opened = 0 - icon_state = "port0" - user << "\blue You close the maintenance cover." - else - if(cur_assembly) - user << "\red You cannot open the cover while there is a fuel assembly inside." - else - opened = 1 - user << "\blue You open the maintenance cover." - icon_state = "port2" - return - - else if (istype(W, /obj/item/stack/cable_coil) && opened && !(has_electronics & 2)) - var/obj/item/stack/cable_coil/C = W - if(C.amount < 10) - user << "\red You need more wires." - return - user << "You start adding cables to the frame..." - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - if(do_after(user, 20) && C.amount >= 10) - C.use(10) - user.visible_message(\ - "\red [user.name] has added cables to the port frame!",\ - "You add cables to the port frame.") - has_electronics &= 2 - return - - else if (istype(W, /obj/item/weapon/wirecutters) && opened && (has_electronics & 2)) - user << "You begin to cut the cables..." - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - if(do_after(user, 50)) - new /obj/item/stack/cable_coil(loc,10) - user.visible_message(\ - "\red [user.name] cut the cabling inside the port.",\ - "You cut the cabling inside the port.") - has_electronics &= ~2 - return - - else if (istype(W, /obj/item/weapon/module/rust_fuel_port) && opened && !(has_electronics & 1)) - user << "You trying to insert the port control board into the frame..." - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - if(do_after(user, 10)) - has_electronics &= 1 - user << "You place the port control board inside the frame." - del(W) - return - - else if (istype(W, /obj/item/weapon/weldingtool) && opened && !has_electronics) - var/obj/item/weapon/weldingtool/WT = W - if (WT.get_fuel() < 3) - user << "\blue You need more welding fuel to complete this task." - return - user << "You start welding the port frame..." - playsound(src.loc, 'sound/items/Welder.ogg', 50, 1) - if(do_after(user, 50)) - if(!src || !WT.remove_fuel(3, user)) return - new /obj/item/rust_fuel_assembly_port_frame(loc) - user.visible_message(\ - "\red [src] has been cut away from the wall by [user.name].",\ - "You detached the port frame.",\ - "\red You hear welding.") - del(src) - return - - ..() diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm deleted file mode 100644 index 526742aac94..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor.dm +++ /dev/null @@ -1,116 +0,0 @@ -var/const/max_assembly_amount = 300 - -/obj/machinery/rust_fuel_compressor - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' - icon_state = "fuel_compressor1" - name = "Fuel Compressor" - var/list/new_assembly_quantities = list("Deuterium" = 150,"Tritium" = 150,"Rodinium-6" = 0,"Stravium-7" = 0, "Pergium" = 0, "Dilithium" = 0) - var/compressed_matter = 0 - anchored = 1 - layer = 2.9 - - var/opened = 1 //0=closed, 1=opened - var/locked = 0 - var/has_electronics = 0 // 0 - none, bit 1 - circuitboard, bit 2 - wires - -/obj/machinery/rust_fuel_compressor/attack_ai(mob/user) - attack_hand(user) - -/obj/machinery/rust_fuel_compressor/attack_hand(mob/user) - add_fingerprint(user) - /*if(stat & (BROKEN|NOPOWER)) - return*/ - interact(user) - -/obj/machinery/rust_fuel_compressor/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/rcd_ammo)) - compressed_matter += 10 - del(W) - return - ..() - -/obj/machinery/rust_fuel_compressor/interact(mob/user) - if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) ) - if (!istype(user, /mob/living/silicon)) - user.unset_machine() - user << browse(null, "window=fuelcomp") - return - - var/t = "Reactor Fuel Rod Compressor / Assembler
" - t += "Close
" - if(locked) - t += "Swipe your ID to unlock this console." - else - t += "Compressed matter in storage: [compressed_matter] \[Eject all\]
" - t += "Activate Fuel Synthesis
(fuel assemblies require no more than [max_assembly_amount] rods).
" - t += "
" - t += "- New fuel assembly constituents:-
" - for(var/reagent in new_assembly_quantities) - t += " [reagent] rods: [new_assembly_quantities[reagent]] \[Modify\]
" - t += "
" - t += "Close
" - - user << browse(t, "window=fuelcomp;size=500x300") - user.set_machine(src) - - //var/locked - //var/coverlocked - -/obj/machinery/rust_fuel_compressor/Topic(href, href_list) - ..() - if( href_list["close"] ) - usr << browse(null, "window=fuelcomp") - usr.machine = null - - if( href_list["eject_matter"] ) - var/ejected = 0 - while(compressed_matter > 10) - new /obj/item/weapon/rcd_ammo(get_step(get_turf(src), src.dir)) - compressed_matter -= 10 - ejected = 1 - if(ejected) - usr << "\blue \icon[src] [src] ejects some compressed matter units." - else - usr << "\red \icon[src] there are no more compressed matter units in [src]." - - if( href_list["activate"] ) - //world << "\blue New fuel rod assembly" - var/obj/item/weapon/fuel_assembly/F = new(src) - var/fail = 0 - var/old_matter = compressed_matter - for(var/reagent in new_assembly_quantities) - var/req_matter = round(new_assembly_quantities[reagent] / 30) - //world << "[reagent] matter: [req_matter]/[compressed_matter]" - if(req_matter <= compressed_matter) - F.rod_quantities[reagent] = new_assembly_quantities[reagent] - compressed_matter -= req_matter - if(compressed_matter < 1) - compressed_matter = 0 - else - /*world << "bad reagent: [reagent], [req_matter > compressed_matter ? "req_matter > compressed_matter"\ - : (req_matter < compressed_matter ? "req_matter < compressed_matter" : "req_matter == compressed_matter")]"*/ - fail = 1 - break - //world << "\blue [reagent]: new_assembly_quantities[reagent]
" - if(fail) - del(F) - compressed_matter = old_matter - usr << "\red \icon[src] [src] flashes red: \'Out of matter.\'" - else - F.loc = src.loc//get_step(get_turf(src), src.dir) - F.percent_depleted = 0 - if(compressed_matter < 0.034) - compressed_matter = 0 - - if( href_list["change_reagent"] ) - var/cur_reagent = href_list["change_reagent"] - var/avail_rods = 300 - for(var/rod in new_assembly_quantities) - avail_rods -= new_assembly_quantities[rod] - avail_rods += new_assembly_quantities[cur_reagent] - avail_rods = max(avail_rods, 0) - - var/new_amount = min(input("Enter new [cur_reagent] rod amount (max [avail_rods])", "Fuel Assembly Rod Composition ([cur_reagent])") as num, avail_rods) - new_assembly_quantities[cur_reagent] = new_amount - - updateDialog() diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm deleted file mode 100644 index fab9eb87d5c..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_compressor_construction.dm +++ /dev/null @@ -1,160 +0,0 @@ - -//frame assembly - -/obj/item/rust_fuel_compressor_frame - name = "Fuel Compressor frame" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' - icon_state = "fuel_compressor0" - w_class = 4 - flags = FPRINT | TABLEPASS| CONDUCT - -/obj/item/rust_fuel_compressor_frame/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/wrench)) - new /obj/item/stack/sheet/plasteel( get_turf(src.loc), 12 ) - del(src) - return - ..() - -/obj/item/rust_fuel_compressor_frame/proc/try_build(turf/on_wall) - if (get_dist(on_wall,usr)>1) - return - var/ndir = get_dir(usr,on_wall) - if (!(ndir in cardinal)) - return - var/turf/loc = get_turf(usr) - var/area/A = loc.loc - if (!istype(loc, /turf/simulated/floor)) - usr << "\red Compressor cannot be placed on this spot." - return - if (A.requires_power == 0 || A.name == "Space") - usr << "\red Compressor cannot be placed in this area." - return - new /obj/machinery/rust_fuel_assembly_port(loc, ndir, 1) - del(src) - -//construction steps -/obj/machinery/rust_fuel_compressor/New(turf/loc, var/ndir, var/building=0) - ..() - - // offset 24 pixels in direction of dir - // this allows the APC to be embedded in a wall, yet still inside an area - if (building) - dir = ndir - else - has_electronics = 3 - opened = 0 - locked = 0 - icon_state = "fuel_compressor1" - - //20% easier to read than apc code - pixel_x = (dir & 3)? 0 : (dir == 4 ? 32 : -32) - pixel_y = (dir & 3)? (dir ==1 ? 32 : -32) : 0 - -/obj/machinery/rust_fuel_compressor/attackby(obj/item/W, mob/user) - - if (istype(user, /mob/living/silicon) && get_dist(src,user)>1) - return src.attack_hand(user) - if (istype(W, /obj/item/weapon/crowbar)) - if(opened) - if(has_electronics & 1) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) - user << "You begin removing the circuitboard" //lpeters - fixed grammar issues - if(do_after(user, 50)) - user.visible_message(\ - "\red [user.name] has removed the circuitboard from [src.name]!",\ - "\blue You remove the circuitboard board.") - has_electronics = 0 - new /obj/item/weapon/module/rust_fuel_compressor(loc) - has_electronics &= ~1 - else - opened = 0 - icon_state = "fuel_compressor0" - user << "\blue You close the maintenance cover." - else - if(compressed_matter > 0) - user << "\red You cannot open the cover while there is compressed matter inside." - else - opened = 1 - user << "\blue You open the maintenance cover." - icon_state = "fuel_compressor1" - return - - else if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) // trying to unlock the interface with an ID card - if(opened) - user << "You must close the cover to swipe an ID card." - else - if(src.allowed(usr)) - locked = !locked - user << "You [ locked ? "lock" : "unlock"] the compressor interface." - update_icon() - else - user << "\red Access denied." - return - - else if (istype(W, /obj/item/weapon/card/emag) && !emagged) // trying to unlock with an emag card - if(opened) - user << "You must close the cover to swipe an ID card." - else - flick("apc-spark", src) - if (do_after(user,6)) - if(prob(50)) - emagged = 1 - locked = 0 - user << "You emag the port interface." - else - user << "You fail to [ locked ? "unlock" : "lock"] the compressor interface." - return - - else if (istype(W, /obj/item/stack/cable_coil) && opened && !(has_electronics & 2)) - var/obj/item/stack/cable_coil/C = W - if(C.amount < 10) - user << "\red You need more wires." - return - user << "You start adding cables to the compressor frame..." - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - if(do_after(user, 20) && C.amount >= 10) - C.use(10) - user.visible_message(\ - "\red [user.name] has added cables to the compressor frame!",\ - "You add cables to the port frame.") - has_electronics &= 2 - return - - else if (istype(W, /obj/item/weapon/wirecutters) && opened && (has_electronics & 2)) - user << "You begin to cut the cables..." - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - if(do_after(user, 50)) - new /obj/item/stack/cable_coil(loc,10) - user.visible_message(\ - "\red [user.name] cut the cabling inside the compressor.",\ - "You cut the cabling inside the port.") - has_electronics &= ~2 - return - - else if (istype(W, /obj/item/weapon/module/rust_fuel_compressor) && opened && !(has_electronics & 1)) - user << "You trying to insert the circuitboard into the frame..." - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - if(do_after(user, 10)) - has_electronics &= 1 - user << "You place the circuitboard inside the frame." - del(W) - return - - else if (istype(W, /obj/item/weapon/weldingtool) && opened && !has_electronics) - var/obj/item/weapon/weldingtool/WT = W - if (WT.get_fuel() < 3) - user << "\blue You need more welding fuel to complete this task." - return - user << "You start welding the compressor frame..." - playsound(src.loc, 'sound/items/Welder.ogg', 50, 1) - if(do_after(user, 50)) - if(!src || !WT.remove_fuel(3, user)) return - new /obj/item/rust_fuel_assembly_port_frame(loc) - user.visible_message(\ - "\red [src] has been cut away from the wall by [user.name].",\ - "You detached the compressor frame.",\ - "\red You hear welding.") - del(src) - return - - ..() diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_control.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_control.dm deleted file mode 100644 index 17c8fccfc71..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_control.dm +++ /dev/null @@ -1,192 +0,0 @@ - -/obj/machinery/computer/rust_fuel_control - name = "RUST Fuel Injection Control" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' - icon_state = "fuel" - var/list/connected_injectors = list() - var/list/active_stages = list() - var/list/proceeding_stages = list() - var/list/stage_times = list() - //var/list/stage_status - var/announce_fueldepletion = 0 - var/announce_stageprogression = 0 - var/scan_range = 25 - var/ticks_this_stage = 0 - -/*/obj/machinery/computer/rust_fuel_control/New() - ..() - //these are the only three stages we can accept - //we have another console for SCRAM - fuel_injectors = new/list - stage_status = new/list - - fuel_injectors.Add("One") - fuel_injectors["One"] = new/list - stage_status.Add("One") - stage_status["One"] = 0 - fuel_injectors.Add("Two") - fuel_injectors["Two"] = new/list - stage_status.Add("Two") - stage_status["Two"] = 0 - fuel_injectors.Add("Three") - fuel_injectors["Three"] = new/list - stage_status.Add("Three") - stage_status["Three"] = 0 - fuel_injectors.Add("SCRAM") - fuel_injectors["SCRAM"] = new/list - stage_status.Add("SCRAM") - stage_status["SCRAM"] = 0 - - spawn(0) - for(var/obj/machinery/power/rust_fuel_injector/Injector in world) - if(Injector.stage in fuel_injectors) - var/list/targetlist = fuel_injectors[Injector.stage] - targetlist.Add(Injector)*/ - -/obj/machinery/computer/rust_fuel_control/attack_ai(mob/user) - attack_hand(user) - -/obj/machinery/computer/rust_fuel_control/attack_hand(mob/user) - add_fingerprint(user) - interact(user) - -/obj/machinery/computer/rust_fuel_control/interact(mob/user) - if(stat & (BROKEN|NOPOWER)) - user.unset_machine() - user << browse(null, "window=fuel_control") - return - - if (!istype(user, /mob/living/silicon) && get_dist(src, user) > 1) - user.unset_machine() - user << browse(null, "window=fuel_control") - return - - var/dat = "Reactor Core Fuel Control
" - /*dat += "Fuel depletion announcement: " - dat += "[announce_fueldepletion == 0 ? "Disabled" : "\[Disable\]"] " - dat += "[announce_fueldepletion == 1 ? "Announcing" : "\[Announce\]"] " - dat += "[announce_fueldepletion == 2 ? "Broadcasting" : "\[Broadcast\]"]
" - dat += "Stage progression announcement: " - dat += "[announce_stageprogression == 0 ? "Disabled" : "\[Disable\]"] " - dat += "[announce_stageprogression == 1 ? "Announcing" : "\[Announce\]"] " - dat += "[announce_stageprogression == 2 ? "Broadcasting" : "\[Broadcast\]"]
"*/ - dat += "
" - - dat += "Detected devices \[Refresh list\]" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - - for(var/obj/machinery/power/rust_fuel_injector/I in connected_injectors) - dat += "" - dat += "" - if(I.cur_assembly) - dat += "" - else - dat += "" - dat += "" - if(I.cur_assembly) - dat += "" - else - dat += "" - if(stage_times.Find(I.id_tag)) - dat += "" - else - dat += "" - if(proceeding_stages.Find(I.id_tag)) - dat += "" - else - dat += "" - dat += "" - dat += "" - dat += "
IDAssemblyConsumptionDepletionDurationNext stage
[I.id_tag]\[[I.injecting ? "Halt injecting" : "Begin injecting"]\]None[I.fuel_usage * 100]%[I.cur_assembly.percent_depleted * 100]%NA[ticks_this_stage]/[stage_times[I.id_tag]]s Modify[ticks_this_stage]s Set[proceeding_stages[I.id_tag]]None \[modify\]\[[active_stages.Find(I.id_tag) ? "Deactivate stage" : "Activate stage "] \]
" - - dat += "
" - dat += "Refresh " - dat += "Close
" - user << browse(dat, "window=fuel_control;size=800x400") - user.set_machine(src) - -/obj/machinery/computer/rust_fuel_control/Topic(href, href_list) - ..() - - if( href_list["scan"] ) - connected_injectors = list() - for(var/obj/machinery/power/rust_fuel_injector/I in range(scan_range, src)) - if(check_injector_status(I)) - connected_injectors.Add(I) - - if( href_list["toggle_stage"] ) - var/cur_stage = href_list["toggle_stage"] - if(active_stages.Find(cur_stage)) - active_stages.Remove(cur_stage) - for(var/obj/machinery/power/rust_fuel_injector/I in connected_injectors) - if(I.id_tag == cur_stage && check_injector_status(I)) - I.StopInjecting() - else - active_stages.Add(cur_stage) - for(var/obj/machinery/power/rust_fuel_injector/I in connected_injectors) - if(I.id_tag == cur_stage && check_injector_status(I)) - I.BeginInjecting() - - if( href_list["cooldown"] ) - for(var/obj/machinery/power/rust_fuel_injector/I in connected_injectors) - if(check_injector_status(I)) - I.StopInjecting() - active_stages = list() - - if( href_list["warmup"] ) - for(var/obj/machinery/power/rust_fuel_injector/I in connected_injectors) - if(check_injector_status(I)) - I.BeginInjecting() - if(!active_stages.Find(I.id_tag)) - active_stages.Add(I.id_tag) - - if( href_list["stage_time"] ) - var/cur_stage = href_list["stage_time"] - var/new_duration = input("Enter new stage duration in seconds", "Stage duration") as num - if(new_duration) - stage_times[cur_stage] = new_duration - else if(stage_times.Find(cur_stage)) - stage_times.Remove(cur_stage) - - if( href_list["announce_fueldepletion"] ) - announce_fueldepletion = text2num(href_list["announce_fueldepletion"]) - - if( href_list["announce_stageprogression"] ) - announce_stageprogression = text2num(href_list["announce_stageprogression"]) - - if( href_list["close"] ) - usr << browse(null, "window=fuel_control") - usr.unset_machine() - - if( href_list["set_next_stage"] ) - var/cur_stage = href_list["set_next_stage"] - if(!proceeding_stages.Find(cur_stage)) - proceeding_stages.Add(cur_stage) - var/next_stage = input("Enter next stage ID", "Automated stage procession") as text|null - if(next_stage) - proceeding_stages[cur_stage] = next_stage - else - proceeding_stages.Remove(cur_stage) - - updateDialog() - -/obj/machinery/computer/rust_fuel_control/proc/check_injector_status(var/obj/machinery/power/rust_fuel_injector/I) - if(!I) - return 0 - - if(I.stat & (BROKEN|NOPOWER) || !I.remote_access_enabled || !I.id_tag) - if(connected_injectors.Find(I)) - connected_injectors.Remove(I) - return 0 - - return 1 diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm deleted file mode 100644 index 5047ab1a5d1..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fuel_injector.dm +++ /dev/null @@ -1,308 +0,0 @@ - -/obj/machinery/power/rust_fuel_injector - name = "Fuel Injector" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' - icon_state = "injector0" - - density = 1 - anchored = 0 - var/state = 0 - var/locked = 0 - req_access = list(access_engine) - - var/obj/item/weapon/fuel_assembly/cur_assembly - var/fuel_usage = 0.0001 //percentage of available fuel to use per cycle - var/id_tag = "One" - var/injecting = 0 - var/trying_to_swap_fuel = 0 - - use_power = 1 - idle_power_usage = 10 - active_power_usage = 500 - directwired = 0 - var/remote_access_enabled = 1 - var/cached_power_avail = 0 - var/emergency_insert_ready = 0 - -/obj/machinery/power/rust_fuel_injector/process() - if(injecting) - if(stat & (BROKEN|NOPOWER)) - StopInjecting() - else - Inject() - - cached_power_avail = avail() - -/obj/machinery/power/rust_fuel_injector/attackby(obj/item/W, mob/user) - - if(istype(W, /obj/item/weapon/wrench)) - if(injecting) - user << "Turn off the [src] first." - return - switch(state) - if(0) - state = 1 - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) - user.visible_message("[user.name] secures [src.name] to the floor.", \ - "You secure the external reinforcing bolts to the floor.", \ - "You hear a ratchet") - src.anchored = 1 - if(1) - state = 0 - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) - user.visible_message("[user.name] unsecures [src.name] reinforcing bolts from the floor.", \ - "You undo the external reinforcing bolts.", \ - "You hear a ratchet") - src.anchored = 0 - if(2) - user << "\red The [src.name] needs to be unwelded from the floor." - return - - if(istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/WT = W - if(injecting) - user << "Turn off the [src] first." - return - switch(state) - if(0) - user << "\red The [src.name] needs to be wrenched to the floor." - if(1) - if (WT.remove_fuel(0,user)) - playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) - user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \ - "You start to weld the [src] to the floor.", \ - "You hear welding") - if (do_after(user,20)) - if(!src || !WT.isOn()) return - state = 2 - user << "You weld the [src] to the floor." - connect_to_network() - //src.directwired = 1 - else - user << "\red You need more welding fuel to complete this task." - if(2) - if (WT.remove_fuel(0,user)) - playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) - user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \ - "You start to cut the [src] free from the floor.", \ - "You hear welding") - if (do_after(user,20)) - if(!src || !WT.isOn()) return - state = 1 - user << "You cut the [src] free from the floor." - disconnect_from_network() - //src.directwired = 0 - else - user << "\red You need more welding fuel to complete this task." - return - - if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda)) - if(emagged) - user << "\red The lock seems to be broken" - return - if(src.allowed(user)) - src.locked = !src.locked - user << "The controls are now [src.locked ? "locked." : "unlocked."]" - else - user << "\red Access denied." - return - - if(istype(W, /obj/item/weapon/card/emag) && !emagged) - locked = 0 - emagged = 1 - user.visible_message("[user.name] emags the [src.name].","\red You short out the lock.") - return - - if(istype(W, /obj/item/weapon/fuel_assembly) && !cur_assembly) - if(emergency_insert_ready) - cur_assembly = W - user.drop_item() - W.loc = src - emergency_insert_ready = 0 - return - - ..() - return - -/obj/machinery/power/rust_fuel_injector/attack_ai(mob/user) - attack_hand(user) - -/obj/machinery/power/rust_fuel_injector/attack_hand(mob/user) - add_fingerprint(user) - interact(user) - -/obj/machinery/power/rust_fuel_injector/interact(mob/user) - if(stat & BROKEN) - user.unset_machine() - user << browse(null, "window=fuel_injector") - return - if(get_dist(src, user) > 1 ) - if (!istype(user, /mob/living/silicon)) - user.unset_machine() - user << browse(null, "window=fuel_injector") - return - - var/dat = "" - if (stat & NOPOWER || locked || state != 2) - dat += "The console is dark and nonresponsive." - else - dat += "Reactor Core Fuel Injector
" - dat += "Device ID tag: [id_tag] \[Modify\]
" - dat += "Status: [injecting ? "Active \[Disable\]" : "Standby \[Enable\]"]
" - dat += "Fuel usage: [fuel_usage*100]% \[Modify\]
" - dat += "Fuel assembly port: " - dat += "\[[cur_assembly ? "Eject assembly to port" : "Draw assembly from port"]\] " - if(cur_assembly) - dat += "\[Emergency eject\]
" - else - dat += "\[[emergency_insert_ready ? "Cancel emergency insertion" : "Emergency insert"]\]
" - var/font_colour = "green" - if(cached_power_avail < active_power_usage) - font_colour = "red" - else if(cached_power_avail < active_power_usage * 2) - font_colour = "orange" - dat += "Power status: [active_power_usage]/[cached_power_avail] W
" - dat += "\[[remote_access_enabled ? "Disable remote access" : "Enable remote access"]\]
" - - dat += "
" - dat += "Refresh " - dat += "Close
" - - user << browse(dat, "window=fuel_injector;size=500x300") - onclose(user, "fuel_injector") - user.set_machine(src) - -/obj/machinery/power/rust_fuel_injector/Topic(href, href_list) - ..() - - if( href_list["modify_tag"] ) - id_tag = input("Enter new ID tag", "Modifying ID tag") as text|null - - if( href_list["fuel_assembly"] ) - attempt_fuel_swap() - - if( href_list["emergency_fuel_assembly"] ) - if(cur_assembly) - cur_assembly.loc = src.loc - cur_assembly = null - //irradiate! - else - emergency_insert_ready = !emergency_insert_ready - - if( href_list["toggle_injecting"] ) - if(injecting) - StopInjecting() - else - BeginInjecting() - - if( href_list["toggle_remote"] ) - remote_access_enabled = !remote_access_enabled - - if( href_list["fuel_usage"] ) - var/new_usage = text2num(input("Enter new fuel usage (0.01% - 100%)", "Modifying fuel usage", fuel_usage * 100)) - if(!new_usage) - usr << "\red That's not a valid number." - return - new_usage = max(new_usage, 0.01) - new_usage = min(new_usage, 100) - fuel_usage = new_usage / 100 - active_power_usage = 500 + 1000 * fuel_usage - - if( href_list["update_extern"] ) - var/obj/machinery/computer/rust_fuel_control/C = locate(href_list["update_extern"]) - if(C) - C.updateDialog() - - if( href_list["close"] ) - usr << browse(null, "window=fuel_injector") - usr.unset_machine() - - updateDialog() - -/obj/machinery/power/rust_fuel_injector/proc/BeginInjecting() - if(!injecting && cur_assembly) - icon_state = "injector1" - injecting = 1 - use_power = 1 - -/obj/machinery/power/rust_fuel_injector/proc/StopInjecting() - if(injecting) - injecting = 0 - icon_state = "injector0" - use_power = 0 - -/obj/machinery/power/rust_fuel_injector/proc/Inject() - if(!injecting) - return - if(cur_assembly) - var/amount_left = 0 - for(var/reagent in cur_assembly.rod_quantities) - //world << "checking [reagent]" - if(cur_assembly.rod_quantities[reagent] > 0) - //world << " rods left: [cur_assembly.rod_quantities[reagent]]" - var/amount = cur_assembly.rod_quantities[reagent] * fuel_usage - var/numparticles = round(amount * 1000) - if(numparticles < 1) - numparticles = 1 - //world << " amount: [amount]" - //world << " numparticles: [numparticles]" - // - - var/obj/effect/accelerated_particle/A = new/obj/effect/accelerated_particle(get_turf(src), dir) - A.particle_type = reagent - A.additional_particles = numparticles - 1 - //A.target = target_field - // - cur_assembly.rod_quantities[reagent] -= amount - amount_left += cur_assembly.rod_quantities[reagent] - cur_assembly.percent_depleted = amount_left / 300 - flick("injector-emitting",src) - else - StopInjecting() - -/obj/machinery/power/rust_fuel_injector/proc/attempt_fuel_swap() - var/rev_dir = reverse_direction(dir) - var/turf/mid = get_step(src, rev_dir) - var/success = 0 - for(var/obj/machinery/rust_fuel_assembly_port/check_port in get_step(mid, rev_dir)) - if(cur_assembly) - if(!check_port.cur_assembly) - check_port.cur_assembly = cur_assembly - cur_assembly.loc = check_port - cur_assembly = null - check_port.icon_state = "port1" - success = 1 - else - if(check_port.cur_assembly) - cur_assembly = check_port.cur_assembly - cur_assembly.loc = src - check_port.cur_assembly = null - check_port.icon_state = "port0" - success = 1 - - break - if(success) - src.visible_message("\blue \icon[src] a green light flashes on [src].") - updateDialog() - else - src.visible_message("\red \icon[src] a red light flashes on [src].") - -/obj/machinery/power/rust_fuel_injector/verb/rotate_clock() - set category = "Object" - set name = "Rotate Generator (Clockwise)" - set src in view(1) - - if (usr.stat || usr.restrained() || anchored) - return - - src.dir = turn(src.dir, 90) - -/obj/machinery/power/rust_fuel_injector/verb/rotate_anticlock() - set category = "Object" - set name = "Rotate Generator (Counterclockwise)" - set src in view(1) - - if (usr.stat || usr.restrained() || anchored) - return - - src.dir = turn(src.dir, -90) \ No newline at end of file diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/fusion_reactions.dm b/code/WorkInProgress/Cael_Aislinn/Rust/fusion_reactions.dm deleted file mode 100644 index 8293e060f41..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/fusion_reactions.dm +++ /dev/null @@ -1,160 +0,0 @@ - -datum/fusion_reaction - var/primary_reactant = "" - var/secondary_reactant = "" - var/energy_consumption = 0 - var/energy_production = 0 - var/radiation = 0 - var/list/products = list() - -/datum/controller/game_controller/var/list/fusion_reactions - -proc/get_fusion_reaction(var/primary_reactant, var/secondary_reactant) - if(!master_controller.fusion_reactions) - populate_fusion_reactions() - if(master_controller.fusion_reactions.Find(primary_reactant)) - var/list/secondary_reactions = master_controller.fusion_reactions[primary_reactant] - if(secondary_reactions.Find(secondary_reactant)) - return master_controller.fusion_reactions[primary_reactant][secondary_reactant] - -proc/populate_fusion_reactions() - if(!master_controller.fusion_reactions) - master_controller.fusion_reactions = list() - for(var/cur_reaction_type in typesof(/datum/fusion_reaction) - /datum/fusion_reaction) - var/datum/fusion_reaction/cur_reaction = new cur_reaction_type() - if(!master_controller.fusion_reactions[cur_reaction.primary_reactant]) - master_controller.fusion_reactions[cur_reaction.primary_reactant] = list() - master_controller.fusion_reactions[cur_reaction.primary_reactant][cur_reaction.secondary_reactant] = cur_reaction - if(!master_controller.fusion_reactions[cur_reaction.secondary_reactant]) - master_controller.fusion_reactions[cur_reaction.secondary_reactant] = list() - master_controller.fusion_reactions[cur_reaction.secondary_reactant][cur_reaction.primary_reactant] = cur_reaction - -//Fake elements and fake reactions, but its nicer gameplay-wise -//Deuterium -//Tritium -//Uridium-3 -//Obdurium -//Solonium -//Rodinium-6 -//Dilithium -//Trilithium -//Pergium -//Stravium-7 - -//Primary Production Reactions - -datum/fusion_reaction/tritium_deuterium - primary_reactant = "Tritium" - secondary_reactant = "Deuterium" - energy_consumption = 1 - energy_production = 5 - radiation = 0 - -//Secondary Production Reactions - -datum/fusion_reaction/deuterium_deuterium - primary_reactant = "Deuterium" - secondary_reactant = "Deuterium" - energy_consumption = 1 - energy_production = 4 - radiation = 1 - products = list("Obdurium" = 2) - -datum/fusion_reaction/tritium_tritium - primary_reactant = "Tritium" - secondary_reactant = "Tritium" - energy_consumption = 1 - energy_production = 4 - radiation = 1 - products = list("Solonium" = 2) - -//Cleanup Reactions - -datum/fusion_reaction/rodinium6_obdurium - primary_reactant = "Rodinium-6" - secondary_reactant = "Obdurium" - energy_consumption = 1 - energy_production = 2 - radiation = 2 - -datum/fusion_reaction/rodinium6_solonium - primary_reactant = "Rodinium-6" - secondary_reactant = "Solonium" - energy_consumption = 1 - energy_production = 2 - radiation = 2 - -//Breeder Reactions - -datum/fusion_reaction/dilithium_obdurium - primary_reactant = "Dilithium" - secondary_reactant = "Obdurium" - energy_consumption = 1 - energy_production = 1 - radiation = 3 - products = list("Deuterium" = 1, "Dilithium" = 1) - -datum/fusion_reaction/dilithium_solonium - primary_reactant = "Dilithium" - secondary_reactant = "Solonium" - energy_consumption = 1 - energy_production = 1 - radiation = 3 - products = list("Tritium" = 1, "Dilithium" = 1) - -//Breeder Inhibitor Reactions - -datum/fusion_reaction/stravium7_dilithium - primary_reactant = "Stravium-7" - secondary_reactant = "Dilithium" - energy_consumption = 2 - energy_production = 1 - radiation = 4 - -//Enhanced Breeder Reactions - -datum/fusion_reaction/trilithium_obdurium - primary_reactant = "Trilithium" - secondary_reactant = "Obdurium" - energy_consumption = 1 - energy_production = 2 - radiation = 5 - products = list("Dilithium" = 1, "Trilithium" = 1, "Deuterium" = 1) - -datum/fusion_reaction/trilithium_solonium - primary_reactant = "Trilithium" - secondary_reactant = "Solonium" - energy_consumption = 1 - energy_production = 2 - radiation = 5 - products = list("Dilithium" = 1, "Trilithium" = 1, "Tritium" = 1) - -//Control Reactions - -datum/fusion_reaction/pergium_deuterium - primary_reactant = "Pergium" - secondary_reactant = "Deuterium" - energy_consumption = 5 - energy_production = 0 - radiation = 5 - -datum/fusion_reaction/pergium_tritium - primary_reactant = "Pergium" - secondary_reactant = "Tritium" - energy_consumption = 5 - energy_production = 0 - radiation = 5 - -datum/fusion_reaction/pergium_obdurium - primary_reactant = "Pergium" - secondary_reactant = "Obdurium" - energy_consumption = 5 - energy_production = 0 - radiation = 5 - -datum/fusion_reaction/pergium_solonium - primary_reactant = "Pergium" - secondary_reactant = "Solonium" - energy_consumption = 5 - energy_production = 0 - radiation = 5 diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron.dm b/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron.dm deleted file mode 100644 index 74a36cfee11..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron.dm +++ /dev/null @@ -1,186 +0,0 @@ - -//high frequency photon (laser beam) -/obj/item/projectile/beam/ehf_beam - -/obj/machinery/rust/gyrotron - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' - icon_state = "emitter-off" - name = "Gyrotron" - anchored = 1 - density = 0 - layer = 4 - var/frequency = 1 - var/emitting = 0 - var/rate = 10 - var/mega_energy = 0.001 - var/on = 1 - var/remoteenabled = 1 - // - req_access = list(access_engine) - // - use_power = 1 - idle_power_usage = 10 - active_power_usage = 300 - - New() - ..() - //pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24) - //pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0 - - Topic(href, href_list) - ..() - if( href_list["close"] ) - usr << browse(null, "window=gyro_monitor") - usr.machine = null - return - if( href_list["modifypower"] ) - var/new_val = text2num(input("Enter new emission power level (0.001 - 0.01)", "Modifying power level (MeV)", mega_energy)) - if(!new_val) - usr << "\red That's not a valid number." - return - new_val = min(new_val,0.01) - new_val = max(new_val,0.001) - mega_energy = new_val - for(var/obj/machinery/computer/rust_gyrotron_controller/comp in range(25)) - comp.updateDialog() - return - if( href_list["modifyrate"] ) - var/new_val = text2num(input("Enter new emission rate (1 - 10)", "Modifying emission rate (sec)", rate)) - if(!new_val) - usr << "\red That's not a valid number." - return - new_val = min(new_val,1) - new_val = max(new_val,10) - rate = new_val - for(var/obj/machinery/computer/rust_gyrotron_controller/comp in range(25)) - comp.updateDialog() - return - if( href_list["modifyfreq"] ) - var/new_val = text2num(input("Enter new emission frequency (1 - 50000)", "Modifying emission frequency (GHz)", frequency)) - if(!new_val) - usr << "\red That's not a valid number." - return - new_val = min(new_val,1) - new_val = max(new_val,50000) - frequency = new_val - for(var/obj/machinery/computer/rust_gyrotron_controller/comp in range(25)) - comp.updateDialog() - return - if( href_list["activate"] ) - emitting = 1 - spawn(rate) - Emit() - for(var/obj/machinery/computer/rust_gyrotron_controller/comp in range(25)) - comp.updateDialog() - return - if( href_list["deactivate"] ) - emitting = 0 - for(var/obj/machinery/computer/rust_gyrotron_controller/comp in range(25)) - comp.updateDialog() - return - if( href_list["enableremote"] ) - remoteenabled = 1 - for(var/obj/machinery/computer/rust_gyrotron_controller/comp in range(25)) - comp.updateDialog() - return - if( href_list["disableremote"] ) - remoteenabled = 0 - for(var/obj/machinery/computer/rust_gyrotron_controller/comp in range(25)) - comp.updateDialog() - return -/* - var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter( src.loc ) - playsound(src.loc, 'sound/weapons/emitter.ogg', 25, 1) - if(prob(35)) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, src) - s.start() - A.dir = src.dir - if(src.dir == 1)//Up - A.yo = 20 - A.xo = 0 - else if(src.dir == 2)//Down - A.yo = -20 - A.xo = 0 - else if(src.dir == 4)//Right - A.yo = 0 - A.xo = 20 - else if(src.dir == 8)//Left - A.yo = 0 - A.xo = -20 - else // Any other - A.yo = -20 - A.xo = 0 - A.fired() -*/ - proc/Emit() - var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter(src.loc) - A.frequency = frequency - A.damage = mega_energy * 500 - playsound(get_turf(src), 'sound/weapons/emitter.ogg', 25, 1) - use_power(100 * mega_energy + 500) - /*if(prob(35)) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, src) - s.start()*/ - A.dir = src.dir - if(src.dir == 1)//Up - A.yo = 20 - A.xo = 0 - else if(src.dir == 2)//Down - A.yo = -20 - A.xo = 0 - else if(src.dir == 4)//Right - A.yo = 0 - A.xo = 20 - else if(src.dir == 8)//Left - A.yo = 0 - A.xo = -20 - else // Any other - A.yo = -20 - A.xo = 0 - A.process() - // - flick("emitter-active",src) - if(emitting) - spawn(rate) - Emit() - - proc/UpdateIcon() - if(on) - icon_state = "emitter-on" - else - icon_state = "emitter-off" - -/obj/machinery/rust/gyrotron/control_panel - icon_state = "control_panel" - name = "Control panel" - var/obj/machinery/rust/gyrotron/owned_gyrotron - New() - ..() - pixel_x = -pixel_x - pixel_y = -pixel_y - - interact(mob/user) - if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) ) - if (!istype(user, /mob/living/silicon)) - user.machine = null - user << browse(null, "window=gyro_monitor") - return - var/t = "Free electron MASER (Gyrotron) Control Panel
" - if(owned_gyrotron && owned_gyrotron.on) - t += "Gyrotron operational
" - t += "Operational mode: " - if(owned_gyrotron.emitting) - t += "Emitting \[Deactivate\]
" - else - t += "Not emitting \[Activate\]
" - t += "Emission rate: [owned_gyrotron.rate] \[Modify\]
" - t += "Beam frequency: [owned_gyrotron.frequency] \[Modify\]
" - t += "Beam power: [owned_gyrotron.mega_energy] \[Modify\]
" - else - t += "Gyrotron unresponsive" - t += "
" - t += "Close
" - user << browse(t, "window=gyro_monitor;size=500x800") - user.machine = src diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron_controller.dm b/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron_controller.dm deleted file mode 100644 index a28f67cc394..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/gyrotron_controller.dm +++ /dev/null @@ -1,88 +0,0 @@ - -/obj/machinery/computer/rust_gyrotron_controller - name = "Gyrotron Remote Controller" - icon = 'code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi' - icon_state = "engine" - var/updating = 1 - - New() - ..() - - Topic(href, href_list) - ..() - if( href_list["close"] ) - usr << browse(null, "window=gyrotron_controller") - usr.machine = null - return - if( href_list["target"] ) - var/obj/machinery/rust/gyrotron/gyro = locate(href_list["target"]) - gyro.Topic(href, href_list) - return - - process() - ..() - if(updating) - src.updateDialog() - - interact(mob/user) - if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) ) - if (!istype(user, /mob/living/silicon)) - user.machine = null - user << browse(null, "window=gyrotron_controller") - return - var/t = "Gyrotron Remote Control Console
" - t += "
" - for(var/obj/machinery/rust/gyrotron/gyro in world) - if(gyro.remoteenabled && gyro.on) - t += "Gyrotron operational
" - t += "Operational mode: " - if(gyro.emitting) - t += "Emitting \[Deactivate\]
" - else - t += "Not emitting \[Activate\]
" - t += "Emission rate: [gyro.rate] \[Modify\]
" - t += "Beam frequency: [gyro.frequency] \[Modify\]
" - t += "Beam power: [gyro.mega_energy] \[Modify\]
" - else - t += "Gyrotron unresponsive" - t += "
" - /* - var/t = "Reactor Core Fuel Control
" - t += "Current fuel injection stage: [active_stage]
" - if(active_stage == "Cooling") - //t += "Restart injection cycle
" - t += "----
" - else - t += "Enter cooldown phase
" - t += "Fuel depletion announcement: " - t += "[announce_fueldepletion ? "Disable" : "Disabled"] " - t += "[announce_fueldepletion == 1 ? "Announcing" : "Announce"] " - t += "[announce_fueldepletion == 2 ? "Broadcasting" : "Broadcast"]
" - t += "Stage progression announcement: " - t += "[announce_stageprogression ? "Disable" : "Disabled"] " - t += "[announce_stageprogression == 1 ? "Announcing" : "Announce"] " - t += "[announce_stageprogression == 2 ? "Broadcasting" : "Broadcast"] " - t += "
" - t += "" - t += "" - t += "" - t += "" - t += "" - t += "" - t += "" - for(var/stage in fuel_injectors) - var/list/cur_stage = fuel_injectors[stage] - t += "" - for(var/obj/machinery/rust/fuel_injector/Injector in cur_stage) - t += "" - t += "" - t += "" - t += "" - t += "" - t += "" - t += "" - t += "
Injector StatusInjection interval (sec)Assembly consumption per injectionFuel Assembly PortAssembly depletion percentage
Fuel Injection Stage: [stage] [active_stage == stage ? " (Currently active)" : "Activate"]
[Injector.on && Injector.remote_enabled ? "Operational" : "Unresponsive"][Injector.rate/10] Modify[Injector.fuel_usage*100]% Modify[Injector.owned_assembly_port ? "[Injector.owned_assembly_port.cur_assembly ? "Loaded": "Empty"]" : "Disconnected" ][Injector.owned_assembly_port && Injector.owned_assembly_port.cur_assembly ? "[Injector.owned_assembly_port.cur_assembly.amount_depleted*100]%" : ""]
" - */ - t += "Close
" - user << browse(t, "window=gyrotron_controller;size=500x400") - user.machine = src diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/radiation.dm b/code/WorkInProgress/Cael_Aislinn/Rust/radiation.dm deleted file mode 100644 index 155ef23c5c6..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Rust/radiation.dm +++ /dev/null @@ -1,74 +0,0 @@ - -/obj/machinery/rust/rad_source - var/mega_energy = 0 - var/time_alive = 0 - var/source_alive = 2 - New() - ..() - - process() - ..() - //fade away over time - if(source_alive > 0) - time_alive++ - source_alive-- - else - time_alive -= 0.1 - if(time_alive < 0) - del(src) - - //radiate mobs nearby here - // - -/* -/obj/machinery/rust - proc/RadiateParticle(var/energy, var/ionizing, var/dir = 0) - if(!dir) - RadiateParticleRand(energy, ionizing) - var/obj/effect/accelerated_particle/particle = new - particle.dir = dir - particle.ionizing = ionizing - if(energy) - particle.energy = energy - //particle.invisibility = 2 - // - return particle - - proc/RadiateParticleRand(var/energy, var/ionizing) - var/turf/target - var/particle_range = 3 * round(energy) + rand(3,20) - if(energy > 1) - //for penetrating radiation - for(var/mob/M in range(particle_range)) - var/dist_ratio = particle_range / get_dist(M, src) - //particles are more likely to hit a person if the person is closer - // 1/8 = 12.5% (closest) - // 1/360 = 0.27% (furthest) - // variation of 12.2% - if( rand() < (0.25 + dist_ratio * 12.5) ) - target = get_turf(M) - break - if(!target) - target = pick(range(particle_range)) - else - //for slower, non-penetrating radiation - for(var/mob/M in view(particle_range)) - var/dist_ratio = particle_range / get_dist(M, src) - if( rand() < (0.25 + dist_ratio * 12.5) ) - target = get_turf(M) - break - if(!target) - target = pick(view(particle_range)) - var/obj/effect/accelerated_particle/particle = new - particle.target = target - particle.ionizing = ionizing - if(energy) - particle.energy = energy - //particle.invisibility = 2 - // - return particle -*/ - -/obj/machinery/computer/rust_radiation_monitor - name = "Radiation Monitor" - icon_state = "power" diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi b/code/WorkInProgress/Cael_Aislinn/Rust/rust.dmi deleted file mode 100644 index fd2ea5a0aae1c68a94824823a269cb096c282297..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42825 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 diff --git a/code/WorkInProgress/Cael_Aislinn/Rust/rust_old.dmi b/code/WorkInProgress/Cael_Aislinn/Rust/rust_old.dmi deleted file mode 100644 index 7fd6ad57d03cb03f922c3e794854b1f61e7fb067..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 492 zcmV)|0H4bH2?qr0d!JMQvg8b*k%9#0G@hO zSad{Xb7OL8aCB*JZU6vyoKseCa&`CgQ*iP1yRS7+;WIRDw&jvVyCh3phvs zdD2ustDMYD0002bNkl2AR<3~I|DQgf!K%u#8xCA$|4{Lf(V5X!xjt)il1OZz2+x?b{@+g0;r`g z3Ye%TxWw4wInkAb@x$d7x%Ne&&4jKbU?%jN3*wffL$iOYp-s)5<$|Spy(7Vq;MNMW zg=W1#w}wE75l$l55Fim;2;d6``=tJD{tE%ZGCgrc0r2jb9z|b!dMpc1&xbG!8w)Rw ipe6CpIe#e}ROb!ds!2Uw=l_ZT0000= mysize) - parent.AddParticles(name, quantity) - return 1 - return 0 - -/obj/effect/rust_particle_catcher/proc/UpdateSize() - if(parent.size >= mysize) - density = 1 - //invisibility = 0 - name = "collector [mysize] ON" - else - density = 0 - //invisibility = 101 - name = "collector [mysize] OFF" - -/obj/effect/rust_particle_catcher/bullet_act(var/obj/item/projectile/Proj) - if(Proj.flag != "bullet" && parent) - parent.AddEnergy(Proj.damage * 20, 0, 1) - update_icon() - return 0 - -/obj/effect/rust_particle_catcher/Bumped(atom/AM) - if(ismob(AM) && density && prob(10)) - AM << "\red A powerful force pushes you back." - ..() diff --git a/code/WorkInProgress/Cael_Aislinn/Supermatter/Laser2.dm b/code/WorkInProgress/Cael_Aislinn/Supermatter/Laser2.dm deleted file mode 100644 index eeab2fafc76..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Supermatter/Laser2.dm +++ /dev/null @@ -1,132 +0,0 @@ -//mostly replaced these with emitter code -//they're functionally identical - -/obj/machinery/computer/laser - name = "Zero-point laser" - desc = "A super-powerful laser" - var/visible = 1 - var/state = 1.0 - //var/obj/beam/e_beam/first - var/power = 500 - icon = 'icons/obj/engine.dmi' - icon_state = "laser" - anchored = 1 - var/id - var/on = 0 - var/freq = 50000 - var/phase = 0 - var/phase_variance = 0 - -/obj/machinery/computer/laser/process() - /*if(on) - if(!first) - src.first = new /obj/beam/e_beam(src.loc) - src.first.master = src - src.first.dir = src.dir - src.first.power = src.power - src.first.freq = src.freq - src.first.phase = src.phase - src.first.phase_variance = src.phase_variance - step(first, dir) - if(first) - src.first.updatebeam() - else - src.first.updatebeam() - else - if(first) - del first*/ - -/obj/machinery/computer/laser/proc/setpower(var/powera) - /*src.power = powera - if(first) - first.setpower(src.power)*/ - -/* -/obj/beam/e_beam - name = "Laser beam" - icon = 'icons/obj/projectiles.dmi' - icon_state = "u_laser" - var/obj/machinery/engine/laser/master = null - var/obj/beam/e_beam/next = null - var/power - var/freq = 50000 - var/phase = 0 - var/phase_variance = 0 - anchored = 1 - -/obj/beam/e_beam/New() - sd_SetLuminosity(1, 1, 4) - -/obj/beam/e_beam/proc/updatebeam() - if(!next) - if(get_step(src.loc,src.dir)) - var/obj/beam/e_beam/e = new /obj/beam/e_beam(src.loc) - e.dir = src.dir - src.next = e - e.master = src.master - e.power = src.power - e.phase = src.phase - src.phase+=src.phase_variance - e.freq = src.freq - e.phase_variance = src.phase_variance - if(src.loc.density == 0) - for(var/atom/o in src.loc.contents) - if(o.density || o == src.master || (ismob(o) && !istype(o, /mob/dead)) ) - o.laser_act(src) - del src - return - else - src.loc.laser_act(src) - del e - return - step(e,e.dir) - if(e) - e.updatebeam() - else - next.updatebeam() - -/atom/proc/laser_act(var/obj/beam/e_beam/b) - return - -/mob/living/carbon/laser_act(var/obj/beam/e_beam/b) - for(var/t in organs) - var/datum/organ/external/affecting = organs["[t]"] - if (affecting.take_damage(0, b.power/400,0,0)) - UpdateDamageIcon() - else - UpdateDamage() - -/obj/beam/e_beam/Bump(atom/Obstacle) - Obstacle.laser_act(src) - del(src) - return - - -/obj/beam/e_beam/proc/setpower(var/powera) - src.power = powera - if(src.next) - src.next.setpower(powera) - -/obj/beam/e_beam/Bumped() - src.hit() - return - -/obj/beam/e_beam/Crossed(atom/movable/AM as mob|obj) - if (istype(AM, /obj/beam)) - return - spawn( 0 ) - AM.laser_act(src) - src.hit() - return - return - -/obj/beam/e_beam/Destroy() - if(next) - del(next) - ..() - return - -/obj/beam/e_beam/proc/hit() - del src - return - */ \ No newline at end of file diff --git a/code/WorkInProgress/Cael_Aislinn/Supermatter/LaserComputer.dm b/code/WorkInProgress/Cael_Aislinn/Supermatter/LaserComputer.dm deleted file mode 100644 index d606337f4cb..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Supermatter/LaserComputer.dm +++ /dev/null @@ -1,122 +0,0 @@ -//The laser control computer -//Used to control the lasers -/obj/machinery/computer/lasercon - name = "Laser control computer" - var/list/lasers = new/list - icon_state = "atmos" - var/id - //var/advanced = 0 - -/obj/machinery/computer/lasercon - New() - spawn(1) - for(var/obj/machinery/zero_point_emitter/las in world) - if(las.id == src.id) - lasers += las - - process() - ..() - updateDialog() - - interact(mob/user) - if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) ) - if (!istype(user, /mob/living/silicon)) - user.machine = null - user << browse(null, "window=laser_control") - return - var/t = "Laser status monitor
" - for(var/obj/machinery/zero_point_emitter/laser in lasers) - t += "Zero Point Laser
" - t += "Power level:
- - - - [laser.energy]MeV + + + +
" - t += "Frequency: - - [laser.freq] + +
" - t += "Output: [laser.active ? "Online Offline" : "Online Offline "]
" - t += "
" - t += "Close
" - user << browse(t, "window=laser_control;size=500x800") - user.machine = src - -/* -/obj/machinery/computer/lasercon/proc/interact(mob/user) - - if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) ) - if (!istype(user, /mob/living/silicon)) - user.machine = null - user << browse(null, "window=powcomp") - return - - - user.machine = src - var/t = "Laser status monitor
" - - var/obj/machinery/engine/laser/laser = src.laser[1] - - if(!laser) - t += "\red No laser found" - else - - - t += "Power level: - - - - [add_lspace(laser.power,5)] + + + +
" - if(advanced) - t += "Frequency: - - [add_lspace(laser.freq,5)] + +
" - - t += "Output: [laser.on ? "Online Offline" : "Online Offline "]
" - - t += "

Close
" - - user << browse(t, "window=lascomp;size=420x700") - onclose(user, "lascomp") -*/ - -/obj/machinery/computer/lasercon/Topic(href, href_list) - ..() - if( href_list["close"] ) - usr << browse(null, "window=laser_control") - usr.machine = null - return - - else if( href_list["input"] ) - var/i = text2num(href_list["input"]) - var/d = i - for(var/obj/machinery/zero_point_emitter/laser in lasers) - var/new_power = laser.energy + d - new_power = max(new_power,0.0001) //lowest possible value - new_power = min(new_power,0.01) //highest possible value - laser.energy = new_power - // - src.updateDialog() - else if( href_list["online"] ) - var/obj/machinery/zero_point_emitter/laser = href_list["online"] - laser.active = !laser.active - src.updateDialog() - else if( href_list["freq"] ) - var/amt = text2num(href_list["freq"]) - for(var/obj/machinery/zero_point_emitter/laser in lasers) - var/new_freq = laser.frequency + amt - new_freq = max(new_freq,1) //lowest possible value - new_freq = min(new_freq,20000) //highest possible value - laser.frequency = new_freq - // - src.updateDialog() - -/* -/obj/machinery/computer/lasercon/process() - if(!(stat & (NOPOWER|BROKEN)) ) - use_power(250) - - //src.updateDialog() -*/ - -/* -/obj/machinery/computer/lasercon/power_change() - - if(stat & BROKEN) - icon_state = "broken" - else - if( powered() ) - icon_state = initial(icon_state) - stat &= ~NOPOWER - else - spawn(rand(0, 15)) - src.icon_state = "c_unpowered" - stat |= NOPOWER -*/ diff --git a/code/WorkInProgress/Cael_Aislinn/Supermatter/Shard.dmi b/code/WorkInProgress/Cael_Aislinn/Supermatter/Shard.dmi deleted file mode 100644 index 3d312aa7927f332ca67609344b7aad8c7fd6d670..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1575 zcmZWpdpy$%6#s23dCZU@G|PJEp=e?iZEVJ3D9LMSuI5tiEK%~>Mq{Mrab1coQhHsF z^q4y|DUo5ty-5^#eR^EvJz>AQTe<)A$2sSFo}cqQf1FegHz&B7p&9@HaEdeOfWmVA zla)#eJ>8!qU?jT_Yb11Puj~PPLC!}cP38@ zlO>M`l461+fgq~T7Nuy5XxfrT_L5?INrJr~1t~a&6u2Orot+cd>?_4r#A0zwY@8FB ze3(YV;c!GEF*Y{#CCjck%&t7hF4KE=%bjb@AvWThzt;rW+{()+@yBJIP2hW2zsLxC zk{VhTAC%4X6ESSc18wqrY}jr)tEk9QioSqobjlVbV&KXHae2Ntw!3wvBPzwgB+3pQ zXpN3y&@QC$!vegxr%wd??)RbKT?xAs>`Y-fstU4@$OCSk0Ab`+u);}5ba4xJ%?R?_l7~U)zEMUZv_L3y9kFk#&cl-Q?XziA5!oE@|qM z_T@XQI_@Z^nQf{5@+YSb3P{#qjd<`*JOC&MQ%Lp)qYFm;L&FE0wPqfL#-8RBtU_CS zN-{EuWeu5H;)X!5*qmH)am_QY@OznSO}=b8<`{FR%f&nDYRtzDD;SJt`+j@~UZ2m| zp3~RleQU>&+mc$wGl*7rPZiLV3G-RMB%J$vs!?`0{RkFMiR-SKe!53?>lY&`w_?wQ zZXMa(tnyqQz{gh@kiE26`>}1iw-AIajB~T%#lqS^@7vam;-8{BZ+5LoW4EcA<{~`(qzaLU(ebV#u{6^!#E+&)t`m$R-K^!HJ9v9ZhPfs%i z(oX%z9ZMDXLidJMF{6)F<|i*aI$q}{?#i|{%L8ZaRl+=s-JPbdbuE~Nd04O`Ai~S1 zgm1=9^|b0c^^1%1+2_?p7Di1#GttuEl%IHE5Fa(R0ygCb3P5ytQsNoK!3+DLZu{Sx;#@BXdqJO znmA<&b!DN(3tPB_8!44~vKsCuO&DYjBQ;WoqBcClBb9C26Y1@0tjF&xuFBjs#vKPw zkS1(2#+y1rT_*}x?{yxTIy)d{L6eglolRHJ;OR~hJ}JH0FwgCfWojO4r$u4eDjmz9 zD#;`hfhK~WuzKhWJQt3acMc)QR z$5RmshTpS~_m&t{_xLg5>x`1*`_8x`^`qB4vyV-q~(inZOg6Xun^ zQb}x3fyRJ>5tZkQkRL%h;w@M*53yo%ILiPn2AigoLga)M%WcZbKo3|h`oH=|;1LZ9 zzDgX3KM1%T3hGL?HMcnl=Wq*CrG%;T_&B;dMPCK?JOz6a@7R XpBFWtLh8~K{|}%zx{=Bq=!yRVxJmM# diff --git a/code/WorkInProgress/Cael_Aislinn/Supermatter/SuperMatter.dm b/code/WorkInProgress/Cael_Aislinn/Supermatter/SuperMatter.dm deleted file mode 100644 index fd3bf8eea6e..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Supermatter/SuperMatter.dm +++ /dev/null @@ -1,186 +0,0 @@ -#define NITROGEN_RETARDATION_FACTOR 12 //Higher == N2 slows reaction more -#define THERMAL_RELEASE_MODIFIER 0.55 //Percentage of output power given to heat generation. - -#define PLASMA_RELEASE_MODIFIER 0.24 //Percentage of output power given to plasma generation. -#define PLASMA_CONVERSION_FACTOR 50 //How much energy per mole of plasma -#define MAX_PLASMA_RELATIVE_INCREASE 0.3 //Percentage of current plasma amounts that can be added to preexisting plasma. - -#define OXYGEN_RELEASE_MODIFIER 0.13 //Percentage of output power given to oxygen generation. -#define OXYGEN_CONVERSION_FACTOR 150 //How much energy per mole of oxygen. -#define MAX_OXYGEN_RELATIVE_INCREASE 0.2 //Percentage of current oxygen amounts that can be added to preexisting oxygen. - -#define RADIATION_POWER_MODIFIER 0.03 //How much power goes to irradiating the area. -#define RADIATION_FACTOR 10 -#define HALLUCINATION_POWER_MODIFIER 0.05 //How much power goes to hallucinations. -#define HALLUCINATION_FACTOR 20 - -#define REACTION_POWER_MODIFIER 4 //Higher == more overall power - -#define WARNING_DELAY 45 //45 seconds between warnings. - -/obj/machinery/power/supermatter - name = "Supermatter" - desc = "A strangely translucent and iridescent crystal. \red You get headaches just from looking at it." - icon = 'icons/obj/engine.dmi' - icon_state = "darkmatter" - density = 1 - anchored = 0 - - var/gasefficency = 0.25 - - var/base_icon_state = "darkmatter" - - var/damage = 0 - var/damage_archived = 0 - var/safe_alert = "Crystaline hyperstructure returning to safe operating levels." - var/warning_point = 100 - var/warning_alert = "Danger! Crystal hyperstructure instability!" - var/emergency_point = 700 - var/emergency_alert = "CRYSTAL DELAMINATION IMMINENT" - var/explosion_point = 1000 - - var/emergency_issued = 0 - - var/explosion_power = 8 - - var/lastwarning = 0 // Time in 1/10th of seconds since the last sent warning - - var/power = 0 - - - shard //Small subtype, less efficient and more sensitive, but less boom. - name = "Supermatter Shard" - desc = "A strangely translucent and iridescent crystal. Looks like it used to be part of a larger structure. \red You get headaches just from looking at it." - icon_state = "darkmatter_shard" - base_icon_state = "darkmatter_shard" - - warning_point = 50 - emergency_point = 500 - explosion_point = 900 - - gasefficency = 0.125 - - explosion_power = 3 //3,6,9,12? Or is that too small? - - - process() - - var/turf/L = loc - - if(!istype(L)) //If we are not on a turf, uh oh. - del src - - //Ok, get the air from the turf - var/datum/gas_mixture/env = L.return_air() - - //Remove gas from surrounding area - var/datum/gas_mixture/removed = env.remove(gasefficency * env.total_moles) - - if (!removed) - return 1 - - if(damage > warning_point) // while the core is still damaged and it's still worth noting its status - if((world.timeofday - lastwarning) / 10 >= WARNING_DELAY) - - if(damage > emergency_point) - //radioalert("states, \"[emergency_alert]\"","Supermatter Monitor") - lastwarning = world.timeofday - else if(damage >= damage_archived) // The damage is still going up - //radioalert("states, \"[warning_alert]\"","Supermatter Monitor") - lastwarning = world.timeofday-150 - else // Phew, we're safe - //radioalert("states, \"[safe_alert]\"","Supermatter Monitor") - lastwarning = world.timeofday - - if(damage > explosion_point) - explosion(loc,explosion_power,explosion_power*2,explosion_power*3,explosion_power*4,1) - del src - - damage_archived = damage - damage = max( damage + ( (removed.temperature - 800) / 150 ) , 0 ) - - if(!removed.total_moles) - damage += max((power-1600)/10,0) - power = max(power,1600) - return 1 - - var/nitrogen_mod = abs((removed.nitrogen / removed.total_moles)) * NITROGEN_RETARDATION_FACTOR - var/oxygen = max(min(removed.oxygen / removed.total_moles - nitrogen_mod, 1), 0) - - var/temp_factor = 0 - if(oxygen > 0.8) - // with a perfect gas mix, make the power less based on heat - temp_factor = 100 - icon_state = "[base_icon_state]_glow" - else - // in normal mode, base the produced energy around the heat - temp_factor = 60 - icon_state = base_icon_state - - //Calculate power released as heat and gas, in as the sqrt of the power. - var/power_factor = (power/500) ** 3 - var/device_energy = oxygen * power_factor - power = max(round((removed.temperature - T0C) / temp_factor) + power - power_factor, 0) //Total laser power plus an overload factor - - //Final energy calcs. - device_energy = max(device_energy * REACTION_POWER_MODIFIER,0) - - //To figure out how much temperature to add each tick, consider that at one atmosphere's worth - //of pure oxygen, with all four lasers firing at standard energy and no N2 present, at room temperature - //that the device energy is around 2140. At that stage, we don't want too much heat to be put out - //Since the core is effectively "cold" - - //Also keep in mind we are only adding this temperature to (efficiency)% of the one tile the rock - //is on. An increase of 4*C @ 25% efficiency here results in an increase of 1*C / (#tilesincore) overall. - - var/plasma_energy = device_energy * PLASMA_RELEASE_MODIFIER - var/oxygen_energy = device_energy * OXYGEN_RELEASE_MODIFIER - var/other_energy = device_energy * (1- (OXYGEN_RELEASE_MODIFIER + PLASMA_RELEASE_MODIFIER)) - - //Put as much plasma out as is permitted. - if( plasma_energy > removed.total_moles * PLASMA_CONVERSION_FACTOR * MAX_PLASMA_RELATIVE_INCREASE / gasefficency) - removed.toxins += (MAX_PLASMA_RELATIVE_INCREASE * removed.total_moles / gasefficency) - other_energy += plasma_energy - (removed.total_moles * PLASMA_CONVERSION_FACTOR * MAX_PLASMA_RELATIVE_INCREASE / gasefficency) - else - removed.toxins += plasma_energy/PLASMA_CONVERSION_FACTOR - - //Put as much plasma out as is permitted. - if( oxygen_energy > removed.total_moles * OXYGEN_CONVERSION_FACTOR * MAX_OXYGEN_RELATIVE_INCREASE / gasefficency) - removed.oxygen += (MAX_OXYGEN_RELATIVE_INCREASE * removed.total_moles / gasefficency) - other_energy += oxygen_energy - (removed.total_moles * OXYGEN_CONVERSION_FACTOR * MAX_OXYGEN_RELATIVE_INCREASE / gasefficency) - else - removed.oxygen += oxygen_energy/OXYGEN_CONVERSION_FACTOR - - - var/heat_energy = (other_energy*THERMAL_RELEASE_MODIFIER)/(1-(OXYGEN_RELEASE_MODIFIER + PLASMA_RELEASE_MODIFIER)) - var/hallucination_energy = (other_energy*HALLUCINATION_POWER_MODIFIER*HALLUCINATION_FACTOR)/(1-(OXYGEN_RELEASE_MODIFIER + PLASMA_RELEASE_MODIFIER)) - var/rad_energy = (other_energy*RADIATION_POWER_MODIFIER*RADIATION_FACTOR)/(1-(OXYGEN_RELEASE_MODIFIER + PLASMA_RELEASE_MODIFIER)) - - var/heat_applied = max(heat_energy,0) - if(heat_applied + removed.temperature > 800) - removed.temperature = 800 - var/energy_to_reconsider = (heat_applied + removed.temperature - 800) - hallucination_energy += (energy_to_reconsider*HALLUCINATION_POWER_MODIFIER)/(HALLUCINATION_POWER_MODIFIER+RADIATION_POWER_MODIFIER) - rad_energy += (energy_to_reconsider*RADIATION_POWER_MODIFIER)/(HALLUCINATION_POWER_MODIFIER+RADIATION_POWER_MODIFIER) - else - removed.temperature += heat_applied - - removed.update_values() - - env.merge(removed) - - for(var/mob/living/carbon/human/l in view(src, round(hallucination_energy**0.25))) // you have to be seeing the core to get hallucinations - if(prob(10) && !istype(l.glasses, /obj/item/clothing/glasses/meson)) - l.hallucination += hallucination_energy/((get_dist(l,src)**2)) - - for(var/mob/living/l in range(src,round(rad_energy**0.25))) - var/rads = rad_energy/((get_dist(l,src)**2)) - l.apply_effect(rads, IRRADIATE) - - return 1 - - - bullet_act(var/obj/item/projectile/Proj) - if(Proj.flag != "bullet") - power += Proj.damage - return 0 \ No newline at end of file diff --git a/code/WorkInProgress/Cael_Aislinn/Supermatter/ZeroPointLaser.dm b/code/WorkInProgress/Cael_Aislinn/Supermatter/ZeroPointLaser.dm deleted file mode 100644 index 7039b393cfe..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/Supermatter/ZeroPointLaser.dm +++ /dev/null @@ -1,236 +0,0 @@ -//new supermatter lasers - -/obj/machinery/zero_point_emitter - name = "Zero-point laser" - desc = "A super-powerful laser" - icon = 'icons/obj/engine.dmi' - icon_state = "laser" - anchored = 0 - density = 1 - req_access = list(access_research) - - use_power = 1 - idle_power_usage = 10 - active_power_usage = 300 - - var/active = 0 - var/fire_delay = 100 - var/last_shot = 0 - var/shot_number = 0 - var/state = 0 - var/locked = 0 - - var/energy = 0.0001 - var/frequency = 1 - - var/freq = 50000 - var/id - -/obj/machinery/zero_point_emitter/verb/rotate() - set name = "Rotate" - set category = "Object" - set src in oview(1) - - if (src.anchored || usr:stat) - usr << "It is fastened to the floor!" - return 0 - src.dir = turn(src.dir, 90) - return 1 - -/obj/machinery/zero_point_emitter/New() - ..() - return - -/obj/machinery/zero_point_emitter/update_icon() - if (active && !(stat & (NOPOWER|BROKEN))) - icon_state = "laser"//"emitter_+a" - else - icon_state = "laser"//"emitter" - -/obj/machinery/zero_point_emitter/attack_hand(mob/user as mob) - src.add_fingerprint(user) - if(state == 2) - if(!src.locked) - if(src.active==1) - src.active = 0 - user << "You turn off the [src]." - src.use_power = 1 - else - src.active = 1 - user << "You turn on the [src]." - src.shot_number = 0 - src.fire_delay = 100 - src.use_power = 2 - update_icon() - else - user << "\red The controls are locked!" - else - user << "\red The [src] needs to be firmly secured to the floor first." - return 1 - - -/obj/machinery/zero_point_emitter/emp_act(var/severity)//Emitters are hardened but still might have issues - use_power(1000) -/* if((severity == 1)&&prob(1)&&prob(1)) - if(src.active) - src.active = 0 - src.use_power = 1 */ - return 1 - -/obj/machinery/zero_point_emitter/process() - if(stat & (NOPOWER|BROKEN)) - return - if(src.state != 2) - src.active = 0 - return - if(((src.last_shot + src.fire_delay) <= world.time) && (src.active == 1)) - src.last_shot = world.time - if(src.shot_number < 3) - src.fire_delay = 2 - src.shot_number ++ - else - src.fire_delay = rand(20,100) - src.shot_number = 0 - use_power(1000) - var/obj/item/projectile/beam/emitter/A = new /obj/item/projectile/beam/emitter(src.loc) - playsound(get_turf(src), 'sound/weapons/emitter.ogg', 25, 1) - if(prob(35)) - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, src) - s.start() - A.dir = src.dir - switch(dir) - if(NORTH) - A.yo = 20 - A.xo = 0 - if(EAST) - A.yo = 0 - A.xo = 20 - if(WEST) - A.yo = 0 - A.xo = -20 - else // Any other - A.yo = -20 - A.xo = 0 - A.process() //TODO: Carn: check this out - - -/obj/machinery/zero_point_emitter/attackby(obj/item/W, mob/user) - - if(istype(W, /obj/item/weapon/wrench)) - if(active) - user << "Turn off the [src] first." - return - switch(state) - if(0) - state = 1 - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) - user.visible_message("[user.name] secures [src.name] to the floor.", \ - "You secure the external reinforcing bolts to the floor.", \ - "You hear a ratchet") - src.anchored = 1 - if(1) - state = 0 - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) - user.visible_message("[user.name] unsecures [src.name] reinforcing bolts from the floor.", \ - "You undo the external reinforcing bolts.", \ - "You hear a ratchet") - src.anchored = 0 - if(2) - user << "\red The [src.name] needs to be unwelded from the floor." - return - - if(istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/WT = W - if(active) - user << "Turn off the [src] first." - return - switch(state) - if(0) - user << "\red The [src.name] needs to be wrenched to the floor." - if(1) - if (WT.remove_fuel(0,user)) - playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) - user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \ - "You start to weld the [src] to the floor.", \ - "You hear welding") - if (do_after(user,20)) - if(!src || !WT.isOn()) return - state = 2 - user << "You weld the [src] to the floor." - else - user << "\red You need more welding fuel to complete this task." - if(2) - if (WT.remove_fuel(0,user)) - playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) - user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \ - "You start to cut the [src] free from the floor.", \ - "You hear welding") - if (do_after(user,20)) - if(!src || !WT.isOn()) return - state = 1 - user << "You cut the [src] free from the floor." - else - user << "\red You need more welding fuel to complete this task." - return - - if(istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/device/pda)) - if(emagged) - user << "\red The lock seems to be broken" - return - if(src.allowed(user)) - if(active) - src.locked = !src.locked - user << "The controls are now [src.locked ? "locked." : "unlocked."]" - else - src.locked = 0 //just in case it somehow gets locked - user << "\red The controls can only be locked when the [src] is online" - else - user << "\red Access denied." - return - - - if(istype(W, /obj/item/weapon/card/emag) && !emagged) - locked = 0 - emagged = 1 - user.visible_message("[user.name] emags the [src.name].","\red You short out the lock.") - return - - ..() - return - - -/obj/machinery/zero_point_emitter/power_change() - ..() - update_icon() - return - -/obj/machinery/zero_point_emitter/Topic(href, href_list) - ..() - if( href_list["input"] ) - var/i = text2num(href_list["input"]) - var/d = i - var/new_power = energy + d - new_power = max(new_power,0.0001) //lowest possible value - new_power = min(new_power,0.01) //highest possible value - energy = new_power - // - for(var/obj/machinery/computer/lasercon/comp in world) - if(comp.id == src.id) - comp.updateDialog() - else if( href_list["online"] ) - active = !active - // - for(var/obj/machinery/computer/lasercon/comp in world) - if(comp.id == src.id) - comp.updateDialog() - else if( href_list["freq"] ) - var/amt = text2num(href_list["freq"]) - var/new_freq = frequency + amt - new_freq = max(new_freq,1) //lowest possible value - new_freq = min(new_freq,20000) //highest possible value - frequency = new_freq - // - for(var/obj/machinery/computer/lasercon/comp in world) - if(comp.id == src.id) - comp.updateDialog() diff --git a/code/WorkInProgress/Cael_Aislinn/covershield.dmi b/code/WorkInProgress/Cael_Aislinn/covershield.dmi deleted file mode 100644 index b3d8b21e8ddf6973e5b610553d49a59fb265c4cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9086 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 diff --git a/code/WorkInProgress/Cael_Aislinn/meteor_battery.dm b/code/WorkInProgress/Cael_Aislinn/meteor_battery.dm deleted file mode 100644 index 85bcc084b7a..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/meteor_battery.dm +++ /dev/null @@ -1,261 +0,0 @@ -#define MISSILE_SPEED 5 - -//automated turret that shoots missiles at meteors - -/obj/item/projectile/missile - name = "missile" - icon = 'code/WorkInProgress/Cael_Aislinn/meteor_turret.dmi' - icon_state = "missile" - var/turf/target - var/tracking = 0 - density = 1 - desc = "It's sparking and shaking slightly." - -/obj/item/projectile/missile/process(var/turf/newtarget) - target = newtarget - dir = get_dir(src.loc, target) - walk_towards(src, target, MISSILE_SPEED) - -/obj/item/projectile/missile/Bump(atom/A) - spawn(0) - if(istype(A,/obj/effect/meteor)) - del(A) - explode() - return - -/obj/item/projectile/missile/proc/explode() - explosion(src.loc, 1, 1, 2, 7, 0) - playsound(src.loc, "explosion", 50, 1) - del(src) - -/obj/item/projectile/missile/attack_hand(mob/user) - ..() - return attackby(null, user) - -/obj/item/projectile/missile/attackby(obj/item/weapon/W, mob/user) - //can't touch this - ..() - explode() - -/obj/machinery/meteor_battery - name = "meteor battery" - icon = 'code/WorkInProgress/Cael_Aislinn/meteor_turret.dmi' - icon_state = "turret0" - var/raised = 0 - var/enabled = 1 - anchored = 1 - layer = 3 - invisibility = 2 - density = 1 - var/health = 18 - var/id = "" - var/obj/machinery/turretcover/cover = null - var/popping = 0 - var/wasvalid = 0 - var/lastfired = 0 - var/shot_delay = 50 - var/datum/effect/effect/system/spark_spread/spark_system - use_power = 1 - idle_power_usage = 50 - active_power_usage = 300 - var/atom/movable/cur_target - var/targeting_active = 0 - var/protect_range = 30 - var/tracking_missiles = 0 - var/list/fired_missiles - -/obj/machinery/meteor_battery/New() - spark_system = new /datum/effect/effect/system/spark_spread - spark_system.set_up(5, 0, src) - spark_system.attach(src) - fired_missiles = new/list() -// targets = new - ..() - return - -/obj/machinery/meteor_battery/proc/isPopping() - return (popping!=0) - -/obj/machinery/meteor_battery/power_change() - if(stat & BROKEN) - icon_state = "broke" - else - if( powered() ) - if (src.enabled) - icon_state = "turret1" - else - icon_state = "turret0" - stat &= ~NOPOWER - else - spawn(rand(0, 15)) - src.icon_state = "turret0" - stat |= NOPOWER - -/obj/machinery/meteor_battery/proc/setState(var/enabled) - src.enabled = enabled - src.power_change() - -/obj/machinery/meteor_battery/proc/get_new_target() - var/list/new_targets = new - var/new_target - for(var/obj/effect/meteor/M in view(protect_range, get_turf(src))) - new_targets += M - if(new_targets.len) - new_target = pick(new_targets) - return new_target - -/obj/machinery/meteor_battery/process() - if(stat & (NOPOWER|BROKEN)) - return - if(src.cover==null) - src.cover = new /obj/machinery/turretcover(src.loc) - src.cover.host = src - if(!enabled) - if(!isDown() && !isPopping()) - popDown() - return - - //update our missiles - for(var/obj/item/projectile/missile/M in fired_missiles) - if(!M) - fired_missiles.Remove(M) - continue - if(tracking_missiles && cur_target) - //update homing missile target - M.target = get_turf(cur_target) - walk_towards(M, M.target, MISSILE_SPEED) - - if(get_turf(M) == M.target && M) - //missile has arrived at destination - fired_missiles.Remove(M) - if( istype(get_turf(M), /turf/space) ) - //send the missile shooting off into the distance - walk(M, get_dir(src,M), MISSILE_SPEED) - spawn(rand(3,10) * 10) - if(M) - M.explode() - else if(rand(3) == 3) - //chance to blow up later (between 4 seconds and 2 minutes), or just sit there being ominous - spawn(rand(4,120) * 10) - M.explode() - for(var/mob/P in view(7)) - P.visible_message("\red The missile skids to a halt, vibrating and sparking ominously!") - - if(!cur_target) - cur_target = get_new_target() //get new target - - if(cur_target) //if it's found, proceed - if(!isPopping()) - if(isDown()) - popUp() - use_power = 2 - else - spawn() - if(!targeting_active) - targeting_active = 1 - target() - targeting_active = 0 - else if(!isPopping())//else, pop down - if(!isDown()) - popDown() - use_power = 1 - - return - -/obj/machinery/meteor_battery/proc/target() - while(src && enabled && !stat) - src.dir = get_dir(src, cur_target) - shootAt(cur_target) - sleep(shot_delay) - return - -/obj/machinery/meteor_battery/proc/shootAt(var/atom/movable/target) - var/turf/T = get_turf(src) - var/turf/U = get_turf(target) - if (!T || !U) - return - use_power(500) - var/obj/item/projectile/missile/A = new(T) - A.tracking = tracking_missiles - fired_missiles.Add(A) - spawn(0) - A.process(U) - return - - -/obj/machinery/meteor_battery/proc/isDown() - return (invisibility!=0) - -/obj/machinery/meteor_battery/proc/popUp() - if ((!isPopping()) || src.popping==-1) - invisibility = 0 - popping = 1 - if (src.cover!=null) - flick("popup", src.cover) - src.cover.icon_state = "openTurretCover" - spawn(10) - if (popping==1) popping = 0 - -/obj/machinery/meteor_battery/proc/popDown() - if ((!isPopping()) || src.popping==1) - popping = -1 - if (src.cover!=null) - flick("popdown", src.cover) - src.cover.icon_state = "turretCover" - spawn(10) - if (popping==-1) - invisibility = 2 - popping = 0 - -/obj/machinery/meteor_battery/bullet_act(var/obj/item/projectile/Proj) - src.health -= Proj.damage - ..() - if(prob(45) && Proj.damage > 0) src.spark_system.start() - if (src.health <= 0) - src.die() - return - -/obj/machinery/meteor_battery/attackby(obj/item/weapon/W, mob/user)//I can't believe no one added this before/N - ..() - playsound(src.loc, 'sound/weapons/smash.ogg', 60, 1) - src.spark_system.start() - src.health -= W.force * 0.5 - if (src.health <= 0) - src.die() - return - -/obj/machinery/meteor_battery/emp_act(severity) - switch(severity) - if(1) - enabled = 0 - power_change() - ..() - -/obj/machinery/meteor_battery/ex_act(severity) - if(severity < 3) - src.die() - -/obj/machinery/meteor_battery/proc/die() - src.health = 0 - src.density = 0 - src.stat |= BROKEN - src.icon_state = "broke" - if (cover!=null) - del(cover) - sleep(3) - flick("explosion", src) - spawn(13) - del(src) - -/obj/machinery/meteor_battery/attack_alien(mob/living/carbon/alien/humanoid/M as mob) - if(!(stat & BROKEN)) - playsound(src.loc, 'sound/weapons/slash.ogg', 25, 1, -1) - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("\red [] has slashed at []!", M, src), 1) - src.health -= 15 - if (src.health <= 0) - src.die() - else - M << "\green That object is useless to you." - return diff --git a/code/WorkInProgress/Cael_Aislinn/meteor_turret.dmi b/code/WorkInProgress/Cael_Aislinn/meteor_turret.dmi deleted file mode 100644 index 3f62c56b1b3161ac1d4aaaae6a6f3a68887e8f2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4153 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 D9Ml6B diff --git a/code/WorkInProgress/Cael_Aislinn/sculpture.dm b/code/WorkInProgress/Cael_Aislinn/sculpture.dm deleted file mode 100644 index 4589583f96b..00000000000 --- a/code/WorkInProgress/Cael_Aislinn/sculpture.dm +++ /dev/null @@ -1,262 +0,0 @@ - -//sculpture -//SCP-173, nothing more need be said -/mob/living/simple_animal/sculpture - name = "\improper sculpture" - real_name = "sculpture" - desc = "It's some kind of human sized, doll-like sculpture, with weird discolourations on some parts of it. It appears to be quite solid. " - icon = 'code/WorkInProgress/Cael_Aislinn/unknown.dmi' - icon_state = "sculpture" - icon_living = "sculpture" - icon_dead = "sculpture" - emote_hear = list("makes a faint scraping sound") - emote_see = list("twitches slightly", "shivers") - response_help = "touches the" - response_disarm = "pushes the" - response_harm = "hits the" - var/obj/item/weapon/grab/G - var/observed = 0 - var/allow_escape = 0 //set this to 1 for src to drop it's target next Life() call and try to escape - var/hibernate = 0 - var/random_escape_chance = 0.5 - -/mob/living/simple_animal/sculpture/proc/GrabMob(var/mob/living/target) - if(target && target != src && ishuman(target)) - G = new /obj/item/weapon/grab(src, target) - G.loc=src - target.grabbed_by += G - G.synch() - target.LAssailant = src - - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - visible_message("\red [src] has grabbed [target]!") - target << "\red You feel something suddenly grab you around the neck from behind! Everything goes black..." - - G.state = GRAB_KILL - - desc = "It's some kind of human sized, doll-like sculpture, with weird discolourations on some parts of it. It appears to be quite solid. [G ? "\red The sculpture is holding [G.affecting] in a vice-like grip." : ""]" - target.attack_log += text("\[[time_stamp()]\] Has been grabbed by SCP-173, and is being strangled!") - log_admin("[target] ([target.ckey]) has been grabbed and is being strangled by SCP-173.") - message_admins("Alert: [target.real_name] has been grabbed and is being strangled by SCP-173.") //Set var/allow_escape = 1 to allow this player to escape temporarily, or var/hibernate = 1 to disable it entirely. - -/mob/living/simple_animal/sculpture/proc/Escape() - var/list/turfs = new/list() - for(var/turf/thisturf in view(50,src)) - if(istype(thisturf, /turf/space)) - continue - else if(istype(thisturf, /turf/simulated/wall)) - continue - else if(istype(thisturf, /turf/unsimulated/mineral)) - continue - else if(istype(thisturf, /turf/simulated/shuttle/wall)) - continue - else if(istype(thisturf, /turf/unsimulated/wall)) - continue - turfs += thisturf - var/turf/target_turf = pick(turfs) - src.dir = get_dir(src, target_turf) - src.loc = target_turf - - hibernate = 1 - spawn(rand(20,35) * 10) - hibernate = 0 - -/mob/living/simple_animal/sculpture/Life() - - observed = 0 - - //update the desc - if(!G) - desc = "It's some kind of human sized, doll-like sculpture, with weird discolourations on some parts of it. It appears to be quite solid." - - //if we are sent into forced hibernation mode, allow our victim to escape - if(hibernate && G && G.state == GRAB_KILL) - if(G) - G.affecting << "\red You suddenly feel the grip around your neck being loosened!" - visible_message("\red [src] suddenly loosens it's grip due to hibernate!") - G.state = GRAB_AGGRESSIVE - return - - // - if(allow_escape) - allow_escape = 0 - if(G) - G.affecting << "\red You suddenly feel the grip around your neck being loosened!" - visible_message("\red [src] suddenly loosens it's grip!") - G.state = GRAB_AGGRESSIVE - if(!observed) - Escape() - observed = 1 - - //can't do anything in space at all - if(istype(get_turf(src), /turf/space) || hibernate) - return - - // Grabbing - if(G) - G.process() - - for(var/mob/living/M in view(7, src)) - if(M.stat || M == src) - continue - var/xdif = M.x - src.x - var/ydif = M.y - src.y - if(abs(xdif) < abs(ydif)) - //mob is either above or below src - if(ydif < 0 && M.dir == NORTH) - //mob is below src and looking up - observed = 1 - break - else if(ydif > 0 && M.dir == SOUTH) - //mob is above src and looking down - observed = 1 - break - else if(abs(xdif) > abs(ydif)) - //mob is either left or right of src - if(xdif < 0 && M.dir == EAST) - //mob is to the left of src and looking right - observed = 1 - break - else if(xdif > 0 && M.dir == WEST) - //mob is to the right of src and looking left - observed = 1 - break - else if (xdif == 0 && ydif == 0) - //mob is on the same tile as src - observed = 1 - break - - //account for darkness - var/turf/T = get_turf(src) - var/in_darkness = 0 - if(T.luminosity == 0 && !istype(T, /turf/simulated)) - in_darkness = 1 - - //see if we're able to do stuff - if(!observed || in_darkness) - if(G) - if(prob(1)) - //chance to allow the stranglee to escape - allow_escape = 1 - if(G.affecting.stat == 2) - del G - else if(!G) - //see if we're able to strangle anyone - var/turf/myTurf = get_turf(src) - for(var/mob/living/M in myTurf) - GrabMob(M) - if(G) - break - - //find out what mobs we can see - var/list/incapacitated = list() - var/list/conscious = list() - for(var/mob/living/carbon/M in view(7, src)) - //this may not be quite the right test - if(M == src) - continue - if(M.stat == 1) - incapacitated.Add(M) - else if(!M.stat) - conscious.Add(M) - - //pick the nearest valid conscious target - var/mob/living/carbon/target_mob - for(var/mob/living/carbon/M in conscious) - if(!target_mob || get_dist(src, M) < get_dist(src, target_mob)) - target_mob = M - - if(!target_mob) - //get an unconscious mob - for(var/mob/living/carbon/M in incapacitated) - if(!target_mob || get_dist(src, M) < get_dist(src, target_mob)) - target_mob = M - if(target_mob) - var/turf/target_turf - if(in_darkness) - //move to right behind them - target_turf = get_step(target_mob, src) - else - //move to them really really fast and knock them down - target_turf = get_turf(target_mob) - - //rampage along a path to get to them, in the blink of an eye - var/turf/next_turf = get_step_towards(src, target_mob) - var/num_turfs = get_dist(src,target_mob) - while(get_turf(src) != target_turf && num_turfs > 0) - for(var/obj/structure/window/W in next_turf) - W.destroy() - for(var/obj/structure/table/O in next_turf) - O.ex_act(1) - for(var/obj/structure/grille/G in next_turf) - G.ex_act(1) - if(!next_turf.CanPass(src, next_turf)) - break - src.loc = next_turf - src.dir = get_dir(src, target_mob) - next_turf = get_step(src, get_dir(next_turf,target_mob)) - num_turfs-- - - //if we reached them, knock them down and start strangling them - if(get_turf(src) == target_turf) - target_mob.Stun(1) - target_mob.Paralyse(1) - GrabMob(target_mob) - - //if we're not strangling anyone, take a stroll - if(!G && prob(10)) - var/list/turfs = new/list() - for(var/turf/thisturf in view(7,src)) - if(istype(thisturf, /turf/space)) - continue - else if(istype(thisturf, /turf/simulated/wall)) - continue - else if(istype(thisturf, /turf/unsimulated/mineral)) - continue - else if(istype(thisturf, /turf/simulated/shuttle/wall)) - continue - else if(istype(thisturf, /turf/unsimulated/wall)) - continue - turfs += thisturf - var/turf/target_turf = pick(turfs) - - //rampage along a path to get to it, in the blink of an eye - var/turf/next_turf = get_step_towards(src, target_turf) - var/num_turfs = get_dist(src,target_turf) - while(get_turf(src) != target_turf && num_turfs > 0) - for(var/obj/structure/window/W in next_turf) - W.destroy() - for(var/obj/structure/table/O in next_turf) - O.ex_act(1) - for(var/obj/structure/grille/G in next_turf) - G.ex_act(1) - if(!next_turf.CanPass(src, next_turf)) - break - src.loc = next_turf - src.dir = get_dir(src, target_mob) - next_turf = get_step(src, get_dir(next_turf,target_turf)) - num_turfs-- - -// else if(G) -// //we can't move while observed, so we can't effectively strangle any more //since victim is observer this means no strangling -// //our grip is still rock solid, but the victim has a chance to escape -// G.affecting << "\red You suddenly feel the grip around your neck being loosened!" -// visible_message("\red [src] suddenly loosens it's grip due to being observed!") -// G.state = GRAB_AGGRESSIVE - -/mob/living/simple_animal/sculpture/attackby(var/obj/item/O as obj, var/mob/user as mob) - ..() - -/mob/living/simple_animal/sculpture/Topic(href, href_list) - ..() - -/mob/living/simple_animal/sculpture/Bump(atom/movable/AM as mob, yes) - if(!G) - GrabMob(AM) - -/mob/living/simple_animal/sculpture/Bumped(atom/movable/AM as mob, yes) - if(!G) - GrabMob(AM) - -/mob/living/simple_animal/sculpture/ex_act(var/severity) - //nothing \ No newline at end of file diff --git a/code/WorkInProgress/Cael_Aislinn/unknown.dmi b/code/WorkInProgress/Cael_Aislinn/unknown.dmi deleted file mode 100644 index e254c1019738a392a03b5910b7d6a43695fd2361..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 950 zcmV;n14;aeP)pN zf3%c(tBrJ#jIW-IkZyXujf0o7A|0@hceNxRZLe5LJTgc-F|Z&TU7}4&nLV=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r z;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5sW`bbr=X;?C{>AzGbOXA7^IPlGp#5w zHxYCm4FJQ*8}-Q>>ZSky0#`{yK~z|U?Uq|}qc9AGu@S6DNDE7VQbMn3 zo2J+Q|LazE=uUTP9cQ<%tC!5=9Dforwn&oCVdhAbi0U@AJ`_h>x0Fec&4Lb-S)!bN zXu1GoJ+mW(0R{1bC8!7kmPJ;UMNyVnu?zxAa?2M?B>*g!2;d7)0Vc~cPVg!m|js$ z>Z=~tCBaXIfS7J9b0Y?A7h<|d>$XdclEYYIoi0DxX|$%5&;YIir>hlsL)Rh0tShoN z_zeH5i=k`V4gs+4GW0#J0P2Zp`!jLqfQar&?9X5YG2L}3)wVgRJA)4ZfO;}32mtl} z05ARV^Y?mk+~ZHKFo4tdaDkse)8b&3%EWu|D{QE3fD*Gf9&hvWB#|hu)1rl$Q2^& zT4E0fZKDS;Y4{l+^WUA=`U^q+l4zJCfHj%4syPJUx=IbLkErl-- z2Dn!R0hkbA*S8IWeUe?~rUit@eQ$I9w7T=2+kXG30-m1tk_6q#Qr`agNd>r0TMV%9 zTK82p=(INYD0l!NK;$gNlHl@=NP^3oJ=F_(gco?2z2)@{0p4DtfcJLhQSJoHx Y7b>kJH8x-wK>z>%07*qoM6N<$f~N+tkpKVy diff --git a/code/WorkInProgress/Chinsky/overmap/README.dm b/code/WorkInProgress/Chinsky/overmap/README.dm deleted file mode 100644 index d11ea1fdee2..00000000000 --- a/code/WorkInProgress/Chinsky/overmap/README.dm +++ /dev/null @@ -1,110 +0,0 @@ -/* -The overmap system allows adding new maps to the big 'galaxy' map. -Idea is that new sectors can be added by just ticking in new maps and recompiling. -Not real hot-plugging, but still pretty modular. -It uses the fact that all ticked in .dme maps are melded together into one as different zlevels. -Metaobjects are used to make it not affected by map order in .dme and carry some additional info. - -************************************************************* -Metaobject -************************************************************* -/obj/effect/mapinfo, sectors.dm -Used to build overmap in beginning, has basic information needed to create overmap objects and make shuttles work. -Its name and icon (if non-standard) vars will be applied to resulting overmap object. -'mapy' and 'mapx' vars are optional, sector will be assigned random overmap coordinates if they are not set. -Has two important vars: - obj_type - type of overmap object it spawns. Could be overriden for custom overmap objects. - landing_area - type of area used as inbound shuttle landing, null if no shuttle landing area. - -Object could be placed anywhere on zlevel. Should only be placed on zlevel that should appear on overmap as a separate entitety. -Right after creation it sends itself to nullspace and creates an overmap object, corresponding to this zlevel. - -************************************************************* -Overmap object -************************************************************* -/obj/effect/map, sectors.dm -Represents a zlevel on the overmap. Spawned by metaobjects at the startup. - var/area/shuttle/shuttle_landing - keeps a reference to the area of where inbound shuttles should land - --CanPass should be overriden for access restrictions --Crossed/Uncrossed can be overriden for applying custom effects. -Remember to call ..() in children, it updates ship's current sector. - -subtype /ship of this object represents spacefaring vessels. -It has 'current_sector' var that keeps refernce to, well, sector ship currently in. - -************************************************************* -Helm console -************************************************************* -/obj/machinery/computer/helm, helm.dm -On creation console seeks a ship overmap object corresponding to this zlevel and links it. -Clicking with empty hand on it starts steering, Cancel-Camera-View stops it. -Helm console relays movement of mob to the linked overmap object. -Helm console currently has no interface. All travel happens instanceously too. -Sector shuttles are not supported currently, only ship shuttles. - -************************************************************* -Exploration shuttle terminal -************************************************************* -A generic shuttle controller. -Has a var landing_type defining type of area shuttle should be landing at. -On initalizing, checks for a shuttle corresponding to this zlevel, and creates one if it's not there. -Changes desitnation area depending on current sector ship is in. -Currently updating is called in attack_hand(), until a better place is found. -Currently no modifications were made to interface to display availability of landing area in sector. - - -************************************************************* -Guide to how make new sector -************************************************************* -0.Map -Remember to define shuttle areas if you want sector be accessible via shuttles. -Currently there are no other ways to reach sectors from ships. -In examples, 4x6 shuttle area is used. In case of shuttle area being too big, it will apear in bottom left corner of it. - -Remember to put a helm console and engine control console on ship maps. -Ships need engines to move. Currently there are only thermal engines. -Thermal engines are just a unary atmopheric machine, like a vent. They need high-pressure gas input to produce more thrust. - - -1.Metaobject -All vars needed for it to work could be set directly in map editor, so in most cases you won't have to define new in code. -Remember to set landing_area var for sectors. - -2.Overmap object -If you need custom behaviour on entering/leaving this sector, or restricting access to it, you can define your custom map object. -Remember to put this new type into spawn_type var of metaobject. - -3.Shuttle console -Remember to place one on the actual shuttle too, or it won't be able to return from sector without ship-side recall. -Remember to set landing_type var to ship-side shuttle area type. -shuttle_tag can be set to custom name (it shows up in console interface) - -5.Engines -Actual engines could be any type of machinery, as long as it creates a ship_engine datum for itself. - -6.Tick map in and compile. -Sector should appear on overmap (in random place if you didn't set mapx,mapy) - - -TODO: -more mechanics to moving ship: - actually working engine objects - unary atmospheric machinery - give more thrust the more pressure gas has - ships have mass var, which is used to caalculate how much acceleration those engines give -better space travel / stragglers handling -shuttle console: - checking occupied pad or not with docking controllers - ?landing pad size detection -non-zlevel overmap objects - field generator - meteor fields - speed-based chance for a rock in the ship - debris fields - speed-based chance of - debirs in the ship - a drone - EMP - nebulaes -*/ \ No newline at end of file diff --git a/code/WorkInProgress/Chinsky/overmap/_defines.dm b/code/WorkInProgress/Chinsky/overmap/_defines.dm deleted file mode 100644 index dfc0881ed53..00000000000 --- a/code/WorkInProgress/Chinsky/overmap/_defines.dm +++ /dev/null @@ -1,35 +0,0 @@ -//Zlevel where overmap objects should be -#define OVERMAP_ZLEVEL 1 -//How far from the edge of overmap zlevel could randomly placed objects spawn -#define OVERMAP_EDGE 7 - -//list used to track which zlevels are being 'moved' by the proc below -var/list/moving_levels = list() -//Proc to 'move' stars in spess -//yes it looks ugly, but it should only fire when state actually change. -//null direction stops movement -proc/toggle_move_stars(zlevel, direction) - if(!zlevel) - return - - var/gen_dir = null - if(direction & (NORTH|SOUTH)) - gen_dir += "ns" - else if(direction & (EAST|WEST)) - gen_dir += "ew" - if(!direction) - gen_dir = null - - if (moving_levels["zlevel"] != gen_dir) - moving_levels["zlevel"] = gen_dir - for(var/turf/space/S in world) - if(S.z == zlevel) - spawn(0) - var/turf/T = S - if(!gen_dir) - T.icon_state = "[((T.x + T.y) ^ ~(T.x * T.y) + T.z) % 25]" - else - T.icon_state = "speedspace_[gen_dir]_[rand(1,15)]" - for(var/atom/movable/AM in T) - if (!AM.anchored) - AM.throw_at(get_step(T,reverse_direction(direction)), 5, 1) \ No newline at end of file diff --git a/code/WorkInProgress/Chinsky/overmap/sectors.dm b/code/WorkInProgress/Chinsky/overmap/sectors.dm deleted file mode 100644 index 9e1635a9602..00000000000 --- a/code/WorkInProgress/Chinsky/overmap/sectors.dm +++ /dev/null @@ -1,95 +0,0 @@ - -//=================================================================================== -//Hook for building overmap -//=================================================================================== -var/global/list/map_sectors = list() - -/hook/startup/proc/build_map() - accessable_z_levels = list() //no space travel with this system, at least not like this - testing("Building overmap...") - var/obj/effect/mapinfo/data - for(var/level in 1 to world.maxz) - data = locate("sector[level]") - if (data) - testing("Located sector \"[data.name]\" at [data.mapx],[data.mapy] corresponding to zlevel [level]") - map_sectors["[level]"] = new data.obj_type(data) - return 1 - -//=================================================================================== -//Metaobject for storing information about sector this zlevel is representing. -//Should be placed only once on every zlevel. -//=================================================================================== -/obj/effect/mapinfo/ - name = "map info metaobject" - icon = 'icons/mob/screen1.dmi' - icon_state = "x2" - invisibility = 101 - var/obj_type //type of overmap object it spawns - var/landing_area //type of area used as inbound shuttle landing, null if no shuttle landing area - var/zlevel - var/mapx //coordinates on the - var/mapy //overmap zlevel - var/known = 1 - -/obj/effect/mapinfo/New() - tag = "sector[z]" - zlevel = z - loc = null - -/obj/effect/mapinfo/sector - name = "generic sector" - obj_type = /obj/effect/map/sector - -/obj/effect/mapinfo/ship - name = "generic ship" - obj_type = /obj/effect/map/ship - - -//=================================================================================== -//Overmap object representing zlevel -//=================================================================================== - -/obj/effect/map - name = "map object" - icon = 'icons/obj/items.dmi' - icon_state = "sheet-plasteel" - var/map_z = 0 - var/area/shuttle/shuttle_landing - var/always_known = 1 - -/obj/effect/map/New(var/obj/effect/mapinfo/data) - map_z = data.zlevel - name = data.name - always_known = data.known - if (data.icon != 'icons/mob/screen1.dmi') - icon = data.icon - icon_state = data.icon_state - if(data.desc) - desc = data.desc - var/new_x = data.mapx ? data.mapx : rand(OVERMAP_EDGE, world.maxx - OVERMAP_EDGE) - var/new_y = data.mapy ? data.mapy : rand(OVERMAP_EDGE, world.maxy - OVERMAP_EDGE) - loc = locate(new_x, new_y, OVERMAP_ZLEVEL) - - if(data.landing_area) - shuttle_landing = locate(data.landing_area) - -/obj/effect/map/CanPass(atom/movable/A) - testing("[A] attempts to enter sector\"[name]\"") - return 1 - -/obj/effect/map/Crossed(atom/movable/A) - testing("[A] has entered sector\"[name]\"") - if (istype(A,/obj/effect/map/ship)) - var/obj/effect/map/ship/S = A - S.current_sector = src - -/obj/effect/map/Uncrossed(atom/movable/A) - testing("[A] has left sector\"[name]\"") - if (istype(A,/obj/effect/map/ship)) - var/obj/effect/map/ship/S = A - S.current_sector = null - -/obj/effect/map/sector - name = "generic sector" - desc = "Sector with some stuff in it." - anchored = 1 diff --git a/code/WorkInProgress/Chinsky/overmap/ships/computers/engine_control.dm b/code/WorkInProgress/Chinsky/overmap/ships/computers/engine_control.dm deleted file mode 100644 index 41f2c4cdf9d..00000000000 --- a/code/WorkInProgress/Chinsky/overmap/ships/computers/engine_control.dm +++ /dev/null @@ -1,99 +0,0 @@ -//Engine control and monitoring console - -/obj/machinery/computer/engines - name = "engines control console" - icon_state = "id" - var/state = "status" - var/list/engines = list() - var/obj/effect/map/ship/linked - -/obj/machinery/computer/engines/initialize() - linked = map_sectors["[z]"] - if (linked) - if (!linked.eng_control) - linked.eng_control = src - testing("Engines console at level [z] found a corresponding overmap object '[linked.name]'.") - else - testing("Engines console at level [z] was unable to find a corresponding overmap object.") - - for(var/datum/ship_engine/E in engines) - if (E.zlevel == z && !(E in engines)) - engines += E - -/obj/machinery/computer/engines/attack_hand(var/mob/user as mob) - if(..()) - user.unset_machine() - return - - if(!isAI(user)) - user.set_machine(src) - - ui_interact(user) - -/obj/machinery/computer/engines/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - if(!linked) - return - - var/data[0] - data["state"] = state - - var/list/enginfo[0] - for(var/datum/ship_engine/E in engines) - var/list/rdata[0] - rdata["eng_type"] = E.name - rdata["eng_on"] = E.is_on() - rdata["eng_thrust"] = E.get_thrust() - rdata["eng_thrust_limiter"] = round(E.get_thrust_limit()*100) - rdata["eng_status"] = E.get_status() - rdata["eng_reference"] = "\ref[E]" - enginfo.Add(list(rdata)) - - data["engines_info"] = enginfo - - ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) - if (!ui) - ui = new(user, src, ui_key, "engines_control.tmpl", "[linked.name] Engines Control", 380, 530) - ui.set_initial_data(data) - ui.open() - ui.set_auto_update(1) - -/obj/machinery/computer/engines/Topic(href, href_list) - if(..()) - return - - if(href_list["state"]) - state = href_list["state"] - - if(href_list["engine"]) - if(href_list["set_limit"]) - var/datum/ship_engine/E = locate(href_list["engine"]) - var/newlim = input("Input new thrust limit (0..100)", "Thrust limit", E.get_thrust_limit()) as num - var/limit = Clamp(newlim/100, 0, 1) - if(E) - E.set_thrust_limit(limit) - - if(href_list["limit"]) - var/datum/ship_engine/E = locate(href_list["engine"]) - var/limit = Clamp(E.get_thrust_limit() + text2num(href_list["limit"]), 0, 1) - if(E) - E.set_thrust_limit(limit) - - if(href_list["toggle"]) - var/datum/ship_engine/E = locate(href_list["engine"]) - if(E) - E.toggle() - - add_fingerprint(usr) - updateUsrDialog() - -/obj/machinery/computer/engines/proc/burn() - if(engines.len == 0) - return 0 - var/res = 0 - for(var/datum/ship_engine/E in engines) - res |= E.burn() - return res - -/obj/machinery/computer/engines/proc/get_total_thrust() - for(var/datum/ship_engine/E in engines) - . += E.get_thrust() diff --git a/code/WorkInProgress/Chinsky/overmap/ships/computers/helm.dm b/code/WorkInProgress/Chinsky/overmap/ships/computers/helm.dm deleted file mode 100644 index d78934f5749..00000000000 --- a/code/WorkInProgress/Chinsky/overmap/ships/computers/helm.dm +++ /dev/null @@ -1,174 +0,0 @@ -/obj/machinery/computer/helm - name = "helm control console" - icon_state = "id" - var/state = "status" - var/obj/effect/map/ship/linked //connected overmap object - var/autopilot = 0 - var/manual_control = 0 - var/list/known_sectors = list() - var/dx //desitnation - var/dy //coordinates - -/obj/machinery/computer/helm/initialize() - linked = map_sectors["[z]"] - if (linked) - if(!linked.nav_control) - linked.nav_control = src - testing("Helm console at level [z] found a corresponding overmap object '[linked.name]'.") - else - testing("Helm console at level [z] was unable to find a corresponding overmap object.") - - for(var/level in map_sectors) - var/obj/effect/map/sector/S = map_sectors["[level]"] - if (istype(S) && S.always_known) - var/datum/data/record/R = new() - R.fields["name"] = S.name - R.fields["x"] = S.x - R.fields["y"] = S.y - known_sectors += R - -/obj/machinery/computer/helm/process() - ..() - if (autopilot && dx && dy) - var/turf/T = locate(dx,dy,1) - if(linked.loc == T) - if(linked.is_still()) - autopilot = 0 - else - linked.decelerate() - - var/brake_path = linked.get_brake_path() - - if(get_dist(linked.loc, T) > brake_path) - linked.accelerate(get_dir(linked.loc, T)) - else - linked.decelerate() - - return - -/obj/machinery/computer/helm/relaymove(var/mob/user, direction) - if(manual_control && linked) - linked.relaymove(user,direction) - return 1 - -/obj/machinery/computer/helm/check_eye(var/mob/user as mob) - if (!manual_control) - return null - if (!get_dist(user, src) > 1 || user.blinded || !linked ) - return null - user.reset_view(linked) - return 1 - -/obj/machinery/computer/helm/attack_hand(var/mob/user as mob) - if(..()) - user.unset_machine() - manual_control = 0 - return - - if(!isAI(user)) - user.set_machine(src) - - ui_interact(user) - -/obj/machinery/computer/helm/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - if(!linked) - return - - var/data[0] - data["state"] = state - - data["sector"] = linked.current_sector ? linked.current_sector.name : "Deep Space" - data["sector_info"] = linked.current_sector ? linked.current_sector.desc : "Not Available" - data["s_x"] = linked.x - data["s_y"] = linked.y - data["dest"] = dy && dx - data["d_x"] = dx - data["d_y"] = dy - data["speed"] = linked.get_speed() - data["accel"] = round(linked.get_acceleration()) - data["heading"] = linked.get_heading() ? dir2angle(linked.get_heading()) : 0 - data["autopilot"] = autopilot - data["manual_control"] = manual_control - - var/list/locations[0] - for (var/datum/data/record/R in known_sectors) - var/list/rdata[0] - rdata["name"] = R.fields["name"] - rdata["x"] = R.fields["x"] - rdata["y"] = R.fields["y"] - rdata["reference"] = "\ref[R]" - locations.Add(list(rdata)) - - data["locations"] = locations - - ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) - if (!ui) - ui = new(user, src, ui_key, "helm.tmpl", "[linked.name] Helm Control", 380, 530) - ui.set_initial_data(data) - ui.open() - ui.set_auto_update(1) - -/obj/machinery/computer/helm/Topic(href, href_list) - if(..()) - return - - if (!linked) - return - - if (href_list["add"]) - var/datum/data/record/R = new() - var/sec_name = input("Input naviation entry name", "New navigation entry", "Sector #[known_sectors.len]") as text - if(!sec_name) - sec_name = "Sector #[known_sectors.len]" - R.fields["name"] = sec_name - switch(href_list["add"]) - if("current") - R.fields["x"] = linked.x - R.fields["y"] = linked.y - if("new") - var/newx = input("Input new entry x coordinate", "Coordinate input", linked.x) as num - R.fields["x"] = Clamp(newx, 1, world.maxx) - var/newy = input("Input new entry y coordinate", "Coordinate input", linked.y) as num - R.fields["y"] = Clamp(newy, 1, world.maxy) - known_sectors += R - - if (href_list["remove"]) - var/datum/data/record/R = locate(href_list["remove"]) - known_sectors.Remove(R) - - if (href_list["setx"]) - var/newx = input("Input new destiniation x coordinate", "Coordinate input", dx) as num|null - if (newx) - dx = Clamp(newx, 1, world.maxx) - - if (href_list["sety"]) - var/newy = input("Input new destiniation y coordinate", "Coordinate input", dy) as num|null - if (newy) - dy = Clamp(newy, 1, world.maxy) - - if (href_list["x"] && href_list["y"]) - dx = text2num(href_list["x"]) - dy = text2num(href_list["y"]) - - if (href_list["reset"]) - dx = 0 - dy = 0 - - if (href_list["move"]) - var/ndir = text2num(href_list["move"]) - linked.relaymove(usr, ndir) - - if (href_list["brake"]) - linked.decelerate() - - if (href_list["apilot"]) - autopilot = !autopilot - - if (href_list["manual"]) - manual_control = !manual_control - - if (href_list["state"]) - state = href_list["state"] - add_fingerprint(usr) - updateUsrDialog() - diff --git a/code/WorkInProgress/Chinsky/overmap/ships/computers/shuttle.dm b/code/WorkInProgress/Chinsky/overmap/ships/computers/shuttle.dm deleted file mode 100644 index 4ebc9469da3..00000000000 --- a/code/WorkInProgress/Chinsky/overmap/ships/computers/shuttle.dm +++ /dev/null @@ -1,139 +0,0 @@ -//Shuttle controller computer for shuttles going between sectors -/datum/shuttle/ferry/var/range = 0 //how many overmap tiles can shuttle go, for picking destinatiosn and returning. -/obj/machinery/computer/shuttle_control/explore - name = "exploration shuttle console" - shuttle_tag = "Exploration" - req_access = list() - var/landing_type //area for shuttle ship-side - var/obj/effect/map/destination //current destination - var/obj/effect/map/home //current destination - -/obj/machinery/computer/shuttle_control/explore/initialize() - ..() - home = map_sectors["[z]"] - shuttle_tag = "[shuttle_tag]-[z]" - if(!shuttle_controller.shuttles[shuttle_tag]) - var/datum/shuttle/ferry/shuttle = new() - shuttle.warmup_time = 10 - shuttle.area_station = locate(landing_type) - shuttle.area_offsite = shuttle.area_station - shuttle_controller.shuttles[shuttle_tag] = shuttle - shuttle_controller.process_shuttles += shuttle - testing("Exploration shuttle '[shuttle_tag]' at zlevel [z] successfully added.") - -//Sets destination to new sector. Can be null. -/obj/machinery/computer/shuttle_control/explore/proc/update_destination(var/obj/effect/map/D) - destination = D - if(destination && shuttle_controller.shuttles[shuttle_tag]) - var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag] - shuttle.area_offsite = destination.shuttle_landing - testing("Shuttle controller [shuttle_tag] now sends shuttle to [destination]") - shuttle_controller.shuttles[shuttle_tag] = shuttle - -//Gets all sectors with landing zones in shuttle's range -/obj/machinery/computer/shuttle_control/explore/proc/get_possible_destinations() - var/list/res = list() - var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag] - for (var/obj/effect/map/S in orange(shuttle.range, home)) - if(S.shuttle_landing) - res += S - return res - -//Checks if current destination is still reachable -/obj/machinery/computer/shuttle_control/explore/proc/check_destination() - var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag] - return shuttle && destination && get_dist(home, destination) <= shuttle.range - -/obj/machinery/computer/shuttle_control/explore/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - var/data[0] - var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag] - if (!istype(shuttle)) - return - - //If we are already there, or can't reach place anymore, reset destination - if(!shuttle.location && !check_destination()) - destination = null - - //check if shuttle can fly at all - var/can_go = !isnull(destination) - var/current_destination = destination ? destination.name : "None" - //shuttle doesn't need destination set to return home, as long as it's in range. - if(shuttle.location) - current_destination = "Return" - var/area/offsite = shuttle.area_offsite - var/obj/effect/map/cur_loc = map_sectors["[offsite.z]"] - can_go = (get_dist(home,cur_loc) <= shuttle.range) - - //disable picking locations if there are none, or shuttle is already off-site - var/list/possible_d = get_possible_destinations() - var/can_pick = !shuttle.location && possible_d.len - - var/shuttle_state - switch(shuttle.moving_status) - if(SHUTTLE_IDLE) shuttle_state = "idle" - if(SHUTTLE_WARMUP) shuttle_state = "warmup" - if(SHUTTLE_INTRANSIT) shuttle_state = "in_transit" - - var/shuttle_status - switch (shuttle.process_state) - if(IDLE_STATE) - if (shuttle.in_use) - shuttle_status = "Busy." - else if (!shuttle.location) - shuttle_status = "Standing-by at station." - else - shuttle_status = "Standing-by at offsite location." - if(WAIT_LAUNCH) - shuttle_status = "Shuttle has recieved command and will depart shortly." - if(WAIT_ARRIVE) - shuttle_status = "Proceeding to destination." - if(WAIT_FINISH) - shuttle_status = "Arriving at destination now." - - data = list( - "destination_name" = current_destination, - "can_pick" = can_pick, - "shuttle_status" = shuttle_status, - "shuttle_state" = shuttle_state, - "has_docking" = shuttle.docking_controller? 1 : 0, - "docking_status" = shuttle.docking_controller? shuttle.docking_controller.get_docking_status() : null, - "docking_override" = shuttle.docking_controller? shuttle.docking_controller.override_enabled : null, - "can_launch" = can_go && shuttle.can_launch(), - "can_cancel" = can_go && shuttle.can_cancel(), - "can_force" = can_go && shuttle.can_force(), - ) - - ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) - - if (!ui) - ui = new(user, src, ui_key, "shuttle_control_console_exploration.tmpl", "[shuttle_tag] Shuttle Control", 470, 310) - ui.set_initial_data(data) - ui.open() - ui.set_auto_update(1) - -/obj/machinery/computer/shuttle_control/explore/Topic(href, href_list) - if(..()) - return - - usr.set_machine(src) - src.add_fingerprint(usr) - - var/datum/shuttle/ferry/shuttle = shuttle_controller.shuttles[shuttle_tag] - if (!istype(shuttle)) - return - - if(href_list["pick"]) - var/obj/effect/map/self = map_sectors["[z]"] - if(self) - var/list/possible_d = get_possible_destinations() - var/obj/effect/map/D - if(possible_d.len) - D = input("Choose shuttle destination", "Shuttle Destination") as null|anything in possible_d - update_destination(D) - - if(href_list["move"]) - shuttle.launch(src) - if(href_list["force"]) - shuttle.force_launch(src) - else if(href_list["cancel"]) - shuttle.cancel_launch(src) \ No newline at end of file diff --git a/code/WorkInProgress/Chinsky/overmap/ships/engines/engine.dm b/code/WorkInProgress/Chinsky/overmap/ships/engines/engine.dm deleted file mode 100644 index 80690aa84dc..00000000000 --- a/code/WorkInProgress/Chinsky/overmap/ships/engines/engine.dm +++ /dev/null @@ -1,60 +0,0 @@ -//Engine component object - -var/list/ship_engines = list() -/datum/ship_engine - var/name = "ship engine" - var/obj/machinery/engine //actual engine object - var/zlevel = 0 - -/datum/ship_engine/New(var/obj/machinery/holder) - engine = holder - zlevel = holder.z - for(var/obj/machinery/computer/engines/E in machines) - if (E.z == zlevel && !(src in E.engines)) - E.engines += src - break - -//Tries to fire the engine. If successfull, returns 1 -/datum/ship_engine/proc/burn() - if(!engine) - die() - return 1 - -//Returns status string for this engine -/datum/ship_engine/proc/get_status() - if(!engine) - die() - return "All systems nominal" - -/datum/ship_engine/proc/get_thrust() - if(!engine) - die() - return 100 - -//Sets thrust limiter, a number between 0 and 1 -/datum/ship_engine/proc/set_thrust_limit(var/new_limit) - if(!engine) - die() - return 1 - -/datum/ship_engine/proc/get_thrust_limit() - if(!engine) - die() - return 1 - -/datum/ship_engine/proc/is_on() - if(!engine) - die() - return 1 - -/datum/ship_engine/proc/toggle() - if(!engine) - die() - return 1 - -/datum/ship_engine/proc/die() - for(var/obj/machinery/computer/engines/E in machines) - if (E.z == zlevel) - E.engines -= src - break - del(src) \ No newline at end of file diff --git a/code/WorkInProgress/Chinsky/overmap/ships/engines/thermal.dm b/code/WorkInProgress/Chinsky/overmap/ships/engines/thermal.dm deleted file mode 100644 index b26e7216389..00000000000 --- a/code/WorkInProgress/Chinsky/overmap/ships/engines/thermal.dm +++ /dev/null @@ -1,99 +0,0 @@ -//Thermal nozzle engine -/datum/ship_engine/thermal - name = "thermal engine" - -/datum/ship_engine/thermal/get_status() - ..() - var/obj/machinery/atmospherics/unary/engine/E = engine - return "Fuel pressure: [E.air_contents.return_pressure()]" - -/datum/ship_engine/thermal/get_thrust() - ..() - var/obj/machinery/atmospherics/unary/engine/E = engine - if(!is_on()) - return 0 - var/pressurized_coef = E.air_contents.return_pressure()/E.effective_pressure - return round(E.thrust_limit * E.nominal_thrust * pressurized_coef) - -/datum/ship_engine/thermal/burn() - ..() - var/obj/machinery/atmospherics/unary/engine/E = engine - return E.burn() - -/datum/ship_engine/thermal/set_thrust_limit(var/new_limit) - ..() - var/obj/machinery/atmospherics/unary/engine/E = engine - E.thrust_limit = new_limit - -/datum/ship_engine/thermal/get_thrust_limit() - ..() - var/obj/machinery/atmospherics/unary/engine/E = engine - return E.thrust_limit - -/datum/ship_engine/thermal/is_on() - ..() - var/obj/machinery/atmospherics/unary/engine/E = engine - return E.on - -/datum/ship_engine/thermal/toggle() - ..() - var/obj/machinery/atmospherics/unary/engine/E = engine - E.on = !E.on - -//Actual thermal nozzle engine object - -/obj/machinery/atmospherics/unary/engine - name = "engine nozzle" - desc = "Simple thermal nozzle, uses heated gast to propell the ship." - icon = 'icons/obj/ship_engine.dmi' - icon_state = "nozzle" - var/on = 1 - var/thrust_limit = 1 //Value between 1 and 0 to limit the resulting thrust - var/nominal_thrust = 3000 - var/effective_pressure = 3000 - var/datum/ship_engine/thermal/controller - -/obj/machinery/atmospherics/unary/engine/initialize() - ..() - controller = new(src) - -/obj/machinery/atmospherics/unary/engine/Del() - ..() - controller.die() - -/obj/machinery/atmospherics/unary/engine/proc/burn() - if (!on) - return - if(air_contents.temperature > 0) - var/transfer_moles = 100 * air_contents.volume/max(air_contents.temperature * R_IDEAL_GAS_EQUATION, 0,01) - transfer_moles = round(thrust_limit * transfer_moles, 0.01) - if(transfer_moles > air_contents.total_moles) - on = !on - return 0 - - var/datum/gas_mixture/removed = air_contents.remove(transfer_moles) - - loc.assume_air(removed) - if(air_contents.temperature > PHORON_MINIMUM_BURN_TEMPERATURE) - var/exhaust_dir = reverse_direction(dir) - var/turf/T = get_step(src,exhaust_dir) - if(T) - new/obj/effect/engine_exhaust(T,exhaust_dir,air_contents.temperature) - return 1 - -//Exhaust effect -/obj/effect/engine_exhaust - name = "engine exhaust" - icon = 'icons/effects/effects.dmi' - icon_state = "exhaust" - anchored = 1 - - New(var/turf/nloc, var/ndir, var/temp) - dir = ndir - ..(nloc) - - if(nloc) - nloc.hotspot_expose(temp,125) - - spawn(20) - loc = null \ No newline at end of file diff --git a/code/WorkInProgress/Chinsky/overmap/ships/ship.dm b/code/WorkInProgress/Chinsky/overmap/ships/ship.dm deleted file mode 100644 index b080c41b071..00000000000 --- a/code/WorkInProgress/Chinsky/overmap/ships/ship.dm +++ /dev/null @@ -1,105 +0,0 @@ -/obj/effect/map/ship - name = "generic ship" - desc = "Space faring vessel." - icon_state = "sheet-sandstone" - var/vessel_mass = 9000 //tonnes, random number - var/default_delay = 60 - var/list/speed = list(0,0) - var/last_burn = 0 - var/list/last_movement = list(0,0) - var/fore_dir = NORTH - - var/obj/effect/map/current_sector - var/obj/machinery/computer/helm/nav_control - var/obj/machinery/computer/engines/eng_control - -/obj/effect/map/ship/initialize() - for(var/obj/machinery/computer/engines/E in machines) - if (E.z == map_z) - eng_control = E - break - for(var/obj/machinery/computer/helm/H in machines) - if (H.z == map_z) - nav_control = H - break - processing_objects.Add(src) - -/obj/effect/map/ship/relaymove(mob/user, direction) - accelerate(direction) - -/obj/effect/map/ship/proc/is_still() - return !(speed[1] || speed[2]) - -/obj/effect/map/ship/proc/get_acceleration() - return eng_control.get_total_thrust()/vessel_mass - -/obj/effect/map/ship/proc/get_speed() - return round(sqrt(speed[1]*speed[1] + speed[2]*speed[2])) - -/obj/effect/map/ship/proc/get_heading() - var/res = 0 - if(speed[1]) - if(speed[1] > 0) - res |= EAST - else - res |= WEST - if(speed[2]) - if(speed[2] > 0) - res |= NORTH - else - res |= SOUTH - return res - -/obj/effect/map/ship/proc/adjust_speed(n_x, n_y) - speed[1] = Clamp(speed[1] + n_x, -default_delay, default_delay) - speed[2] = Clamp(speed[2] + n_y, -default_delay, default_delay) - if(is_still()) - toggle_move_stars(map_z) - else - toggle_move_stars(map_z, fore_dir) - -/obj/effect/map/ship/proc/can_burn() - if (!eng_control) - return 0 - if (world.time < last_burn + 10) - return 0 - if (!eng_control.burn()) - return 0 - return 1 - -/obj/effect/map/ship/proc/get_brake_path() - if(!get_acceleration()) - return INFINITY - return max(abs(speed[1]),abs(speed[2]))/get_acceleration() - -/obj/effect/map/ship/proc/decelerate() - if(!is_still() && can_burn()) - if (speed[1]) - adjust_speed(-SIGN(speed[1]) * min(get_acceleration(),speed[1]), 0) - if (speed[2]) - adjust_speed(0, -SIGN(speed[2]) * min(get_acceleration(),speed[2])) - last_burn = world.time - -/obj/effect/map/ship/proc/accelerate(direction) - if(can_burn()) - last_burn = world.time - - if(direction & EAST) - adjust_speed(get_acceleration(), 0) - if(direction & WEST) - adjust_speed(-get_acceleration(), 0) - if(direction & NORTH) - adjust_speed(0, get_acceleration()) - if(direction & SOUTH) - adjust_speed(0, -get_acceleration()) - -/obj/effect/map/ship/process() - if(!is_still()) - var/list/deltas = list(0,0) - for(var/i=1, i<=2, i++) - if(speed[i] && world.time > last_movement[i] + default_delay - speed[i]) - deltas[i] = speed[i] > 0 ? 1 : -1 - last_movement[i] = world.time - var/turf/newloc = locate(x + deltas[1], y + deltas[2], z) - if(newloc) - Move(newloc) \ No newline at end of file diff --git a/code/WorkInProgress/Cib/amorph/amorph.dm b/code/WorkInProgress/Cib/amorph/amorph.dm deleted file mode 100644 index dd1a678f47a..00000000000 --- a/code/WorkInProgress/Cib/amorph/amorph.dm +++ /dev/null @@ -1,590 +0,0 @@ -/mob/living/carbon/amorph - name = "amorph" - real_name = "amorph" - voice_name = "amorph" - icon = 'icons/mob/amorph.dmi' - icon_state = "" - - - var/species = "Amorph" - age = 30.0 - - var/used_skillpoints = 0 - var/skill_specialization = null - var/list/skills = null - - var/obj/item/l_ear = null - - // might use this later to recolor armorphs with icon.SwapColor - var/slime_color = null - - var/examine_text = "" - - -/mob/living/carbon/amorph/New() - - ..() - - // Amorphs don't have a blood vessel, but they can have reagents in their body - var/datum/reagents/R = new/datum/reagents(1000) - reagents = R - R.my_atom = src - - // Amorphs have no DNA(they're more like carbon-based machines) - - // Amorphs don't have organs - ..() - -/mob/living/carbon/amorph/Bump(atom/movable/AM as mob|obj, yes) - if ((!( yes ) || now_pushing)) - return - now_pushing = 1 - if (ismob(AM)) - var/mob/tmob = AM - -//BubbleWrap - Should stop you pushing a restrained person out of the way - - if(istype(tmob, /mob/living/carbon/human)) - - for(var/mob/M in range(tmob, 1)) - if( ((M.pulling == tmob && ( tmob.restrained() && !( M.restrained() ) && M.stat == 0)) || locate(/obj/item/weapon/grab, tmob.grabbed_by.len)) ) - if ( !(world.time % 5) ) - src << "\red [tmob] is restrained, you cannot push past" - now_pushing = 0 - return - if( tmob.pulling == M && ( M.restrained() && !( tmob.restrained() ) && tmob.stat == 0) ) - if ( !(world.time % 5) ) - src << "\red [tmob] is restraining [M], you cannot push past" - now_pushing = 0 - return - - //BubbleWrap: people in handcuffs are always switched around as if they were on 'help' intent to prevent a person being pulled from being seperated from their puller - if((tmob.a_intent == "help" || tmob.restrained()) && (a_intent == "help" || src.restrained()) && tmob.canmove && canmove) // mutual brohugs all around! - var/turf/oldloc = loc - loc = tmob.loc - tmob.loc = oldloc - now_pushing = 0 - for(var/mob/living/carbon/metroid/Metroid in view(1,tmob)) - if(Metroid.Victim == tmob) - Metroid.UpdateFeed() - return - - if(tmob.r_hand && istype(tmob.r_hand, /obj/item/weapon/shield/riot)) - if(prob(99)) - now_pushing = 0 - return - if(tmob.l_hand && istype(tmob.l_hand, /obj/item/weapon/shield/riot)) - if(prob(99)) - now_pushing = 0 - return - if(tmob.nopush) - now_pushing = 0 - return - - tmob.LAssailant = src - - now_pushing = 0 - spawn(0) - ..() - if (!istype(AM, /atom/movable)) - return - if (!now_pushing) - now_pushing = 1 - - if (!AM.anchored) - var/t = get_dir(src, AM) - if (istype(AM, /obj/structure/window)) - if(AM:ini_dir == NORTHWEST || AM:ini_dir == NORTHEAST || AM:ini_dir == SOUTHWEST || AM:ini_dir == SOUTHEAST) - for(var/obj/structure/window/win in get_step(AM,t)) - now_pushing = 0 - return - step(AM, t) - now_pushing = 0 - return - return - -/mob/living/carbon/amorph/movement_delay() - var/tally = 2 // amorphs are a bit slower than humans - var/mob/M = pulling - - if(reagents.has_reagent("hyperzine")) return -1 - - if(reagents.has_reagent("nuka_cola")) return -1 - - if(analgesic) return -1 - - if (istype(loc, /turf/space)) return -1 // It's hard to be slowed down in space by... anything - - var/health_deficiency = traumatic_shock - if(health_deficiency >= 40) tally += (health_deficiency / 25) - - var/hungry = (500 - nutrition)/5 // So overeat would be 100 and default level would be 80 - if (hungry >= 70) tally += hungry/300 - - if (bodytemperature < 283.222) - tally += (283.222 - bodytemperature) / 10 * 1.75 - if (stuttering < 10) - stuttering = 10 - - if(shock_stage >= 10) tally += 3 - - if(tally < 0) - tally = 0 - - if(istype(M) && M.lying) //Pulling lying down people is slower - tally += 3 - - if(mRun in mutations) - tally = 0 - - return tally - -/mob/living/carbon/amorph/Stat() - ..() - statpanel("Status") - - stat(null, "Intent: [a_intent]") - stat(null, "Move Mode: [m_intent]") - if(ticker && ticker.mode && ticker.mode.name == "AI malfunction") - if(ticker.mode:malf_mode_declared) - stat(null, "Time left: [max(ticker.mode:AI_win_timeleft/(ticker.mode:apcs/3), 0)]") - if(emergency_shuttle) - if(emergency_shuttle.online && emergency_shuttle.location < 2) - var/timeleft = emergency_shuttle.timeleft() - if (timeleft) - stat(null, "ETA-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]") - - if (client.statpanel == "Status") - if (internal) - if (!internal.air_contents) - del(internal) - else - stat("Internal Atmosphere Info", internal.name) - stat("Tank Pressure", internal.air_contents.return_pressure()) - stat("Distribution Pressure", internal.distribute_pressure) - if (mind) - if (mind.special_role == "Changeling" && changeling) - stat("Chemical Storage", changeling.chem_charges) - stat("Genetic Damage Time", changeling.geneticdamage) - -/mob/living/carbon/amorph/ex_act(severity) - flick("flash", flash) - - var/shielded = 0 - var/b_loss = null - var/f_loss = null - switch (severity) - if (1.0) - b_loss += 500 - if (!prob(getarmor(null, "bomb"))) - gib() - return - else - var/atom/target = get_edge_target_turf(src, get_dir(src, get_step_away(src, src))) - throw_at(target, 200, 4) - - if (2.0) - if (!shielded) - b_loss += 60 - - f_loss += 60 - - if (!prob(getarmor(null, "bomb"))) - b_loss = b_loss/1.5 - f_loss = f_loss/1.5 - - if(3.0) - b_loss += 30 - if (!prob(getarmor(null, "bomb"))) - b_loss = b_loss/2 - if (prob(50) && !shielded) - Paralyse(10) - - src.bruteloss += b_loss - src.fireloss += f_loss - - UpdateDamageIcon() - - -/mob/living/carbon/amorph/blob_act() - if(stat == 2) return - show_message("\red The blob attacks you!") - src.bruteloss += rand(30,40) - UpdateDamageIcon() - return - -/mob/living/carbon/amorph/u_equip(obj/item/W as obj) - // These are the only slots an amorph has - if (W == l_ear) - l_ear = null - else if (W == r_hand) - r_hand = null - - update_clothing() - -/mob/living/carbon/amorph/db_click(text, t1) - var/obj/item/W = equipped() - var/emptyHand = (W == null) - if ((!emptyHand) && (!istype(W, /obj/item))) - return - if (emptyHand) - usr.next_move = usr.prev_move - usr:lastDblClick -= 3 //permit the double-click redirection to proceed. - switch(text) - if("l_ear") - if (l_ear) - if (emptyHand) - l_ear.DblClick() - return - else if(emptyHand) - return - if (!( istype(W, /obj/item/clothing/ears) ) && !( istype(W, /obj/item/device/radio/headset) ) && W.w_class != 1) - return - u_equip(W) - l_ear = W - W.equipped(src, text) - - update_clothing() - - return - -/mob/living/carbon/amorph/meteorhit(O as obj) - for(var/mob/M in viewers(src, null)) - if ((M.client && !( M.blinded ))) - M.show_message(text("\red [] has been hit by []", src, O), 1) - if (health > 0) - if (istype(O, /obj/effect/immovablerod)) - src.bruteloss += 101 - else - src.bruteloss += 25 - UpdateDamageIcon() - updatehealth() - return - -/mob/living/carbon/amorph/Move(a, b, flag) - - if (buckled) - return - - if (restrained()) - pulling = null - - - var/t7 = 1 - if (restrained()) - for(var/mob/M in range(src, 1)) - if ((M.pulling == src && M.stat == 0 && !( M.restrained() ))) - t7 = null - if ((t7 && (pulling && ((get_dist(src, pulling) <= 1 || pulling.loc == loc) && (client && client.moving))))) - var/turf/T = loc - . = ..() - - if (pulling && pulling.loc) - if(!( isturf(pulling.loc) )) - pulling = null - return - else - if(Debug) - diary <<"pulling disappeared? at [__LINE__] in mob.dm - pulling = [pulling]" - diary <<"REPORT THIS" - - ///// - if(pulling && pulling.anchored) - pulling = null - return - - if (!restrained()) - var/diag = get_dir(src, pulling) - if ((diag - 1) & diag) - else - diag = null - if ((get_dist(src, pulling) > 1 || diag)) - if (ismob(pulling)) - var/mob/M = pulling - var/ok = 1 - if (locate(/obj/item/weapon/grab, M.grabbed_by)) - if (prob(75)) - var/obj/item/weapon/grab/G = pick(M.grabbed_by) - if (istype(G, /obj/item/weapon/grab)) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [] has been pulled from []'s grip by []", G.affecting, G.assailant, src), 1) - //G = null - del(G) - else - ok = 0 - if (locate(/obj/item/weapon/grab, M.grabbed_by.len)) - ok = 0 - if (ok) - var/t = M.pulling - M.pulling = null - - //this is the gay blood on floor shit -- Added back -- Skie - if (M.lying && (prob(M.getBruteLoss() / 6))) - var/turf/location = M.loc - if (istype(location, /turf/simulated)) - location.add_blood(M) - if(ishuman(M)) - var/mob/living/carbon/H = M - var/blood_volume = round(H:vessel.get_reagent_amount("blood")) - if(blood_volume > 0) - H:vessel.remove_reagent("blood",1) - if(prob(5)) - M.adjustBruteLoss(1) - visible_message("\red \The [M]'s wounds open more from being dragged!") - if(M.pull_damage()) - if(prob(25)) - M.adjustBruteLoss(2) - visible_message("\red \The [M]'s wounds worsen terribly from being dragged!") - var/turf/location = M.loc - if (istype(location, /turf/simulated)) - location.add_blood(M) - if(ishuman(M)) - var/mob/living/carbon/H = M - var/blood_volume = round(H:vessel.get_reagent_amount("blood")) - if(blood_volume > 0) - H:vessel.remove_reagent("blood",1) - - step(pulling, get_dir(pulling.loc, T)) - M.pulling = t - else - if (pulling) - if (istype(pulling, /obj/structure/window)) - if(pulling:ini_dir == NORTHWEST || pulling:ini_dir == NORTHEAST || pulling:ini_dir == SOUTHWEST || pulling:ini_dir == SOUTHEAST) - for(var/obj/structure/window/win in get_step(pulling,get_dir(pulling.loc, T))) - pulling = null - if (pulling) - step(pulling, get_dir(pulling.loc, T)) - else - pulling = null - . = ..() - if ((s_active && !( s_active in contents ) )) - s_active.close(src) - - for(var/mob/living/carbon/metroid/M in view(1,src)) - M.UpdateFeed(src) - return - -/mob/living/carbon/amorph/proc/misc_clothing_updates() - // Temporary proc to shove stuff in that was put into update_clothing() - // for questionable reasons - - if (client) - if (i_select) - if (intent) - client.screen += hud_used.intents - - var/list/L = dd_text2list(intent, ",") - L[1] += ":-11" - i_select.screen_loc = dd_list2text(L,",") //ICONS4 - else - i_select.screen_loc = null - if (m_select) - if (m_int) - client.screen += hud_used.mov_int - - var/list/L = dd_text2list(m_int, ",") - L[1] += ":-11" - m_select.screen_loc = dd_list2text(L,",") //ICONS4 - else - m_select.screen_loc = null - - // Probably a lazy way to make sure all items are on the screen exactly once - if (client) - client.screen -= contents - client.screen += contents - -/mob/living/carbon/amorph/rebuild_appearance() - // Lazy method: Just rebuild everything. - // This can be called when the mob is created, but on other occasions, rebuild_body_overlays(), - // rebuild_clothing_overlays() etc. should be called individually. - - misc_clothing_updates() // silly stuff - -/mob/living/carbon/amorph/update_body_appearance() - // Should be called whenever something about the body appearance itself changes. - - misc_clothing_updates() // silly stuff - - if(lying) - icon_state = "lying" - else - icon_state = "standing" - -/mob/living/carbon/amorph/update_lying() - // Should be called whenever something about the lying status of the mob might have changed. - - if(lying) - icon_state = "lying" - else - icon_state = "standing" - -/mob/living/carbon/amorph/hand_p(mob/M as mob) - // not even sure what this is meant to do - return - -/mob/living/carbon/amorph/restrained() - if (handcuffed) - return 0 // handcuffs don't work on amorphs - return 0 - -/mob/living/carbon/amorph/var/co2overloadtime = null -/mob/living/carbon/amorph/var/temperature_resistance = T0C+75 - -/mob/living/carbon/amorph/show_inv(mob/user as mob) - // TODO: add a window for extracting stuff from an amorph's mouth - -// called when something steps onto an amorph -// this could be made more general, but for now just handle mulebot -/mob/living/carbon/amorph/HasEntered(var/atom/movable/AM) - var/obj/machinery/bot/mulebot/MB = AM - if(istype(MB)) - MB.RunOver(src) - -//gets assignment from ID or ID inside PDA or PDA itself -//Useful when player do something with computers -/mob/living/carbon/amorph/proc/get_assignment(var/if_no_id = "No id", var/if_no_job = "No job") - // TODO: get the ID from the amorph's contents - return - -//gets name from ID or ID inside PDA or PDA itself -//Useful when player do something with computers -/mob/living/carbon/amorph/proc/get_authentification_name(var/if_no_id = "Unknown") - // TODO: get the ID from the amorph's contents - return - -//repurposed proc. Now it combines get_id_name() and get_face_name() to determine a mob's name variable. Made into a seperate proc as it'll be useful elsewhere -/mob/living/carbon/amorph/proc/get_visible_name() - // amorphs can't wear clothes or anything, so always return face_name - return get_face_name() - -//Returns "Unknown" if facially disfigured and real_name if not. Useful for setting name when polyacided or when updating a human's name variable -/mob/living/carbon/amorph/proc/get_face_name() - // there might later be ways for amorphs to change the appearance of their face - return "[real_name]" - - -//gets ID card object from special clothes slot or null. -/mob/living/carbon/amorph/proc/get_idcard() - // TODO: get the ID from the amorph's contents - - -// heal the amorph -/mob/living/carbon/amorph/heal_overall_damage(var/brute, var/burn) - bruteloss -= brute - fireloss -= burn - bruteloss = max(bruteloss, 0) - fireloss = max(fireloss, 0) - - updatehealth() - UpdateDamageIcon() - -// damage MANY external organs, in random order -/mob/living/carbon/amorph/take_overall_damage(var/brute, var/burn, var/used_weapon = null) - bruteloss += brute - fireloss += burn - - updatehealth() - UpdateDamageIcon() - -/mob/living/carbon/amorph/Topic(href, href_list) - if (href_list["refresh"]) - if((machine)&&(in_range(src, usr))) - show_inv(machine) - - if (href_list["mach_close"]) - var/t1 = text("window=[]", href_list["mach_close"]) - machine = null - src << browse(null, t1) - - if ((href_list["item"] && !( usr.stat ) && usr.canmove && !( usr.restrained() ) && in_range(src, usr) && ticker)) //if game hasn't started, can't make an equip_e - var/obj/effect/equip_e/human/O = new /obj/effect/equip_e/human( ) - O.source = usr - O.target = src - O.item = usr.equipped() - O.s_loc = usr.loc - O.t_loc = loc - O.place = href_list["item"] - if(href_list["loc"]) - O.internalloc = href_list["loc"] - requests += O - spawn( 0 ) - O.process() - return - - if (href_list["criminal"]) - if(istype(usr, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = usr - if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.glasses, /obj/item/clothing/glasses/sunglasses/sechud)) - var/perpname = "wot" - var/modified = 0 - - /*if(wear_id) - if(istype(wear_id,/obj/item/weapon/card/id)) - perpname = wear_id:registered_name - else if(istype(wear_id,/obj/item/device/pda)) - var/obj/item/device/pda/tempPda = wear_id - perpname = tempPda.owner - else*/ - perpname = src.name - - for (var/datum/data/record/E in data_core.general) - if (E.fields["name"] == perpname) - for (var/datum/data/record/R in data_core.security) - if (R.fields["id"] == E.fields["id"]) - - var/setcriminal = input(usr, "Specify a new criminal status for this person.", "Security HUD", R.fields["criminal"]) in list("None", "*Arrest*", "Incarcerated", "Parolled", "Released", "Cancel") - - if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.glasses, /obj/item/clothing/glasses/sunglasses/sechud)) - if(setcriminal != "Cancel") - R.fields["criminal"] = setcriminal - modified = 1 - - spawn() - H.handle_regular_hud_updates() - - if(!modified) - usr << "\red Unable to locate a data core entry for this person." - ..() - return - - -///eyecheck() -///Returns a number between -1 to 2 -/mob/living/carbon/amorph/eyecheck() - return 1 - - -/mob/living/carbon/amorph/IsAdvancedToolUser() - return 1//Amorphs can use guns and such - - -/mob/living/carbon/amorph/updatehealth() - if(src.nodamage) - src.health = 100 - src.stat = 0 - return - src.health = 100 - src.getOxyLoss() - src.getToxLoss() - src.getFireLoss() - src.getBruteLoss() - src.getCloneLoss() -src.halloss - return - -/mob/living/carbon/amorph/abiotic(var/full_body = 0) - return 0 - -/mob/living/carbon/amorph/abiotic2(var/full_body2 = 0) - return 0 - -/mob/living/carbon/amorph/getBruteLoss() - return src.bruteloss - -/mob/living/carbon/amorph/adjustBruteLoss(var/amount, var/used_weapon = null) - src.bruteloss += amount - if(bruteloss < 0) bruteloss = 0 - -/mob/living/carbon/amorph/getFireLoss() - return src.fireloss - -/mob/living/carbon/amorph/adjustFireLoss(var/amount,var/used_weapon = null) - src.fireloss += amount - if(fireloss < 0) fireloss = 0 - -/mob/living/carbon/amorph/get_visible_gender() - return gender diff --git a/code/WorkInProgress/Cib/amorph/amorph_attack.dm b/code/WorkInProgress/Cib/amorph/amorph_attack.dm deleted file mode 100644 index 188c682033d..00000000000 --- a/code/WorkInProgress/Cib/amorph/amorph_attack.dm +++ /dev/null @@ -1,248 +0,0 @@ - - -/mob/living/carbon/amorph/attack_paw(mob/living/carbon/monkey/M as mob) - if (!ticker) - M << "You cannot attack people before the game has started." - return - - ..() - - switch(M.a_intent) - - if ("help") - help_shake_act(M) - else - if (istype(wear_mask, /obj/item/clothing/mask/muzzle)) - return - if (health > 0) - attacked += 10 - playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("\red [M.name] has bit [src]!"), 1) - adjustBruteLoss(rand(0, 1)) - updatehealth() - return - -/mob/living/carbon/amorph/attack_hand(mob/living/carbon/human/M as mob) - - if(M.gloves && istype(M.gloves,/obj/item/clothing/gloves)) - var/obj/item/clothing/gloves/G = M.gloves - if(G.cell) - if(M.a_intent == "hurt")//Stungloves. Any contact will stun the alien. - if(G.cell.charge >= 2500) - G.cell.charge -= 2500 - Weaken(5) - if (stuttering < 5) - stuttering = 5 - Stun(5) - - for(var/mob/O in viewers(src, null)) - if (O.client) - O.show_message("\red [src] has been touched with the stun gloves by [M]!", 1, "\red You hear someone fall", 2) - return - else - M << "\red Not enough charge! " - return - - if (M.a_intent == "help") - help_shake_act(M) - else - if (M.a_intent == "hurt") - var/attack_verb - switch(M.mutantrace) - if("lizard") - attack_verb = "scratch" - if("plant") - attack_verb = "slash" - else - attack_verb = "punch" - - if(M.type == /mob/living/carbon/human/tajaran) - attack_verb = "slash" - - if ((prob(75) && health > 0)) - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("\red [] has [attack_verb]ed [name]!", M), 1) - - var/damage = rand(5, 10) - if(M.type != /mob/living/carbon/human/tajaran) - playsound(loc, "punch", 25, 1, -1) - else if(M.type == /mob/living/carbon/human/tajaran) - damage += 10 - playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) - adjustBruteLoss(damage/10) - updatehealth() - else - if(M.type != /mob/living/carbon/human/tajaran) - playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - else if(M.type == /mob/living/carbon/human/tajaran) - playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("\red [] has attempted to [attack_verb] [name]!", M), 1) - else - if (M.a_intent == "grab") - if (M == src) - return - - var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M ) - G.assailant = M - if (M.hand) - M.l_hand = G - else - M.r_hand = G - G.layer = 20 - G.affecting = src - grabbed_by += G - G.synch() - - LAssailant = M - - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - for(var/mob/O in viewers(src, null)) - O.show_message(text("\red [] has grabbed [name] passively!", M), 1) - - else - if (!( paralysis )) - drop_item() - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("\red [] has disarmed [name]!", M), 1) - return - - - -/mob/living/carbon/amorph/attack_alien(mob/living/carbon/alien/humanoid/M as mob) - - switch(M.a_intent) - if ("help") - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("\blue [M] caresses [src] with its scythe like arm."), 1) - - if ("hurt") - if ((prob(95) && health > 0)) - playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) - var/damage = rand(15, 30) - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("\red [] has slashed [name]!", M), 1) - adjustBruteLoss(damage/10) - updatehealth() - react_to_attack(M) - else - playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("\red [] has attempted to lunge at [name]!", M), 1) - - if ("grab") - if (M == src) - return - var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M ) - G.assailant = M - if (M.hand) - M.l_hand = G - else - M.r_hand = G - G.layer = 20 - G.affecting = src - grabbed_by += G - G.synch() - - LAssailant = M - - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - for(var/mob/O in viewers(src, null)) - O.show_message(text("\red [] has grabbed [name] passively!", M), 1) - - if ("disarm") - playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1) - var/damage = 5 - if(prob(95)) - Weaken(rand(10,15)) - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("\red [] has tackled down [name]!", M), 1) - else - drop_item() - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("\red [] has disarmed [name]!", M), 1) - adjustBruteLoss(damage) - react_to_attack(M) - updatehealth() - return - - - -/mob/living/carbon/amorph/attack_animal(mob/living/simple_animal/M as mob) - if(M.melee_damage_upper == 0) - M.emote("[M.friendly] [src]") - else - for(var/mob/O in viewers(src, null)) - O.show_message("\red [M] [M.attacktext] [src]!", 1) - var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) - bruteloss += damage - -/mob/living/carbon/amorph/attack_metroid(mob/living/carbon/metroid/M as mob) - if(M.Victim) return // can't attack while eating! - - if (health > -100) - - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("\red The [M.name] has [pick("bit","slashed")] []!", src), 1) - - var/damage = rand(1, 3) - - if(istype(M, /mob/living/carbon/metroid/adult)) - damage = rand(10, 35) - else - damage = rand(5, 25) - - src.cloneloss += damage - - UpdateDamageIcon() - - - if(M.powerlevel > 0) - var/stunprob = 10 - var/power = M.powerlevel + rand(0,3) - - switch(M.powerlevel) - if(1 to 2) stunprob = 20 - if(3 to 4) stunprob = 30 - if(5 to 6) stunprob = 40 - if(7 to 8) stunprob = 60 - if(9) stunprob = 70 - if(10) stunprob = 95 - - if(prob(stunprob)) - M.powerlevel -= 3 - if(M.powerlevel < 0) - M.powerlevel = 0 - - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O.show_message(text("\red The [M.name] has shocked []!", src), 1) - - Weaken(power) - if (stuttering < power) - stuttering = power - Stun(power) - - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(5, 1, src) - s.start() - - if (prob(stunprob) && M.powerlevel >= 8) - adjustFireLoss(M.powerlevel * rand(6,10)) - - - updatehealth() - - return diff --git a/code/WorkInProgress/Cib/amorph/amorph_damage.dm b/code/WorkInProgress/Cib/amorph/amorph_damage.dm deleted file mode 100644 index d49d679069c..00000000000 --- a/code/WorkInProgress/Cib/amorph/amorph_damage.dm +++ /dev/null @@ -1,12 +0,0 @@ -/mob/living/carbon/amorph/proc/HealDamage(zone, brute, burn) - return heal_overall_damage(brute, burn) - -/mob/living/carbon/amorph/UpdateDamageIcon() - // no damage sprites for amorphs yet - return - -/mob/living/carbon/amorph/apply_damage(var/damage = 0,var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/sharp = 0, var/used_weapon = null) - if(damagetype == BRUTE) - take_overall_damage(damage, 0) - else - take_overall_damage(0, damage) \ No newline at end of file diff --git a/code/WorkInProgress/Cib/amorph/amorph_hud.dm b/code/WorkInProgress/Cib/amorph/amorph_hud.dm deleted file mode 100644 index c9a4ef0cc9c..00000000000 --- a/code/WorkInProgress/Cib/amorph/amorph_hud.dm +++ /dev/null @@ -1,318 +0,0 @@ -/obj/hud/proc/amorph_hud(var/ui_style='icons/mob/screen1_old.dmi') - - src.adding = list( ) - src.other = list( ) - src.intents = list( ) - src.mon_blo = list( ) - src.m_ints = list( ) - src.mov_int = list( ) - src.vimpaired = list( ) - src.darkMask = list( ) - src.intent_small_hud_objects = list( ) - - src.g_dither = new /obj/screen( src ) - src.g_dither.screen_loc = "WEST,SOUTH to EAST,NORTH" - src.g_dither.name = "Mask" - src.g_dither.icon = ui_style - src.g_dither.icon_state = "dither12g" - src.g_dither.layer = 18 - src.g_dither.mouse_opacity = 0 - - src.alien_view = new /obj/screen(src) - src.alien_view.screen_loc = "WEST,SOUTH to EAST,NORTH" - src.alien_view.name = "Alien" - src.alien_view.icon = ui_style - src.alien_view.icon_state = "alien" - src.alien_view.layer = 18 - src.alien_view.mouse_opacity = 0 - - src.blurry = new /obj/screen( src ) - src.blurry.screen_loc = "WEST,SOUTH to EAST,NORTH" - src.blurry.name = "Blurry" - src.blurry.icon = ui_style - src.blurry.icon_state = "blurry" - src.blurry.layer = 17 - src.blurry.mouse_opacity = 0 - - src.druggy = new /obj/screen( src ) - src.druggy.screen_loc = "WEST,SOUTH to EAST,NORTH" - src.druggy.name = "Druggy" - src.druggy.icon = ui_style - src.druggy.icon_state = "druggy" - src.druggy.layer = 17 - src.druggy.mouse_opacity = 0 - - var/obj/screen/using - - using = new /obj/screen( src ) - using.name = "act_intent" - using.dir = SOUTHWEST - using.icon = ui_style - using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent) - using.screen_loc = ui_acti - using.layer = 20 - src.adding += using - action_intent = using - -//intent small hud objects - var/icon/ico - - ico = new(ui_style, "black") - ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) - ico.DrawBox(rgb(255,255,255,1),1,ico.Height()/2,ico.Width()/2,ico.Height()) - using = new /obj/screen( src ) - using.name = "help" - using.icon = ico - using.screen_loc = ui_acti - using.layer = 21 - src.adding += using - help_intent = using - - ico = new(ui_style, "black") - ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) - ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,ico.Height()/2,ico.Width(),ico.Height()) - using = new /obj/screen( src ) - using.name = "disarm" - using.icon = ico - using.screen_loc = ui_acti - using.layer = 21 - src.adding += using - disarm_intent = using - - ico = new(ui_style, "black") - ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) - ico.DrawBox(rgb(255,255,255,1),ico.Width()/2,1,ico.Width(),ico.Height()/2) - using = new /obj/screen( src ) - using.name = "grab" - using.icon = ico - using.screen_loc = ui_acti - using.layer = 21 - src.adding += using - grab_intent = using - - ico = new(ui_style, "black") - ico.MapColors(0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, -1,-1,-1,-1) - ico.DrawBox(rgb(255,255,255,1),1,1,ico.Width()/2,ico.Height()/2) - using = new /obj/screen( src ) - using.name = "harm" - using.icon = ico - using.screen_loc = ui_acti - using.layer = 21 - src.adding += using - hurt_intent = using - -//end intent small hud objects - - using = new /obj/screen( src ) - using.name = "mov_intent" - using.dir = SOUTHWEST - using.icon = ui_style - using.icon_state = (mymob.m_intent == "run" ? "running" : "walking") - using.screen_loc = ui_movi - using.layer = 20 - src.adding += using - move_intent = using - - using = new /obj/screen( src ) - using.name = "drop" - using.icon = ui_style - using.icon_state = "act_drop" - using.screen_loc = ui_dropbutton - using.layer = 19 - src.adding += using - - using = new /obj/screen( src ) - using.name = "r_hand" - using.dir = WEST - using.icon = ui_style - using.icon_state = "hand_inactive" - if(mymob && !mymob.hand) //This being 0 or null means the right hand is in use - using.icon_state = "hand_active" - using.screen_loc = ui_rhand - using.layer = 19 - src.r_hand_hud_object = using - src.adding += using - - using = new /obj/screen( src ) - using.name = "l_hand" - using.dir = EAST - using.icon = ui_style - using.icon_state = "hand_inactive" - if(mymob && mymob.hand) //This being 1 means the left hand is in use - using.icon_state = "hand_active" - using.screen_loc = ui_lhand - using.layer = 19 - src.l_hand_hud_object = using - src.adding += using - - using = new /obj/screen( src ) - using.name = "hand" - using.dir = SOUTH - using.icon = ui_style - using.icon_state = "hand1" - using.screen_loc = ui_swaphand1 - using.layer = 19 - src.adding += using - - using = new /obj/screen( src ) - using.name = "hand" - using.dir = SOUTH - using.icon = ui_style - using.icon_state = "hand2" - using.screen_loc = ui_swaphand2 - using.layer = 19 - src.adding += using - - using = new /obj/screen( src ) - using.name = "mask" - using.dir = NORTH - using.icon = ui_style - using.icon_state = "equip" - using.screen_loc = ui_monkey_mask - using.layer = 19 - src.adding += using - - using = new /obj/screen( src ) - using.name = "back" - using.dir = NORTHEAST - using.icon = ui_style - using.icon_state = "equip" - using.screen_loc = ui_back - using.layer = 19 - src.adding += using - - using = new /obj/screen( src ) - using.name = null - using.icon = ui_style - using.icon_state = "dither50" - using.screen_loc = "1,1 to 5,15" - using.layer = 17 - using.mouse_opacity = 0 - src.vimpaired += using - using = new /obj/screen( src ) - using.name = null - using.icon = ui_style - using.icon_state = "dither50" - using.screen_loc = "5,1 to 10,5" - using.layer = 17 - using.mouse_opacity = 0 - src.vimpaired += using - using = new /obj/screen( src ) - using.name = null - using.icon = ui_style - using.icon_state = "dither50" - using.screen_loc = "6,11 to 10,15" - using.layer = 17 - using.mouse_opacity = 0 - src.vimpaired += using - using = new /obj/screen( src ) - using.name = null - using.icon = ui_style - using.icon_state = "dither50" - using.screen_loc = "11,1 to 15,15" - using.layer = 17 - using.mouse_opacity = 0 - src.vimpaired += using - - mymob.throw_icon = new /obj/screen(null) - mymob.throw_icon.icon = ui_style - mymob.throw_icon.icon_state = "act_throw_off" - mymob.throw_icon.name = "throw" - mymob.throw_icon.screen_loc = ui_throw - - mymob.oxygen = new /obj/screen( null ) - mymob.oxygen.icon = ui_style - mymob.oxygen.icon_state = "oxy0" - mymob.oxygen.name = "oxygen" - mymob.oxygen.screen_loc = ui_oxygen - - mymob.pressure = new /obj/screen( null ) - mymob.pressure.icon = ui_style - mymob.pressure.icon_state = "pressure0" - mymob.pressure.name = "pressure" - mymob.pressure.screen_loc = ui_pressure - - mymob.toxin = new /obj/screen( null ) - mymob.toxin.icon = ui_style - mymob.toxin.icon_state = "tox0" - mymob.toxin.name = "toxin" - mymob.toxin.screen_loc = ui_toxin - - mymob.internals = new /obj/screen( null ) - mymob.internals.icon = ui_style - mymob.internals.icon_state = "internal0" - mymob.internals.name = "internal" - mymob.internals.screen_loc = ui_internal - - mymob.fire = new /obj/screen( null ) - mymob.fire.icon = ui_style - mymob.fire.icon_state = "fire0" - mymob.fire.name = "fire" - mymob.fire.screen_loc = ui_fire - - mymob.bodytemp = new /obj/screen( null ) - mymob.bodytemp.icon = ui_style - mymob.bodytemp.icon_state = "temp1" - mymob.bodytemp.name = "body temperature" - mymob.bodytemp.screen_loc = ui_temp - - mymob.healths = new /obj/screen( null ) - mymob.healths.icon = ui_style - mymob.healths.icon_state = "health0" - mymob.healths.name = "health" - mymob.healths.screen_loc = ui_health - - mymob.pullin = new /obj/screen( null ) - mymob.pullin.icon = ui_style - mymob.pullin.icon_state = "pull0" - mymob.pullin.name = "pull" - mymob.pullin.screen_loc = ui_pull - - mymob.blind = new /obj/screen( null ) - mymob.blind.icon = ui_style - mymob.blind.icon_state = "blackanimate" - mymob.blind.name = " " - mymob.blind.screen_loc = "1,1 to 15,15" - mymob.blind.layer = 0 - mymob.blind.mouse_opacity = 0 - - mymob.flash = new /obj/screen( null ) - mymob.flash.icon = ui_style - mymob.flash.icon_state = "blank" - mymob.flash.name = "flash" - mymob.flash.screen_loc = "1,1 to 15,15" - mymob.flash.layer = 17 - - mymob.zone_sel = new /obj/screen/zone_sel( null ) - mymob.zone_sel.overlays = null - mymob.zone_sel.overlays += image("icon" = 'icons/mob/zone_sel.dmi', "icon_state" = text("[]", mymob.zone_sel.selecting)) - - //Handle the gun settings buttons - mymob.gun_setting_icon = new /obj/screen/gun/mode(null) - if (mymob.client) - if (mymob.client.gun_mode) // If in aim mode, correct the sprite - mymob.gun_setting_icon.dir = 2 - for(var/obj/item/weapon/gun/G in mymob) // If targeting someone, display other buttons - if (G.target) - mymob.item_use_icon = new /obj/screen/gun/item(null) - if (mymob.client.target_can_click) - mymob.item_use_icon.dir = 1 - src.adding += mymob.item_use_icon - mymob.gun_move_icon = new /obj/screen/gun/move(null) - if (mymob.client.target_can_move) - mymob.gun_move_icon.dir = 1 - mymob.gun_run_icon = new /obj/screen/gun/run(null) - if (mymob.client.target_can_run) - mymob.gun_run_icon.dir = 1 - src.adding += mymob.gun_run_icon - src.adding += mymob.gun_move_icon - - mymob.client.screen = null - - //, mymob.i_select, mymob.m_select - mymob.client.screen += list( mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.pressure, mymob.toxin, mymob.bodytemp, mymob.internals, mymob.fire, mymob.healths, mymob.pullin, mymob.blind, mymob.flash, mymob.gun_setting_icon) //, mymob.hands, mymob.rest, mymob.sleep, mymob.mach, mymob.hands, ) - mymob.client.screen += src.adding + src.other - - //if(istype(mymob,/mob/living/carbon/monkey)) mymob.client.screen += src.mon_blo - - return diff --git a/code/WorkInProgress/Cib/amorph/life.dm b/code/WorkInProgress/Cib/amorph/life.dm deleted file mode 100644 index e3eae759756..00000000000 --- a/code/WorkInProgress/Cib/amorph/life.dm +++ /dev/null @@ -1,516 +0,0 @@ -/mob/living/carbon/amorph - var/obj/item/weapon/card/id/wear_id = null // Fix for station bounced radios -- Skie - - var/oxygen_alert = 0 - var/toxins_alert = 0 - var/fire_alert = 0 - - var/temperature_alert = 0 - - -/mob/living/carbon/amorph/Life() - set invisibility = 0 - set background = 1 - - if (src.monkeyizing) - return - - ..() - - var/datum/gas_mixture/environment // Added to prevent null location errors-- TLE - if(src.loc) - environment = loc.return_air() - - if (src.stat != 2) //still breathing - - //First, resolve location and get a breath - - if(air_master.current_cycle%4==2) - //Only try to take a breath every 4 seconds, unless suffocating - breathe() - - else //Still give containing object the chance to interact - if(istype(loc, /obj/)) - var/obj/location_as_object = loc - location_as_object.handle_internal_lifeform(src, 0) - - //Apparently, the person who wrote this code designed it so that - //blinded get reset each cycle and then get activated later in the - //code. Very ugly. I dont care. Moving this stuff here so its easy - //to find it. - src.blinded = null - - //Disease Check - handle_virus_updates() - - //Handle temperature/pressure differences between body and environment - if(environment) // More error checking -- TLE - handle_environment(environment) - - //Mutations and radiation - handle_mutations_and_radiation() - - //Chemicals in the body - handle_chemicals_in_body() - - //Disabilities - handle_disabilities() - - //Status updates, death etc. -// UpdateLuminosity() - handle_regular_status_updates() - - if(client) - handle_regular_hud_updates() - - //Being buckled to a chair or bed - check_if_buckled() - - // Yup. - update_canmove() - - clamp_values() - - // Grabbing - for(var/obj/item/weapon/grab/G in src) - G.process() - -/mob/living/carbon/amorph - proc - - clamp_values() - - AdjustStunned(0) - AdjustParalysis(0) - AdjustWeakened(0) - - handle_disabilities() - if (src.disabilities & 4) - if ((prob(5) && src.paralysis <= 1 && src.r_ch_cou < 1)) - src.drop_item() - spawn( 0 ) - emote("cough") - return - if (src.disabilities & 8) - if ((prob(10) && src.paralysis <= 1 && src.r_Tourette < 1)) - Stun(10) - spawn( 0 ) - emote("twitch") - return - if (src.disabilities & 16) - if (prob(10)) - src.stuttering = max(10, src.stuttering) - - update_mind() - if(!mind && client) - mind = new - mind.current = src - mind.key = key - - handle_mutations_and_radiation() - // amorphs are immune to this stuff - - breathe() - if(src.reagents) - - if(src.reagents.has_reagent("lexorin")) return - - if(!loc) return //probably ought to make a proper fix for this, but :effort: --NeoFite - - var/datum/gas_mixture/environment = loc.return_air() - var/datum/gas_mixture/breath - - if(losebreath>0) //Suffocating so do not take a breath - src.losebreath-- - if (prob(75)) //High chance of gasping for air - spawn emote("gasp") - if(istype(loc, /obj/)) - var/obj/location_as_object = loc - location_as_object.handle_internal_lifeform(src, 0) - else - //First, check for air from internal atmosphere (using an air tank and mask generally) - breath = get_breath_from_internal(BREATH_VOLUME) - - //No breath from internal atmosphere so get breath from location - if(!breath) - if(istype(loc, /obj/)) - var/obj/location_as_object = loc - breath = location_as_object.handle_internal_lifeform(src, BREATH_VOLUME) - else if(istype(loc, /turf/)) - var/breath_moles = environment.total_moles()*BREATH_PERCENTAGE - breath = loc.remove_air(breath_moles) - - // Handle chem smoke effect -- Doohl - var/block = 0 - if(wear_mask) - if(istype(wear_mask, /obj/item/clothing/mask/gas)) - block = 1 - - if(!block) - - for(var/obj/effect/effect/chem_smoke/smoke in view(1, src)) - if(smoke.reagents.total_volume) - smoke.reagents.reaction(src, INGEST) - spawn(5) - if(smoke) - smoke.reagents.copy_to(src, 10) // I dunno, maybe the reagents enter the blood stream through the lungs? - break // If they breathe in the nasty stuff once, no need to continue checking - - - else //Still give containing object the chance to interact - if(istype(loc, /obj/)) - var/obj/location_as_object = loc - location_as_object.handle_internal_lifeform(src, 0) - - handle_breath(breath) - - if(breath) - loc.assume_air(breath) - - - get_breath_from_internal(volume_needed) - if(internal) - if (!contents.Find(src.internal)) - internal = null - if (!wear_mask || !(wear_mask.flags|MASKINTERNALS) ) - internal = null - if(internal) - if (src.internals) - src.internals.icon_state = "internal1" - return internal.remove_air_volume(volume_needed) - else - if (src.internals) - src.internals.icon_state = "internal0" - return null - - update_canmove() - if(paralysis || stunned || weakened || buckled || (changeling && changeling.changeling_fakedeath)) canmove = 0 - else canmove = 1 - - handle_breath(datum/gas_mixture/breath) - if(src.nodamage) - return - - if(!breath || (breath.total_moles == 0)) - adjustOxyLoss(7) - - oxygen_alert = max(oxygen_alert, 1) - - return 0 - - var/safe_oxygen_min = 8 // Minimum safe partial pressure of O2, in kPa - //var/safe_oxygen_max = 140 // Maximum safe partial pressure of O2, in kPa (Not used for now) - var/SA_para_min = 0.5 - var/SA_sleep_min = 5 - var/oxygen_used = 0 - var/breath_pressure = (breath.total_moles()*R_IDEAL_GAS_EQUATION*breath.temperature)/BREATH_VOLUME - - //Partial pressure of the O2 in our breath - var/O2_pp = (breath.oxygen/breath.total_moles())*breath_pressure - - if(O2_pp < safe_oxygen_min) // Too little oxygen - if(prob(20)) - spawn(0) emote("gasp") - if (O2_pp == 0) - O2_pp = 0.01 - var/ratio = safe_oxygen_min/O2_pp - adjustOxyLoss(min(5*ratio, 7)) // Don't fuck them up too fast (space only does 7 after all!) - oxygen_used = breath.oxygen*ratio/6 - oxygen_alert = max(oxygen_alert, 1) - else // We're in safe limits - adjustOxyLoss(-5) - oxygen_used = breath.oxygen/6 - oxygen_alert = 0 - - breath.oxygen -= oxygen_used - breath.carbon_dioxide += oxygen_used - - if(breath.trace_gases.len) // If there's some other shit in the air lets deal with it here. - for(var/datum/gas/sleeping_agent/SA in breath.trace_gases) - var/SA_pp = (SA.moles/breath.total_moles())*breath_pressure - if(SA_pp > SA_para_min) // Enough to make us paralysed for a bit - Paralyse(3) // 3 gives them one second to wake up and run away a bit! - if(SA_pp > SA_sleep_min) // Enough to make us sleep as well - src.sleeping = max(src.sleeping+2, 10) - else if(SA_pp > 0.01) // There is sleeping gas in their lungs, but only a little, so give them a bit of a warning - if(prob(20)) - spawn(0) emote(pick("giggle", "laugh")) - - return 1 - - handle_environment(datum/gas_mixture/environment) - if(!environment) - return - var/environment_heat_capacity = environment.heat_capacity() - if(istype(loc, /turf/space)) - environment_heat_capacity = loc:heat_capacity - - if((environment.temperature > (T0C + 50)) || (environment.temperature < (T0C + 10))) - var/transfer_coefficient - - transfer_coefficient = 1 - if(wear_mask && (wear_mask.body_parts_covered & HEAD) && (environment.temperature < wear_mask.protective_temperature)) - transfer_coefficient *= wear_mask.heat_transfer_coefficient - - handle_temperature_damage(HEAD, environment.temperature, environment_heat_capacity*transfer_coefficient) - - if(stat==2) - bodytemperature += 0.1*(environment.temperature - bodytemperature)*environment_heat_capacity/(environment_heat_capacity + 270000) - - //Account for massive pressure differences - - - var/pressure = environment.return_pressure() - - // if(!wear_suit) Monkies cannot into space. - // if(!istype(wear_suit, /obj/item/clothing/suit/space)) - - /*if(pressure < 20) - if(prob(25)) - src << "You feel the splittle on your lips and the fluid on your eyes boiling away, the capillteries in your skin breaking." - adjustBruteLoss(5) - */ - - if(pressure > HAZARD_HIGH_PRESSURE) - - adjustBruteLoss(min((10+(round(pressure/(HIGH_STEP_PRESSURE)-2)*5)),MAX_PRESSURE_DAMAGE)) - - - - return //TODO: DEFERRED - - handle_temperature_damage(body_part, exposed_temperature, exposed_intensity) - if(src.nodamage) return - var/discomfort = min( abs(exposed_temperature - bodytemperature)*(exposed_intensity)/2000000, 1.0) - if(exposed_temperature > bodytemperature) - adjustFireLoss(20.0*discomfort) - - else - adjustFireLoss(5.0*discomfort) - - handle_chemicals_in_body() - // most chemicals will have no effect on amorphs - //if(reagents) reagents.metabolize(src) - - if (src.drowsyness) - src.drowsyness-- - src.eye_blurry = max(2, src.eye_blurry) - if (prob(5)) - src.sleeping += 1 - Paralyse(5) - - confused = max(0, confused - 1) - // decrement dizziness counter, clamped to 0 - if(resting) - dizziness = max(0, dizziness - 5) - else - dizziness = max(0, dizziness - 1) - - src.updatehealth() - - return //TODO: DEFERRED - - handle_regular_status_updates() - - health = 100 - (getOxyLoss() + getToxLoss() + getFireLoss() + getBruteLoss() + getCloneLoss()) - - if(getOxyLoss() > 25) Paralyse(3) - - if(src.sleeping) - Paralyse(5) - if (prob(1) && health) spawn(0) emote("snore") - - if(src.resting) - Weaken(5) - - if(health < config.health_threshold_dead && stat != 2) - death() - else if(src.health < config.health_threshold_crit) - if(src.health <= 20 && prob(1)) spawn(0) emote("gasp") - - // shuffle around the chemical effects for amorphs a little ;) - if(!src.reagents.has_reagent("antitoxin") && src.stat != 2) src.adjustOxyLoss(2) - - if(src.stat != 2) src.stat = 1 - Paralyse(5) - - if (src.stat != 2) //Alive. - - if (src.paralysis || src.stunned || src.weakened) //Stunned etc. - if (src.stunned > 0) - AdjustStunned(-1) - src.stat = 0 - if (src.weakened > 0) - AdjustWeakened(-1) - src.lying = 1 - src.stat = 0 - if (src.paralysis > 0) - AdjustParalysis(-1) - src.blinded = 1 - src.lying = 1 - src.stat = 1 - var/h = src.hand - src.hand = 0 - drop_item() - src.hand = 1 - drop_item() - src.hand = h - - else //Not stunned. - src.lying = 0 - src.stat = 0 - - else //Dead. - src.lying = 1 - src.blinded = 1 - src.stat = 2 - - if (src.stuttering) src.stuttering-- - if (src.slurring) src.slurring-- - - if (src.eye_blind) - src.eye_blind-- - src.blinded = 1 - - if (src.ear_deaf > 0) src.ear_deaf-- - if (src.ear_damage < 25) - src.ear_damage -= 0.05 - src.ear_damage = max(src.ear_damage, 0) - - src.density = !( src.lying ) - - if (src.disabilities & 128) - src.blinded = 1 - if (src.disabilities & 32) - src.ear_deaf = 1 - - if (src.eye_blurry > 0) - src.eye_blurry-- - src.eye_blurry = max(0, src.eye_blurry) - - if (src.druggy > 0) - src.druggy-- - src.druggy = max(0, src.druggy) - - return 1 - - handle_regular_hud_updates() - - if (src.stat == 2 || (M_XRAY in mutations)) - src.sight |= SEE_TURFS - src.sight |= SEE_MOBS - src.sight |= SEE_OBJS - src.see_in_dark = 8 - src.see_invisible = 2 - else if (src.stat != 2) - src.sight &= ~SEE_TURFS - src.sight &= ~SEE_MOBS - src.sight &= ~SEE_OBJS - src.see_in_dark = 2 - src.see_invisible = 0 - - if (src.sleep) - src.sleep.icon_state = text("sleep[]", src.sleeping > 0 ? 1 : 0) - src.sleep.overlays = null - if(src.sleeping_willingly) - src.sleep.overlays += icon(src.sleep.icon, "sleep_willing") - if (src.rest) src.rest.icon_state = text("rest[]", src.resting) - - if (src.healths) - if (src.stat != 2) - switch(health) - if(100 to INFINITY) - src.healths.icon_state = "health0" - if(80 to 100) - src.healths.icon_state = "health1" - if(60 to 80) - src.healths.icon_state = "health2" - if(40 to 60) - src.healths.icon_state = "health3" - if(20 to 40) - src.healths.icon_state = "health4" - if(0 to 20) - src.healths.icon_state = "health5" - else - src.healths.icon_state = "health6" - else - src.healths.icon_state = "health7" - - if (pressure) - var/datum/gas_mixture/environment = loc.return_air() - if(environment) - switch(environment.return_pressure()) - - if(HAZARD_HIGH_PRESSURE to INFINITY) - pressure.icon_state = "pressure2" - if(WARNING_HIGH_PRESSURE to HAZARD_HIGH_PRESSURE) - pressure.icon_state = "pressure1" - if(WARNING_LOW_PRESSURE to WARNING_HIGH_PRESSURE) - pressure.icon_state = "pressure0" - if(HAZARD_LOW_PRESSURE to WARNING_LOW_PRESSURE) - pressure.icon_state = "pressure-1" - else - pressure.icon_state = "pressure-2" - - if(src.pullin) src.pullin.icon_state = "pull[src.pulling ? 1 : 0]" - - - if (src.toxin) src.toxin.icon_state = "tox[src.toxins_alert ? 1 : 0]" - if (src.oxygen) src.oxygen.icon_state = "oxy[src.oxygen_alert ? 1 : 0]" - if (src.fire) src.fire.icon_state = "fire[src.fire_alert ? 1 : 0]" - //NOTE: the alerts dont reset when youre out of danger. dont blame me, - //blame the person who coded them. Temporary fix added. - - if(bodytemp) - switch(src.bodytemperature) //310.055 optimal body temp - if(345 to INFINITY) - src.bodytemp.icon_state = "temp4" - if(335 to 345) - src.bodytemp.icon_state = "temp3" - if(327 to 335) - src.bodytemp.icon_state = "temp2" - if(316 to 327) - src.bodytemp.icon_state = "temp1" - if(300 to 316) - src.bodytemp.icon_state = "temp0" - if(295 to 300) - src.bodytemp.icon_state = "temp-1" - if(280 to 295) - src.bodytemp.icon_state = "temp-2" - if(260 to 280) - src.bodytemp.icon_state = "temp-3" - else - src.bodytemp.icon_state = "temp-4" - - src.client.screen -= src.hud_used.blurry - src.client.screen -= src.hud_used.druggy - src.client.screen -= src.hud_used.vimpaired - - if ((src.blind && src.stat != 2)) - if ((src.blinded)) - src.blind.layer = 18 - else - src.blind.layer = 0 - - if (src.disabilities & 1) - src.client.screen += src.hud_used.vimpaired - - if (src.eye_blurry) - src.client.screen += src.hud_used.blurry - - if (src.druggy) - src.client.screen += src.hud_used.druggy - - if (src.stat != 2) - if (src.machine) - if (!( src.machine.check_eye(src) )) - src.reset_view(null) - else - if(!client.adminobs) - reset_view(null) - - return 1 - - handle_virus_updates() - // amorphs can't come down with human diseases - return \ No newline at end of file diff --git a/code/WorkInProgress/Cib/amorph/say.dm b/code/WorkInProgress/Cib/amorph/say.dm deleted file mode 100644 index a73c9de5d39..00000000000 --- a/code/WorkInProgress/Cib/amorph/say.dm +++ /dev/null @@ -1,6 +0,0 @@ -/mob/living/carbon/amorph/emote(var/act,var/m_type=1,var/message = null) - if(act == "me") - return custom_emote(m_type, message) - -/mob/living/carbon/amorph/say_quote(var/text) - return "[src.say_message], \"[text]\""; diff --git a/code/WorkInProgress/Cib/meme.dm b/code/WorkInProgress/Cib/meme.dm deleted file mode 100644 index 880f21bad51..00000000000 --- a/code/WorkInProgress/Cib/meme.dm +++ /dev/null @@ -1,596 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05 - -// === MEMETIC ANOMALY === -// ======================= - -/** -This life form is a form of parasite that can gain a certain level of control -over its host. Its player will share vision and hearing with the host, and it'll -be able to influence the host through various commands. -**/ - -// The maximum amount of points a meme can gather. -var/global/const/MAXIMUM_MEME_POINTS = 750 - - -// === PARASITE === -// ================ - -// a list of all the parasites in the mob -mob/living/carbon/var/list/parasites = list() - -mob/living/parasite - var/mob/living/carbon/host // the host that this parasite occupies - - Login() - ..() - - // make the client see through the host instead - client.eye = host - client.perspective = EYE_PERSPECTIVE - - -mob/living/parasite/proc/enter_host(mob/living/carbon/host) - // by default, parasites can't share a body with other life forms - if(host.parasites.len > 0) - return 0 - - src.host = host - src.loc = host - host.parasites.Add(src) - - if(client) client.eye = host - - return 1 - -mob/living/parasite/proc/exit_host() - src.host.parasites.Remove(src) - src.host = null - src.loc = null - - return 1 - - -// === MEME === -// ============ - -// Memes use points for many actions -mob/living/parasite/meme/var/meme_points = 100 -mob/living/parasite/meme/var/dormant = 0 - -// Memes have a list of indoctrinated hosts -mob/living/parasite/meme/var/list/indoctrinated = list() - -mob/living/parasite/meme/Life() - ..() - - if(client) - if(blinded) client.eye = null - else client.eye = host - - if(!host) return - - // recover meme points slowly - var/gain = 3 - if(dormant) gain = 9 // dormant recovers points faster - - meme_points = min(meme_points + gain, MAXIMUM_MEME_POINTS) - - // if there are sleep toxins in the host's body, that's bad - if(host.reagents.has_reagent("stoxin")) - src << "\red Something in your host's blood makes you lose consciousness.. you fade away.." - src.death() - return - // a host without brain is no good - if(!host.mind) - src << "\red Your host has no mind.. you fade away.." - src.death() - return - if(host.stat == 2) - src << "\red Your host has died.. you fade away.." - src.death() - return - - if(host.blinded && host.stat != 1) src.blinded = 1 - else src.blinded = 0 - - -mob/living/parasite/meme/death() - // make sure the mob is on the actual map before gibbing - if(host) src.loc = host.loc - src.stat = 2 - ..() - del src - -// When a meme speaks, it speaks through its host -mob/living/parasite/meme/say(message as text) - if(dormant) - usr << "\red You're dormant!" - return - if(!host) - usr << "\red You can't speak without host!" - return - - return host.say(message) - -// Same as speak, just with whisper -mob/living/parasite/meme/whisper(message as text) - if(dormant) - usr << "\red You're dormant!" - return - if(!host) - usr << "\red You can't speak without host!" - return - - return host.whisper(message) - -// Make the host do things -mob/living/parasite/meme/me_verb(message as text) - set name = "Me" - - - if(dormant) - usr << "\red You're dormant!" - return - - if(!host) - usr << "\red You can't emote without host!" - return - - return host.me_verb(message) - -// A meme understands everything their host understands -mob/living/parasite/meme/say_understands(mob/other) - if(!host) return 0 - - return host.say_understands(other) - -// Try to use amount points, return 1 if successful -mob/living/parasite/meme/proc/use_points(amount) - if(dormant) - usr << "\red You're dormant!" - return - if(src.meme_points < amount) - src << "* You don't have enough meme points(need [amount])." - return 0 - - src.meme_points -= round(amount) - return 1 - -// Let the meme choose one of his indoctrinated mobs as target -mob/living/parasite/meme/proc/select_indoctrinated(var/title, var/message) - var/list/candidates - - // Can only affect other mobs thant he host if not blinded - if(blinded) - candidates = list() - src << "\red You are blinded, so you can not affect mobs other than your host." - else - candidates = indoctrinated.Copy() - - candidates.Add(src.host) - - var/mob/target = null - if(candidates.len == 1) - target = candidates[1] - else - var/selected - - var/list/text_candidates = list() - var/list/map_text_to_mob = list() - - for(var/mob/living/carbon/human/M in candidates) - text_candidates += M.real_name - map_text_to_mob[M.real_name] = M - - selected = input(message,title) as null|anything in text_candidates - if(!selected) return null - - target = map_text_to_mob[selected] - - return target - - -// A meme can make people hear things with the thought ability -mob/living/parasite/meme/verb/Thought() - set category = "Meme" - set name = "Thought(50)" - set desc = "Implants a thought into the target, making them think they heard someone talk." - - if(meme_points < 50) - // just call use_points() to give the standard failure message - use_points(50) - return - - var/list/candidates = indoctrinated.Copy() - if(!(src.host in candidates)) - candidates.Add(src.host) - - var/mob/target = select_indoctrinated("Thought", "Select a target which will hear your thought.") - - if(!target) return - - var/speaker = input("Select the voice in which you would like to make yourself heard.", "Voice") as null|text - if(!speaker) return - - var/message = input("What would you like to say?", "Message") as null - if(!message) return - - // Use the points at the end rather than the beginning, because the user might cancel - if(!use_points(50)) return - - message = say_quote(message) - var/rendered = "[speaker] [message]" - target.show_message(rendered) - - usr << "You make [target] hear: [rendered]" - -// Mutes the host -mob/living/parasite/meme/verb/Mute() - set category = "Meme" - set name = "Mute(250)" - set desc = "Prevents your host from talking for a while." - - if(!src.host) return - if(!host.speech_allowed) - usr << "\red Your host already can't speak.." - return - if(!use_points(250)) return - - spawn - // backup the host incase we switch hosts after using the verb - var/mob/host = src.host - - host << "\red Your tongue feels numb.. You lose your ability to speak." - usr << "\red Your host can't speak anymore." - - host.speech_allowed = 0 - - sleep(1200) - - host.speech_allowed = 1 - host << "\red Your tongue has feeling again.." - usr << "\red [host] can speak again." - -// Makes the host unable to emote -mob/living/parasite/meme/verb/Paralyze() - set category = "Meme" - set name = "Paralyze(250)" - set desc = "Prevents your host from using emote for a while." - - if(!src.host) return - if(!host.use_me) - usr << "\red Your host already can't use body language.." - return - if(!use_points(250)) return - - spawn - // backup the host incase we switch hosts after using the verb - var/mob/host = src.host - - host << "\red Your body feels numb.. You lose your ability to use body language." - usr << "\red Your host can't use body language anymore." - - host.use_me = 0 - - sleep(1200) - - host.use_me = 1 - host << "\red Your body has feeling again.." - usr << "\red [host] can use body language again." - - - -// Cause great agony with the host, used for conditioning the host -mob/living/parasite/meme/verb/Agony() - set category = "Meme" - set name = "Agony(200)" - set desc = "Causes significant pain in your host." - - if(!src.host) return - if(!use_points(200)) return - - spawn - // backup the host incase we switch hosts after using the verb - var/mob/host = src.host - - host.paralysis = max(host.paralysis, 2) - - host.flash_weak_pain() - host << "\red You feel excrutiating pain all over your body! It is so bad you can't think or articulate yourself properly.." - - usr << "You send a jolt of agonizing pain through [host], they should be unable to concentrate on anything else for half a minute." - - host.emote("scream") - - for(var/i=0, i<10, i++) - host.stuttering = 2 - sleep(50) - if(prob(80)) host.flash_weak_pain() - if(prob(10)) host.paralysis = max(host.paralysis, 2) - if(prob(15)) host.emote("twitch") - else if(prob(15)) host.emote("scream") - else if(prob(10)) host.emote("collapse") - - if(i == 10) - host << "\red THE PAIN! AGHH, THE PAIN! MAKE IT STOP! ANYTHING TO MAKE IT STOP!" - - host << "\red The pain subsides.." - -// Cause great joy with the host, used for conditioning the host -mob/living/parasite/meme/verb/Joy() - set category = "Meme" - set name = "Joy(200)" - set desc = "Causes significant joy in your host." - - if(!src.host) return - if(!use_points(200)) return - - spawn - var/mob/host = src.host - host.druggy = max(host.druggy, 50) - host.slurring = max(host.slurring, 10) - - usr << "You stimulate [host.name]'s brain, injecting waves of endorphines and dopamine into the tissue. They should now forget all their worries, particularly relating to you, for around a minute." - - host << "\red You are feeling wonderful! Your head is numb and drowsy, and you can't help forgetting all the worries in the world." - - while(host.druggy > 0) - sleep(10) - - host << "\red You are feeling clear-headed again.." - -// Cause the target to hallucinate. -mob/living/parasite/meme/verb/Hallucinate() - set category = "Meme" - set name = "Hallucinate(300)" - set desc = "Makes your host hallucinate, has a short delay." - - var/mob/target = select_indoctrinated("Hallucination", "Who should hallucinate?") - - if(!target) return - if(!use_points(300)) return - - target.hallucination += 100 - - usr << "You make [target] hallucinate." - -// Jump to a closeby target through a whisper -mob/living/parasite/meme/verb/SubtleJump(mob/living/carbon/human/target as mob in world) - set category = "Meme" - set name = "Subtle Jump(350)" - set desc = "Move to a closeby human through a whisper." - - if(!istype(target, /mob/living/carbon/human) || !target.mind) - src << "You can't jump to this creature.." - return - if(!(target in view(1, host)+src)) - src << "The target is not close enough." - return - - // Find out whether we can speak - if (host.silent || (host.disabilities & 64)) - src << "Your host can't speak.." - return - - if(!use_points(350)) return - - for(var/mob/M in view(1, host)) - M.show_message("[host] whispers something incoherent.",2) // 2 stands for hearable message - - // Find out whether the target can hear - if(target.disabilities & 32 || target.ear_deaf) - src << "Your target doesn't seem to hear you.." - return - - if(target.parasites.len > 0) - src << "Your target already is possessed by something.." - return - - src.exit_host() - src.enter_host(target) - - usr << "You successfully jumped to [target]." - log_admin("[src.key] has jumped to [target]") - message_admins("[src.key] has jumped to [target]") - -// Jump to a distant target through a shout -mob/living/parasite/meme/verb/ObviousJump(mob/living/carbon/human/target as mob in world) - set category = "Meme" - set name = "Obvious Jump(750)" - set desc = "Move to any mob in view through a shout." - - if(!istype(target, /mob/living/carbon/human) || !target.mind) - src << "You can't jump to this creature.." - return - if(!(target in view(host))) - src << "The target is not close enough." - return - - // Find out whether we can speak - if (host.silent || (host.disabilities & 64)) - src << "Your host can't speak.." - return - - if(!use_points(750)) return - - for(var/mob/M in view(host)+src) - M.show_message("[host] screams something incoherent!",2) // 2 stands for hearable message - - // Find out whether the target can hear - if(target.disabilities & 32 || target.ear_deaf) - src << "Your target doesn't seem to hear you.." - return - - if(target.parasites.len > 0) - src << "Your target already is possessed by something.." - return - - src.exit_host() - src.enter_host(target) - - usr << "You successfully jumped to [target]." - log_admin("[src.key] has jumped to [target]") - message_admins("[src.key] has jumped to [target]") - -// Jump to an attuned mob for free -mob/living/parasite/meme/verb/AttunedJump(mob/living/carbon/human/target as mob in world) - set category = "Meme" - set name = "Attuned Jump(0)" - set desc = "Move to a mob in sight that you have already attuned." - - if(!istype(target, /mob/living/carbon/human) || !target.mind) - src << "You can't jump to this creature.." - return - if(!(target in view(host))) - src << "You need to make eye-contact with the target." - return - if(!(target in indoctrinated)) - src << "You need to attune the target first." - return - - src.exit_host() - src.enter_host(target) - - usr << "You successfully jumped to [target]." - - log_admin("[src.key] has jumped to [target]") - message_admins("[src.key] has jumped to [target]") - -// ATTUNE a mob, adding it to the indoctrinated list -mob/living/parasite/meme/verb/Attune() - set category = "Meme" - set name = "Attune(400)" - set desc = "Change the host's brain structure, making it easier for you to manipulate him." - - if(host in src.indoctrinated) - usr << "You have already attuned this host." - return - - if(!host) return - if(!use_points(400)) return - - src.indoctrinated.Add(host) - - usr << "You successfully indoctrinated [host]." - host << "\red Your head feels a bit roomier.." - - log_admin("[src.key] has attuned [host]") - message_admins("[src.key] has attuned [host]") - -// Enables the mob to take a lot more damage -mob/living/parasite/meme/verb/Analgesic() - set category = "Meme" - set name = "Analgesic(500)" - set desc = "Combat drug that the host to move normally, even under life-threatening pain." - - if(!host) return - if(!(host in indoctrinated)) - usr << "\red You need to attune the host first." - return - if(!use_points(500)) return - - usr << "You inject drugs into [host]." - host << "\red You feel your body strengthen and your pain subside.." - host.analgesic = 60 - while(host.analgesic > 0) - sleep(10) - host << "\red The dizziness wears off, and you can feel pain again.." - - -mob/proc/clearHUD() - if(client) client.screen.Cut() - -// Take control of the mob -mob/living/parasite/meme/verb/Possession() - set category = "Meme" - set name = "Possession(500)" - set desc = "Take direct control of the host for a while." - - if(!host) return - if(!(host in indoctrinated)) - usr << "\red You need to attune the host first." - return - if(!use_points(500)) return - - usr << "You take control of [host]!" - host << "\red Everything goes black.." - - spawn - var/mob/dummy = new() - dummy.loc = 0 - dummy.sight = BLIND - - var/datum/mind/host_mind = host.mind - var/datum/mind/meme_mind = src.mind - - host_mind.transfer_to(dummy) - meme_mind.transfer_to(host) - host_mind.current.clearHUD() - host.update_clothing() - - dummy << "\blue You feel very drowsy.. Your eyelids become heavy..." - - log_admin("[meme_mind.key] has taken possession of [host]([host_mind.key])") - message_admins("[meme_mind.key] has taken possession of [host]([host_mind.key])") - - sleep(600) - - log_admin("[meme_mind.key] has lost possession of [host]([host_mind.key])") - message_admins("[meme_mind.key] has lost possession of [host]([host_mind.key])") - - meme_mind.transfer_to(src) - host_mind.transfer_to(host) - meme_mind.current.clearHUD() - host.update_clothing() - src << "\red You lose control.." - - del dummy - -// Enter dormant mode, increases meme point gain -mob/living/parasite/meme/verb/Dormant() - set category = "Meme" - set name = "Dormant(100)" - set desc = "Speed up point recharging, will force you to cease all actions until all points are recharged." - - if(!host) return - if(!use_points(100)) return - - usr << "You enter dormant mode.. You won't be able to take action until all your points have recharged." - - dormant = 1 - - while(meme_points < MAXIMUM_MEME_POINTS) - sleep(10) - - dormant = 0 - - usr << "\red You have regained all points and exited dormant mode!" - -mob/living/parasite/meme/verb/Show_Points() - set category = "Meme" - - usr << "Meme Points: [src.meme_points]/[MAXIMUM_MEME_POINTS]" - -// Stat panel to show meme points, copypasted from alien -/mob/living/parasite/meme/Stat() - ..() - - statpanel("Status") - if (client && client.holder) - stat(null, "([x], [y], [z])") - - if (client && client.statpanel == "Status") - stat(null, "Meme Points: [src.meme_points]") - -// Game mode helpers, used for theft objectives -// -------------------------------------------- -mob/living/parasite/check_contents_for(t) - if(!host) return 0 - - return host.check_contents_for(t) - -mob/living/parasite/check_contents_for_reagent(t) - if(!host) return 0 - - return host.check_contents_for_reagent(t) diff --git a/code/WorkInProgress/IndexLP/indexlp_defines.dm b/code/WorkInProgress/IndexLP/indexlp_defines.dm deleted file mode 100644 index 2f3402be59d..00000000000 --- a/code/WorkInProgress/IndexLP/indexlp_defines.dm +++ /dev/null @@ -1,32 +0,0 @@ -//Clothing -/obj/item/clothing/suit/storage/centcomm_jacket - name = "Central Command Jacket" - desc = "A black jacket embroidered with the Central Command dress print." - icon = 'code/WorkInProgress/IndexLP/indexlp_icons.dmi' - icon_state = "mob_centcomm_jacket_open" - item_state = "mob_centcomm_jacket" - sprite_sheets = list( - "Human" = 'code/WorkInProgress/IndexLP/indexlp_icons.dmi' - ) - blood_overlay_type = "coat" - body_parts_covered = UPPER_TORSO|ARMS - - verb/toggle() - set name = "Toggle Coat Buttons" - set category = "Object" - set src in usr - - if(!usr.canmove || usr.stat || usr.restrained()) - return 0 - - switch(icon_state) - if("mob_centcomm_jacket_open") - src.icon_state = "mob_centcomm_jacket" - usr << "You button up the jacket." - if("mob_centcomm_jacket") - src.icon_state = "mob_centcomm_jacket_open" - usr << "You unbutton the jacket." - else - usr << "You attempt to button-up your [src], before promptly realising how retarded you are." - return - usr.update_inv_wear_suit() //so our overlays update \ No newline at end of file diff --git a/code/WorkInProgress/IndexLP/indexlp_icons.dmi b/code/WorkInProgress/IndexLP/indexlp_icons.dmi deleted file mode 100644 index 3e3f251117a7af81dea574e83f3131c835b3efcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 829 zcmV-D1H$}?P)eZr>Ca?006+iz^vXCLjV8(0d!JM zQvg8b*k%9#0FHW8Sad{Xb7OL8aCB*JZU6vyoKseCa&`CgQ*iP14z!6vv+%9iccw$tSqdLOYgx0#S4aM-~sdgW#>4wU|OE zrBJ%{GdNd-33TXEvUE5b++@hqC10xYQ0u)X_mt8lgZ`eL?&){BNk2b;l$3{)Q4a7F z)d$aO{R}re%J~+$ax4K}Kk@a6QRSOgsNuzDDe(p&UcSSn{R;4Xfoj`XyFd+R_I!*1 zKMw5$B38Bsv9Z$ETY#?}anaK+IIYlQsLC5ST2~%Wb}qgKaZy~~;{8Y0`V2j8)kapm zYX8()nXYS<#(?Dn1F{VPC~#Qw z>Idc=;Df(eLO*D>9XN+( zCVf>J=Lc)ETM7NZwA>F$-|hf~^MjSYZbLtq735}fcbjg|W34vuxZnA}9zU2B`~(D` z#3vZPANGSQ3i!$VUFirst you'll want to make sure there is a target stake in the center of the magnetic platform. Next, take an aluminum target from the crates back there and slip it into the stake. Make sure it clicks! Next, there should be a control console mounted on the wall somewhere in the room.

This control console dictates the behaviors of the magnetic platform, which can move your firing target around to simulate real-world combat situations. From here, you can turn off the magnets or adjust their electromagnetic levels and magnetic fields. The electricity level dictates the strength of the pull - you will usually want this to be the same value as the speed. The magnetic field level dictates how far the magnetic pull reaches.

Speed and path are the next two settings. Speed is associated with how fast the machine loops through the designated path. Paths dictate where the magnetic field will be centered at what times. There should be a pre-fabricated path input already. You can enable moving to observe how the path affects the way the stake moves. To script your own path, look at the following key:


N: North
S: South
E: East
W: West
C: Center
R: Random (results may vary)
; or &: separators. They are not necessary but can make the path string better visible."; name = "Firing Range Instructions"},/turf/simulated/floor,/area/security/range) -"ahZ" = (/obj/structure/table,/obj/item/weapon/folder/red{pixel_y = 3},/obj/machinery/camera{c_tag = "Security Processing"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/brig) -"aia" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"aib" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"aic" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"aid" = (/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/brig) -"aie" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/warden) -"aif" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/security/warden) -"aig" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/door/airlock/glass_security{name = "Warden's Office"; req_access_txt = "3"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"aih" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/security/warden) -"aii" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/warden) -"aij" = (/obj/machinery/recharger/wallcharger{pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/camera{c_tag = "Security Equipment North"; dir = 4; network = list("SS13")},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) -"aik" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/donut,/turf/simulated/floor,/area/security/main) -"ail" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/main) -"aim" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/main) -"ain" = (/obj/structure/table,/obj/item/weapon/storage/fancy/donut_box,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/main) -"aio" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/security/main) -"aip" = (/obj/machinery/camera{c_tag = "Security Office East"; dir = 8; network = list("SS13")},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "gamma_shuttle_dock"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; req_one_access_txt = "13;2"; tag_door = "gamma_shuttle_dock_hatch"},/turf/simulated/floor,/area/security/main) -"aiq" = (/obj/structure/cable,/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxport) -"air" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxport) -"ais" = (/obj/item/clothing/ears/earmuffs{pixel_x = -3; pixel_y = -2},/obj/item/clothing/ears/earmuffs,/obj/structure/table/reinforced,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/range) -"ait" = (/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/range) -"aiu" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/range) -"aiv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/range) -"aiw" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/range) -"aix" = (/obj/machinery/sleeper{available_chemicals = list("inaprovaline" = "Inaprovaline", "stoxin" = "Soporific"); name = "Prisoner Sleeper"},/turf/simulated/floor{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/security/brig) -"aiy" = (/obj/machinery/sleep_console,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/security/brig) -"aiz" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"aiA" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"aiB" = (/obj/structure/table,/obj/item/device/camera{name = "detectives camera"; desc = "A one use - polaroid camera. 30 photos left."; pixel_x = 0; pixel_y = 0; pictures_left = 30},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig) -"aiC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/brig) -"aiD" = (/obj/structure/table,/obj/machinery/light/small/lamp,/turf/simulated/floor,/area/security/brig) -"aiE" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/brig) -"aiF" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/brig) -"aiG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/warden) -"aiH" = (/obj/machinery/photocopier,/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/newscaster{pixel_x = -32; pixel_y = 32},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"aiI" = (/obj/structure/filingcabinet/chestdrawer,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/camera{c_tag = "Security Warden Office"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"aiJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"aiK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/closet/secure_closet/warden,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"aiL" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/paper{info = "4 Deployable Barriers
4 Portable Flashers + Wrench
3 Sets of Riot Armor
1 Bulletproof Vest
1 Ablative Vest
1 Bomb Suit
1 Biohazard Suit
1 Chemical Implant Kit
1 Tracking Implant Kit
1 Loyalty Implant Kit
1 Box of Spare Handcuffs
1 Box of flashbangs
1 Box of spare R.O.B.U.S.T. cartridges
3 Riot shields
3 Stun Batons
3 Energy Guns
3 Laser Rifles
6 Gas Masks"; name = "Armory Inventory"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"aiM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/warden) -"aiN" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/main) -"aiO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/main) -"aiP" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/main) -"aiQ" = (/obj/machinery/door/airlock/security{name = "Equipment Storage"; req_access_txt = "1"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/security/main) -"aiR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/security/main) -"aiS" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/main) -"aiT" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/device/taperecorder{pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/main) -"aiU" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/security/main) -"aiV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/main) -"aiW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/landmark/nations{name = "Brigston"},/turf/simulated/floor,/area/security/main) -"aiX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor,/area/security/main) -"aiY" = (/obj/machinery/door/airlock/hatch/gamma{locked = 1; req_access_txt = "0"; use_power = 0},/turf/simulated/floor{icon_state = "dark"},/area/security/main) -"aiZ" = (/obj/structure/safe,/obj/item/clothing/under/color/yellow,/obj/item/key,/obj/item/toy/katana,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/item/weapon/paper/monitorkey,/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/security/nuke_storage) -"aja" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/range) -"ajb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/range) -"ajc" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/range) -"ajd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/closet/crate,/obj/item/target/syndicate,/obj/item/target/syndicate,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/range) -"aje" = (/obj/structure/stool/bed/roller,/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor{dir = 8; icon_state = "whiteblue"},/area/security/brig) -"ajf" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"ajg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"ajh" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"aji" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"ajj" = (/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"ajk" = (/obj/structure/stool/bed/roller,/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"ajl" = (/obj/structure/table,/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0; tag = "icon-alarm0 (EAST)"},/obj/item/weapon/storage/box/evidence,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig) -"ajm" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/brig) -"ajn" = (/obj/structure/table,/turf/simulated/floor,/area/security/brig) -"ajo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/brig) -"ajp" = (/obj/structure/table/reinforced{tag = "icon-table_vertical"; icon_state = "table_vertical"},/obj/machinery/door/window/brigdoor{dir = 4; name = "Warden's Desk"; req_access_txt = "3"},/obj/machinery/door/window/westright{name = "Reception Door"; req_access = null; req_access_txt = "0"},/turf/simulated/floor/plating,/area/security/warden) -"ajq" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ajr" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ajs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ajt" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"aju" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ajv" = (/obj/structure/table/reinforced{tag = "icon-table_vertical"; icon_state = "table_vertical"},/obj/machinery/door/window/brigdoor{dir = 8; name = "Warden's Desk"; req_access_txt = "3"},/obj/machinery/door/window/eastleft,/turf/simulated/floor/plating,/area/security/warden) -"ajw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) -"ajx" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/main) -"ajy" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/donut,/obj/machinery/media/receiver/boombox,/turf/simulated/floor,/area/security/main) -"ajz" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/security/main) -"ajA" = (/obj/structure/closet/secure_closet/security,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/main) -"ajB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable,/turf/simulated/floor/plating,/area/security/main) -"ajC" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/security/main) -"ajD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 7},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) -"ajE" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/book/manual/security_space_law,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/main) -"ajF" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/security/main) -"ajG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/rack,/obj/item/weapon/storage/box/trackimp,/obj/item/weapon/storage/box/trackimp,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury) -"ajH" = (/turf/simulated/floor{icon_state = "red"},/area/security/range) -"ajI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/range) -"ajJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/range) -"ajK" = (/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/range) -"ajL" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"ajM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/landmark/start{name = "Brig Physician"},/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"ajN" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"ajO" = (/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"ajP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"ajQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"ajR" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/brig) -"ajS" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/brig) -"ajT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/security/brig) -"ajU" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/security/brig) -"ajV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/brig) -"ajW" = (/obj/machinery/computer/secure_data,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ajX" = (/obj/structure/stool/bed/chair/office/dark,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/landmark/start{name = "Warden"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ajY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"ajZ" = (/obj/structure/table,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"aka" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) -"akb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/main) -"akc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/main) -"akd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/security/main) -"ake" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable,/turf/simulated/floor/plating,/area/security/main) -"akf" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/item/weapon/handcuffs,/obj/item/device/flash,/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/main) -"akg" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/main) -"akh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/security/main) -"aki" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/siberia/station) -"akj" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/siberia/station) -"akk" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/siberia/station) -"akl" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass_security{name = "Firing Range"; req_access_txt = "1"},/turf/simulated/floor,/area/security/range) -"akm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/security/range) -"akn" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass_security{name = "Firing Range"; req_access_txt = "1"},/turf/simulated/floor,/area/security/range) -"ako" = (/obj/structure/rack,/obj/item/weapon/storage/box/seccarts{pixel_x = 3; pixel_y = 2},/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs{pixel_x = -2; pixel_y = -2},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/storage/box/handcuffs,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/security/armoury) -"akp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"akq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"akr" = (/obj/structure/table,/obj/item/clothing/tie/stethoscope,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/glasses/hud/health,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/security/brig) -"aks" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/reagent_containers/syringe/antitoxin,/obj/item/weapon/reagent_containers/syringe/inaprovaline,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"akt" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/security/brig) -"aku" = (/obj/structure/table,/obj/item/weapon/storage/box/masks{pixel_x = 6; pixel_y = 2},/obj/item/weapon/storage/box/gloves,/turf/simulated/floor{dir = 6; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/security/brig) -"akv" = (/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/brig) -"akw" = (/turf/simulated/floor{icon_state = "red"},/area/security/brig) -"akx" = (/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/brig) -"aky" = (/obj/machinery/computer/security,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0; tag = "icon-alarm0 (EAST)"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"akz" = (/obj/structure/table,/obj/item/weapon/folder/red,/obj/item/weapon/crowbar,/obj/item/device/radio,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"akA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door_control{desc = "A remote control-switch to lock down the prison wing's blast doors"; id = "Prison Gate"; name = "Prison Wing Lockdown"; pixel_x = -28; pixel_y = 7; range = 20; req_access_txt = "2"},/obj/machinery/door_control{id = "Secure Gate"; name = "Brig Lockdown"; pixel_x = -28; pixel_y = -3; range = 20; req_access_txt = "2"},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"akB" = (/obj/machinery/computer/prisoner,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"akC" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = 30; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"akD" = (/obj/machinery/vending/security,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/main) -"akE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/main) -"akF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/stool/bed/chair/segway,/obj/item/sec_seg_key,/turf/simulated/floor{icon_state = "red"},/area/security/main) -"akG" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/turf/simulated/floor{icon_state = "red"},/area/security/main) -"akH" = (/obj/structure/reagent_dispensers/peppertank{pixel_y = -30},/obj/machinery/light,/turf/simulated/floor{icon_state = "red"},/area/security/main) -"akI" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/main) -"akJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/security/main) -"akK" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/structure/table/reinforced,/obj/item/stack/medical/bruise_pack{pixel_x = 10; pixel_y = 2},/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/ointment{pixel_y = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{name = "Security Office APC"; pixel_y = -24},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/main) -"akL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/security/main) -"akM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/security/main) -"akN" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Security Officer"},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/security/main) -"akO" = (/obj/machinery/door/window/eastright{dir = 1; name = "Security Delivery"; req_access_txt = "1"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "delivery"},/area/security/main) -"akP" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk2"; icon_state = "catwalk2"},/area/solar/auxstarboard) -"akQ" = (/turf/space,/area/vox_station/northeast_solars) -"akR" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/siberia/station) -"akS" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "dark"},/area/shuttle/siberia/station) -"akT" = (/obj/machinery/computer/shuttle_control/labor_camp,/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "dark"},/area/shuttle/siberia/station) -"akU" = (/obj/structure/table,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "labor_shuttle"; pixel_x = 25; pixel_y = -7; req_access_txt = "0"; req_one_access_txt = "13;2"; tag_door = "labor_shuttle_hatch"},/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "dark"},/area/shuttle/siberia/station) -"akV" = (/obj/machinery/computer/secure_data,/turf/simulated/floor,/area/security/processing) -"akW" = (/obj/machinery/computer/prisoner{req_access = null; req_access_txt = "2"},/turf/simulated/floor,/area/security/processing) -"akX" = (/obj/machinery/camera{c_tag = "Brig Control Room"},/obj/machinery/computer/shuttle_control/labor_camp,/turf/simulated/floor,/area/security/processing) -"akY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"akZ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"ala" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"alb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"alc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"ald" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/security/processing) -"ale" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Brig Medical Bay"; req_access_txt = "0"; req_one_access_txt = "63"},/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"alf" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Brig Medical Bay"; req_access_txt = "0"; req_one_access_txt = "63"},/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"alg" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area) -"alh" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "Brig"; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/brig) -"ali" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/brig) -"alj" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "Brig"; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/brig) -"alk" = (/obj/machinery/door/airlock/glass_security{name = "Warden's Office"; req_access_txt = "3"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/security/warden) -"all" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area) -"alm" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Equipment Storage"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/main) -"aln" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area) -"alo" = (/obj/structure/sign/securearea,/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area) -"alp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Security Office"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/security/main) -"alq" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Security Office"; req_access_txt = "1"},/turf/simulated/floor,/area/security/main) -"alr" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=1"; dir = 1; freq = 1400; location = "Security"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor/plating,/area) -"als" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/emcloset,/obj/machinery/camera/xray{c_tag = "Security Escape Pod"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"alt" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/escape_pod3/station) -"alu" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/escape_pod3/station) -"alv" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/shuttle/escape_pod3/station) -"alw" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxstarboard) -"alx" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area) -"aly" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "dark"},/area/shuttle/siberia/station) -"alz" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "labor_shuttle_hatch"; locked = 1; name = "Labor Camp Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "dark"},/area/shuttle/siberia/station) -"alA" = (/obj/machinery/door/airlock/glass_security{frequency = 1379; icon_state = "door_locked"; id_tag = "labor_shuttle_dock_hatch"; locked = 1; name = "Labor Camp Shuttle Airlock"; req_access_txt = "13"; req_one_access_txt = "0"},/turf/simulated/floor,/area/security/processing) -"alB" = (/obj/machinery/light/small{dir = 1},/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "labor_shuttle_dock"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;1"; tag_door = "labor_shuttle_dock_hatch"},/turf/simulated/floor,/area/security/processing) -"alC" = (/obj/machinery/door/airlock/glass_security{name = "Labor Camp Shuttle Airlock"; req_access_txt = "2"},/turf/simulated/floor,/area/security/processing) -"alD" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"alE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"alF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"alG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"alH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"alI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"alJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"alK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/security/processing) -"alL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"alM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"alN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/security/brig) -"alO" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/security/brig) -"alP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"alQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"alR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"alS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"alT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/security/brig) -"alU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"alV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/security/brig) -"alW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/camera{c_tag = "Security Main Hall"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"alX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"alY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"alZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/security/brig) -"ama" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"amb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"amc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"amd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"ame" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/security/brig) -"amf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"amg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"amh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"ami" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"amj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 1; icon_state = "pipe-j2s"; sortType = 8},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/brig) -"amk" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/brig) -"aml" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/security/brig) -"amm" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/brig) -"amn" = (/obj/machinery/door/airlock/maintenance{name = "Security Maintenance"; req_access_txt = "1"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"amo" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"amp" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{id_tag = "escape_pod_3_berth"; pixel_x = 25; pixel_y = -25; tag_door = "escape_pod_3_berth_hatch"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"amq" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_3_berth_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"amr" = (/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"ams" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_3_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) -"amt" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) -"amu" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{id_tag = "escape_pod_3"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_3_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod3/station) -"amv" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod3/station) -"amw" = (/turf/space,/area/shuttle/administration/station) -"amx" = (/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "dark"},/area/shuttle/siberia/station) -"amy" = (/obj/structure/table,/obj/item/weapon/storage/box/prisoner,/turf/simulated/floor,/area/security/processing) -"amz" = (/obj/structure/closet/secure_closet/brig{anchored = 1},/turf/simulated/floor,/area/security/processing) -"amA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"amB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"amC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"amD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/security/processing) -"amE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light,/turf/simulated/floor{icon_state = "red"},/area/security/brig) -"amF" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"},/area/security/brig) -"amG" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/security/brig) -"amH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/brig) -"amI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"},/area/security/brig) -"amJ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{icon_state = "red"},/area/security/brig) -"amK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light,/turf/simulated/floor{icon_state = "red"},/area/security/brig) -"amL" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"},/area/security/brig) -"amM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/brig) -"amN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/brig) -"amO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/obj/machinery/power/apc{name = "Brig APC"; pixel_y = -24},/turf/simulated/floor{icon_state = "red"},/area/security/brig) -"amP" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/light,/turf/simulated/floor{icon_state = "red"},/area/security/brig) -"amQ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/brig) -"amR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"},/area/security/brig) -"amS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"},/area/security/brig) -"amT" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/brig) -"amU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/brig) -"amV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"},/area/security/brig) -"amW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/brig) -"amX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/security/brig) -"amY" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 6},/area) -"amZ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area) -"ana" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"anb" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"anc" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/escape_pod3/station) -"and" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/shuttle/escape_pod3/station) -"ane" = (/turf/simulated/floor/plating,/area) -"anf" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "security_airlock"; name = "exterior access button"; pixel_x = -20; pixel_y = -20; req_access_txt = "13"},/turf/space,/area) -"ang" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxstarboard) -"anh" = (/turf/simulated/floor/plating/airless,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxstarboard) -"ani" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/wall,/area) -"anj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/wall,/area) -"ank" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/crew_quarters) -"anl" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "BrigWest"; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/prison/cell_block/B) -"anm" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "BrigWest"; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B) -"ann" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area) -"ano" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "BrigEast"; name = "Brig"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/prison/cell_block/A) -"anp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "BrigEast"; name = "Brig"; req_access_txt = "63"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/A) -"anq" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; name = "Brig"; req_access_txt = "63"},/turf/simulated/floor,/area/security/lobby) -"anr" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; name = "Brig"; req_access_txt = "63"},/turf/simulated/floor,/area/security/lobby) -"ans" = (/obj/machinery/door/window/brigdoor{dir = 1; req_access_txt = "63"},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/lobby) -"ant" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass_security{id_tag = "BrigFoyer"; name = "Brig"; req_access_txt = "63"},/turf/simulated/floor,/area/security/lobby) -"anu" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "Temporary Detainment"; name = "Temporary Detainment"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/C) -"anv" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{id_tag = "Temporary Detainment"; name = "Temporary Detainment"; req_access_txt = "2"},/turf/simulated/floor,/area/prison/cell_block/C) -"anw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/detectives_office) -"anx" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/detectives_office) -"any" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Detective"; req_access_txt = "4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/detectives_office) -"anz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/detectives_office) -"anA" = (/turf/simulated/wall,/area/maintenance/fsmaint) -"anB" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"anC" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"anD" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"anE" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "security_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"anF" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk4"; icon_state = "catwalk4"},/area/solar/auxstarboard) -"anG" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/auxstarboard) -"anH" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/auxstarboard) -"anI" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk0"; icon_state = "catwalk0"},/area/solar/auxstarboard) -"anJ" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/auxstarboard) -"anK" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/auxstarboard) -"anL" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk8"; icon_state = "catwalk8"},/area/solar/auxstarboard) -"anM" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxport) -"anN" = (/obj/machinery/mineral/labor_claim_console{machinedir = 6; pixel_x = 2},/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/siberia/station) -"anO" = (/obj/machinery/mineral/input,/turf/simulated/shuttle/floor{dir = 8; icon = 'icons/turf/floors.dmi'; icon_state = "vault"},/area/shuttle/siberia/station) -"anP" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/prison/crew_quarters) -"anQ" = (/obj/machinery/camera{c_tag = "Security Washroom"; dir = 2},/obj/structure/mirror{pixel_y = 32},/obj/structure/sink{pixel_y = 22},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/prison/crew_quarters) -"anR" = (/obj/structure/mirror{pixel_y = 32},/obj/structure/sink{pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/prison/crew_quarters) -"anS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/prison/crew_quarters) -"anT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/security{name = "Washroom"; req_access_txt = "1"},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/crew_quarters) -"anU" = (/obj/structure/closet/secure_closet/brig{id = "Cell 6"; name = "Cell 6 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 6"; dir = 2},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/B) -"anV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/B) -"anW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/prison/cell_block/B) -"anX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/prison/cell_block/B) -"anY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B) -"anZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/prison/cell_block/A) -"aoa" = (/obj/structure/closet/secure_closet/brig{id = "Cell 3"; name = "Cell 3 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 3"; dir = 2},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/A) -"aob" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/A) -"aoc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/prison/cell_block/A) -"aod" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/prison/cell_block/A) -"aoe" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/A) -"aof" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/prison/cell_block/A) -"aog" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/A) -"aoh" = (/obj/structure/closet/secure_closet/brig{id = "Cell 1"; name = "Cell 1 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 1"; dir = 2},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison/cell_block/A) -"aoi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/lobby) -"aoj" = (/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/lobby) -"aok" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/security/lobby) -"aol" = (/obj/structure/table,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/lobby) -"aom" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/lobby) -"aon" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/security/lobby) -"aoo" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/lobby) -"aop" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/prison/cell_block/C) -"aoq" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/prison/cell_block/C) -"aor" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/C) -"aos" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/prison/cell_block/C) -"aot" = (/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Detective North"; dir = 2},/obj/structure/bookcase,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aou" = (/obj/structure/closet/secure_closet/detective,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aov" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/briefcase,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aow" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aox" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aoy" = (/obj/machinery/light{dir = 1},/obj/machinery/power/apc{dir = 1; name = "Detective APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/table/woodentable,/obj/item/weapon/storage/photo_album{pixel_y = -10},/obj/item/device/camera_film,/obj/item/device/camera_film,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aoz" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aoA" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area) -"aoB" = (/obj/structure/rack{dir = 1},/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/sunglasses,/obj/item/weapon/crowbar,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aoC" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aoD" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aoE" = (/obj/effect/decal/cleanable/cobweb2,/obj/machinery/atmospherics/portables_connector{layer = 2},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aoF" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "security_airlock"; pixel_x = -25; req_access_txt = "13"; tag_airpump = "security_pump"; tag_chamber_sensor = "security_sensor"; tag_exterior_door = "security_outer"; tag_interior_door = "security_inner"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aoG" = (/obj/structure/cable,/obj/machinery/power/solar{id = "auxsolareast"; name = "Port Auxiliary Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxstarboard) -"aoH" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxstarboard) -"aoI" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk5"; icon_state = "catwalk5"},/area/solar/auxport) -"aoJ" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/auxport) -"aoK" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk10"; icon_state = "catwalk10"},/area/solar/auxport) -"aoL" = (/obj/machinery/mineral/stacking_machine/laborstacker,/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "floorgrime"},/area/shuttle/siberia/station) -"aoM" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/shuttle/siberia/station) -"aoN" = (/obj/machinery/door/airlock/glass_security{id_tag = "prisonshuttle"; name = "Secure Shuttle Access"; req_access_txt = "3"},/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "floorgrime"},/area/shuttle/siberia/station) -"aoO" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/siberia/station) -"aoP" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/prison/crew_quarters) -"aoQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "freezerfloor"},/area/prison/crew_quarters) -"aoR" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/prison/crew_quarters) -"aoS" = (/obj/machinery/washing_machine,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/prison/crew_quarters) -"aoT" = (/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/crew_quarters) -"aoU" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/B) -"aoV" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/B) -"aoW" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 8; id = "Cell 6"; name = "Cell 6"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B) -"aoX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B) -"aoY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B) -"aoZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/prison/cell_block/A) -"apa" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/A) -"apb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/A) -"apc" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 8; id = "Cell 3"; name = "Cell 3"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/prison/cell_block/A) -"apd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/A) -"ape" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/A) -"apf" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 4; id = "Cell 1"; name = "Cell 1"; req_access_txt = "2"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/prison/cell_block/A) -"apg" = (/obj/machinery/light/small{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison/cell_block/A) -"aph" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/prison/cell_block/A) -"api" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/lobby) -"apj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/lobby) -"apk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/security/lobby) -"apl" = (/obj/machinery/computer/secure_data,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/lobby) -"apm" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/lobby) -"apn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/lobby) -"apo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/lobby) -"app" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/lobby) -"apq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/lobby) -"apr" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/prison/cell_block/C) -"aps" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/prison/cell_block/C) -"apt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/prison/cell_block/C) -"apu" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Prison Cell Block C APC"; pixel_x = 25},/obj/machinery/camera{c_tag = "Temporary Detainment"; dir = 8; pixel_x = 0; pixel_y = -22},/turf/simulated/floor,/area/prison/cell_block/C) -"apv" = (/obj/machinery/light_switch{pixel_x = -25; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"apw" = (/turf/simulated/floor/carpet,/area/security/detectives_office) -"apx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/carpet,/area/security/detectives_office) -"apy" = (/obj/structure/table/woodentable,/obj/machinery/requests_console{pixel_x = 30},/obj/item/device/camera{name = "detectives camera"; desc = "A one use - polaroid camera. 30 photos left."; pixel_x = 0; pixel_y = 0; pictures_left = 30},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"apz" = (/obj/effect/decal/cleanable/oil/streak,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"apA" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "security_airlock"; name = "interior access button"; pixel_x = 20; pixel_y = 20; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"apB" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "security_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"apC" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "security_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "security_sensor"; pixel_x = 22; pixel_y = 25},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"apD" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxport) -"apE" = (/obj/machinery/mineral/stacking_unit_console,/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/siberia/station) -"apF" = (/obj/machinery/mineral/output,/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "floorgrime"},/area/shuttle/siberia/station) -"apG" = (/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "floorgrime"},/area/shuttle/siberia/station) -"apH" = (/obj/machinery/light/small,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/prison/crew_quarters) -"apI" = (/obj/machinery/washing_machine,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/prison/crew_quarters) -"apJ" = (/obj/machinery/door_control{id = "prison release"; name = "Prisoner Release Room Lockdown"; pixel_x = 5; pixel_y = -5; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area) -"apK" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/processing) -"apL" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/B) -"apM" = (/obj/machinery/flasher{id = "Cell 6"; pixel_x = 0; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/B) -"apN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/prison/cell_block/B) -"apO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/device/radio/intercom{pixel_x = -28},/turf/simulated/floor,/area/prison/cell_block/B) -"apP" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B) -"apQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/prison/cell_block/A) -"apR" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/A) -"apS" = (/obj/machinery/flasher{id = "Cell 3"; pixel_x = 0; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/A) -"apT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/prison/cell_block/A) -"apU" = (/obj/item/device/radio/intercom{pixel_x = -28},/turf/simulated/floor,/area/prison/cell_block/A) -"apV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/device/radio/intercom{pixel_x = 28},/turf/simulated/floor,/area/prison/cell_block/A) -"apW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area/prison/cell_block/A) -"apX" = (/obj/machinery/flasher{id = "Cell 1"; pixel_x = 0; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/prison/cell_block/A) -"apY" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison/cell_block/A) -"apZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/lobby) -"aqa" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/secure_closet/security,/turf/simulated/floor,/area/security/main) -"aqb" = (/obj/machinery/computer/security,/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/lobby) -"aqc" = (/obj/machinery/door_control{desc = "A remote control switch for the brig foyer."; id = "BrigFoyer"; name = "Brig Foyer Doors"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = -35; range = 10},/obj/machinery/door_control{desc = "A remote control switch for the brig doors leading to cells 1-4."; id = "BrigEast"; name = "Brig Cells 1-4 Hallway Doors"; normaldoorcontrol = 1; pixel_x = 5; pixel_y = -25; range = 10},/obj/machinery/door_control{desc = "A remote control switch for the brig doors leading to cells 5 and 6."; id = "BrigWest"; name = "Brig Cells 5-6 Hallway Doors"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = -25; range = 20},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = 30; pixel_y = 0},/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/lobby) -"aqd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/prison/cell_block/C) -"aqe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/prison/cell_block/C) -"aqf" = (/obj/machinery/door/window/brigdoor{dir = 2; name = "Secure Door"; req_access_txt = "61"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/device/radio/intercom{pixel_x = 28},/turf/simulated/floor,/area/prison/cell_block/C) -"aqg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/prison/cell_block/C) -"aqh" = (/obj/item/weapon/storage/secure/safe{pixel_x = -23},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aqi" = (/obj/structure/stool,/turf/simulated/floor/carpet,/area/security/detectives_office) -"aqj" = (/obj/structure/table/woodentable,/obj/structure/noticeboard{pixel_x = 30; pixel_y = 0},/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/handcuffs,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aqk" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aql" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqm" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor,/area/security/main) -"aqn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/wall/r_wall,/area) -"aqr" = (/obj/machinery/vending/suitdispenser,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"aqs" = (/obj/machinery/vending/shoedispenser,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"aqt" = (/obj/machinery/vending/hatdispenser,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"aqu" = (/obj/machinery/vending/autodrobe,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"aqv" = (/obj/machinery/washing_machine,/obj/machinery/camera{c_tag = "Locker Room North"},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"aqw" = (/obj/machinery/washing_machine,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"aqx" = (/obj/machinery/washing_machine,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"aqy" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/window/brigdoor{dir = 1; req_access_txt = "63"},/turf/simulated/floor,/area/security/processing) -"aqz" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/door_timer/cell_3{dir = 8; id = "Cell 6"; name = "Cell 6"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor,/area/prison/cell_block/B) -"aqA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/prison/cell_block/B) -"aqB" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/door_timer/cell_3{dir = 8; pixel_x = -32; pixel_y = 0},/turf/simulated/floor,/area/prison/cell_block/A) -"aqC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door_timer/cell_1{dir = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/prison/cell_block/A) -"aqD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{dir = 8},/obj/machinery/power/apc{cell_type = 5000; dir = 8; name = "Security Lobby APC"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/lobby) -"aqE" = (/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/lobby) -"aqF" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/camera{c_tag = "Security Medical Station"; dir = 4; network = list("SS13")},/obj/structure/closet/secure_closet/security{icon_broken = "securemedbroken"; icon_closed = "securemed"; icon_locked = "securemed1"; icon_off = "securemedoff"; icon_opened = "securemedopen"; icon_state = "securemed1"; name = "Brig Physician Locker"},/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor{icon_state = "white"},/area/security/brig) -"aqG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/security/lobby) -"aqH" = (/obj/structure/table,/obj/machinery/door/window/brigdoor{dir = 2; name = "Secure Door"; req_access_txt = "61"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor,/area/security/lobby) -"aqI" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Personnel's Desk"; departmentType = 5; name = "Head of Personnel RC"; pixel_y = -30},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqJ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/lobby) -"aqK" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/prison/cell_block/C) -"aqL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor,/area/prison/cell_block/C) -"aqM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/prison/cell_block/C) -"aqN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/prison/cell_block/C) -"aqO" = (/obj/machinery/newscaster{pixel_x = -28; pixel_y = 1},/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green{on = 0; pixel_x = -3; pixel_y = 8},/obj/item/weapon/reagent_containers/food/drinks/flask/detflask,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aqP" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/security/detectives_office) -"aqQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/table/woodentable,/obj/machinery/media/receiver/boombox,/turf/simulated/floor/carpet,/area/security/detectives_office) -"aqR" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_x = 0; pixel_y = 0},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"aqS" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqT" = (/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqU" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqV" = (/obj/structure/table,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqW" = (/obj/structure/table,/obj/item/ashtray/plastic,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqX" = (/obj/effect/landmark{name = "blobstart"},/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aqY" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/tvalve/mirrored,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHWEST)"; icon_state = "warnplate"; dir = 9},/area/maintenance/fsmaint) -"aqZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/stool,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHEAST)"; icon_state = "warnplate"; dir = 5},/area/maintenance/fsmaint) -"ara" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"arb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"arc" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"ard" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"are" = (/obj/machinery/power/apc{dir = 4; name = "Locker Room APC"; pixel_x = 27; pixel_y = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"arf" = (/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/processing) -"arg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/processing) -"arh" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/processing) -"ari" = (/obj/machinery/camera{c_tag = "Prisoner Processing Exit"; dir = 3; network = list("SS13")},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/processing) -"arj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/processing) -"ark" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/processing) -"arl" = (/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/processing) -"arm" = (/obj/structure/closet/secure_closet/brig{id = "Cell 5"; name = "Cell 5 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 5"; dir = 2},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/B) -"arn" = (/obj/structure/closet/secure_closet/brig{id = "Cell 4"; name = "Cell 4 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 4"; dir = 2},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/A) -"aro" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/prison/cell_block/A) -"arp" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/prison/cell_block/A) -"arq" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/A) -"arr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/prison/cell_block/A) -"ars" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/turf/simulated/floor,/area/prison/cell_block/A) -"art" = (/obj/structure/closet/secure_closet/brig{id = "Cell 2"; name = "Cell 2 Locker"},/obj/machinery/camera{c_tag = "Brig Cell 2"; dir = 2},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison/cell_block/A) -"aru" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/lobby) -"arv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/lobby) -"arw" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/lobby) -"arx" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/lobby) -"ary" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/lobby) -"arz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/security/lobby) -"arA" = (/obj/machinery/camera{c_tag = "Security Lobby"; dir = 8; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/lobby) -"arB" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor,/area/prison/cell_block/C) -"arC" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/C) -"arD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/C) -"arE" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor,/area/prison/cell_block/C) -"arF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/machinery/computer/security/wooden_tv,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"arG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/landmark/start{name = "Detective"},/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor/carpet,/area/security/detectives_office) -"arH" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/table/woodentable,/obj/item/ashtray/bronze,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/turf/simulated/floor/carpet,/area/security/detectives_office) -"arI" = (/obj/item/device/radio/intercom{pixel_x = 29; pixel_y = -1},/obj/structure/table/woodentable,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"arJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"arK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"arL" = (/obj/machinery/door/airlock/atmos{name = "Atmospherics Maintenance"; req_access_txt = "12;24"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"arM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/item/weapon/wrench,/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/maintenance/fsmaint) -"arN" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_off"; name = "Gas pump"; on = 0},/turf/simulated/floor/plating{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/maintenance/fsmaint) -"arO" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"arP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"arQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"arR" = (/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"arS" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"arT" = (/obj/structure/table,/obj/item/clothing/under/suit_jacket/female{pixel_x = 3; pixel_y = 1},/obj/item/clothing/under/lawyer/oldman,/obj/item/clothing/under/suit_jacket/really_black{pixel_x = -2; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"arU" = (/obj/structure/table,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"arV" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"arW" = (/turf/simulated/floor{icon_state = "dark"},/area/gateway) -"arX" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/gateway) -"arY" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/gateway) -"arZ" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/gateway) -"asa" = (/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/gateway) -"asb" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "labor_shuttle_hatch"; locked = 1; name = "Labor Camp Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "floorgrime"},/area/shuttle/siberia/station) -"asc" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "labor_shuttle_dock_hatch"; locked = 1; name = "Labor Camp Shuttle Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor,/area/security/processing) -"asd" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/security/processing) -"ase" = (/obj/machinery/door/airlock/external{name = "Labor Camp Shuttle Airlock"},/turf/simulated/floor,/area/security/processing) -"asf" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/processing) -"asg" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/security/processing) -"ash" = (/turf/simulated/floor,/area/security/processing) -"asi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/processing) -"asj" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/processing) -"ask" = (/turf/simulated/floor,/area/prison/cell_block/B) -"asl" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 8; id = "Cell 5"; name = "Cell 5"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B) -"asm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B) -"asn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/B) -"aso" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/prison/cell_block/A) -"asp" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison/cell_block/A) -"asq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/prison/cell_block/A) -"asr" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 8; id = "Cell 4"; name = "Cell 4"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/prison/cell_block/A) -"ass" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/A) -"ast" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/prison/cell_block/A) -"asu" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/window/brigdoor{dir = 4; id = "Cell 2"; name = "Cell 2"; req_access_txt = "2"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/prison/cell_block/A) -"asv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/A) -"asw" = (/obj/machinery/light/small{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison/cell_block/A) -"asx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/prison/cell_block/A) -"asy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/lobby) -"asz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/lobby) -"asA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/security/lobby) -"asB" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/security/lobby) -"asC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/lobby) -"asD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/security/lobby) -"asE" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/prison/cell_block/C) -"asF" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/prison/cell_block/C) -"asG" = (/turf/simulated/wall,/area/prison/cell_block/C) -"asH" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor,/area/prison/cell_block/C) -"asI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/window/basic,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"asJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/window/southright,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"asK" = (/obj/structure/window/basic,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"asL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/basic,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"asM" = (/obj/machinery/door/window/southright,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"asN" = (/obj/structure/window/basic,/obj/structure/table/woodentable,/obj/item/device/flash,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) -"asO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"asP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"asQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"asR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/decal/cleanable/robot_debris,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"asS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall/r_wall,/area) -"asT" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating{tag = "icon-warnplate (SOUTHWEST)"; icon_state = "warnplate"; dir = 10},/area/maintenance/fsmaint) -"asU" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{tag = "icon-warnplate (SOUTHEAST)"; icon_state = "warnplate"; dir = 6},/area/maintenance/fsmaint) -"asV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"asW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"asX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"asY" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/gateway) -"asZ" = (/obj/machinery/gateway/centerstation,/turf/simulated/floor{icon_state = "dark"},/area/gateway) -"ata" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/gateway) -"atb" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor{icon = 'icons/turf/floors.dmi'; icon_state = "floorgrime"},/area/shuttle/siberia/station) -"atc" = (/obj/machinery/power/apc{dir = 8; name = "Prisoner Processing APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/processing) -"atd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/processing) -"ate" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/processing) -"atf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/processing) -"atg" = (/turf/simulated/floor{icon_state = "red"},/area/security/processing) -"ath" = (/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/processing) -"ati" = (/obj/machinery/flasher{id = "Cell 5"; pixel_x = 0; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/B) -"atj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plating,/area/prison/cell_block/B) -"atk" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/door_timer/cell_5,/obj/item/device/radio/intercom{pixel_x = -28},/turf/simulated/floor,/area/prison/cell_block/B) -"atl" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable,/obj/machinery/power/apc{name = "Prison Cell Block B APC"; pixel_y = -24},/turf/simulated/floor,/area/prison/cell_block/B) -"atm" = (/obj/machinery/flasher{id = "Cell 4"; pixel_x = 0; pixel_y = -28},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/prison/cell_block/A) -"atn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/prison/cell_block/A) -"ato" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_x = -28; pixel_y = -22},/obj/machinery/door_timer/cell_4{pixel_y = -30},/obj/item/device/radio/intercom{pixel_x = -28},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/prison/cell_block/A) -"atp" = (/obj/structure/cable,/obj/machinery/door_timer/cell_2{pixel_x = 0; pixel_y = -30},/obj/machinery/power/apc{dir = 2; name = "Prison Cell Block A APC"; pixel_x = 24; pixel_y = -24},/obj/item/device/radio/intercom{pixel_x = 28},/turf/simulated/floor,/area/prison/cell_block/A) -"atq" = (/obj/machinery/flasher{id = "Cell 2"; pass_flags = 0; pixel_x = 0; pixel_y = -26},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/prison/cell_block/A) -"atr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/lobby) -"ats" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "red"},/area/security/lobby) -"att" = (/turf/simulated/floor{icon_state = "red"},/area/security/lobby) -"atu" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/lobby) -"atv" = (/turf/simulated/floor,/area/prison/cell_block/C) -"atw" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/prison/cell_block/C) -"atx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/closet{name = "Evidence Closet"},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/security/detectives_office) -"aty" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/security/detectives_office) -"atz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table,/obj/structure/table,/obj/item/weapon/folder/red{pixel_y = 3},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/security/detectives_office) -"atA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/table,/obj/item/weapon/folder/red{pixel_y = 3},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/security/detectives_office) -"atB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/security/detectives_office) -"atC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Detective Maintenance"; req_access_txt = "4"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"atD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"atE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"atF" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"atG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"atH" = (/obj/structure/closet/secure_closet/personal,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"atI" = (/obj/structure/closet/secure_closet/personal,/obj/structure/window/basic,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"atJ" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/gateway) -"atK" = (/obj/machinery/gateway,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/gateway) -"atL" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/gateway) -"atM" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/shuttle/siberia/station) -"atN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall/r_wall,/area) -"atO" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass{name = "Prisoner Release"},/turf/simulated/floor,/area/security/processing) -"atP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/lobby) -"atQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/wall/r_wall,/area) -"atR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area) -"atS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating,/area/security/lobby) -"atT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/lobby) -"atU" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Security Lobby"; req_access_txt = "0"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/security/lobby) -"atV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/lobby) -"atW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/security/lobby) -"atX" = (/obj/structure/closet{name = "Evidence Closet"},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"atY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"atZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"aua" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"aub" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/computer/med_data,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"auc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area) -"aud" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aue" = (/obj/machinery/vending/chinese,/turf/simulated/floor/wood,/area/crew_quarters/mrchangs) -"auf" = (/obj/machinery/vending/chinese,/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs) -"aug" = (/obj/machinery/camera{c_tag = "Mr. Chang's"; dir = 2},/obj/machinery/vending/chinese,/turf/simulated/floor/wood,/area/crew_quarters/mrchangs) -"auh" = (/obj/machinery/camera{c_tag = "Barber Shop"; dir = 2},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber) -"aui" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber) -"auj" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Barber Shop APC"; pixel_y = 24},/obj/structure/stool/bed/chair/barber{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber) -"auk" = (/obj/structure/table/reinforced,/obj/structure/mirror{pixel_x = 28},/obj/item/weapon/razor,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber) -"aul" = (/obj/machinery/door/airlock/glass{name = "Dormitories"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/crew_quarters/locker) -"aum" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/shuttle/escape_pod1/station) -"aun" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod1/station) -"auo" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/shuttle/escape_pod1/station) -"aup" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/shuttle/escape_pod2/station) -"auq" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod2/station) -"aur" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/shuttle/escape_pod2/station) -"aus" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark"},/area/gateway) -"aut" = (/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark"},/area/gateway) -"auu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/window{dir = 2; name = "Gateway Chamber"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "dark"},/area/gateway) -"auv" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "dark"},/area/gateway) -"auw" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/siberia/station) -"aux" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/siberia/station) -"auy" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/siberia/station) -"auz" = (/obj/structure/table/woodentable,/obj/item/seeds/bananaseed,/turf/simulated/floor/wood,/area/security/vacantoffice2) -"auA" = (/obj/structure/table/woodentable,/obj/item/weapon/ore/clown,/obj/item/weapon/stamp/clown,/turf/simulated/floor/wood,/area/security/vacantoffice2) -"auB" = (/turf/simulated/floor/wood,/area/security/vacantoffice2) -"auC" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/wood,/area/security/vacantoffice2) -"auD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/security/vacantoffice2) -"auE" = (/obj/structure/closet/crate,/obj/item/target,/obj/item/target,/obj/item/target,/obj/item/target,/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/range) -"auF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"auG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/hallway/primary/fore) -"auH" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"auI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/security/lobby) -"auJ" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"auK" = (/obj/machinery/camera{c_tag = "Fore Primary Hallway West"},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"auL" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"auM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"auN" = (/turf/simulated/floor,/area/hallway/primary/fore) -"auO" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"auP" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"auQ" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law{pixel_x = -3; pixel_y = 5},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"auR" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"auS" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"auT" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"auU" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"auV" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"auW" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"auX" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"auY" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"auZ" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"ava" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"avb" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area) -"avc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"avd" = (/obj/structure/stool/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/crew_quarters/mrchangs) -"ave" = (/turf/simulated/floor/wood,/area/crew_quarters/mrchangs) -"avf" = (/obj/structure/stool/bed/chair/wood/wings,/obj/machinery/power/apc{dir = 4; name = "Chinese Restaurant APC"; pixel_x = 27; pixel_y = 2},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs) -"avg" = (/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber) -"avh" = (/obj/effect/landmark/start{name = "Barber"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber) -"avi" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber) -"avj" = (/obj/machinery/vending/assist,/turf/simulated/floor,/area/storage/primary) -"avk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/storage/primary) -"avl" = (/obj/structure/table,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/storage/primary) -"avm" = (/obj/structure/table,/obj/machinery/alarm{pixel_y = 23},/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) -"avn" = (/obj/structure/table,/obj/machinery/camera{c_tag = "Primary Tool Storage"},/obj/machinery/requests_console{department = "Tool Storage"; departmentType = 0; pixel_y = 30},/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) -"avo" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/item/device/multitool,/obj/item/clothing/gloves/fyellow,/turf/simulated/floor,/area/storage/primary) -"avp" = (/obj/structure/table,/obj/machinery/light_switch{pixel_y = 28},/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) -"avq" = (/obj/machinery/power/apc{dir = 1; name = "Primary Tool Storage APC"; pixel_x = -1; pixel_y = 26},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/storage/primary) -"avr" = (/obj/machinery/vending/tool,/turf/simulated/floor,/area/storage/primary) -"avs" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/escape_pod1/station) -"avt" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{id_tag = "escape_pod_1"; pixel_x = -25; tag_door = "escape_pod_1_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) -"avu" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/escape_pod2/station) -"avv" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{id_tag = "escape_pod_2"; pixel_x = -25; tag_door = "escape_pod_2_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) -"avw" = (/obj/machinery/camera{c_tag = "Gateway"; dir = 4; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table,/obj/structure/sign/biohazard{pixel_x = -32},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor,/area/gateway) -"avx" = (/obj/structure/table,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor,/area/gateway) -"avy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/gateway) -"avz" = (/obj/structure/table,/obj/item/device/radio{pixel_y = 6},/obj/item/device/radio{pixel_x = 6; pixel_y = 4},/obj/item/device/radio{pixel_x = -6; pixel_y = 4},/obj/item/device/radio,/turf/simulated/floor,/area/gateway) -"avA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/sign/biohazard{pixel_x = 32},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/gateway) -"avB" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Clown"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "Clown Office APC"; pixel_x = -24},/turf/simulated/floor/wood,/area/security/vacantoffice2) -"avC" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/wood,/area/security/vacantoffice2) -"avD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/wood,/area/security/vacantoffice2) -"avE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area) -"avF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"avG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/fore) -"avH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor,/area/hallway/primary/fore) -"avI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/fore) -"avJ" = (/obj/machinery/bot/secbot/beepsky{name = "Officer Beepsky"},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/hallway/primary/fore) -"avK" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/fore) -"avL" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/fore) -"avM" = (/obj/machinery/atm{pixel_x = 32; pixel_y = 0},/turf/simulated/floor,/area/hallway/primary/fore) -"avN" = (/obj/structure/table,/obj/item/weapon/storage/box/evidence,/obj/machinery/light,/obj/machinery/camera{c_tag = "Detective South"; dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"avO" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"avP" = (/obj/machinery/photocopier,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"avQ" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"avR" = (/obj/machinery/computer/forensic_scanning,/obj/machinery/light,/turf/simulated/floor{icon_state = "floorgrime"},/area/security/detectives_office) -"avS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"avT" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs) -"avU" = (/obj/structure/table/woodentable,/obj/machinery/alarm{dir = 8; frequency = 1440; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs) -"avV" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area) -"avW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber) -"avX" = (/obj/structure/stool/bed/chair/barber{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber) -"avY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/storage/primary) -"avZ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/storage/primary) -"awa" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor,/area/storage/primary) -"awb" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/storage/primary) -"awc" = (/turf/simulated/floor,/area/storage/primary) -"awd" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor,/area/storage/primary) -"awe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/storage/primary) -"awf" = (/obj/structure/stool/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) -"awg" = (/obj/structure/stool/bed/chair{dir = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) -"awh" = (/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/gateway) -"awi" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/turf/simulated/floor,/area/gateway) -"awj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/gateway) -"awk" = (/turf/simulated/floor,/area/gateway) -"awl" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/gateway) -"awm" = (/obj/structure/rack,/obj/item/clothing/under/rank/clown,/obj/item/weapon/storage/backpack/clown,/obj/item/clothing/mask/gas/clown_hat,/obj/item/clothing/shoes/clown_shoes,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/wood,/area/security/vacantoffice2) -"awn" = (/obj/item/flag/clown,/obj/machinery/light,/turf/simulated/floor/wood,/area/security/vacantoffice2) -"awo" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "Fore Primary Hallway APC"; pixel_x = -24},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"awp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"awq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"awr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/fore) -"aws" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/fore) -"awt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"awu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"awv" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"aww" = (/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"awx" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=EVA"; location = "Security"},/turf/simulated/floor,/area/hallway/primary/fore) -"awy" = (/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/primary/fore) -"awz" = (/obj/machinery/light,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/primary/fore) -"awA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/primary/fore) -"awB" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/primary/fore) -"awC" = (/obj/machinery/camera{c_tag = "Fore Primary Hallway East"; dir = 1},/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/primary/fore) -"awD" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/mrchangs) -"awE" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs) -"awF" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/storage/primary) -"awG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/storage/primary) -"awH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/storage/primary) -"awI" = (/obj/structure/table,/obj/machinery/light{dir = 4},/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) -"awJ" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/escape_pod1/station) -"awK" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_1_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod1/station) -"awL" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/shuttle/escape_pod1/station) -"awM" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/escape_pod2/station) -"awN" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_2_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod2/station) -"awO" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/shuttle/escape_pod2/station) -"awP" = (/obj/machinery/power/apc{dir = 8; name = "Gateway APC"; pixel_x = -24; pixel_y = -1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/closet/emcloset,/turf/simulated/floor,/area/gateway) -"awQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/gateway) -"awR" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/gateway) -"awS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor,/area/gateway) -"awT" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/gateway) -"awU" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"awV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"awW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"awX" = (/obj/machinery/door/airlock/clown{name = "Clown/Mime Office"; req_access_txt = "46"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/vacantoffice2) -"awY" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/hallway/primary/fore) -"awZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/obj/machinery/door/airlock{name = "Magistrate"; req_access_txt = "38"},/turf/simulated/floor,/area/lawoffice) -"axa" = (/obj/machinery/door/airlock{name = "Internal Affairs"; req_access_txt = "38"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/lawoffice) -"axb" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"axc" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/fore) -"axd" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"axe" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor,/area/maintenance/fsmaint) -"axf" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "Security Maintenance APC"; pixel_y = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"axg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/mrchangs) -"axh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs) -"axi" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) -"axj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/storage/primary) -"axk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/storage/primary) -"axl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor,/area/storage/primary) -"axm" = (/obj/structure/stool{pixel_y = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor,/area/storage/primary) -"axn" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/storage/primary) -"axo" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/tech_supply,/obj/random/tech_supply,/turf/simulated/floor,/area/storage/primary) -"axp" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxstarboard) -"axq" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"axr" = (/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"axs" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"axt" = (/obj/structure/closet/emcloset,/obj/item/device/assembly/igniter,/turf/simulated/floor,/area/gateway) -"axu" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/gateway) -"axv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/gateway) -"axw" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/closet/l3closet/scientist,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/gateway) -"axx" = (/obj/machinery/light{dir = 4},/obj/structure/closet/l3closet/scientist,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/gateway) -"axy" = (/turf/simulated/floor/plating/airless,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_tool_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk8"; icon_state = "catwalk8"},/area/solar/auxport) -"axz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"axA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"axB" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/flag/mime,/turf/simulated/floor/wood,/area/security/vacantoffice2) -"axC" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/security/vacantoffice2) -"axD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood,/area/security/vacantoffice2) -"axE" = (/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"axF" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/turf/simulated/floor/carpet,/area/lawoffice) -"axG" = (/obj/structure/table/woodentable,/obj/machinery/faxmachine{department = "Internal Affairs"},/turf/simulated/floor/carpet,/area/lawoffice) -"axH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/carpet,/area/lawoffice) -"axI" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump,/obj/machinery/photocopier,/turf/simulated/floor/carpet,/area/lawoffice) -"axJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/lawoffice) -"axK" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"axL" = (/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"axM" = (/obj/structure/closet/lawcloset,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"axN" = (/obj/machinery/photocopier,/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = 27},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"axO" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"axP" = (/obj/machinery/vending/coffee,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"axQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"axR" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/machinery/light{dir = 1},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"axS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"axT" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"axU" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall,/area) -"axV" = (/obj/structure/disposalpipe/junction{tag = "icon-pipe-j1 (EAST)"; icon_state = "pipe-j1"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"axW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"axX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"axY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"axZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aya" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"ayb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"ayc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs) -"ayd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/mrchangs) -"aye" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light/small,/turf/simulated/floor/wood,/area/crew_quarters/mrchangs) -"ayf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area) -"ayg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber) -"ayh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber) -"ayi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/storage/primary) -"ayj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/storage/primary) -"ayk" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Tool Storage"},/turf/simulated/floor{icon_state = "bot"},/area/storage/primary) -"ayl" = (/turf/simulated/floor{icon_state = "delivery"},/area/storage/primary) -"aym" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/turf/simulated/floor,/area/storage/primary) -"ayn" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/storage/primary) -"ayo" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/storage/primary) -"ayp" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area) -"ayq" = (/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"ayr" = (/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area) -"ays" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/auxstarboard) -"ayt" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "admin_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 7; req_one_access_txt = "13;48"},/turf/space,/area) -"ayu" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall/r_wall,/area) -"ayv" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_outer"; locked = 1; name = "Arrival Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/south) -"ayw" = (/obj/machinery/atmospherics/portables_connector{layer = 2},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry/south) -"ayx" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/entry/south) -"ayy" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_1_berth_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"ayz" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_2_berth_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"ayA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area) -"ayB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area) -"ayC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass{id_tag = "Gateway-Access"; name = "Gateway Access"},/turf/simulated/floor,/area/gateway) -"ayD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) -"ayE" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"ayF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_tool_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"ayG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"ayH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"ayI" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/wood,/area/security/vacantoffice2) -"ayJ" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/robopen{desc = "This expensive pen is of high craftsmanship is gilded. It contains multiple colors of ink."; icon = 'icons/obj/custom_items.dmi'; icon_state = "eugene_pen"; name = "Golden Pen"},/turf/simulated/floor/carpet,/area/lawoffice) -"ayK" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/obj/effect/landmark/start{name = "Magistrate"},/obj/item/device/radio/intercom{broadcasting = 0; freerange = 0; frequency = 1475; listening = 1; name = "Station Intercom (Security)"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor/carpet,/area/lawoffice) -"ayL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/lawoffice) -"ayM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/lawoffice) -"ayN" = (/obj/structure/table/reinforced,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"ayO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"ayP" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"ayQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area) -"ayR" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/crew_quarters/fitness) -"ayS" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area) -"ayT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/glass{name = "Mr. Chang's"},/turf/simulated/floor,/area/crew_quarters/mrchangs) -"ayU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area) -"ayV" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area) -"ayW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass{name = "Barber Shop"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/civilian/barber) -"ayX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/wall,/area) -"ayY" = (/obj/machinery/door/airlock/glass{name = "Dormitories"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/crew_quarters/locker) -"ayZ" = (/obj/machinery/door/airlock/glass{name = "Dormitories"; req_access_txt = "0"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/crew_quarters/locker) -"aza" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) -"azb" = (/turf/simulated/floor/engine{name = "Holodeck Projector Floor"},/area/holodeck/alphadeck) -"azc" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area) -"azd" = (/obj/item/weapon/screwdriver,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "admin_shuttle_dock_pump"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/south) -"aze" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry/south) -"azf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_inner"; locked = 1; name = "Arrival Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/south) -"azg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "admin_shuttle_dock_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_one_access_txt = "13;48"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry/south) -"azh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/south) -"azi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry/south) -"azj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry/south) -"azk" = (/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/hallway/secondary/entry) -"azl" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"azm" = (/obj/machinery/door/firedoor,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"azn" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{id_tag = "escape_pod_1_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_1_berth_hatch"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"azo" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"azp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"azq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{id_tag = "escape_pod_2_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_2_berth_hatch"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"azr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"azs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/power/apc{dir = 1; name = "Arrivals North Maintenance APC"; pixel_x = -1; pixel_y = 26},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry) -"azt" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry) -"azu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry) -"azv" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry) -"azw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry) -"azx" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry) -"azy" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area) -"azz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "solar_tool_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_tool_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "solar_tool_pump"; tag_exterior_door = "solar_tool_outer"; frequency = 1379; id_tag = "solar_tool_airlock"; tag_interior_door = "solar_tool_inner"; pixel_x = 25; req_access_txt = "13"; tag_chamber_sensor = "solar_tool_sensor"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"azA" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area) -"azB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/spray/waterflower,/turf/simulated/floor/wood,/area/security/vacantoffice2) -"azC" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/item/weapon/paper_bin,/obj/item/toy/crayon/mime,/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/turf/simulated/floor/wood,/area/security/vacantoffice2) -"azD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light,/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/hallway/primary/fore) -"azE" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"azF" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"azG" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"azH" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"azI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep) -"azJ" = (/obj/machinery/cryopod,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep) -"azK" = (/obj/structure/cryofeed,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep) -"azL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "neutral"; dir = 9},/area/crew_quarters/fitness) -"azM" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{icon_state = "neutral"; dir = 5},/area/crew_quarters/fitness) -"azN" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"azO" = (/obj/machinery/requests_console{department = "Crew Quarters"; pixel_y = 30},/obj/machinery/camera/xray{c_tag = "Dormitories"},/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"azP" = (/obj/machinery/vending/cola,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"azQ" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"azR" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"azS" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"azT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"azU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/sign/chinese{pixel_y = 30},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"azV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"azW" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/obj/structure/stool/bed/chair/sofa/right,/obj/machinery/camera{c_tag = "Boxing Ring"},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"azX" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/stool/bed/chair/sofa,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"azY" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/sign/barber{pixel_y = 30},/obj/structure/stool/bed/chair/sofa/left,/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"azZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"aAa" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/fitness) -"aAb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAe" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/crew_quarters/fitness) -"aAf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Secure Gate"; name = "Security Blast Door"; opacity = 0},/obj/structure/cable,/obj/structure/sign/securearea,/turf/simulated/floor/plating,/area/security/lobby) -"aAg" = (/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aAh" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAi" = (/obj/structure/window/basic{dir = 8},/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness) -"aAj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/closet/lasertag/blue,/turf/simulated/floor,/area/crew_quarters/fitness) -"aAk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/closet/lasertag/red,/turf/simulated/floor,/area/crew_quarters/fitness) -"aAl" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor,/area/crew_quarters/fitness) -"aAm" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 4},/area) -"aAn" = (/obj/structure/stool/bed/chair/sofa/right,/turf/simulated/floor/wood,/area/secret/gaybar) -"aAo" = (/obj/structure/stool/bed/chair/sofa/left,/turf/simulated/floor/wood,/area/secret/gaybar) -"aAp" = (/obj/structure/table/reinforced,/turf/simulated/floor/wood,/area/secret/gaybar) -"aAq" = (/obj/machinery/party/lasermachine{mirrored = 1},/turf/simulated/floor/wood,/area/secret/gaybar) -"aAr" = (/turf/simulated/floor/wood,/area/secret/gaybar) -"aAs" = (/turf/simulated/floor/light,/area/secret/gaybar) -"aAt" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/light,/area/secret/gaybar) -"aAu" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area) -"aAv" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) -"aAw" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) -"aAx" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "admin_shuttle_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{id_tag = "admin_shuttle_dock_airlock"; pixel_x = 0; pixel_y = -25; req_one_access_txt = "13;48"; tag_airpump = "admin_shuttle_dock_pump"; tag_chamber_sensor = "admin_shuttle_dock_sensor"; tag_exterior_door = "admin_shuttle_dock_outer"; tag_interior_door = "admin_shuttle_dock_inner"},/obj/machinery/airlock_sensor{id_tag = "admin_shuttle_dock_sensor"; pixel_x = -8; pixel_y = -25},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/hallway/secondary/entry/south) -"aAy" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry/south) -"aAz" = (/obj/machinery/light/small,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/hallway/secondary/entry/south) -"aAA" = (/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"aAB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry/south) -"aAC" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "admin_shuttle_dock_inner"; locked = 1; name = "Arrival Dock Airlock"; req_access = null; req_access_txt = "13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/hallway/secondary/entry/south) -"aAD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"aAE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry/south) -"aAF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry/south) -"aAG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry) -"aAH" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry) -"aAI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry) -"aAJ" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"aAK" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area) -"aAL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_tool_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aAM" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area) -"aAN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Mime"},/turf/simulated/floor/wood,/area/security/vacantoffice2) -"aAO" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green,/turf/simulated/floor/wood,/area/security/vacantoffice2) -"aAP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood,/area/security/vacantoffice2) -"aAQ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aAR" = (/turf/simulated/floor/carpet,/area/lawoffice) -"aAS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/carpet,/area/lawoffice) -"aAT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/table/reinforced,/obj/item/device/megaphone,/turf/simulated/floor/carpet,/area/lawoffice) -"aAU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/lawoffice) -"aAV" = (/obj/structure/table/reinforced,/obj/machinery/faxmachine{department = "Internal Affairs"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aAW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aAX" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aAY" = (/obj/structure/table/reinforced,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aAZ" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/law,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aBa" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/effect/landmark/start{name = "Internal Affairs Agent"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aBb" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aBc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area) -"aBd" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep) -"aBe" = (/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/fitness) -"aBf" = (/turf/simulated/floor,/area/crew_quarters/fitness) -"aBg" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/fitness) -"aBh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aBi" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/crew_quarters/fitness) -"aBj" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aBk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aBl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness) -"aBm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aBn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aBo" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor,/area/crew_quarters/fitness) -"aBp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aBq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aBr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair{dir = 4},/obj/structure/window/basic{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness) -"aBs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aBt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness) -"aBu" = (/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) -"aBv" = (/obj/machinery/camera{c_tag = "Secret Space Bar West"; dir = 4; network = list("SS13")},/obj/machinery/media/jukebox/bar,/turf/simulated/floor/wood,/area/secret/gaybar) -"aBw" = (/obj/machinery/camera{c_tag = "Arrivals North East"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aBx" = (/turf/simulated/floor,/area/hallway/secondary/entry) -"aBy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/secondary/entry) -"aBz" = (/obj/machinery/power/solar_control{id = "auxsolareast"; name = "Fore Port Solar Control"; track = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aBA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_tool_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aBB" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aBC" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aBD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/maintenance/fpmaint2) -"aBE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating/airless,/area/maintenance/fpmaint2) -"aBF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/maintenance/fpmaint) -"aBG" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating/airless,/area/maintenance/fpmaint) -"aBH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/security/vacantoffice2) -"aBI" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/security/vacantoffice2) -"aBJ" = (/obj/machinery/power/apc{name = "Mime Office APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/wood,/area/security/vacantoffice2) -"aBK" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/carpet,/area/lawoffice) -"aBL" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/blue{pixel_x = 5},/obj/item/weapon/folder{pixel_x = -4},/obj/machinery/door_control{id = "magistrate_blast"; name = "Privacy Shutters"; pixel_y = -25},/turf/simulated/floor/carpet,/area/lawoffice) -"aBM" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/filingcabinet,/turf/simulated/floor/carpet,/area/lawoffice) -"aBN" = (/obj/structure/table/reinforced,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor/carpet,/area/lawoffice) -"aBO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/lawoffice) -"aBP" = (/obj/structure/table/reinforced,/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aBQ" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/ashtray/plastic{pixel_x = 4; pixel_y = 6},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aBR" = (/obj/structure/table/reinforced,/obj/machinery/light/small/lamp,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aBS" = (/obj/structure/table/reinforced,/obj/machinery/light/small/lamp,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aBT" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/ashtray/plastic{pixel_x = 5; pixel_y = 6},/obj/machinery/power/apc{dir = 2; name = "Law Office APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aBU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/reinforced,/obj/machinery/door_control{id = "lawyer_blast"; name = "Privacy Shutters"; pixel_y = -25},/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/machinery/camera{c_tag = "Internal Affairs"; dir = 1},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aBV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"aBW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"aBX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/fore) -"aBY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"aBZ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aCa" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area) -"aCb" = (/obj/machinery/light{dir = 8},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep) -"aCc" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/fitness) -"aCd" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCe" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/fitness) -"aCf" = (/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/fitness) -"aCg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/fitness) -"aCh" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/fitness) -"aCi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness) -"aCl" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/turf/simulated/floor,/area/crew_quarters/fitness) -"aCm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/camera{c_tag = "Fitness Room"},/obj/machinery/power/apc{dir = 1; name = "Fitness Room APC"; pixel_x = -1; pixel_y = 26},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness) -"aCq" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCr" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCs" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCt" = (/obj/machinery/camera{c_tag = "Holodeck"},/obj/machinery/alarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCu" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area) -"aCv" = (/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (EAST)"; icon_state = "comfychair_teal"; dir = 4},/turf/simulated/floor/wood,/area/secret/gaybar) -"aCw" = (/obj/machinery/partyalarm{pixel_y = 30},/obj/machinery/party/turntable{pixel_x = 32},/turf/simulated/floor/wood,/area/secret/gaybar) -"aCx" = (/turf/space,/area/shuttle/constructionsite/station) -"aCy" = (/obj/machinery/computer/shuttle_control/engineering{req_access = null; req_one_access_txt = "11;24"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry) -"aCz" = (/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry) -"aCA" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aCB" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aCC" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aCD" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aCE" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aCF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/wall,/area) -"aCG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aCH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 2; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area) -"aCI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/lawoffice) -"aCJ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area) -"aCK" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/camera{c_tag = "Fore Primary Hallway"; dir = 4; network = list("SS13")},/obj/machinery/power/apc{dir = 8; name = "Fore Primary Hallway APC"; pixel_x = -24},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) -"aCL" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 31},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) -"aCM" = (/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep) -"aCN" = (/obj/structure/table/woodentable,/turf/simulated/floor,/area/crew_quarters/fitness) -"aCO" = (/obj/structure/table/woodentable,/obj/item/weapon/coin/silver,/turf/simulated/floor,/area/crew_quarters/fitness) -"aCP" = (/obj/machinery/door/window/westright{name = "Boxing Ring"},/turf/simulated/floor/wood,/area/crew_quarters/fitness) -"aCQ" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/fitness) -"aCR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/fitness) -"aCS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/fitness) -"aCT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness) -"aCW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/machinery/door/airlock/glass{name = "Dormitories"; req_access_txt = "0"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCX" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/stamp/law,/obj/machinery/light,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/carpet,/area/lawoffice) -"aCY" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/window/basic{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aCZ" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aDa" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aDb" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/crew_quarters/fitness) -"aDc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/crew_quarters/fitness) -"aDd" = (/obj/machinery/computer/HolodeckControl,/turf/simulated/floor,/area/crew_quarters/fitness) -"aDe" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness) -"aDf" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area) -"aDg" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area) -"aDh" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/wood,/area/secret/gaybar) -"aDi" = (/obj/structure/table/reinforced,/obj/machinery/party/mixer,/turf/simulated/floor/wood,/area/secret/gaybar) -"aDj" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area) -"aDk" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area) -"aDl" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area) -"aDm" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aDn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry) -"aDo" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "Fore Port Solar APC"; pixel_x = -25; pixel_y = 3},/obj/machinery/camera{c_tag = "Fore Port Solar Control"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aDp" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aDq" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes{charge = 0},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aDr" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/blue,/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) -"aDs" = (/obj/machinery/atmospherics/unary/vent_scrubber,/obj/structure/closet,/obj/item/weapon/modkit/tajaran,/obj/item/stack/medical/bruise_pack/tajaran,/obj/item/stack/medical/ointment/tajaran,/obj/machinery/alarm{pixel_y = 32; target_temperature = 283.15},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) -"aDt" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/obj/machinery/power/apc{dir = 1; name = "Tajaran Embassy APC"; pixel_x = -1; pixel_y = 26},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) -"aDu" = (/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) -"aDv" = (/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) -"aDw" = (/obj/machinery/power/apc{name = "EVA Maintenance APC"; dir = 1; step_y = 0; pixel_x = -1; pixel_y = 26},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aDx" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aDy" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aDz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aDA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aDB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aDC" = (/obj/effect/landmark{name = "blobstart"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aDD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aDE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aDF" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aDG" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) -"aDH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/fore) -"aDI" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"aDJ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aDK" = (/obj/structure/table/woodentable,/obj/machinery/media/receiver/boombox,/turf/simulated/floor,/area/crew_quarters/fitness) -"aDL" = (/obj/structure/table/woodentable,/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/crew_quarters/fitness) -"aDM" = (/obj/structure/table/woodentable,/obj/item/toy/cards/deck,/turf/simulated/floor,/area/crew_quarters/fitness) -"aDN" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/clothing/gloves/boxing,/turf/simulated/floor,/area/crew_quarters/fitness) -"aDO" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/fitness) -"aDP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/fitness) -"aDQ" = (/obj/machinery/door/window/eastleft{name = "Boxing Ring"},/turf/simulated/floor/wood,/area/crew_quarters/fitness) -"aDR" = (/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness) -"aDS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/machinery/door/airlock/glass{name = "Dormitories"; req_access_txt = "0"},/turf/simulated/floor,/area/crew_quarters/fitness) -"aDT" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aDU" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/window/basic{dir = 8},/turf/simulated/floor,/area/crew_quarters/fitness) -"aDV" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aDW" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aDX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/crew_quarters/fitness) -"aDY" = (/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area) -"aDZ" = (/obj/structure/table,/obj/item/weapon/paper{desc = ""; info = "Brusies sustained in the holodeck can be healed simply by sleeping."; name = "Holodeck Disclaimer"},/turf/simulated/floor,/area/crew_quarters/fitness) -"aEa" = (/turf/simulated/floor/plating/airless,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk1"; icon_state = "catwalk1"},/area/solar/auxstarboard) -"aEb" = (/obj/structure/stool/bed/chair/comfy/lime{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/wood,/area/secret/gaybar) -"aEc" = (/obj/machinery/party/turntable{pixel_x = 32},/turf/simulated/floor/wood,/area/secret/gaybar) -"aEd" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_dock_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aEe" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1379; id_tag = "engineering_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{id_tag = "engineering_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access_txt = "13;48"; tag_airpump = "engineering_dock_pump"; tag_chamber_sensor = "engineering_dock_sensor"; tag_exterior_door = "engineering_dock_outer"; tag_interior_door = "engineering_dock_inner"},/obj/machinery/airlock_sensor{id_tag = "engineering_dock_sensor"; pixel_x = -8; pixel_y = 30},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aEf" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_dock_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aEg" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "engineering_dock_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_one_access_txt = "13;48"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aEh" = (/obj/structure/stool/bed,/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint2) -"aEi" = (/obj/machinery/atmospherics/unary/vent_pump,/obj/structure/closet/secure_closet/personal,/obj/item/clothing/shoes/orange,/obj/item/clothing/under/color/orange,/turf/simulated/floor{icon_state = "red"; dir = 5},/area) -"aEj" = (/turf/simulated/wall/r_wall,/area/security/checkpoint2) -"aEk" = (/obj/machinery/atmospherics/unary/vent_pump,/obj/structure/closet/secure_closet/personal,/obj/item/clothing/shoes/orange,/obj/item/clothing/under/color/orange,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint2) -"aEl" = (/obj/structure/stool/bed,/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/checkpoint2) -"aEm" = (/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Port Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) -"aEn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) -"aEo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) -"aEp" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aEq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aEr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aEs" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aEt" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/maintenance{name = "E.V.A. Maintenance"; req_access_txt = "0"; req_one_access_txt = "18"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) -"aEu" = (/obj/structure/grille,/turf/space,/area/toxins/mixing) -"aEv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) -"aEw" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/fore) -"aEx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"aEy" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aEz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aEA" = (/obj/machinery/computer/cryopod{density = 0; pixel_x = -32; pixel_y = 0},/obj/machinery/camera{c_tag = "Cryodorms"; c_tag_order = 999; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep) -"aEB" = (/obj/machinery/door/airlock{id_tag = "Cryogenics"; name = "Cryodorms"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep) -"aEC" = (/obj/structure/table/woodentable,/obj/item/device/paicard,/turf/simulated/floor,/area/crew_quarters/fitness) -"aED" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/crew_quarters/fitness) -"aEE" = (/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/crew_quarters/fitness) -"aEF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/crew_quarters/fitness) -"aEG" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/crew_quarters/fitness) -"aEH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic{dir = 1},/turf/simulated/floor,/area/crew_quarters/fitness) -"aEI" = (/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/crew_quarters/fitness) -"aEJ" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/crew_quarters/fitness) -"aEK" = (/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/crew_quarters/fitness) -"aEL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/crew_quarters/fitness) -"aEM" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor,/area/crew_quarters/fitness) -"aEN" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass{name = "Holodeck Door"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor,/area/crew_quarters/fitness) -"aEO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light/small,/turf/simulated/floor,/area/crew_quarters/fitness) -"aEP" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/crew_quarters/fitness) -"aEQ" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area) -"aER" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_chapel_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aES" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/wood,/area/secret/gaybar) -"aET" = (/obj/machinery/camera{c_tag = "Secret Space Bar East"; dir = 8; network = list("SS13")},/turf/simulated/floor/wood,/area/secret/gaybar) -"aEU" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area) -"aEV" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) -"aEW" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint2) -"aEX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint2) -"aEY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/security/checkpoint2) -"aEZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint2) -"aFa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint2) -"aFb" = (/obj/machinery/power/apc{dir = 1; name = "Arrivals North Maintenance APC"; pixel_x = -1; pixel_y = 26},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aFc" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/obj/machinery/camera{c_tag = "Fore Port Solar Access"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aFd" = (/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aFe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aFf" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) -"aFg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) -"aFh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) -"aFi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) -"aFj" = (/turf/simulated/wall,/area/maintenance/fpmaint) -"aFk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aFl" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aFm" = (/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aFn" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medical Hardsuits"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aFo" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aFp" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aFq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/vending/eva,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aFr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aFs" = (/obj/machinery/power/apc{dir = 1; name = "EVA APC"; pixel_x = 3; pixel_y = 23},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aFt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aFu" = (/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aFv" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_security{name = "Security Hardsuits"; req_access_txt = "1"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aFw" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aFx" = (/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) -"aFy" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"aFz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aFA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep) -"aFB" = (/obj/machinery/requests_console{announcementConsole = 0; department = "IAA"; departmentType = 0; name = "IAA RC"; pixel_y = -30},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aFC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/fitness) -"aFD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/fitness) -"aFE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aFF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aFG" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aFH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aFI" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/crew_quarters/fitness) -"aFJ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/fitness) -"aFK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/turf/simulated/floor,/area/crew_quarters/fitness) -"aFL" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/crew_quarters/fitness) -"aFM" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/fitness) -"aFN" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/crew_quarters/fitness) -"aFO" = (/obj/machinery/camera{c_tag = "Fitness Room South"; dir = 1},/obj/machinery/light,/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/crew_quarters/fitness) -"aFP" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) -"aFQ" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) -"aFR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_chapel_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "solar_chapel_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{frequency = 1379; id_tag = "solar_chapel_airlock"; pixel_x = 25; req_access_txt = "13"; tag_airpump = "solar_chapel_pump"; tag_chamber_sensor = "solar_chapel_sensor"; tag_exterior_door = "solar_chapel_outer"; tag_interior_door = "solar_chapel_inner"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aFS" = (/obj/structure/table/reinforced,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/wood,/area/secret/gaybar) -"aFT" = (/obj/machinery/door/window/southleft{name = "DJ Booth"},/turf/simulated/floor/wood,/area/secret/gaybar) -"aFU" = (/obj/machinery/party/lasermachine,/turf/simulated/floor/wood,/area/secret/gaybar) -"aFV" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "engineering_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 25; req_one_access_txt = "13;48"},/turf/space,/area) -"aFW" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area) -"aFX" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry) -"aFY" = (/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry) -"aFZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) -"aGa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/machinery/door/airlock/glass_security{id_tag = "DetentionLeft"; layer = 2.8; name = "Detention"; req_access_txt = "1"},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/checkpoint2) -"aGb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) -"aGc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/machinery/door/airlock/glass_security{id_tag = "DetentionRight"; layer = 2.8; name = "Detention"; req_access_txt = "1"},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/checkpoint2) -"aGd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/security/checkpoint2) -"aGe" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aGf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aGg" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aGh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aGi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aGj" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aGk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) -"aGl" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aGm" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aGn" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/space/rig/medical,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/medical,/obj/item/clothing/shoes/magboots,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/ai_monitored/storage/eva) -"aGo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area) -"aGp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table/reinforced,/obj/item/clothing/head/welding,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aGq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/ai_monitored/storage/eva) -"aGr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aGs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aGt" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/ai_monitored/storage/eva) -"aGu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aGv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area) -"aGw" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig/security,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/security,/obj/item/clothing/shoes/magboots,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/ai_monitored/storage/eva) -"aGx" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"aGy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 2},/area/crew_quarters/fitness) -"aGz" = (/obj/machinery/power/apc{dir = 2; name = "Dormitory APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aGA" = (/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aGB" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aGC" = (/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aGD" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aGE" = (/obj/machinery/atm{pixel_y = -32},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aGF" = (/obj/machinery/newscaster{pixel_y = -28},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aGG" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/light,/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aGH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aGI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aGJ" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "neutral"},/area/crew_quarters/fitness) -"aGK" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "neutral"; dir = 6},/area/crew_quarters/fitness) -"aGL" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/turf/simulated/floor,/area/crew_quarters/fitness) -"aGM" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"aGN" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/mob/living/simple_animal/crab/Coffee,/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"aGO" = (/turf/simulated/floor{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/crew_quarters/fitness) -"aGP" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"aGQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"aGR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area) -"aGS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Art Storage"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/storage/art) -"aGT" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) -"aGU" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) -"aGV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_chapel_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aGW" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area) -"aGX" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"aGY" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "Dance Club APC"; pixel_x = -25},/turf/simulated/floor/wood,/area/secret/gaybar) -"aGZ" = (/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor/wood,/area/secret/gaybar) -"aHa" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/secret/gaybar) -"aHb" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aHc" = (/obj/machinery/camera{c_tag = "Security Checkpoint Detention"; dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint2) -"aHd" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2) -"aHe" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2) -"aHf" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2) -"aHg" = (/obj/structure/closet/secure_closet/exile{req_access = list(1)},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint2) -"aHh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aHi" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aHj" = (/obj/machinery/space_heater,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aHk" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aHl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/camera{c_tag = "Tajaran Embassy"; dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) -"aHm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "wood"},/area/embassy/tajaran) -"aHn" = (/obj/structure/closet,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aHo" = (/obj/machinery/requests_console{department = "EVA"; pixel_x = -32; pixel_y = 0},/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/multitool,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aHp" = (/turf/simulated/floor,/area/ai_monitored/storage/eva) -"aHq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aHr" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table/reinforced,/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aHs" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"aHt" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/sleep) -"aHu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) -"aHv" = (/obj/machinery/door/airlock{name = "Unisex Showers"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aHw" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/crew_quarters/sleep) -"aHx" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"aHy" = (/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"aHz" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"aHA" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/table,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/simulated/floor,/area/storage/art) -"aHB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/storage/art) -"aHC" = (/turf/simulated/floor,/area/storage/art) -"aHD" = (/obj/machinery/power/solar_control{id = "auxsolareast"; name = "Fore Starboard Solar Control"; track = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aHE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_chapel_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aHF" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aHG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood,/area/secret/gaybar) -"aHH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/secret/gaybar) -"aHI" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/wood,/area/secret/gaybar) -"aHJ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/wood,/area/secret/gaybar) -"aHK" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry) -"aHL" = (/obj/machinery/vending/coffee,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"aHM" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"aHN" = (/obj/machinery/camera{c_tag = "Arrivals North"; dir = 1; network = list("SS13"); pixel_x = 22},/obj/machinery/door/firedoor,/obj/structure/sign/pods{pixel_y = -32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"aHO" = (/obj/machinery/vending/cola,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"aHP" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/entry) -"aHQ" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry) -"aHR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/security{name = "Detention Cells"; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/checkpoint2) -"aHS" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/command{name = "Tajaran Embassy"; req_access_txt = "120"},/turf/simulated/floor,/area/embassy/tajaran) -"aHT" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/jetpack/carbondioxide,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aHU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera/motion{c_tag = "EVA Motion Sensor"; dir = 4},/obj/structure/table/reinforced,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aHV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/ai_monitored/storage/eva) -"aHW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera{c_tag = "EVA East"; dir = 8},/obj/structure/table/reinforced,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aHX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area) -"aHY" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/skrell/white,/obj/item/clothing/head/helmet/space/skrell/white,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/ai_monitored/storage/eva) -"aHZ" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/head/helmet/space/skrell/black,/obj/item/clothing/suit/space/skrell/black,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/ai_monitored/storage/eva) -"aIa" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aIb" = (/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/sleep) -"aIc" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aId" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aIe" = (/obj/structure/urinal{pixel_y = 32},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aIf" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aIg" = (/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aIh" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aIi" = (/obj/machinery/camera{c_tag = "Bar Storage"},/obj/structure/table/woodentable,/obj/machinery/reagentgrinder,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aIj" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/item/weapon/gun/projectile/revolver/doublebarrel,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aIk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aIl" = (/obj/structure/table,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/turf/simulated/floor,/area/storage/art) -"aIm" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/storage/art) -"aIn" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Art Storage"; pixel_x = 27; pixel_y = 2},/turf/simulated/floor,/area/storage/art) -"aIo" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/grille,/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area) -"aIp" = (/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"aIq" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area) -"aIr" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aIs" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aIt" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/terminal,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aIu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/window/full/basic,/obj/structure/grille,/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aIv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Club Escapism"},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aIw" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/window/full/basic,/obj/structure/grille,/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aIx" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area) -"aIy" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area) -"aIz" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aIA" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/entry) -"aIB" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"aIC" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"aID" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"aIE" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aIF" = (/obj/machinery/power/apc{dir = 1; name = "Checkpoint APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/photocopier,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint2) -"aIG" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = 30},/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint2) -"aIH" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint2) -"aII" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/checkpoint2) -"aIJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aIK" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell) -"aIL" = (/turf/simulated/floor/beach/water,/area/embassy/skrell) -"aIM" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/beach/water,/area/embassy/skrell) -"aIN" = (/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell) -"aIO" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/hallway/primary/port/east) -"aIP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/flag/species/taj,/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Port Hallway North"; dir = 2},/turf/simulated/floor,/area/hallway/primary/port/east) -"aIQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east) -"aIR" = (/obj/item/flag/species/taj,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/hallway/primary/port/east) -"aIS" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/hallway/primary/port/east) -"aIT" = (/turf/simulated/floor/engine,/area/embassy/unathi) -"aIU" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/engine,/area/embassy/unathi) -"aIV" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/engine,/area/embassy/unathi) -"aIW" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "Jetpack Storage"; req_access_txt = "18"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aIX" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aIY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aIZ" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aJa" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "Xeno Hardsuits"; req_access_txt = "18"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aJb" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/sleep) -"aJc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) -"aJd" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aJe" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aJf" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/item/weapon/bikehorn/rubberducky,/obj/machinery/light,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aJg" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aJh" = (/obj/machinery/light/small{dir = 8},/obj/item/weapon/storage/secure/safe{pixel_x = -22; pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aJi" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aJj" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aJk" = (/obj/machinery/door/airlock/maintenance{name = "Bar Office Maintenance"; req_access_txt = "25"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/bar) -"aJl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/sortjunction{sortType = 19},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"aJn" = (/obj/structure/window/reinforced,/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"aJo" = (/obj/structure/window/reinforced,/obj/machinery/light,/obj/machinery/camera{c_tag = "Pool"; dir = 1},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"aJp" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/beach/water,/area/crew_quarters/fitness) -"aJq" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/floor,/area/storage/art) -"aJr" = (/obj/structure/table,/obj/item/weapon/storage/fancy/crayons,/obj/item/weapon/storage/fancy/crayons,/turf/simulated/floor,/area/storage/art) -"aJs" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/table,/obj/item/device/camera_film,/obj/item/device/camera,/turf/simulated/floor,/area/storage/art) -"aJt" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "Fore Starboard Solar APC"; pixel_x = -25; pixel_y = 3},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aJu" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aJv" = (/obj/machinery/camera{c_tag = "Fore Starboard Solars"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/smes{charge = 0},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aJw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aJx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aJy" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aJz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJA" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJD" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJF" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJH" = (/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aJI" = (/turf/simulated/wall/r_wall,/area/maintenance/fsmaint2) -"aJJ" = (/obj/machinery/door/poddoor{id = "chapelgun"; name = "Chapel Launcher Door"},/turf/simulated/floor/plating,/area) -"aJK" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry) -"aJL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"aJM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry) -"aJN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/entry) -"aJO" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aJP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"aJQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aJR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/secondary/entry) -"aJS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/secondary/entry) -"aJT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry) -"aJU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint2) -"aJV" = (/turf/simulated/floor,/area/security/checkpoint2) -"aJW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/checkpoint2) -"aJX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/checkpoint2) -"aJY" = (/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_y = 30},/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/checkpoint2) -"aJZ" = (/obj/structure/closet,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell) -"aKa" = (/obj/item/flag/species/skrell,/turf/simulated/floor,/area/hallway/primary/port/east) -"aKb" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"aKc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"aKd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"aKe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/flag/species/unathi,/turf/simulated/floor,/area/hallway/primary/port/east) -"aKf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/engine,/area/embassy/unathi) -"aKg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table/reinforced,/turf/simulated/floor/engine,/area/embassy/unathi) -"aKh" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/closet,/obj/item/weapon/modkit/unathi,/obj/item/weapon/hatchet/unathiknife,/obj/item/weapon/hatchet/unathiknife,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24; target_temperature = 313.15},/turf/simulated/floor/engine,/area/embassy/unathi) -"aKi" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aKj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aKk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table/reinforced,/obj/item/weapon/book/manual/evaguide,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aKl" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/space/vox/pressure{armor = list("melee" = 40, "bullet" = 10, "laser" = 20, "energy" = 15, "bomb" = 30, "bio" = 100, "rad" = 80); desc = "A huge, armoured, pressurized suit, designed for distinctly nonhuman proportions. Built by NT to emulate Vox design, but with the materials seen in an engineering RIG."; name = "NT Vox RIG"},/obj/item/clothing/gloves/yellow/vox,/obj/item/clothing/head/helmet/space/vox/pressure{armor = list("melee" = 40, "bullet" = 10, "laser" = 20, "energy" = 15, "bomb" = 30, "bio" = 100, "rad" = 80); name = "NT Vox Helmet"},/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots/vox,/obj/item/weapon/tank/nitrogen,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/ai_monitored/storage/eva) -"aKm" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/unathi/rig_cheap,/obj/item/clothing/head/helmet/space/unathi/helmet_cheap,/obj/item/clothing/shoes/magboots,/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/ai_monitored/storage/eva) -"aKn" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) -"aKo" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"aKp" = (/obj/machinery/camera{c_tag = "Dormitory South"; c_tag_order = 999; dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/sleep) -"aKq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) -"aKr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aKs" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aKt" = (/obj/machinery/power/apc{dir = 4; name = "Dormitory Bathrooms APC"; pixel_x = 26; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aKu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/sign/poster{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area) -"aKv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aKw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aKx" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/closet/gmcloset{icon_closed = "black"; icon_state = "black"; name = "formal wardrobe"},/obj/item/device/eftpos{eftpos_name = "Bar EFTPOS scanner"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aKy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Fore Starboard Solar Access"; req_access_txt = "10"},/turf/simulated/floor/plating,/area/maintenance/auxsolarstarboard) -"aKA" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aKB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aKC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aKD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKG" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aKI" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area) -"aKJ" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/turf/simulated/wall,/area) -"aKK" = (/obj/machinery/door/airlock/maintenance{name = "Chapel Maintenance"; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/plating,/area/chapel/main) -"aKL" = (/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/chapel/main) -"aKM" = (/turf/space,/area/shuttle/escape/station) -"aKN" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/shuttle/arrival/station) -"aKO" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/arrival/station) -"aKP" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aKQ" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "14"},/turf/simulated/shuttle/plating,/area/shuttle/arrival/station) -"aKR" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "17"},/turf/simulated/shuttle/plating,/area/shuttle/arrival/station) -"aKS" = (/turf/simulated/floor,/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/shuttle/arrival/station) -"aKT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/entry) -"aKU" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"aKV" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"aKW" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"aKX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aKY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry) -"aKZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/entry) -"aLa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry) -"aLb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint2) -"aLc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door_control{id = "customs-enterance"; name = "Customs Enterance Open"; normaldoorcontrol = 1; pixel_x = 5; pixel_y = -26; req_access_txt = "68"; specialfunctions = 1},/obj/machinery/door_control{id = "customs-enterance"; name = "Customs Enterance Bolts"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = -26; req_access_txt = "68"; specialfunctions = 4},/turf/simulated/floor,/area/security/checkpoint2) -"aLd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Customs Officer"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/checkpoint2) -"aLe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door_control{id = "customs-exit"; name = "Customs Exit Open"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = -26; req_access_txt = "68"; specialfunctions = 1},/obj/machinery/door_control{id = "customs-exit"; name = "Customs Exit Bolts"; normaldoorcontrol = 1; pixel_x = 5; pixel_y = -26; req_access_txt = "68"; specialfunctions = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/security/checkpoint2) -"aLf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint2) -"aLg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/maintenance{name = "Security Maintenance"; req_access_txt = "0"; req_one_access_txt = "1;68"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aLh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aLi" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aLj" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/table,/obj/machinery/power/apc{dir = 8; name = "Skrell Embassy APC"; pixel_x = -25; pixel_y = 3},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell) -"aLk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell) -"aLl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell) -"aLm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell) -"aLn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell) -"aLo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/research{name = "Skrell Embassy"; req_access_txt = "121"},/turf/simulated/floor,/area/embassy/skrell) -"aLp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east) -"aLq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"aLr" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"aLs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"aLt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/turf/simulated/floor,/area/hallway/primary/port/east) -"aLu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/security{name = "Unathi Embassy"; req_access_txt = "122"},/turf/simulated/floor,/area/embassy/unathi) -"aLv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/engine,/area/embassy/unathi) -"aLw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/engine,/area/embassy/unathi) -"aLx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table/reinforced,/turf/simulated/floor/engine,/area/embassy/unathi) -"aLy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/engine,/area/embassy/unathi) -"aLz" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (NORTH)"; icon_state = "manifold-b-f"; dir = 1},/obj/structure/table/reinforced,/obj/machinery/power/apc{dir = 4; name = "Unathi Embassy APC"; pixel_x = 25},/turf/simulated/floor/engine,/area/embassy/unathi) -"aLA" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aLB" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/machinery/suit_storage_unit,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aLC" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/obj/machinery/suit_storage_unit,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aLD" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore) -"aLE" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/fore) -"aLF" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore) -"aLG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aLH" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aLI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/sleep) -"aLJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) -"aLK" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aLL" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aLM" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aLN" = (/obj/structure/toilet{pixel_y = 8},/obj/machinery/light/small{dir = 8},/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aLO" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/recharge_station,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aLP" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aLQ" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aLR" = (/obj/item/device/radio/intercom{pixel_x = 25},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/window/reinforced,/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aLS" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aLT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aLU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j1 (EAST)"; icon_state = "pipe-j1"; dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aLV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aLW" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j1 (EAST)"; icon_state = "pipe-j1"; dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aLX" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aLY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; sortType = 20; tag = "icon-pipe-j1s (EAST)"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aLZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aMa" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aMb" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aMc" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aMd" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aMe" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aMf" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aMg" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aMh" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aMi" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aMj" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aMk" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area) -"aMl" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aMm" = (/obj/machinery/camera{c_tag = "Club Hall North"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aMn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall,/area) -"aMo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/wall,/area) -"aMp" = (/obj/machinery/door/airlock/maintenance{name = "Library Maintenance"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/library) -"aMq" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/library) -"aMr" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/packageWrap,/turf/simulated/floor/wood,/area/library) -"aMs" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/wood,/area/library) -"aMt" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area) -"aMu" = (/obj/machinery/door/airlock/maintenance{name = "Crematorium Maintenance"; req_access_txt = "27"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/chapel/office) -"aMv" = (/obj/structure/closet/wardrobe/chaplain_black,/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aMw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/light/small{dir = 1},/obj/machinery/requests_console{department = "Chapel"; departmentType = 2; pixel_y = 30},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aMx" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/camera{c_tag = "Chapel Office"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aMy" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aMz" = (/obj/structure/closet/coffin,/obj/structure/window/basic{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aMA" = (/obj/structure/closet/coffin,/obj/machinery/door/window/eastleft{name = "Coffin Storage"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aMB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aMC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aMD" = (/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aME" = (/obj/machinery/light/small{dir = 1},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aMF" = (/obj/machinery/door/window{dir = 8; name = "Mass Driver"; req_access_txt = "22"},/obj/machinery/mass_driver{dir = 1; id = "chapelgun"},/turf/simulated/floor/plating{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/chapel/main) -"aMG" = (/obj/structure/table/reinforced,/turf/simulated/floor/engine,/area/hallway/secondary/exit) -"aMH" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/turf/simulated/floor/engine,/area/hallway/secondary/exit) -"aMI" = (/turf/simulated/floor/engine,/area/hallway/secondary/exit) -"aMJ" = (/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor/engine,/area/hallway/secondary/exit) -"aMK" = (/obj/structure/spacepoddoor{luminosity = 3},/turf/simulated/floor/engine,/area/hallway/secondary/exit) -"aML" = (/obj/effect/landmark{name = "Marauder Entry"},/turf/space,/area) -"aMM" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/shuttle/arrival/station) -"aMN" = (/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aMO" = (/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aMP" = (/obj/structure/closet/wardrobe/black,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aMQ" = (/obj/structure/closet/wardrobe/xenos,/obj/item/clothing/shoes/sandal,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aMR" = (/obj/structure/closet/wardrobe/mixed,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aMS" = (/obj/structure/closet/wardrobe/grey,/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aMT" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/arrival/station) -"aMU" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/secondary/entry) -"aMV" = (/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/hallway/secondary/entry) -"aMW" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry) -"aMX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-warningcorner"; icon_state = "warningcorner"; dir = 2},/area/hallway/secondary/entry) -"aMY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"aMZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint2) -"aNa" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2) -"aNb" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2) -"aNc" = (/obj/structure/table/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint2) -"aNd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint2) -"aNe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aNf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aNg" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell) -"aNh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell) -"aNi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell) -"aNj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell) -"aNk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell) -"aNl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/flag/species/skrell,/turf/simulated/floor,/area/hallway/primary/port/east) -"aNm" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"aNn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"aNo" = (/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"aNp" = (/obj/item/flag/species/unathi,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port/east) -"aNq" = (/obj/machinery/light_switch{pixel_x = -25; pixel_y = 0},/turf/simulated/floor/engine,/area/embassy/unathi) -"aNr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/engine,/area/embassy/unathi) -"aNs" = (/obj/structure/table/reinforced,/turf/simulated/floor/engine,/area/embassy/unathi) -"aNt" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/filingcabinet,/turf/simulated/floor/engine,/area/embassy/unathi) -"aNu" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "Entertainer Suits"; req_access_txt = "0"; req_one_access_txt = "18;46"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aNv" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aNw" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/north) -"aNx" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/north) -"aNy" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/hallway/primary/central/north) -"aNz" = (/obj/structure/sign/directions/security{dir = 1; pixel_y = 7},/turf/simulated/wall,/area) -"aNA" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"aNB" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dormitories"; req_access_txt = "0"},/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/sleep) -"aNC" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Dormitories"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/crew_quarters/sleep) -"aND" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aNE" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aNF" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aNG" = (/obj/machinery/door/airlock{name = "Unit B"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aNH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area) -"aNI" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/sign/securearea{desc = "Under the painting a plaque reads: 'While the meat grinder may not have spared you, fear not. Not one part of you has gone to waste... You were delicious.'"; icon_state = "monkey_painting"; name = "Mr. Deempisi portrait"; pixel_x = -28; pixel_y = 4},/obj/machinery/vending/boozeomat,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aNJ" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aNK" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/window/southleft{tag = "icon-left (WEST)"; name = "Bar Delivery"; icon_state = "left"; dir = 8; req_access_txt = "25"; base_state = "left"},/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/bar) -"aNL" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Bar"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/crew_quarters/bar) -"aNM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNN" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNO" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNP" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNQ" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area) -"aNR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{name = "Kitchen Maintenance"; req_access_txt = "28"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/crew_quarters/kitchen) -"aNS" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Kitchen"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/crew_quarters/kitchen) -"aNT" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNU" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNV" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/power/apc{dir = 2; name = "Bar Maintenance APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j1s"; sortType = 21; tag = "icon-pipe-j1s (EAST)"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNY" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aNZ" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 4; icon_state = "pipe-j2s"; sortType = 17},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aOa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/camera{c_tag = "Fore Starboard Solar Access"; dir = 1},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aOb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aOc" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aOd" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aOe" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aOf" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aOg" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/wall,/area) -"aOh" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/library) -"aOi" = (/turf/simulated/floor/wood,/area/library) -"aOj" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/camera{c_tag = "Library North"; dir = 2; network = list("SS13")},/turf/simulated/floor/wood,/area/library) -"aOk" = (/obj/structure/stool/bed/chair/office/dark,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/library) -"aOl" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/library) -"aOm" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/library) -"aOn" = (/obj/structure/crematorium,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aOo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aOp" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aOq" = (/obj/effect/landmark/start{name = "Chaplain"},/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aOr" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/storage/fancy/crayons,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aOs" = (/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aOt" = (/obj/structure/closet/coffin,/obj/structure/window/basic{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aOu" = (/obj/machinery/driver_button{id = "chapelgun"; name = "Chapel Mass Driver"; pixel_x = 25},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aOv" = (/turf/simulated/wall,/area/chapel/main) -"aOw" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (EAST)"; icon_state = "propulsion_l"; dir = 4},/turf/space,/area/shuttle/arrival/station) -"aOx" = (/obj/effect/landmark/start{name = "Civilian"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aOy" = (/obj/effect/landmark{name = "HONKsquad"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aOz" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark{name = "JoinLate"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aOA" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/shuttle/arrival/station) -"aOB" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aOC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/entry) -"aOD" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/turf/simulated/floor,/area/hallway/secondary/entry) -"aOE" = (/obj/machinery/door/airlock/glass_security{name = "Security Checkpoint"; req_access_txt = "68"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor,/area/security/checkpoint2) -"aOF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) -"aOG" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "delivery"},/area/security/checkpoint2) -"aOH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) -"aOI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/glass_security{name = "Security Checkpoint"; req_access_txt = "68"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/security/checkpoint2) -"aOJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall,/area) -"aOK" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint2) -"aOL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell) -"aOM" = (/obj/machinery/camera{c_tag = "Skrell Embassy"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/embassy/skrell) -"aON" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/hallway/primary/port/east) -"aOO" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/flora/kirbyplants,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/hallway/primary/port/east) -"aOP" = (/obj/machinery/space_heater,/turf/simulated/floor/engine,/area/embassy/unathi) -"aOQ" = (/obj/machinery/camera{c_tag = "Unathi Embassy"; dir = 1},/turf/simulated/floor/engine,/area/embassy/unathi) -"aOR" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/engine,/area/embassy/unathi) -"aOS" = (/obj/item/clothing/suit/space/mime,/obj/item/clothing/head/helmet/space/mime,/obj/structure/rack{dir = 8; layer = 2.9},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aOT" = (/obj/item/clothing/suit/space/clown,/obj/item/clothing/head/helmet/space/clown,/obj/structure/rack{dir = 8; layer = 2.9},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aOU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aOV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/ai_monitored/storage/eva) -"aOW" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aOX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/camera{c_tag = "EVA South"; dir = 1},/turf/simulated/floor,/area/ai_monitored/storage/eva) -"aOY" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva) -"aOZ" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aPa" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/flora/kirbyplants,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/hallway/primary/central/north) -"aPb" = (/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Central Hallway North"; dir = 2},/obj/machinery/alarm{pixel_y = 23},/obj/item/flag/nt,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/north) -"aPc" = (/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/hallway/primary/central/north) -"aPd" = (/turf/simulated/floor,/area/hallway/primary/central/north) -"aPe" = (/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central/north) -"aPf" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Central Hall North APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/item/flag/nt,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/north) -"aPg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/hallway/primary/central/north) -"aPh" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"aPi" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central) -"aPj" = (/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/hallway/primary/central/ne) -"aPk" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central/ne) -"aPl" = (/obj/machinery/camera{c_tag = "Dormitory Toilets"; dir = 1},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aPm" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/toilet) -"aPn" = (/turf/simulated/wall,/area/crew_quarters/bar) -"aPo" = (/obj/machinery/door/airlock{name = "Bar Office"; req_access_txt = "25"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/bar) -"aPp" = (/obj/machinery/door/airlock/maintenance{name = "Bar Maintenance"; req_access_txt = "12"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/crew_quarters/bar) -"aPq" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aPr" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aPs" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/crate{desc = "It's a storage unit for kitchen clothes and equipment."; name = "Kitchen Crate"},/obj/item/clothing/head/chefhat,/obj/item/clothing/under/rank/chef,/obj/item/weapon/storage/box/mousetraps{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/box/mousetraps,/obj/item/clothing/under/waiter,/obj/item/clothing/under/waiter,/obj/item/clothing/under/sundress,/obj/item/device/eftpos{eftpos_name = "Kitchen EFTPOS scanner"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aPt" = (/obj/machinery/camera{c_tag = "Kitchen Freezer"},/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aPu" = (/obj/machinery/door/window/southleft{base_state = "left"; dir = 2; icon_state = "left"; name = "Kitchen Delivery"; req_access_txt = "28"},/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/kitchen) -"aPv" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=2"; freq = 1400; location = "Hydroponics"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hydroponics) -"aPw" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area) -"aPx" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{name = "Hydroponics Maintenance"; req_access_txt = "35"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/hydroponics) -"aPy" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aPz" = (/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aPA" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor/wood,/area/library) -"aPB" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/library) -"aPC" = (/obj/structure/table/woodentable,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library) -"aPD" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/wood,/area/library) -"aPE" = (/obj/machinery/newscaster{pixel_x = 30},/turf/simulated/floor/wood,/area/library) -"aPF" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aPG" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/crema_switch{pixel_x = 25},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aPH" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp{pixel_y = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aPI" = (/obj/structure/table/woodentable,/obj/item/weapon/pen,/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aPJ" = (/obj/structure/table/woodentable,/obj/item/weapon/nullrod,/obj/item/device/eftpos{eftpos_name = "Chapel EFTPOS scanner"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aPK" = (/obj/structure/closet/coffin,/obj/machinery/door/window/eastleft{dir = 8; name = "Coffin Storage"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aPL" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main) -"aPM" = (/obj/structure/table,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main) -"aPN" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/engine,/area/hallway/secondary/exit) -"aPO" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/space,/area/shuttle/arrival/station) -"aPP" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/shuttle/arrival/station) -"aPQ" = (/obj/effect/landmark{name = "HONKsquad"},/obj/machinery/camera{c_tag = "Arrivals Shuttle East"; dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aPR" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/arrival/station) -"aPS" = (/obj/machinery/vending/coffee,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aPT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/hallway/secondary/entry) -"aPU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"aPV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/entry) -"aPW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area) -"aPX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hallway/secondary/entry) -"aPY" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/primary/port/east) -"aPZ" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/camera{c_tag = "Arrivals Hallway East"; dir = 2},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/primary/port/east) -"aQa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"aQb" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/port/east) -"aQc" = (/turf/simulated/floor,/area/hallway/primary/port/east) -"aQd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area) -"aQe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) -"aQf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Arcade"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east) -"aQg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area) -"aQh" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"aQi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area) -"aQj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable,/obj/structure/sign/securearea,/turf/simulated/floor/plating,/area) -"aQk" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_access_txt = "0"; req_one_access_txt = "18"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) -"aQl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/turf/simulated/floor/plating,/area/ai_monitored/storage/eva) -"aQm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable,/obj/structure/sign/securearea,/turf/simulated/floor/plating,/area) -"aQn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area) -"aQo" = (/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central/north) -"aQp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/hallway/primary/central/north) -"aQq" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/hallway/primary/central/north) -"aQr" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area) -"aQs" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area) -"aQt" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area) -"aQu" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "dark"},/area/hallway/primary/central) -"aQv" = (/turf/simulated/floor{icon_state = "neutral"; dir = 4},/area/hallway/primary/central/ne) -"aQw" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/light{dir = 1},/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aQx" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aQy" = (/obj/machinery/requests_console{announcementConsole = 0; department = "Bar"; departmentType = 2; name = "Bar RC"; pixel_x = 0; pixel_y = 30},/obj/structure/table/reinforced,/obj/machinery/chem_dispenser/beer,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aQz" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/camera{c_tag = "Bar North"; dir = 2},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/structure/table/reinforced,/obj/machinery/chem_dispenser/soda,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aQA" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aQB" = (/obj/machinery/power/apc{dir = 1; name = "Bar APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/stool/bed/chair/comfy/brown{tag = "icon-comfychair_brown (EAST)"; icon_state = "comfychair_brown"; dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aQC" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aQD" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/stool/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aQE" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aQF" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aQG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aQH" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aQI" = (/mob/living/simple_animal/hostile/retaliate/goat,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aQJ" = (/obj/machinery/door/window/eastright{tag = "icon-right"; name = "Hydroponics Delivery"; icon_state = "right"; dir = 2; req_access_txt = "35"},/turf/simulated/floor{icon_state = "delivery"},/area/hydroponics) -"aQK" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/reinforced{dir = 8},/obj/machinery/alarm{pixel_y = 22},/obj/machinery/camera{c_tag = "Hydroponics Pasture"},/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/grass,/area/hydroponics) -"aQL" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hydroponics) -"aQM" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hydroponics) -"aQN" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hydroponics) -"aQO" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aQP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aQQ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aQR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aQS" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/structure/closet/secure_closet/hydroponics,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aQT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/closet/secure_closet/hydroponics,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aQU" = (/obj/machinery/alarm{pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/camera{c_tag = "Hydroponics Storage"},/obj/structure/closet/crate/hydroponics,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/screwdriver,/obj/item/weapon/shovel/spade,/obj/item/weapon/wrench,/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aQV" = (/obj/machinery/power/apc{dir = 1; name = "Hydroponics APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/table,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 8; pixel_y = 8},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 0; pixel_y = 3},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aQW" = (/obj/structure/table,/obj/item/weapon/book/manual/hydroponics_beekeeping,/obj/item/device/eftpos{eftpos_name = "Botany EFTPOS scanner"},/obj/item/weapon/paper/hydroponics,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aQX" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aQY" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aQZ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aRa" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area) -"aRb" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/wood,/area/library) -"aRc" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/library) -"aRd" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/wood,/area/library) -"aRe" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera{c_tag = "Chapel Crematorium"; dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aRf" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aRg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock{name = "Crematorium"; req_access_txt = "27"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aRh" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aRi" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aRj" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) -"aRk" = (/obj/structure/table,/obj/machinery/light/small,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) -"aRl" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/engine,/area/hallway/secondary/exit) -"aRm" = (/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor/engine,/area/hallway/secondary/exit) -"aRn" = (/obj/machinery/camera/xray{c_tag = "Arrivals Shuttle West"; dir = 4},/obj/effect/landmark/start{name = "Civilian"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aRo" = (/obj/effect/landmark{name = "Observer-Start"},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aRp" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aRq" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/arrival/station) -"aRr" = (/obj/machinery/atm{pixel_x = -32},/obj/machinery/light{dir = 8},/obj/machinery/camera/xray{c_tag = "Arrivals Central"; dir = 4},/obj/item/device/radio/beacon,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aRs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/secondary/entry) -"aRt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/hallway/secondary/entry) -"aRu" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{id_tag = "customs-enterance"; name = "Customs Enterance"},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/entry) -"aRv" = (/obj/machinery/light,/obj/machinery/metaldetector,/turf/simulated/floor{dir = 1; icon_state = "loadingarea"; tag = "loading"},/area/hallway/secondary/entry) -"aRw" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{id_tag = "customs-exit"; name = "Customs Exit"},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/entry) -"aRx" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/port/east) -"aRy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/port/east) -"aRz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/port/east) -"aRA" = (/obj/machinery/light{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/port/east) -"aRB" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/port/east) -"aRC" = (/obj/machinery/camera{c_tag = "Port Hallway 2"; dir = 2},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port/east) -"aRD" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/hallway/primary/port/east) -"aRE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east) -"aRF" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/hallway/primary/port/east) -"aRG" = (/obj/machinery/light{dir = 1},/obj/machinery/alarm{pixel_y = 32},/turf/simulated/floor,/area/hallway/primary/port/east) -"aRH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port/east) -"aRI" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/port/east) -"aRJ" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/nw) -"aRK" = (/turf/simulated/floor,/area/hallway/primary/central/nw) -"aRL" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = 30},/turf/simulated/floor,/area/hallway/primary/central/nw) -"aRM" = (/obj/machinery/camera{c_tag = "Central Hallway North-West"; dir = 2},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor,/area/hallway/primary/central/nw) -"aRN" = (/obj/machinery/light{dir = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/hallway/primary/central/nw) -"aRO" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Central Hall NW APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/hallway/primary/central/nw) -"aRP" = (/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central/nw) -"aRQ" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/nw) -"aRR" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/hallway/primary/central/nw) -"aRS" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "L1"},/area/hallway/primary/central/north) -"aRT" = (/turf/simulated/floor{icon_state = "L3"},/area/hallway/primary/central/north) -"aRU" = (/turf/simulated/floor{icon_state = "L5"},/area/hallway/primary/central/north) -"aRV" = (/turf/simulated/floor{icon_state = "L7"},/area/hallway/primary/central/north) -"aRW" = (/turf/simulated/floor{icon_state = "L9"},/area/hallway/primary/central/north) -"aRX" = (/turf/simulated/floor{icon_state = "L11"},/area/hallway/primary/central/north) -"aRY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{desc = ""; icon_state = "L13"; name = "floor"},/area/hallway/primary/central/north) -"aRZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "L15"},/area/hallway/primary/central/north) -"aSa" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/central/north) -"aSb" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/light{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/ne) -"aSc" = (/turf/simulated/floor{icon_state = "neutralcorner"; dir = 4},/area/hallway/primary/central/ne) -"aSd" = (/turf/simulated/floor{icon_state = "neutralcorner"; dir = 1},/area/hallway/primary/central/ne) -"aSe" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor{icon_state = "neutralcorner"; dir = 1},/area/hallway/primary/central/ne) -"aSf" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/camera{c_tag = "Central Hallway North-East"; dir = 2},/turf/simulated/floor,/area/hallway/primary/central/ne) -"aSg" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/hallway/primary/central/ne) -"aSh" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/hallway/primary/central/ne) -"aSi" = (/obj/machinery/power/apc{dir = 1; name = "Central Hall NE APC"; pixel_y = 26},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/hallway/primary/central/ne) -"aSj" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor,/area/hallway/primary/central/ne) -"aSk" = (/turf/simulated/floor,/area/hallway/primary/central/ne) -"aSl" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aSm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/weapon/pen/blue{pixel_x = 0; pixel_y = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/obj/item/weapon/book/manual/barman_recipes,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aSn" = (/obj/structure/disposalpipe/segment{dir = 4},/mob/living/carbon/monkey{tag = "icon-punpun1"; name = "Pun Pun"; icon_state = "punpun1"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aSo" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aSp" = (/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aSq" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/reinforced,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/weapon/lighter/zippo,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aSr" = (/obj/structure/stool/bed/chair/comfy/brown{tag = "icon-comfychair_brown (EAST)"; icon_state = "comfychair_brown"; dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aSs" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aSt" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aSu" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/kitchenspike,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aSv" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aSw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aSx" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aSy" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSz" = (/turf/simulated/floor{dir = 2; icon_state = "asteroid"; tag = "icon-asteroid (NORTH)"},/turf/simulated/floor{tag = "icon-siding2 (NORTH)"; icon_state = "siding2"; dir = 1},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-siding1 (NORTH)"; icon_state = "siding1"; dir = 1},/area/hydroponics) -"aSA" = (/turf/simulated/floor{dir = 2; icon_state = "asteroid"; tag = "icon-asteroid (NORTH)"},/turf/simulated/floor{tag = "icon-siding2 (NORTH)"; icon_state = "siding2"; dir = 1},/mob/living/simple_animal/pig,/turf/simulated/floor{tag = "icon-siding1 (NORTH)"; icon_state = "siding1"; dir = 1},/area/hydroponics) -"aSB" = (/turf/simulated/floor{dir = 2; icon_state = "asteroid"; tag = "icon-asteroid (NORTH)"},/turf/simulated/floor{tag = "icon-siding2 (NORTH)"; icon_state = "siding2"; dir = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{tag = "icon-siding1 (NORTH)"; icon_state = "siding1"; dir = 1},/area/hydroponics) -"aSC" = (/turf/simulated/floor{dir = 2; icon_state = "asteroid"; tag = "icon-asteroid (NORTH)"},/turf/simulated/floor{tag = "icon-siding2 (NORTH)"; icon_state = "siding2"; dir = 1},/turf/simulated/floor{tag = "icon-siding1 (NORTH)"; icon_state = "siding1"; dir = 1},/area/hydroponics) -"aSD" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Hydroponics Pasture"; req_access_txt = "35"},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSE" = (/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSF" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSG" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = -31},/obj/machinery/light,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSK" = (/obj/structure/table,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aSL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aSM" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/wall,/area) -"aSN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/library) -"aSO" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/library) -"aSP" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library) -"aSQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/wood,/area/library) -"aSR" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aSS" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aST" = (/obj/machinery/power/apc{dir = 8; name = "Chapel Office APC"; pixel_x = -25},/obj/structure/cable,/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aSU" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor{icon_state = "grimy"},/area/chapel/office) -"aSV" = (/obj/machinery/camera{c_tag = "Chapel North"; dir = 2; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aSW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aSX" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aSY" = (/obj/machinery/door/airlock/glass{name = "Escape Pod Bay"},/turf/simulated/floor,/area/hallway/secondary/exit) -"aSZ" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) -"aTa" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"aTb" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/arrival/station) -"aTc" = (/turf/simulated/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/shuttle/arrival/station) -"aTd" = (/obj/machinery/vending/snack,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aTe" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/secondary/entry) -"aTf" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/entry) -"aTg" = (/obj/structure/plasticflaps{opacity = 0},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/entry) -"aTh" = (/obj/machinery/transformer/xray/conveyor{dir = 1},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/entry) -"aTi" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/primary/port/east) -"aTj" = (/turf/simulated/floor{desc = "\"This is a plaque in honour of our comrades on the G4407 Stations. Hopefully TG4407 model can live up to your fame and fortune.\" Scratched in beneath that is a crude image of a meteor and a spaceman. The spaceman is laughing. The meteor is exploding."; dir = 4; icon_state = "plaque"; name = "Comemmorative Plaque"; nitrogen = 30; oxygen = 70; tag = "icon-plaque (EAST)"; temperature = 80},/area/hallway/primary/port/east) -"aTk" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=CHW"; location = "Lockers"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/signpost,/turf/simulated/floor,/area/hallway/primary/port/east) -"aTl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"aTm" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"aTn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"aTo" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port/east) -"aTp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"aTq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{desc = "A plaque comemmorating some obscure act of racial harmony. Made with expensive materials and cheap sentiment."; dir = 4; icon_state = "plaque"; name = "Comemmorative Plaque"; nitrogen = 30; oxygen = 70; tag = "icon-plaque (EAST)"; temperature = 80},/area/hallway/primary/port/east) -"aTr" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port/east) -"aTs" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"aTt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/nw) -"aTu" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/hallway/primary/central/nw) -"aTv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/nw) -"aTw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L2"},/area/hallway/primary/central/north) -"aTx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L4"},/area/hallway/primary/central/north) -"aTy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L6"},/area/hallway/primary/central/north) -"aTz" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Lockers"; location = "EVA"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L8"},/area/hallway/primary/central/north) -"aTA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L10"},/area/hallway/primary/central/north) -"aTB" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Security"; location = "EVA2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "L12"},/area/hallway/primary/central/north) -"aTC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{desc = ""; icon_state = "L14"},/area/hallway/primary/central/north) -"aTD" = (/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,/turf/simulated/floor{icon_state = "L16"},/area/hallway/primary/central/north) -"aTE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/north) -"aTF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/ne) -"aTG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/ne) -"aTH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/hallway/primary/central/ne) -"aTI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/ne) -"aTJ" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=EVA2"; location = "Dorm"},/turf/simulated/floor,/area/hallway/primary/central/ne) -"aTK" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aTL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aTM" = (/obj/effect/landmark/start{name = "Bartender"},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aTN" = (/obj/machinery/door/window{dir = 4; name = "Bar Door"; req_access_txt = "25"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aTO" = (/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aTP" = (/obj/machinery/light/small{dir = 4},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32},/obj/structure/table/woodentable,/obj/item/ashtray/bronze{pixel_x = -1; pixel_y = 1},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aTQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/kitchenspike,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aTR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aTS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/gibber,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aTT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aTU" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aTV" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aTW" = (/turf/simulated/floor/grass,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-siding8 (NORTH)"; icon_state = "siding8"; dir = 1},/area/hydroponics) -"aTX" = (/turf/simulated/floor/grass,/area/hydroponics) -"aTY" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/grass,/area/hydroponics) -"aTZ" = (/mob/living/simple_animal/cow{name = "Betsy"},/turf/simulated/floor/grass,/area/hydroponics) -"aUa" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hydroponics) -"aUb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area) -"aUc" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access_txt = "35"},/turf/simulated/floor,/area/hydroponics) -"aUd" = (/obj/machinery/bookbinder{pixel_y = 0},/turf/simulated/floor/wood,/area/library) -"aUe" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/library) -"aUf" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/library) -"aUg" = (/obj/machinery/door/airlock/glass{name = "Chapel Office"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/office) -"aUh" = (/obj/machinery/door/morgue{name = "Confession Booth (Chaplain)"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aUi" = (/obj/machinery/light/small{dir = 1},/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = 25},/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aUj" = (/obj/machinery/camera{c_tag = "Departure Lounge North"; dir = 4; network = list("SS13")},/turf/simulated/floor,/area/hallway/secondary/exit) -"aUk" = (/turf/simulated/floor,/area/hallway/secondary/exit) -"aUl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/secondary/exit) -"aUm" = (/obj/machinery/computer/arcade,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/secondary/exit) -"aUn" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor,/area/hallway/secondary/exit) -"aUo" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/exit) -"aUp" = (/obj/structure/closet/emcloset,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/exit) -"aUq" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (EAST)"; icon_state = "propulsion_r"; dir = 4},/turf/space,/area/shuttle/arrival/station) -"aUr" = (/obj/machinery/vending/cola,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aUs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/secondary/entry) -"aUt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{id_tag = "customs-enterance2"; name = "Customs Enterance"},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/entry) -"aUu" = (/obj/machinery/metaldetector,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "loadingarea"; tag = "loading"},/area/hallway/secondary/entry) -"aUv" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{id_tag = "customs-exit2"; name = "Customs Exit"},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/secondary/entry) -"aUw" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor,/area/hallway/primary/port/east) -"aUx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east) -"aUy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east) -"aUz" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port) -"aUA" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"aUB" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"aUC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"aUD" = (/obj/machinery/camera{c_tag = "Port Hallway Central"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"aUE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/port/east) -"aUF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"aUG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/port/east) -"aUH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/turf/simulated/floor,/area/hallway/primary/port/east) -"aUI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/port/east) -"aUJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port/east) -"aUK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/camera{c_tag = "Port Hallway East"; dir = 1},/turf/simulated/floor,/area/hallway/primary/port/east) -"aUL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"aUM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/nw) -"aUN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/nw) -"aUO" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=QM"; location = "CHW"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor,/area/hallway/primary/central/nw) -"aUP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/nw) -"aUQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/nw) -"aUR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/nw) -"aUS" = (/obj/machinery/light,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/nw) -"aUT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/nw) -"aUU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/north) -"aUV" = (/obj/machinery/light,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/north) -"aUW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/north) -"aUX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/north) -"aUY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/ne) -"aUZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/ne) -"aVa" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/ne) -"aVb" = (/obj/machinery/slot_machine,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aVc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/slot_machine,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aVd" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/rag,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aVe" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aVf" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aVg" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = 2; pixel_y = 6},/obj/item/weapon/pen/blue{pixel_x = -3; pixel_y = 2},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/bar) -"aVh" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/carpet,/area/crew_quarters/bar) -"aVi" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/freezer{req_access_txt = "28"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "showroomfloor"},/area/crew_quarters/kitchen) -"aVj" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics) -"aVk" = (/turf/simulated/floor/grass,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-siding8 (NORTH)"; icon_state = "siding8"; dir = 1},/area/hydroponics) -"aVl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/portable_atmospherics/hydroponics/soil,/turf/simulated/floor/grass,/area/hydroponics) -"aVm" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/portable_atmospherics/hydroponics/soil,/mob/living/simple_animal/chicken{name = "Commander Clucky"},/turf/simulated/floor/grass,/area/hydroponics) -"aVn" = (/obj/machinery/floodlight,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aVo" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aVp" = (/obj/machinery/seed_extractor,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aVq" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aVr" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aVs" = (/obj/machinery/biogenerator,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aVt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/requests_console{department = "Hydroponics"; departmentType = 2; pixel_x = 0; pixel_y = 30},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aVu" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aVv" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aVw" = (/obj/structure/bookcase{name = "bookcase (Religious)"},/turf/simulated/floor/wood,/area/library) -"aVx" = (/turf/simulated/floor/carpet,/area/library) -"aVy" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet,/area/library) -"aVz" = (/obj/structure/bookcase{name = "bookcase (Reference)"},/turf/simulated/floor/wood,/area/library) -"aVA" = (/obj/machinery/librarypubliccomp,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/library) -"aVB" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library) -"aVC" = (/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/obj/item/device/eftpos{eftpos_name = "Library EFTPOS scanner"},/obj/item/device/camera{desc = "A one use - polaroid camera. 30 photos left."; name = "Camera"; pictures_left = 30; pixel_x = 0; pixel_y = 0},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library) -"aVD" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/invisible,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library) -"aVE" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aVF" = (/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main) -"aVG" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main) -"aVH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main) -"aVI" = (/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main) -"aVJ" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aVK" = (/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/hallway/secondary/exit) -"aVL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/secondary/exit) -"aVM" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit) -"aVN" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/shuttle/arrival/station) -"aVO" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aVP" = (/obj/machinery/requests_console{department = "Arrival shuttle"; pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) -"aVQ" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry) -"aVR" = (/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/hallway/secondary/entry) -"aVS" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry) -"aVT" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor{tag = "icon-warningcorner"; icon_state = "warningcorner"; dir = 2},/area/hallway/secondary/entry) -"aVU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"aVV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/hallway/secondary/entry) -"aVW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) -"aVX" = (/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/hallway/secondary/entry) -"aVY" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/hallway/primary/port/east) -"aVZ" = (/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/hallway/primary/port/east) -"aWa" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east) -"aWb" = (/obj/machinery/camera{c_tag = "Customs Exit"; dir = 8},/turf/simulated/floor,/area/hallway/primary/port/east) -"aWc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) -"aWd" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Arcade"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/port/east) -"aWe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area) -"aWf" = (/turf/simulated/floor{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/hallway/primary/central/nw) -"aWg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/hallway/primary/central/nw) -"aWh" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"aWi" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area) -"aWj" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area) -"aWk" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/status_display{density = 0; layer = 4},/turf/simulated/floor/plating,/area) -"aWl" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area) -"aWm" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/window/reinforced/tinted,/turf/simulated/floor/plating,/area) -"aWn" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area) -"aWo" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) -"aWp" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/status_display{density = 0; layer = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area) -"aWq" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area) -"aWr" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area) -"aWs" = (/turf/simulated/floor{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/hallway/primary/central/ne) -"aWt" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aWu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aWv" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aWw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/stool{pixel_y = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aWx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aWy" = (/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aWz" = (/obj/structure/noticeboard{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aWA" = (/obj/machinery/camera{c_tag = "Bar East"; network = list("SS13")},/obj/structure/flora/kirbyplants,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aWB" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/kitchen) -"aWC" = (/obj/machinery/disposal,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aWD" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aWE" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aWF" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass{name = "Hydroponics Pasture"; req_access_txt = "28"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aWG" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area) -"aWH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area) -"aWI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area) -"aWJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{dir = 9; icon_state = "green"},/area/hydroponics) -"aWK" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics) -"aWL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{dir = 5; icon_state = "green"},/area/hydroponics) -"aWM" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aWN" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aWO" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/library) -"aWP" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/wood,/area/library) -"aWQ" = (/obj/machinery/light/small,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library) -"aWR" = (/obj/effect/landmark{name = "blobstart"},/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library) -"aWS" = (/obj/structure/cult/tome,/obj/item/device/videocam,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library) -"aWT" = (/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) -"aWU" = (/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) -"aWV" = (/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aWW" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) -"aWX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) -"aWY" = (/obj/machinery/door/morgue{name = "Confession Booth"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aWZ" = (/obj/machinery/light/small,/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1480; name = "Confessional Intercom"; pixel_x = 25},/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aXa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/hallway/secondary/exit) -"aXb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/exit) -"aXc" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor,/area/hallway/secondary/exit) -"aXd" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/secondary/exit) -"aXe" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit) -"aXf" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"aXg" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"aXh" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aXi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/entry) -"aXj" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/turf/simulated/floor,/area/hallway/secondary/entry) -"aXk" = (/obj/machinery/door/airlock/glass_security{name = "Security Checkpoint"; req_access_txt = "68"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/security/checkpoint) -"aXl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) -"aXm" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor{icon_state = "delivery"},/area/security/checkpoint) -"aXn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating,/area) -"aXo" = (/obj/machinery/door/airlock/glass_security{name = "Security Checkpoint"; req_access_txt = "68"},/turf/simulated/floor,/area/security/checkpoint) -"aXp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/port/east) -"aXq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/port/east) -"aXr" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/port/east) -"aXs" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/turf/simulated/floor/grass,/area/embassy/diona) -"aXt" = (/turf/simulated/floor/grass,/area/embassy/diona) -"aXu" = (/obj/structure/table/woodentable,/obj/machinery/light{dir = 1},/turf/simulated/floor/grass,/area/embassy/diona) -"aXv" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/grass,/area/embassy/diona) -"aXw" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"aXx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"aXy" = (/obj/machinery/power/apc{dir = 4; name = "Port Hall East APC"; pixel_x = 27; pixel_y = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/vent_pump,/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/hallway/primary/port/east) -"aXz" = (/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"aXA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"aXB" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"aXC" = (/obj/structure/sign/kidanplaque{pixel_y = 32},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"aXD" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"aXE" = (/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/nw) -"aXF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/central/nw) -"aXG" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area) -"aXH" = (/turf/simulated/wall/r_wall,/area/bridge) -"aXI" = (/obj/machinery/computer/security,/turf/simulated/floor{icon_state = "red"},/area/bridge) -"aXJ" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/box/PDAs{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/ids,/turf/simulated/floor{icon_state = "red"},/area/bridge) -"aXK" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/storage/secure/briefcase,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/bridge) -"aXL" = (/obj/structure/window/reinforced/tinted{dir = 5},/turf/simulated/floor/plating,/area/bridge) -"aXM" = (/obj/machinery/computer/communications,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/bridge) -"aXN" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/recharger{pixel_y = 0},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/bridge) -"aXO" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/bridge) -"aXP" = (/obj/machinery/computer/crew,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/bridge) -"aXQ" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/bridge) -"aXR" = (/obj/structure/table/reinforced,/obj/item/device/aicard,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/bridge) -"aXS" = (/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/hallway/primary/central/ne) -"aXT" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor,/area/hallway/primary/central/ne) -"aXU" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area) -"aXV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aXW" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aXX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aXY" = (/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aXZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aYa" = (/obj/machinery/camera{c_tag = "Bar East"; network = list("SS13")},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aYb" = (/obj/machinery/cooker/foodgrill,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"aYc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aYd" = (/obj/machinery/cooker/cerealmaker,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aYe" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"aYf" = (/obj/machinery/cooker/deepfryer,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aYg" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/cooking,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aYh" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aYi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) -"aYj" = (/turf/simulated/floor,/area/hydroponics) -"aYk" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor,/area/hydroponics) -"aYl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) -"aYm" = (/obj/machinery/newscaster{pixel_x = 27; pixel_y = 1},/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aYn" = (/obj/structure/bookcase{name = "bookcase (Fiction)"},/turf/simulated/floor/wood,/area/library) -"aYo" = (/obj/structure/bookcase{name = "bookcase (Non-Fiction)"},/turf/simulated/floor/wood,/area/library) -"aYp" = (/obj/machinery/camera{c_tag = "Library South"; dir = 8; network = list("SS13")},/turf/simulated/floor/wood,/area/library) -"aYq" = (/obj/machinery/door/morgue{name = "Private Study"; req_access_txt = "37"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/library) -"aYr" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aYs" = (/turf/simulated/floor/carpet,/area/chapel/main) -"aYt" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main) -"aYu" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/hallway/secondary/exit) -"aYv" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/hallway/secondary/exit) -"aYw" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/secondary/exit) -"aYx" = (/obj/structure/lattice,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "escape_dock_north_airlock"; name = "exterior access button"; pixel_x = 3; pixel_y = -25; req_access_txt = "13"},/turf/space,/area) -"aYy" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/hallway/secondary/entry) -"aYz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"aYA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/secondary/entry) -"aYB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aYC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/hallway/secondary/entry) -"aYD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"aYE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint) -"aYF" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint) -"aYG" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint) -"aYH" = (/obj/structure/table/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint) -"aYI" = (/obj/machinery/power/apc{dir = 4; name = "Checkpoint APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/checkpoint) -"aYJ" = (/obj/structure/closet,/obj/item/seeds/replicapod,/obj/item/seeds/replicapod,/obj/item/weapon/minihoe,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/bottle/diethylamine,/obj/item/weapon/reagent_containers/glass/bottle/diethylamine,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/grass,/area/embassy/diona) -"aYK" = (/obj/structure/table/woodentable,/turf/simulated/floor/grass,/area/embassy/diona) -"aYL" = (/obj/item/flag/species/diona,/turf/simulated/floor,/area/hallway/primary/port/east) -"aYM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"aYN" = (/obj/item/flag/species/kidan,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/hallway/primary/port/east) -"aYO" = (/obj/structure/kidanstatue,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"aYP" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"aYQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/weapon/reagent_containers/food/snacks/dionaroast,/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"aYR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"aYS" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/closet,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"aYT" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/noticeboard{pixel_y = 27},/obj/structure/table,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/bridge) -"aYU" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/bridge) -"aYV" = (/turf/simulated/floor{icon_state = "red"; dir = 1},/area/bridge) -"aYW" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/bridge) -"aYX" = (/obj/machinery/computer/shuttle_control/mining,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/bridge) -"aYY" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/bridge) -"aYZ" = (/obj/machinery/computer/station_alert,/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/bridge) -"aZa" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/bridge) -"aZb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/bridge) -"aZc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/bridge) -"aZd" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/bridge) -"aZe" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 5},/area/bridge) -"aZf" = (/obj/structure/window/full/basic,/obj/structure/grille,/turf/simulated/floor/wood,/area) -"aZg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aZh" = (/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -2; pixel_y = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aZi" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (WEST)"; icon_state = "wooden_chair_wings"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aZj" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/stool/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aZk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/stool/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aZl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aZm" = (/obj/structure/table/woodentable,/obj/item/weapon/kitchen/utensil/fork,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"aZn" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aZo" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aZp" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aZq" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aZr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aZs" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"aZt" = (/obj/machinery/smartfridge,/turf/simulated/wall,/area/crew_quarters/kitchen) -"aZu" = (/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/hydroponics) -"aZv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) -"aZw" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) -"aZx" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"aZy" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/camera{c_tag = "Nightclub Hall"; dir = 4; network = list("SS13")},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"aZz" = (/obj/machinery/door/window/northright{base_state = "right"; dir = 8; icon_state = "right"; name = "Library Desk Door"; req_access_txt = "37"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/library) -"aZA" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/wood,/area/library) -"aZB" = (/obj/structure/table/woodentable,/obj/machinery/librarycomp{pixel_y = 0},/obj/machinery/light/small{dir = 4},/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor/wood,/area/library) -"aZC" = (/obj/machinery/power/apc{dir = 8; name = "Chapel APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aZD" = (/obj/structure/stool,/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) -"aZE" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) -"aZF" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/stool,/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) -"aZG" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"aZH" = (/obj/machinery/vending/snack,/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) -"aZI" = (/obj/structure/stool/bed/chair,/turf/simulated/floor,/area/hallway/secondary/exit) -"aZJ" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/secondary/exit) -"aZK" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"aZL" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area) -"aZM" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aZN" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"aZO" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"aZP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) -"aZQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry) -"aZR" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint) -"aZS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door_control{id = "customs-enterance2"; name = "Customs Enterance Open"; normaldoorcontrol = 1; pixel_x = 5; pixel_y = 26; req_access_txt = "68"; specialfunctions = 1},/obj/machinery/door_control{id = "customs-enterance2"; name = "Customs Enterance Bolts"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = 26; req_access_txt = "68"; specialfunctions = 4},/turf/simulated/floor,/area/security/checkpoint) -"aZT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Customs Officer"},/turf/simulated/floor,/area/security/checkpoint) -"aZU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door_control{id = "customs-exit2"; name = "Customs Exit Open"; normaldoorcontrol = 1; pixel_x = -5; pixel_y = 26; req_access_txt = "68"; specialfunctions = 1},/obj/machinery/door_control{id = "customs-exit2"; name = "Customs Exit Bolts"; normaldoorcontrol = 1; pixel_x = 5; pixel_y = 26; req_access_txt = "68"; specialfunctions = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/security/checkpoint) -"aZV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint) -"aZW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/wall/r_wall,/area) -"aZX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/hallway/primary/port/east) -"aZY" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east) -"aZZ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light{dir = 8},/obj/structure/table/woodentable,/obj/machinery/power/apc{dir = 8; name = "Diona Embassy APC"; pixel_x = -25; pixel_y = 3},/turf/simulated/floor/grass,/area/embassy/diona) -"baa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor/grass,/area/embassy/diona) -"bab" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/grass,/area/embassy/diona) -"bac" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/grass,/area/embassy/diona) -"bad" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/grass,/area/embassy/diona) -"bae" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/sandstone{name = "Diona Embassy"; req_access_txt = "123"},/turf/simulated/floor,/area/embassy/diona) -"baf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"bag" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"bah" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/security{name = "Kidan Embassy"; req_access_txt = "124"},/turf/simulated/floor,/area/embassy/kidan) -"bai" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"baj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"bak" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"bal" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"bam" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/power/apc{dir = 4; name = "Kidan Embassy APC"; pixel_x = 25},/obj/structure/table/reinforced,/obj/item/weapon/kidanglobe{pixel_y = 5},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"ban" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/nw) -"bao" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/central/nw) -"bap" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area) -"baq" = (/obj/structure/table,/obj/item/device/multitool,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/bridge) -"bar" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/bridge) -"bas" = (/obj/item/weapon/wrench,/obj/structure/table/reinforced,/obj/machinery/camera{c_tag = "Bridge West"; dir = 2},/obj/item/device/assembly/timer,/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/bridge) -"bat" = (/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/bridge) -"bau" = (/turf/simulated/floor,/area/bridge) -"bav" = (/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/bridge) -"baw" = (/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/bridge) -"bax" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/bridge) -"bay" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/bridge) -"baz" = (/turf/simulated/floor{dir = 4; icon_state = "whitecorner"},/area/bridge) -"baA" = (/obj/machinery/computer/med_data,/obj/machinery/camera{c_tag = "Bridge East"; dir = 2},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/bridge) -"baB" = (/obj/structure/table,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/storage/toolbox/emergency,/turf/simulated/floor{icon_state = "whitehall"; dir = 5},/area/bridge) -"baC" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area) -"baD" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera{c_tag = "Bar West"; dir = 4; network = list("SS13")},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"baE" = (/obj/structure/disposalpipe/segment,/obj/structure/table/woodentable,/obj/item/device/taperecorder{pixel_y = 0},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"baF" = (/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"baG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"baH" = (/obj/structure/table/woodentable,/obj/item/clothing/head/cakehat,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"baI" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"baJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/table,/obj/item/weapon/kitchen/utensil/knife{desc = "For making cutlets"; name = "Cutlet Knife"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"baK" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/mint,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"baL" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"baM" = (/obj/structure/table,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"baN" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"baO" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"baP" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/window/eastleft{name = "Hydroponics Desk"; req_access_txt = "35"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/crew_quarters/kitchen) -"baQ" = (/turf/simulated/floor{icon_state = "green"; dir = 8},/area/hydroponics) -"baR" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/hydroponics) -"baS" = (/obj/structure/bookcase{name = "bookcase (Adult)"},/turf/simulated/floor/wood,/area/library) -"baT" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/wood,/area/library) -"baU" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/wood,/area/library) -"baV" = (/obj/effect/landmark/start{name = "Librarian"},/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/wood,/area/library) -"baW" = (/obj/item/device/radio/intercom{pixel_x = 25},/obj/machinery/libraryscanner,/turf/simulated/floor/wood,/area/library) -"baX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"baY" = (/obj/structure/stool,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main) -"baZ" = (/obj/structure/stool,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main) -"bba" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/stool,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main) -"bbb" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"bbc" = (/obj/machinery/vending/coffee,/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) -"bbd" = (/obj/machinery/atmospherics/pipe/simple{dir = 6},/turf/simulated/floor,/area/hallway/secondary/exit) -"bbe" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "escape_dock_north_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor,/area/hallway/secondary/exit) -"bbf" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_dock_north_inner"; locked = 1; name = "Escape Airlock"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/exit) -"bbg" = (/obj/machinery/light/small,/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "escape_dock_north_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{id_tag = "escape_dock_north_airlock"; master_tag = "escape_dock"; pixel_y = 30; req_one_access_txt = "13"; tag_airpump = "escape_dock_north_pump"; tag_chamber_sensor = "escape_dock_north_sensor"; tag_exterior_door = "escape_dock_north_outer"; tag_interior_door = "escape_dock_north_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "escape_dock_north_sensor"; pixel_x = -8; pixel_y = 30},/turf/simulated/floor/plating,/area/hallway/secondary/exit) -"bbh" = (/turf/simulated/floor/plating,/area/hallway/secondary/exit) -"bbi" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_dock_north_outer"; locked = 1; name = "Escape Airlock"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/exit) -"bbj" = (/obj/machinery/vending/coffee,/obj/machinery/light,/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"bbk" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"bbl" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"bbm" = (/obj/machinery/vending/cola,/obj/machinery/light,/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"bbn" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/hallway/secondary/entry) -"bbo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry) -"bbp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint) -"bbq" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/security/checkpoint) -"bbr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/security/checkpoint) -"bbs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/security/checkpoint) -"bbt" = (/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_y = -30},/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light,/obj/machinery/camera{c_tag = "Security Checkpoint"; dir = 1},/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint) -"bbu" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"bbv" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east) -"bbw" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"bbx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/filingcabinet,/turf/simulated/floor/grass,/area/embassy/diona) -"bby" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/grass,/area/embassy/diona) -"bbz" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/grass,/area/embassy/diona) -"bbA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/item/flag/species/diona,/turf/simulated/floor,/area/hallway/primary/port/east) -"bbB" = (/obj/item/flag/species/kidan,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/port/east) -"bbC" = (/obj/machinery/light_switch{pixel_x = -25; pixel_y = 0},/obj/structure/kidanstatue{dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"bbD" = (/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"bbE" = (/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"bbF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/hallway/primary/central/nw) -"bbG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) -"bbH" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/sign/securearea{pixel_x = 32; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/bridge) -"bbI" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/bridge) -"bbJ" = (/obj/item/device/radio/beacon,/turf/simulated/floor,/area/bridge) -"bbK" = (/obj/machinery/hologram/holopad,/obj/effect/landmark/nations{name = "People's Republic of Commandzakstan"},/turf/simulated/floor,/area/bridge) -"bbL" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/bridge) -"bbM" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/bridge) -"bbN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor,/area/bridge) -"bbO" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/bridge) -"bbP" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/bridge) -"bbQ" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/bridge) -"bbR" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/hallway/primary/central/ne) -"bbS" = (/obj/machinery/camera{c_tag = "Bridge East Entrance"; dir = 2},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/ne) -"bbT" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/ne) -"bbU" = (/obj/structure/disposalpipe/segment,/obj/structure/table/woodentable,/obj/item/weapon/dice,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bbV" = (/obj/structure/table/woodentable,/obj/item/toy/cards/deck,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bbW" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -2; pixel_y = 4},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bbX" = (/obj/structure/closet/secure_closet/freezer/kitchen,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"bbY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/table,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"bbZ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/obj/item/weapon/packageWrap,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"bca" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"bcb" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"bcc" = (/obj/machinery/processor,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"bcd" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"bce" = (/obj/machinery/portable_atmospherics/hydroponics,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"bcf" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bcg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bch" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "Library APC"; pixel_x = -25},/turf/simulated/floor/carpet,/area/library) -"bci" = (/obj/structure/table/woodentable,/obj/item/weapon/paper,/turf/simulated/floor/wood,/area/library) -"bcj" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/wood,/area/library) -"bck" = (/obj/structure/table/woodentable,/obj/item/device/camera_film,/obj/item/device/camera_film,/turf/simulated/floor/wood,/area/library) -"bcl" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/item/weapon/pen/blue{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/wood,/area/library) -"bcm" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/wood,/area/library) -"bcn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"bco" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) -"bcp" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) -"bcq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/carpet,/area/chapel/main) -"bcr" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main) -"bcs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool,/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main) -"bct" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/camera{c_tag = "Chapel South"; dir = 8; network = list("SS13")},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"bcu" = (/obj/item/device/radio/intercom{pixel_x = -25},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/camera{c_tag = "Departure Lounge West"; dir = 4; network = list("SS13")},/obj/machinery/vending/cola,/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) -"bcv" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/hallway/secondary/exit) -"bcw" = (/obj/item/flag/nt,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit) -"bcx" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area) -"bcy" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area) -"bcz" = (/obj/machinery/photocopier,/obj/structure/cable,/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint) -"bcA" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = -30},/obj/structure/table/reinforced,/obj/machinery/recharger,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint) -"bcB" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint) -"bcC" = (/obj/structure/table/reinforced,/obj/machinery/media/receiver/boombox,/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint) -"bcD" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/grass,/area/embassy/diona) -"bcE" = (/obj/machinery/light,/obj/machinery/camera{c_tag = "Diona Embassy"; dir = 1},/turf/simulated/floor/grass,/area/embassy/diona) -"bcF" = (/obj/machinery/camera{c_tag = "Kidan Embassy"; dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"bcG" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"bcH" = (/obj/item/weapon/spear/kidan,/turf/simulated/floor{icon_state = "wood"},/area/embassy/kidan) -"bcI" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/hallway/primary/central/nw) -"bcJ" = (/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access_txt = "19"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/bridge) -"bcK" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/bridge) -"bcL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access_txt = "19"},/turf/simulated/floor,/area/bridge) -"bcM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/bridge) -"bcN" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/bridge) -"bcO" = (/obj/machinery/media/receiver/boombox,/turf/simulated/floor,/area/hallway/primary/port/east) -"bcP" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) -"bcQ" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) -"bcR" = (/obj/machinery/light,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) -"bcS" = (/obj/machinery/camera{c_tag = "Bridge Center"; dir = 1},/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_y = -30},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) -"bcT" = (/obj/structure/closet/fireaxecabinet{pixel_y = -32},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) -"bcU" = (/obj/machinery/door_control{id = "bridge blast"; name = "Bridge Blast Door Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "19"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) -"bcV" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) -"bcW" = (/obj/machinery/light_switch{pixel_y = -25},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) -"bcX" = (/obj/machinery/power/apc{cell_type = 5000; dir = 2; name = "Bridge APC"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) -"bcY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/bridge) -"bcZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/bridge) -"bda" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/bridge) -"bdb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access_txt = "19"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/bridge) -"bdc" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/bridge) -"bdd" = (/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access_txt = "19"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/bridge) -"bde" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central/ne) -"bdf" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/ne) -"bdg" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/ne) -"bdh" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central/ne) -"bdi" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor,/area/hallway/primary/central/ne) -"bdj" = (/obj/structure/table/woodentable,/obj/item/candle,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bdk" = (/obj/structure/disposalpipe/segment,/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bdl" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bdm" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bdn" = (/obj/structure/table/woodentable,/obj/item/weapon/kitchen/utensil/fork,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bdo" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/snacks/pie,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/kitchen) -"bdp" = (/obj/effect/landmark/start{name = "Chef"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"bdq" = (/obj/structure/table,/obj/machinery/reagentgrinder,/obj/machinery/requests_console{department = "Kitchen"; departmentType = 2; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"bdr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 16},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bds" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bdt" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bdu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bdv" = (/obj/machinery/door/airlock/glass{name = "Library"; req_access_txt = "0"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/library) -"bdw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/carpet,/area/library) -"bdx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/carpet,/area/library) -"bdy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/library) -"bdz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/carpet,/area/library) -"bdA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Chapel"; req_access_txt = "0"},/turf/simulated/floor/carpet,/area/chapel/main) -"bdB" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/carpet,/area/chapel/main) -"bdC" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/carpet,/area/chapel/main) -"bdD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Chapel"; req_access_txt = "0"},/turf/simulated/floor/carpet,/area/chapel/main) -"bdE" = (/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) -"bdF" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit) -"bdG" = (/obj/structure/bush,/turf/simulated/floor/grass,/area/hallway/secondary/exit) -"bdH" = (/obj/structure/spacepoddoor{luminosity = 3},/turf/simulated/floor/engine,/area/hallway/secondary/entry) -"bdI" = (/turf/simulated/floor/engine,/area/hallway/secondary/entry) -"bdJ" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/engine,/area/hallway/secondary/entry) -"bdK" = (/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor/engine,/area/hallway/secondary/entry) -"bdL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/engine,/area/hallway/secondary/entry) -"bdM" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"bdN" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/south) -"bdO" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry) -"bdP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera{c_tag = "Port Hallway South"; dir = 4},/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/hallway/primary/port/east) -"bdQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/hallway/primary/port/east) -"bdR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/central/nw) -"bdS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/nw) -"bdT" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/central/nw) -"bdU" = (/obj/machinery/camera{c_tag = "Bridge West Entrance"; dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/central/nw) -"bdV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/hallway/primary/central/nw) -"bdW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"bdX" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/bridge) -"bdY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) -"bdZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) -"bea" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) -"beb" = (/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/bridge) -"bec" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/wall/r_wall,/area/bridge) -"bed" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/bridge) -"bee" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/bridge) -"bef" = (/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/bridge) -"beg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) -"beh" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge) -"bei" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/bridge) -"bej" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/turf/simulated/floor/plating,/area) -"bek" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/hallway/primary/central/ne) -"bel" = (/obj/machinery/power/apc{dir = 2; name = "Central Hall APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/central/ne) -"bem" = (/obj/machinery/light,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/central/ne) -"ben" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/ne) -"beo" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bep" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"beq" = (/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/bar) -"ber" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"bes" = (/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"bet" = (/obj/machinery/power/apc{dir = 2; name = "Kitchen APC"; pixel_y = -24},/obj/structure/cable,/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"beu" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"bev" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/door_control{id = "kitchen"; name = "Kitchen Shutters Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "28"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"bew" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"bex" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bey" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bez" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Library"; req_access_txt = "0"},/turf/simulated/floor/carpet,/area/library) -"beA" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/library) -"beB" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/carpet,/area/library) -"beC" = (/obj/machinery/camera{c_tag = "Escape Arm Airlocks"; dir = 8; network = list("SS13")},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple,/obj/machinery/embedded_controller/radio/docking_port_multi{child_names_txt = "Airlock One;Airlock Two"; child_tags_txt = "escape_dock_north_airlock;escape_dock_south_airlock"; id_tag = "escape_dock"; pixel_x = 30},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit) -"beD" = (/turf/simulated/floor/grass,/area/hallway/secondary/exit) -"beE" = (/turf/simulated/floor{desc = "\"This is a plaque in honour of those who died in the great space lube airlock incident.\" Scratched in beneath that is a crude image of a clown and a spaceman. The spaceman is slipping. The clown is laughing."; dir = 4; icon_state = "plaque"; name = "Memorial Plaque"; nitrogen = 30; oxygen = 70; temperature = 80},/area/hallway/secondary/exit) -"beF" = (/obj/structure/bush,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/grass,/area/hallway/secondary/exit) -"beG" = (/obj/machinery/door/airlock/glass{name = "Public Pod Bay"},/turf/simulated/floor/plating,/area/hallway/secondary/entry) -"beH" = (/obj/structure/table,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/crew_quarters/recruit) -"beI" = (/obj/machinery/vending/snack,/turf/simulated/floor,/area/crew_quarters/recruit) -"beJ" = (/obj/machinery/vending/cola,/turf/simulated/floor,/area/crew_quarters/recruit) -"beK" = (/obj/machinery/vending/coffee,/turf/simulated/floor,/area/crew_quarters/recruit) -"beL" = (/obj/machinery/vending/cigarette,/turf/simulated/floor,/area/crew_quarters/recruit) -"beM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/flag/nt,/turf/simulated/floor,/area/hallway/primary/port/east) -"beN" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/rainbow,/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"beO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"beP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"beQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"beR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"beS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"beT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"beU" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"beV" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"beW" = (/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"beX" = (/obj/item/weapon/bedsheet/purple,/obj/structure/stool/bed/alien,/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"beY" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/nw) -"beZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/nw) -"bfa" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/nw) -"bfb" = (/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = null; req_access_txt = "19"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bfc" = (/obj/machinery/door/airlock/command{name = "Captain's Office"; req_access = null; req_access_txt = "20"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bfd" = (/obj/machinery/computer/arcade,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bfe" = (/obj/machinery/media/jukebox/bar,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bff" = (/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bfg" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bfh" = (/obj/machinery/light,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bfi" = (/obj/machinery/camera{c_tag = "Bar South"; dir = 1; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bfj" = (/obj/item/device/radio/intercom{pixel_y = -30},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light/small,/turf/simulated/floor/wood,/area/crew_quarters/bar) -"bfk" = (/obj/structure/device/piano,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/bar) -"bfl" = (/obj/structure/stool{pixel_y = 8},/obj/machinery/atm{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/bar) -"bfm" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/obj/machinery/vending/dinnerware,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/kitchen) -"bfn" = (/obj/machinery/icemachine,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"bfo" = (/obj/structure/table/reinforced,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "kitchen"; name = "Kitchen Shutters"; opacity = 0},/obj/item/weapon/storage/fancy/donut_box,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"bfp" = (/obj/structure/table/reinforced,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "kitchen"; name = "Kitchen Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen) -"bfq" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"bfr" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Botanist"},/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics) -"bfs" = (/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hydroponics) -"bft" = (/obj/machinery/camera{c_tag = "Hydroponics South"; dir = 8; network = list("SS13")},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics) -"bfu" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bfv" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/library) -"bfw" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/wood,/area/library) -"bfx" = (/obj/structure/table/woodentable,/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/library) -"bfy" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood,/area/library) -"bfz" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green{pixel_x = 1; pixel_y = 5},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/wood,/area/library) -"bfA" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/library) -"bfB" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"bfC" = (/turf/simulated/floor/carpet{icon_state = "carpetsymbol"},/area/chapel/main) -"bfD" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main) -"bfE" = (/obj/machinery/power/apc{dir = 8; name = "Escape Hallway APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) -"bfF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/engine,/area/hallway/secondary/entry) -"bfG" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"bfH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry/south) -"bfI" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/turf/simulated/floor,/area/hallway/secondary/entry) -"bfJ" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit) -"bfK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/crew_quarters/recruit) -"bfL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit) -"bfM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/closet,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"bfN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"bfO" = (/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"bfP" = (/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"bfQ" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"bfR" = (/obj/item/flag/species/slime,/turf/simulated/floor,/area/hallway/primary/port/east) -"bfS" = (/obj/item/flag/species/greys,/turf/simulated/floor,/area/hallway/primary/port/east) -"bfT" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"bfU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric{name = "beaker 'sulphuric acid'"},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"bfV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/closet,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"bfW" = (/obj/machinery/atm{pixel_x = -32},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west) -"bfX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/central/west) -"bfY" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/west) -"bfZ" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bga" = (/obj/machinery/door_control{id = "heads_meeting"; name = "Security Shutters"; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bgb" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bgc" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/camera{c_tag = "Conference Room"; dir = 2},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bgd" = (/obj/machinery/power/apc{dir = 1; name = "Conference Room APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bge" = (/obj/machinery/light_switch{pixel_y = 28},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bgf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bgg" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bgh" = (/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bgi" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/turret,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bgj" = (/obj/machinery/flasher{pixel_x = 0; pixel_y = 24; id = "AI"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bgk" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bgl" = (/obj/machinery/power/terminal{dir = 8},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_y = 29},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bgm" = (/obj/machinery/turret,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bgn" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bgo" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bgp" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bgq" = (/obj/machinery/light_switch{pixel_y = 28},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bgr" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bgs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bgt" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bgu" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Captain's Office APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bgv" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bgw" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/ne) -"bgx" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/ne) -"bgy" = (/obj/structure/sign/directions/evac{dir = 4},/obj/structure/sign/directions/medical{dir = 4; pixel_y = 7},/obj/structure/sign/directions/science{dir = 4},/turf/simulated/wall,/area) -"bgz" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Diner"},/turf/simulated/floor,/area/crew_quarters/bar) -"bgA" = (/obj/structure/sign/double/barsign,/turf/simulated/wall,/area) -"bgB" = (/turf/simulated/floor{dir = 1; icon_state = "whitecorner"},/area/hallway/primary/starboard/west) -"bgC" = (/obj/machinery/camera{c_tag = "Starboard Primary Hallway 2"; dir = 2; network = list("SS13")},/turf/simulated/floor{dir = 1; icon_state = "whitecorner"},/area/hallway/primary/starboard/west) -"bgD" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor{dir = 1; icon_state = "whitecorner"},/area/hallway/primary/starboard/west) -"bgE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area) -"bgF" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/window/westright{dir = 1; name = "Hydroponics Desk"; req_access_txt = "35"},/turf/simulated/floor,/area/hydroponics) -"bgG" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access_txt = "35"},/turf/simulated/floor,/area/hydroponics) -"bgH" = (/obj/structure/grille,/obj/structure/window/basic{dir = 1},/obj/structure/window/basic{dir = 8},/obj/structure/window/basic,/turf/simulated/floor/plating,/area) -"bgI" = (/obj/structure/grille,/obj/structure/window/basic{dir = 1},/obj/structure/window/basic,/turf/simulated/floor/plating,/area) -"bgJ" = (/obj/structure/grille,/obj/structure/window/basic{dir = 1},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/turf/simulated/floor/plating,/area) -"bgK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/secondary/exit) -"bgL" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area) -"bgM" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area) -"bgN" = (/turf/space,/area/xenos_station/north) -"bgO" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/newscaster{pixel_x = -28},/turf/simulated/floor,/area/crew_quarters/recruit) -"bgP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/crew_quarters/recruit) -"bgQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit) -"bgR" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"bgS" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/table/woodentable,/obj/machinery/power/apc{dir = 8; name = "Slime Embassy APC"; pixel_x = -25; pixel_y = 3},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"bgT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"bgU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"bgV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"bgW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"bgX" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/science{name = "Slime Embassy"; req_access_txt = "125"},/turf/simulated/floor,/area/embassy/slime) -"bgY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"bgZ" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"bha" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/silver{name = "Grey Embassy"; req_access_txt = "126"},/turf/simulated/floor,/area/embassy/grey) -"bhb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"bhc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"bhd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"bhe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"bhf" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/table/woodentable,/obj/machinery/power/apc{dir = 4; name = "Grey Embassy APC"; pixel_x = 25},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"bhg" = (/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west) -"bhh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/central/west) -"bhi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "heads_meeting"; name = "Meeting Room Window Shields"; opacity = 0},/turf/simulated/floor/plating,/area) -"bhj" = (/obj/machinery/recharger{pixel_y = 4},/obj/structure/table,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bhk" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bhl" = (/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"bhm" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"bhn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bho" = (/obj/machinery/vending/snack,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bhp" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bhq" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) -"bhr" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bhs" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/effect/landmark{name = "lightsout"},/obj/machinery/camera/all{c_tag = "AI Chamber"; dir = 1; pixel_x = 12},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bht" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bhu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) -"bhv" = (/obj/machinery/light/small{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bhw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/wall/r_wall,/area) -"bhx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/wall/r_wall,/area) -"bhy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bhz" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bhA" = (/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bhB" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bhC" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/donut_box,/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bhD" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bhE" = (/obj/machinery/computer/arcade,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bhF" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/east) -"bhG" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Dorm"; location = "HOP2"},/turf/simulated/floor,/area/hallway/primary/central/east) -"bhH" = (/turf/simulated/floor,/area/hallway/primary/central/east) -"bhI" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/east) -"bhJ" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bhK" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bhL" = (/obj/machinery/alarm{pixel_y = 26},/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bhM" = (/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bhN" = (/obj/machinery/camera{c_tag = "Starboard Primary Hallway"; dir = 2; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bhO" = (/turf/simulated/floor,/area/hallway/primary/starboard) -"bhP" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bhQ" = (/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bhR" = (/turf/simulated/floor{dir = 9; icon_state = "green"},/area/hallway/primary/starboard/west) -"bhS" = (/turf/simulated/floor{dir = 1; icon_state = "green"},/area/hallway/primary/starboard/west) -"bhT" = (/turf/simulated/floor{dir = 5; icon_state = "green"},/area/hallway/primary/starboard/west) -"bhU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bhV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bhW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor,/area/hallway/primary/starboard) -"bhX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bhY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bhZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atm{pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bia" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/alarm{pixel_y = 25},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bib" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bic" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bid" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bie" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/power/apc{dir = 1; name = "Starboard Hall East APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bif" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"big" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/camera{c_tag = "Starboard Primary Hallway 5"; dir = 2; network = list("SS13")},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bih" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bii" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{dir = 4; icon_state = "whitecorner"},/area/hallway/secondary/exit) -"bij" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/secondary/exit) -"bik" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/secondary/exit) -"bil" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/secondary/exit) -"bim" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/hallway/secondary/exit) -"bin" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/floor,/area/hallway/secondary/exit) -"bio" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "escape_dock_south_airlock"; name = "interior access button"; pixel_x = 0; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor,/area/hallway/secondary/exit) -"bip" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_dock_south_inner"; locked = 1; name = "Escape Airlock"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/exit) -"biq" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "escape_dock_south_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{id_tag = "escape_dock_south_airlock"; master_tag = "escape_dock"; pixel_y = -30; req_one_access_txt = "13"; tag_airpump = "escape_dock_south_pump"; tag_chamber_sensor = "escape_dock_south_sensor"; tag_exterior_door = "escape_dock_south_outer"; tag_interior_door = "escape_dock_south_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "escape_dock_south_sensor"; pixel_x = -8; pixel_y = -30},/turf/simulated/floor/plating,/area/hallway/secondary/exit) -"bir" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_dock_south_outer"; locked = 1; name = "Escape Airlock"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/hallway/secondary/exit) -"bis" = (/turf/space,/area/shuttle/specops/station) -"bit" = (/obj/machinery/light,/obj/structure/closet/walllocker/emerglocker/north{dir = 1; pixel_y = -32},/turf/simulated/floor,/area/hallway/secondary/entry) -"biu" = (/obj/machinery/camera{c_tag = "Arrivals South"; dir = 1; network = list("SS13"); pixel_x = 22},/turf/simulated/floor,/area/hallway/secondary/entry) -"biv" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/secondary/entry) -"biw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry) -"bix" = (/turf/simulated/floor,/area/crew_quarters/recruit) -"biy" = (/obj/machinery/camera{c_tag = "Recruitment Lobby"; dir = 8},/turf/simulated/floor,/area/crew_quarters/recruit) -"biz" = (/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"biA" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/wall/r_wall,/area) -"biB" = (/obj/machinery/door/airlock/hatch{id_tag = "voxemb"; name = "Vox Embassy"; req_access_txt = "127"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; name = "O2 Scubber"; on = 1; scrub_N2O = 1; scrub_O2 = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/embassy/vox) -"biC" = (/obj/machinery/light_switch{pixel_x = -25; pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"biD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"biE" = (/obj/structure/table/woodentable,/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"biF" = (/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"biG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "heads_meeting"; name = "Meeting Room Window Shields"; opacity = 0},/turf/simulated/floor/plating,/area) -"biH" = (/obj/item/weapon/hand_labeler,/obj/item/device/assembly/timer,/obj/structure/table,/obj/item/device/eftpos{eftpos_name = "Bridge EFTPOS scanner"},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"biI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"biJ" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"biK" = (/obj/item/weapon/folder/red,/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"biL" = (/obj/item/weapon/book/manual/security_space_law,/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"biM" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"biN" = (/obj/machinery/vending/cola,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"biO" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"biP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) -"biQ" = (/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) -"biR" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"biS" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"biT" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"biU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"biV" = (/obj/machinery/camera{c_tag = "Central Hallway East"; dir = 4; network = list("SS13")},/obj/structure/disposalpipe/segment,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/east) -"biW" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/starboard/west) -"biX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/hallway/primary/starboard/west) -"biY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/west) -"biZ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bja" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bjb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bjc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bjd" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=HOP2"; location = "Stbd"},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bje" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/secondary/exit) -"bjf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/hallway/secondary/exit) -"bjg" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/hallway/secondary/exit) -"bjh" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{name = "Cargo Docks"; req_access_txt = "50"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bji" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"bjj" = (/obj/machinery/camera{c_tag = "Slime Embassy"; dir = 1},/turf/simulated/floor{icon_state = "grimy"},/area/embassy/slime) -"bjk" = (/obj/item/flag/species/vox,/turf/simulated/floor,/area/hallway/primary/port/east) -"bjl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; name = "O2 Scubber"; on = 1; scrub_N2O = 1; scrub_O2 = 1; scrub_Toxins = 1},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"bjm" = (/obj/machinery/camera{c_tag = "Grey Embassy"; dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"bjn" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "dark"},/area/embassy/grey) -"bjo" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west) -"bjp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "heads_meeting"; name = "Meeting Room Window Shields"; opacity = 0},/turf/simulated/floor/plating,/area) -"bjq" = (/obj/item/weapon/storage/fancy/donut_box,/obj/structure/table,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bjr" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"bjs" = (/obj/item/weapon/folder/blue,/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/bridge/meeting_room) -"bjt" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bju" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 20},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_x = -25; pixel_y = -4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bjv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/window{dir = 4; name = "AI Core Door"; req_access_txt = "16"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bjw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) -"bjx" = (/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 28; pixel_y = 5},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = -27; pixel_y = 4},/obj/effect/landmark/start{name = "AI"},/obj/item/device/radio/intercom{broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/door_control{desc = "A remote control switch for the AI chamber door."; id = "AI Door"; name = "AI Chamber Door Control"; pixel_x = 27; pixel_y = 27; req_access_txt = "16"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bjy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "AI Core Door"; req_access_txt = "16"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bjz" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; listening = 0; name = "Custom Channel"; pixel_x = 0; pixel_y = 19},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 1; broadcasting = 1; freerange = 1; listening = 1; name = "Common Channel"; pixel_x = 27; pixel_y = -3},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bjA" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bjB" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bjC" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bjD" = (/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bjE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bjF" = (/obj/structure/table/woodentable,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/camera{c_tag = "Captain's Office"; dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bjG" = (/obj/structure/disposalpipe/segment,/obj/machinery/power/apc{cell_type = 5000; dir = 8; name = "Central Hall East APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/east) -"bjH" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Stbd"; location = "HOP"},/turf/simulated/floor,/area/hallway/primary/central/east) -"bjI" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bjJ" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/starboard/west) -"bjK" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/hallway/primary/starboard/west) -"bjL" = (/obj/machinery/light,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/starboard/west) -"bjM" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bjN" = (/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bjO" = (/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/hallway/primary/starboard/west) -"bjP" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/hallway/primary/starboard/west) -"bjQ" = (/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/hallway/primary/starboard/west) -"bjR" = (/obj/machinery/power/apc{dir = 2; name = "Starboard Hall West APC"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bjS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bjT" = (/obj/machinery/camera{c_tag = "Starboard Primary Hallway 3"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bjU" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bjV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/starboard/west) -"bjW" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bjX" = (/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bjY" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/camera{c_tag = "Starboard Primary Hallway 4"; dir = 1},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bjZ" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -29; pixel_y = -29},/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bka" = (/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "purple"},/area/hallway/primary/starboard/east) -"bkb" = (/turf/simulated/floor{dir = 2; icon_state = "purple"},/area/hallway/primary/starboard/east) -"bkc" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/secondary/exit) -"bkd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple{dir = 6},/turf/simulated/floor{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) -"bke" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) -"bkf" = (/obj/machinery/newscaster{pixel_y = -32},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) -"bkg" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) -"bkh" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "escape"},/area/hallway/secondary/exit) -"bki" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/hallway/secondary/exit) -"bkj" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/hallway/secondary/exit) -"bkk" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "escape_dock_south_airlock"; name = "exterior access button"; pixel_x = 3; pixel_y = 25; req_access_txt = "13"},/turf/space,/area) -"bkl" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "specops_dock_outer"; locked = 1; name = "SpecOps Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bkm" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1379; id_tag = "specops_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{id_tag = "specops_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access_txt = "13;48"; tag_airpump = "specops_dock_pump"; tag_chamber_sensor = "specops_dock_sensor"; tag_exterior_door = "specops_dock_outer"; tag_interior_door = "specops_dock_inner"},/obj/machinery/airlock_sensor{id_tag = "specops_dock_sensor"; pixel_x = -8; pixel_y = 30},/turf/simulated/floor/plating,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bkn" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "specops_dock_inner"; locked = 1; name = "SpecOps Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bko" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "specops_dock_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_one_access_txt = "13;48"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bkp" = (/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bkq" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bkr" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bks" = (/obj/machinery/atmospherics/unary/vent_pump,/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bkt" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/crew_quarters/recruit) -"bku" = (/obj/structure/table,/turf/simulated/floor,/area/crew_quarters/recruit) -"bkv" = (/turf/simulated/floor{dir = 2; icon_state = "loadingarea"; tag = "loading"},/area/crew_quarters/recruit) -"bkw" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; name = "O2 Scubber"; on = 1; scrub_N2O = 1; scrub_O2 = 1; scrub_Toxins = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/alarm/vox{dir = 8; pixel_x = 24},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"bkx" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west) -"bky" = (/obj/machinery/power/apc{dir = 4; name = "Central Hall West APC"; pixel_x = 27; pixel_y = 2},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/west) -"bkz" = (/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bkA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_y = -30},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bkB" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bkC" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bkD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bkE" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/power/apc{aidisabled = 0; dir = 1; name = "AI Chamber APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bkF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/turretid{name = "AI Chamber turret control"; pixel_x = 24; pixel_y = 24},/obj/machinery/door/window/southright{name = "AI Core Door"; req_access = null; req_access_txt = "16"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bkG" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/flasher{pixel_x = 0; pixel_y = 24; id = "AI"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bkH" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bkI" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bkJ" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/captain,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bkK" = (/obj/structure/table/woodentable,/obj/item/weapon/hand_tele,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bkL" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bkM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bkN" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bkO" = (/obj/structure/table/woodentable,/obj/item/weapon/pinpointer,/obj/item/weapon/disk/nuclear,/obj/item/weapon/storage/secure/safe{pixel_x = 35; pixel_y = 5},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bkP" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/sw) -"bkQ" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/sw) -"bkR" = (/obj/structure/sign/nosmoking_1,/turf/simulated/wall,/area) -"bkS" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall,/area) -"bkT" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/medical/reception) -"bkU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/clothing/gloves/boxing,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"bkV" = (/obj/machinery/firealarm,/turf/simulated/wall,/area) -"bkW" = (/obj/machinery/door/airlock{name = "Starboard Emergency Storage"; req_access_txt = "0"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bkX" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/hallway/primary/starboard/east) -"bkY" = (/turf/simulated/floor{dir = 1; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/starboard/east) -"bkZ" = (/turf/simulated/floor{dir = 10; icon_state = "purple"},/area/hallway/primary/starboard/east) -"bla" = (/turf/simulated/floor{dir = 6; icon_state = "purple"},/area/hallway/primary/starboard/east) -"blb" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Break Room"; req_access_txt = "47"; req_one_access_txt = "0"},/turf/simulated/floor,/area/medical/medbreak) -"blc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock{name = "Starboard Emergency Storage"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bld" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area) -"ble" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/folder/white,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/window/eastright{base_state = "left"; dir = 2; icon_state = "left"; name = "R&D Desk"; req_access_txt = "7"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/toxins/lab) -"blf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area) -"blg" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"blh" = (/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bli" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"blj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"blk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/recruit) -"bll" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/recruit) -"blm" = (/turf/simulated/floor{icon_state = "bot"},/area/crew_quarters/recruit) -"bln" = (/obj/structure/filingcabinet,/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/qm) -"blo" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/qm) -"blp" = (/obj/machinery/computer/supplycomp,/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "QM Office"; dir = 2; network = list("SS13")},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/qm) -"blq" = (/obj/machinery/computer/security/mining,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 30},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/qm) -"blr" = (/obj/structure/table,/obj/item/weapon/cartridge/quartermaster{pixel_x = 6; pixel_y = 5},/obj/item/weapon/cartridge/quartermaster,/obj/item/weapon/cartridge/quartermaster{pixel_x = -4; pixel_y = 7},/obj/machinery/power/apc{dir = 4; name = "Quartermaster APC"; pixel_x = 27; pixel_y = 2},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/qm) -"bls" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"blt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/hatch{id_tag = "voxemb"; name = "Vox Embassy"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; name = "O2 Scubber"; on = 1; scrub_N2O = 1; scrub_O2 = 1; scrub_Toxins = 1},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"blu" = (/obj/machinery/alarm/vox{pixel_y = 32},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"blv" = (/obj/machinery/computer/ordercomp,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/office) -"blw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office) -"blx" = (/obj/machinery/light{dir = 1},/obj/structure/stool/bed/chair,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office) -"bly" = (/obj/machinery/lapvend,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office) -"blz" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/computer/merch,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/office) -"blA" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west) -"blB" = (/obj/machinery/camera{c_tag = "Central Hallway West"; dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/west) -"blC" = (/obj/machinery/door/window/eastright{dir = 1; name = "Bridge Delivery"; req_access_txt = "19"},/turf/simulated/floor{icon_state = "delivery"},/area/bridge/meeting_room) -"blD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/bridge/meeting_room) -"blE" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"blF" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = -32},/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"blG" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"blH" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/wood,/area/bridge/meeting_room) -"blI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"blJ" = (/obj/machinery/turret{dir = 4},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"blK" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) -"blL" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"blM" = (/obj/machinery/ai_slipper{icon_state = "motion0"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) -"blN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"blO" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai) -"blP" = (/obj/machinery/turret{dir = 8},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"blQ" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Captain's Desk"; departmentType = 5; name = "Captain RC"; pixel_x = -30; pixel_y = 0},/obj/structure/filingcabinet,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"blR" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/obj/effect/landmark/start{name = "Captain"},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"blS" = (/obj/machinery/computer/communications,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"blT" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"blU" = (/obj/structure/table/woodentable,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/media/receiver/boombox,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"blV" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/sw) -"blW" = (/turf/simulated/floor,/area/hallway/primary/central/sw) -"blX" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/hallway/primary/central/sw) -"blY" = (/obj/machinery/chem_master,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"blZ" = (/obj/machinery/chem_dispenser,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bma" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/camera{c_tag = "Chemistry"; network = list("SS13")},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bmb" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/mineral/plasma,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bmc" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/table/reinforced,/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bmd" = (/obj/structure/sign/chemistry,/turf/simulated/wall/r_wall,/area) -"bme" = (/obj/structure/reagent_dispensers/water_cooler,/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/reception) -"bmf" = (/obj/structure/closet/walllocker/emerglocker/north,/obj/structure/table,/obj/item/weapon/storage/box/cups,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) -"bmg" = (/obj/machinery/camera{c_tag = "Medbay Lobby Port"; network = list("SS13")},/obj/structure/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) -"bmh" = (/obj/machinery/light{dir = 1},/obj/structure/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) -"bmi" = (/turf/simulated/floor{icon_state = "white"},/area/medical/reception) -"bmj" = (/obj/machinery/camera{c_tag = "Medbay Lobby Starboard"; network = list("SS13")},/obj/structure/stool,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) -"bmk" = (/obj/structure/stool,/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/reception) -"bml" = (/obj/machinery/newscaster{pixel_x = 30},/obj/machinery/alarm{pixel_y = 26},/obj/structure/flora/kirbyplants,/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/reception) -"bmm" = (/obj/structure/filingcabinet,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/security/checkpoint/medical) -"bmn" = (/obj/machinery/disposal,/obj/structure/closet/walllocker/emerglocker/north,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint/medical) -"bmo" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = 30},/obj/structure/table/reinforced,/obj/machinery/recharger,/turf/simulated/floor{icon_state = "red"; dir = 1},/area/security/checkpoint/medical) -"bmp" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/security/checkpoint/medical) -"bmq" = (/obj/structure/table,/obj/item/device/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = -2},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/morgue) -"bmr" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue) -"bms" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue) -"bmt" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue) -"bmu" = (/obj/machinery/camera{c_tag = "Morgue"; network = list("SS13")},/obj/machinery/power/apc{dir = 1; name = "Morgue APC"; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue) -"bmv" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/morgue) -"bmw" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/turf/simulated/floor,/area/medical/morgue) -"bmx" = (/turf/simulated/wall/r_wall,/area/medical/morgue) -"bmy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bmz" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Mech Bay"; req_access_txt = "29"; req_one_access_txt = "0"},/turf/simulated/floor,/area/assembly/chargebay) -"bmA" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/poddoor/shutters{dir = 2; id = "Skynet_launch"; name = "Mech Bay"},/turf/simulated/floor{icon_state = "delivery"},/area/assembly/chargebay) -"bmB" = (/obj/machinery/computer/rdconsole/robotics,/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bmC" = (/obj/structure/table,/obj/item/weapon/book/manual/robotics_cyborgs{pixel_x = 2; pixel_y = 5},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/machinery/requests_console{department = "Robotics"; departmentType = 2; name = "Robotics RC"; pixel_y = 30},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bmD" = (/obj/machinery/r_n_d/circuit_imprinter,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bmE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area) -"bmF" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/window/eastright{base_state = "left"; dir = 2; icon_state = "left"; name = "Robotics Desk"; req_access_txt = "29"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/folder/white,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/assembly/robotics) -"bmG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area) -"bmH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/medical/medbreak) -"bmI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/medical/medbreak) -"bmJ" = (/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/medical/medbreak) -"bmK" = (/obj/machinery/vending/snack,/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/medical/medbreak) -"bmL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bmM" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 1; name = "Starboard Emergency Storage APC"; pixel_y = 24},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bmN" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/structure/table,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/pen,/obj/item/weapon/hand_labeler,/turf/simulated/floor{dir = 9; icon_state = "whitepurple"},/area/toxins/lab) -"bmO" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/toxins/lab) -"bmP" = (/obj/structure/table,/obj/item/clothing/gloves/latex,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 5; icon_state = "whitepurple"},/area/toxins/lab) -"bmQ" = (/obj/machinery/r_n_d/destructive_analyzer,/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/lab) -"bmR" = (/obj/machinery/computer/rdconsole/core,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/lab) -"bmS" = (/obj/machinery/r_n_d/circuit_imprinter{pixel_x = 3; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/beaker/sulphuric{name = "beaker 'sulphuric acid'"},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/lab) -"bmT" = (/obj/machinery/r_n_d/protolathe,/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/toxins/lab) -"bmU" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "specops_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 25; req_one_access_txt = "13;48"},/turf/space,/area) -"bmV" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bmW" = (/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bmX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bmY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bmZ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bna" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/qm) -"bnb" = (/turf/simulated/floor,/area/quartermaster/qm) -"bnc" = (/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Quartermaster"},/turf/simulated/floor,/area/quartermaster/qm) -"bnd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/qm) -"bne" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; name = "O2 Scrubber"; on = 1; scrub_N2O = 1; scrub_O2 = 1; scrub_Toxins = 1},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"bnf" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"bng" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"bnh" = (/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"bni" = (/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) -"bnj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/office) -"bnk" = (/turf/simulated/floor,/area/quartermaster/office) -"bnl" = (/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office) -"bnm" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/west) -"bnn" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west) -"bno" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/west) -"bnp" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=1"; dir = 1; freq = 1400; location = "Bridge"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor{icon_state = "bot"},/area/bridge/meeting_room) -"bnq" = (/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = null; req_access_txt = "19"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/bridge/meeting_room) -"bnr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/lattice,/turf/space,/area) -"bns" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bnt" = (/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bnu" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bnv" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bnw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai) -"bnx" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area) -"bny" = (/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; listening = 1; name = "Captain's Intercom"; pixel_x = -27; pixel_y = -3},/obj/structure/closet/secure_closet/captains,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bnz" = (/obj/machinery/computer/card,/obj/item/weapon/card/id/captains_spare,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bnA" = (/obj/structure/table/woodentable,/obj/machinery/faxmachine{department = "Captain's Office"},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bnB" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bnC" = (/obj/item/flag/nt,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bnD" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/sw) -"bnE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bnF" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bnG" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bnH" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Chemist"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bnI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bnJ" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bnK" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bnL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"bnM" = (/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception) -"bnN" = (/turf/simulated/floor/airless{icon_state = "white"},/area/medical/reception) -"bnO" = (/obj/structure/stool,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception) -"bnP" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/folder/white,/turf/simulated/floor/plating,/area/security/checkpoint2) -"bnQ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint/medical) -"bnR" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/security/checkpoint/medical) -"bnS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/security/checkpoint/medical) -"bnT" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Medical Security Office APC"; pixel_x = 25},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint/medical) -"bnU" = (/obj/structure/table,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/morgue) -"bnV" = (/turf/simulated/floor,/area/medical/morgue) -"bnW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/medical/morgue) -"bnX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/medical/morgue) -"bnY" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/medical/morgue) -"bnZ" = (/obj/structure/morgue,/turf/simulated/floor,/area/medical/morgue) -"boa" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/assembly/chargebay) -"bob" = (/turf/simulated/floor,/area/assembly/chargebay) -"boc" = (/obj/machinery/door_control{dir = 2; id = "Skynet_launch"; name = "Mech Bay Door Control"; pixel_x = 6; pixel_y = 24},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/assembly/chargebay) -"bod" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/chargebay) -"boe" = (/obj/structure/sign/securearea{pixel_x = 32},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/chargebay) -"bof" = (/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bog" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Roboticist"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"boh" = (/obj/machinery/power/apc{dir = 1; name = "Robotics Lab APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/camera{c_tag = "Robotics Lab"; dir = 2},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/assembly/robotics) -"boi" = (/obj/machinery/computer/guestpass,/obj/structure/table,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) -"boj" = (/obj/structure/stool,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) -"bok" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/assembly/robotics) -"bol" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bom" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area) -"bon" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/computer/arcade/orion_trail,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/medical/medbreak) -"boo" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/medical/medbreak) -"bop" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/medical/medbreak) -"boq" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"bor" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/cola,/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/medical/medbreak) -"bos" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area) -"bot" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bou" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bov" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/lab) -"bow" = (/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) -"box" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/toxins/lab) -"boy" = (/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/lab) -"boz" = (/obj/structure/stool/bed/chair/office/light{dir = 1},/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) -"boA" = (/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) -"boB" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/lab) -"boC" = (/obj/machinery/camera/xray{c_tag = "External Dock"; dir = 8; network = list("SS13")},/turf/space,/area) -"boD" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "bot"},/area/crew_quarters/recruit) -"boE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/crew_quarters/recruit) -"boF" = (/obj/machinery/camera{c_tag = "Port East Recruitment Hallway"; dir = 8},/turf/simulated/floor,/area/hallway/primary/port/east) -"boG" = (/obj/machinery/light{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/qm) -"boH" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/quartermaster/qm) -"boI" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/stamp/qm,/turf/simulated/floor,/area/quartermaster/qm) -"boJ" = (/obj/structure/table,/obj/item/weapon/stamp/qm,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/quartermaster/qm) -"boK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/qm) -"boL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"boM" = (/obj/structure/stool/bed/chair,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"boN" = (/obj/machinery/light{dir = 8},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) -"boO" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor,/area/quartermaster/office) -"boP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/quartermaster/office) -"boQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/office) -"boR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office) -"boS" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/west) -"boT" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west) -"boU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/central/west) -"boV" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/west) -"boW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/maintcentral) -"boX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/maintcentral) -"boY" = (/obj/machinery/power/apc{dir = 1; name = "Bridge Maintenance APC"; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/maintcentral) -"boZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/maintcentral) -"bpa" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/account_database{anchored = 1},/turf/simulated/floor,/area/bridge/meeting_room) -"bpb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/bridge/meeting_room) -"bpc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/lattice,/turf/space,/area) -"bpd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{desc = "For use by authorized Nanotrasen AI Maintenance Technitians or in case of Emergancy Only."; id = "AI Door"; name = "AI Chamber Maintenance Door"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/turret_protected/ai) -"bpe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/lattice,/turf/space,/area) -"bpf" = (/obj/structure/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/armor/captain,/obj/item/clothing/head/helmet/space/capspace,/obj/machinery/newscaster/security_unit{pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/clothing/head/helmet/space/unathi/breacher,/obj/item/clothing/suit/space/unathi/breacher,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/weapon/melee/chainofcommand,/obj/item/weapon/tank/emergency_oxygen/double,/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bpg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bph" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bpi" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Captain's Desk Door"; req_access_txt = "20"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bpj" = (/obj/machinery/light,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bpk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bpl" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/crew_quarters/captain) -"bpm" = (/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/sw) -"bpn" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bpo" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bpp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bpq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bpr" = (/obj/structure/table/reinforced,/obj/item/weapon/hand_labeler,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the 'Space' from Space Cleaner and written in Chemistry. Scrawled on the back is, 'Okay, whoever filled this with polytrinic acid, it was only funny the first time. It was hard enough replacing the CMO's first cat!'"; name = "Chemistry Cleaner"},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bps" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/airless{icon_state = "white"},/area/medical/reception) -"bpt" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/reception) -"bpu" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass_security{name = "Medbay Sec Lobby"; req_access_txt = "63"},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/checkpoint/medical) -"bpv" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint/medical) -"bpw" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/security/checkpoint/medical) -"bpx" = (/turf/simulated/floor,/area/security/checkpoint/medical) -"bpy" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/photocopier,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint/medical) -"bpz" = (/obj/structure/filingcabinet/chestdrawer{desc = "A large drawer filled with autopsy reports."; name = "Autopsy Reports"},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/morgue) -"bpA" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/medical/morgue) -"bpB" = (/obj/machinery/optable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/medical/morgue) -"bpC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 12},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bpD" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area) -"bpE" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/bluegrid,/area/assembly/chargebay) -"bpF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/bluegrid,/area/assembly/chargebay) -"bpG" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/chargebay) -"bpH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/chargebay) -"bpI" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/glass_research{name = "Robotics Lab"; req_access_txt = "29"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bpJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bpK" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bpL" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bpM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bpN" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/item/clothing/glasses/welding,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bpO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area) -"bpP" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/research{name = "Research Division"}) -"bpQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bpR" = (/obj/machinery/camera{c_tag = "Research Division Access"; dir = 2; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/medical/research{name = "Research Division"}) -"bpS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area) -"bpT" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/medical/medbreak) -"bpU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"bpV" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"bpW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"bpX" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"bpY" = (/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/medical/medbreak) -"bpZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bqa" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bqb" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/lab) -"bqc" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) -"bqd" = (/obj/structure/table,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/lab) -"bqe" = (/turf/space,/area/shuttle/transport1/station) -"bqf" = (/obj/machinery/camera{c_tag = "Cargo Dock"; dir = 8},/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bqg" = (/turf/simulated/floor{icon_state = "delivery"},/area/crew_quarters/recruit) -"bqh" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/crew_quarters/recruit) -"bqi" = (/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/qm) -"bqj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/qm) -"bqk" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/quartermaster/qm) -"bql" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/qm) -"bqm" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/qm) -"bqn" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"bqo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/woodentable,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"bqp" = (/obj/structure/table/woodentable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"bqq" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"bqr" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"bqs" = (/obj/machinery/camera{c_tag = "Cargo Office Lobby"; dir = 4; network = list("SS13")},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) -"bqt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/quartermaster/office) -"bqu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/office) -"bqv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/office) -"bqw" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office) -"bqx" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/west) -"bqy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/west) -"bqz" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/west) -"bqA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/west) -"bqB" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/maintcentral) -"bqC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/maintcentral) -"bqD" = (/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/maintcentral) -"bqE" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/closet/wardrobe/black,/turf/simulated/floor/plating,/area/maintenance/maintcentral) -"bqF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/bridge/meeting_room) -"bqG" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/bridge/meeting_room) -"bqH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area) -"bqI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area) -"bqJ" = (/obj/structure/table,/obj/item/weapon/aiModule/core/full/asimov,/obj/item/weapon/aiModule/core/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Core Modules"; req_access_txt = "20"},/obj/structure/window/reinforced,/obj/item/weapon/aiModule/core/full/corp,/obj/item/weapon/aiModule/core/full/paladin,/obj/item/weapon/aiModule/core/full/robocop,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bqK" = (/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bqL" = (/obj/machinery/flasher{pixel_x = 0; pixel_y = 24; id = "AI"},/obj/machinery/computer/borgupload,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bqM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bqN" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/computer/aiupload,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bqO" = (/obj/structure/table,/obj/item/weapon/aiModule/supplied/oxygen,/obj/item/weapon/aiModule/zeroth/oneHuman,/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "High-Risk Modules"; req_access_txt = "20"},/obj/item/weapon/aiModule/reset/purge,/obj/structure/window/reinforced,/obj/item/weapon/aiModule/core/full/antimov,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bqP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/lattice,/turf/space,/area) -"bqQ" = (/obj/machinery/door/airlock/command{name = "Captain's Quarters"; req_access = null; req_access_txt = "20"},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bqR" = (/obj/machinery/door/airlock/maintenance{name = "Captain's Office Maintenance"; req_access_txt = "20"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/crew_quarters/captain) -"bqS" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central/sw) -"bqT" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bqU" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bqV" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Chemist"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bqW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bqX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bqY" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bqZ" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/reception) -"bra" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/reception) -"brb" = (/obj/structure/table,/obj/item/weapon/storage/box/cups,/obj/item/weapon/storage/box/cups{pixel_x = 5; pixel_y = 5},/obj/structure/window/basic{dir = 1},/obj/structure/window/basic{dir = 8},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/reception) -"brc" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/structure/window/basic{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) -"brd" = (/obj/structure/table,/obj/structure/window/basic{dir = 1},/obj/machinery/light/small/lamp,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) -"bre" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/structure/window/basic{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) -"brf" = (/obj/structure/table,/obj/machinery/door/window/northright{name = "Medbay Lobby"; req_access_txt = "5"},/obj/item/device/radio/intercom{broadcasting = 1; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/reception) -"brg" = (/obj/structure/table,/obj/structure/window/basic{dir = 1},/obj/structure/window/basic{dir = 4},/obj/machinery/media/receiver/boombox,/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/reception) -"brh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/reception) -"bri" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/closet/wardrobe/red,/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/checkpoint/medical) -"brj" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/security/checkpoint/medical) -"brk" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/adv,/obj/item/clothing/tie/armband/medgreen,/obj/item/clothing/tie/armband/medgreen,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/checkpoint/medical) -"brl" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/bodybags,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/morgue) -"brm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/medical/morgue) -"brn" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/assembly/chargebay) -"bro" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/assembly/chargebay) -"brp" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/bluegrid,/area/assembly/chargebay) -"brq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/assembly/chargebay) -"brr" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/assembly/chargebay) -"brs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area) -"brt" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 20; pixel_x = -3; pixel_y = 6},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/robotics) -"bru" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/robotics) -"brv" = (/obj/machinery/mecha_part_fabricator,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/assembly/robotics) -"brw" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/assembly/robotics) -"brx" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/ai_status_display{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bry" = (/obj/structure/closet/firecloset,/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/research{name = "Research Division"}) -"brz" = (/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"brA" = (/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/research{name = "Research Division"}) -"brB" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0; tag = "icon-alarm0 (EAST)"},/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/medical/medbreak) -"brC" = (/obj/item/weapon/stool,/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"brD" = (/obj/structure/table/woodentable,/obj/item/toy/cards/deck,/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"brE" = (/obj/structure/table/woodentable,/obj/machinery/media/receiver/boombox,/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"brF" = (/obj/item/weapon/stool,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"brG" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"brH" = (/obj/machinery/newscaster{pixel_x = -27; pixel_y = 1},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/lab) -"brI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) -"brJ" = (/obj/structure/table,/obj/machinery/camera{c_tag = "R&D Lab North"; dir = 1},/obj/machinery/media/receiver/boombox,/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/lab) -"brK" = (/obj/item/weapon/stock_parts/console_screen,/obj/structure/table,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/lab) -"brL" = (/obj/structure/table,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/micro_laser,/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/lab) -"brM" = (/obj/structure/table,/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/lab) -"brN" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"brO" = (/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"brP" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit) -"brQ" = (/obj/structure/table/reinforced,/obj/machinery/door/window/northleft,/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 3; icon_state = "rightsecure"; name = "Head of Personnel's Desk"; req_access_txt = "57"},/turf/simulated/floor,/area/crew_quarters/recruit) -"brR" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/crew_quarters/recruit) -"brS" = (/obj/structure/table,/obj/item/weapon/rcs,/obj/item/weapon/hand_labeler,/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/quartermaster/qm) -"brT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/qm) -"brU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/qm) -"brV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/qm) -"brW" = (/obj/structure/closet/secure_closet/quartermaster,/turf/simulated/floor{tag = "icon-brown (SOUTHEAST)"; icon_state = "brown"; dir = 6},/area/quartermaster/qm) -"brX" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"brY" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/quartermaster/office) -"brZ" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office) -"bsa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office) -"bsb" = (/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/office) -"bsc" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-brown (SOUTHEAST)"; icon_state = "brown"; dir = 6},/area/quartermaster/office) -"bsd" = (/obj/machinery/light{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/sw) -"bse" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/sw) -"bsf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/sw) -"bsg" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/emergency_oxygen,/turf/simulated/floor/plating,/area/maintenance/maintcentral) -"bsh" = (/obj/machinery/door/airlock/command{name = "Head of Personnel"; req_access = null; req_access_txt = "57"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/heads) -"bsi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/lattice,/turf/space,/area) -"bsj" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area) -"bsk" = (/obj/machinery/turret{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bsl" = (/turf/simulated/floor{dir = 8; icon_state = "vault"; tag = "icon-vault (WEST)"},/area/turret_protected/ai_upload) -"bsm" = (/obj/machinery/turret{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bsn" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/displaycase/captains_laser,/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bso" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bsp" = (/obj/machinery/door/airlock{name = "Private Restroom"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain) -"bsq" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain) -"bsr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/captain) -"bss" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bst" = (/obj/machinery/power/apc{dir = 4; name = "Central Hall SE APC"; pixel_x = 27; pixel_y = 2},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bsu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bsv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bsw" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/device/mass_spectrometer,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bsx" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall/r_wall,/area) -"bsy" = (/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/reception) -"bsz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/reception) -"bsA" = (/obj/structure/table,/obj/structure/window/basic{dir = 8},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/reception) -"bsB" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -26; pixel_y = 6; range = 3; req_access_txt = null},/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/medical/reception) -"bsC" = (/obj/machinery/computer/crew,/turf/simulated/floor,/area/medical/reception) -"bsD" = (/obj/machinery/computer/guestpass,/obj/structure/table,/turf/simulated/floor,/area/medical/reception) -"bsE" = (/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = 26; range = 6},/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor{tag = "icon-vault (EAST)"; icon_state = "vault"; dir = 4},/area/medical/reception) -"bsF" = (/obj/structure/table,/obj/item/weapon/folder/white{pixel_y = 10},/obj/structure/window/basic{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/reception) -"bsG" = (/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/reception) -"bsH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/reception) -"bsI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/closet/secure_closet/security,/turf/simulated/floor{icon_state = "red"; dir = 10},/area/security/checkpoint/medical) -"bsJ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint/medical) -"bsK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "red"},/area/security/checkpoint/medical) -"bsL" = (/obj/structure/table,/obj/item/weapon/storage/box/masks{pixel_x = 6; pixel_y = 2},/obj/item/weapon/storage/box/gloves,/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/checkpoint/medical) -"bsM" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/morgue) -"bsN" = (/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue) -"bsO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue) -"bsP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue) -"bsQ" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue) -"bsR" = (/obj/machinery/firealarm{pixel_y = -30},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/morgue) -"bsS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 13},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bsT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area) -"bsU" = (/obj/machinery/camera{c_tag = "Mech Bay"; dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/chargebay) -"bsV" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/chargebay) -"bsW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/chargebay) -"bsX" = (/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/chargebay) -"bsY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area) -"bsZ" = (/obj/structure/table,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/cable_coil,/obj/item/device/flash,/obj/item/device/flash,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/robotics) -"bta" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Roboticist"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/robotics) -"btb" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/assembly/robotics) -"btc" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/assembly/robotics) -"btd" = (/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bte" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"btf" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/research{name = "Research Division"}) -"btg" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/research{name = "Research Division"}) -"bth" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/medical/medbreak) -"bti" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"btj" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"btk" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/camera{c_tag = "R&D Break Room"; dir = 8; network = list("SS13")},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/medical/medbreak) -"btl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"btm" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/breath,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"btn" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/lab) -"bto" = (/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/toxins/lab) -"btp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"btq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"btr" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/sign/pods{pixel_y = -32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"bts" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"btt" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"btu" = (/obj/machinery/computer/card,/turf/simulated/floor,/area/crew_quarters/recruit) -"btv" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor,/area/crew_quarters/recruit) -"btw" = (/obj/structure/table,/obj/item/weapon/storage/box/ids,/obj/item/weapon/storage/box/PDAs{pixel_x = 4; pixel_y = 4},/turf/simulated/floor,/area/crew_quarters/recruit) -"btx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) -"bty" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "QM Office"; req_access_txt = "41"},/turf/simulated/floor,/area/quartermaster/qm) -"btz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) -"btA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area) -"btB" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/obj/structure/filingcabinet,/obj/machinery/camera{c_tag = "Vox Embassy"; dir = 1},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"btC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/table/woodentable,/obj/machinery/power/apc{name = "Vox Embassy APC"; pixel_y = -28},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"btD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/closet,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"btE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; name = "O2 Scubber"; on = 1; scrub_N2O = 1; scrub_O2 = 1; scrub_Toxins = 1},/obj/structure/stool/bed/alien,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/embassy/vox) -"btF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/quartermaster/office) -"btG" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{name = "Cargo Office"; req_access_txt = "50"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/office) -"btH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/quartermaster/office) -"btI" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/window/southright{name = "Cargo Desk"; req_access_txt = "50"},/turf/simulated/floor,/area/quartermaster/office) -"btJ" = (/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/sw) -"btK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw) -"btL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/primary/central/sw) -"btM" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/crew_quarters/heads) -"btN" = (/obj/structure/table,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/computer/guestpass,/turf/simulated/floor,/area/crew_quarters/heads) -"btO" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/recharger/wallcharger{pixel_x = 0; pixel_y = 30},/turf/simulated/floor,/area/crew_quarters/heads) -"btP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/power/apc{dir = 1; name = "Head of Personnel APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/photocopier,/turf/simulated/floor,/area/crew_quarters/heads) -"btQ" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/heads) -"btR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area) -"btS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"btT" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/weapon/aiModule/core/full/nanotrasen,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"btU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"btV" = (/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) -"btW" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) -"btX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"btY" = (/obj/structure/table,/obj/item/weapon/aiModule/supplied/freeform,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"btZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"bua" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/space,/area) -"bub" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/captain,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"buc" = (/obj/structure/table/woodentable,/obj/item/device/camera,/obj/item/weapon/storage/photo_album{pixel_y = -10},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bud" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain) -"bue" = (/obj/machinery/light/small{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/crew_quarters/captain) -"buf" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central/sw) -"bug" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor,/area/hallway/primary/central/sw) -"buh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) -"bui" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Chemistry Lab"; req_access_txt = "33"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"buj" = (/obj/structure/sign/chemistry,/turf/simulated/wall,/area) -"buk" = (/turf/simulated/floor{dir = 1; icon_state = "loadingarea"; tag = "loading"},/area/medical/reception) -"bul" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "loadingarea"; tag = "loading"},/area/medical/reception) -"bum" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Medical Reception"; req_access_txt = "5"},/turf/simulated/floor,/area/medical/reception) -"bun" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor,/area/medical/reception) -"buo" = (/turf/simulated/floor,/area/medical/reception) -"bup" = (/obj/machinery/power/apc{dir = 2; name = "Medbay Reception APC"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 11; pixel_y = -22},/turf/simulated/floor,/area/medical/reception) -"buq" = (/obj/machinery/door/window/eastright{name = "Medical Reception"; req_access_txt = "5"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/medical/reception) -"bur" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "loadingarea"; tag = "loading"},/area/medical/reception) -"bus" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "loadingarea"; tag = "loading"},/area/medical/reception) -"but" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/firealarm,/turf/simulated/wall,/area) -"buu" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"buv" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "0"; req_one_access_txt = "6,9"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"buw" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/wall,/area) -"bux" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"buy" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/assembly/chargebay) -"buz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area) -"buA" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor,/area/assembly/robotics) -"buB" = (/turf/simulated/floor,/area/assembly/robotics) -"buC" = (/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/assembly/robotics) -"buD" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"buE" = (/obj/structure/table,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000; pixel_x = 5; pixel_y = -5},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"buF" = (/obj/machinery/status_display,/turf/simulated/wall/r_wall,/area) -"buG" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area) -"buH" = (/obj/machinery/newscaster{pixel_x = -27; pixel_y = 1},/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/medical/medbreak) -"buI" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"buJ" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"buK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"buL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"buM" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Break Room APC"; pixel_x = 26; pixel_y = 0},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/medical/medbreak) -"buN" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"buO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/lab) -"buP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) -"buQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) -"buR" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/lab) -"buS" = (/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/lab) -"buT" = (/obj/machinery/camera{c_tag = "R&D Lab South"; dir = 2},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/lab) -"buU" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/lab) -"buV" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "centcom_shuttle_dock_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"buW" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1379; id_tag = "centcom_shuttle_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{id_tag = "centcom_shuttle_dock_airlock"; pixel_x = 0; pixel_y = 30; req_one_access_txt = "13;48"; tag_airpump = "centcom_shuttle_dock_pump"; tag_chamber_sensor = "centcom_shuttle_dock_sensor"; tag_exterior_door = "centcom_shuttle_dock_outer"; tag_interior_door = "centcom_shuttle_dock_inner"},/obj/machinery/airlock_sensor{id_tag = "centcom_shuttle_dock_sensor"; pixel_x = -8; pixel_y = 30},/turf/simulated/floor/plating,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"buX" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "centcom_shuttle_dock_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"buY" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "centcom_shuttle_dock_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_one_access_txt = "13;48"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"buZ" = (/obj/machinery/computer/secure_data,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/crew_quarters/recruit) -"bva" = (/obj/effect/landmark/start{name = "Nanotrasen Recruiter"},/turf/simulated/floor,/area/crew_quarters/recruit) -"bvb" = (/obj/machinery/pdapainter,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit) -"bvc" = (/obj/structure/sign/poster{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area) -"bvd" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/closet/secure_closet/cargotech,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office) -"bve" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office) -"bvf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office) -"bvg" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office) -"bvh" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/office) -"bvi" = (/obj/machinery/status_display{density = 0; pixel_y = 2; supply_display = 1},/turf/simulated/wall/r_wall,/area) -"bvj" = (/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/obj/structure/table,/obj/machinery/media/receiver/boombox,/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/office) -"bvk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office) -"bvl" = (/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office) -"bvm" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office) -"bvn" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/office) -"bvo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/sw) -"bvp" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bvq" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/hallway/primary/central/sw) -"bvr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/central/sw) -"bvs" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/hallway/primary/central/sw) -"bvt" = (/obj/structure/table/reinforced,/obj/machinery/door/window/northleft{dir = 8; icon_state = "left"; name = "Reception Window"; req_access_txt = "0"},/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 4; icon_state = "rightsecure"; name = "Head of Personnel's Desk"; req_access_txt = "57"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/noticeboard{pixel_y = 27},/turf/simulated/floor,/area/crew_quarters/heads) -"bvu" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/crew_quarters/heads) -"bvv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/crew_quarters/heads) -"bvw" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/carpet,/area/crew_quarters/heads) -"bvx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/carpet,/area/crew_quarters/heads) -"bvy" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters/heads) -"bvz" = (/obj/structure/sign/kiddieplaque,/turf/simulated/wall/r_wall,/area) -"bvA" = (/obj/structure/table,/obj/item/weapon/aiModule/reset,/obj/machinery/camera{c_tag = "AI Upload Chamber"; dir = 4; network = list("SS13")},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bvB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) -"bvC" = (/obj/structure/table,/obj/item/weapon/aiModule/supplied/protectStation,/obj/machinery/light{dir = 4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bvD" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green,/obj/item/clothing/tie/medal/bronze_heart,/obj/item/clothing/tie/medal/conduct,/obj/item/clothing/tie/medal/gold,/obj/item/clothing/tie/medal/gold/heroism,/obj/item/clothing/tie/medal/nobel_science,/obj/item/clothing/tie/medal/silver/security,/obj/item/clothing/tie/medal/silver/valor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bvE" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/obj/machinery/camera{c_tag = "Captain's Quarters"; dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bvF" = (/obj/structure/table/woodentable,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/weapon/storage/box/matches,/obj/item/clothing/mask/cigarette/cigar,/obj/item/weapon/reagent_containers/food/drinks/flask{pixel_x = 8},/turf/simulated/floor/carpet,/area/crew_quarters/captain) -"bvG" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 1; icon_state = "left"; name = "Shower"; req_access_txt = "0"},/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/item/weapon/soap/deluxe,/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor{icon_state = "freezerfloor"},/area/crew_quarters/captain) -"bvH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/crew_quarters/captain) -"bvI" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central/sw) -"bvJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bvK" = (/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire,/obj/structure/table,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/chemistry) -"bvL" = (/obj/item/weapon/storage/firstaid/o2{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2,/obj/structure/table,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/chemistry) -"bvM" = (/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/toxin,/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/camera{c_tag = "Medbay Drug Storage"; dir = 2; network = list("SS13")},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/chemistry) -"bvN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/chemistry) -"bvO" = (/obj/structure/closet/secure_closet/chemical,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) -"bvP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"bvQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/hallway/primary/port/east) -"bvR" = (/obj/machinery/status_display,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area) -"bvS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"bvT" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/bridge) -"bvU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "0"; req_one_access_txt = "6,9"},/turf/simulated/floor,/area/medical/morgue) -"bvV" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/space,/area) -"bvW" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/medbay2) -"bvX" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bvY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bvZ" = (/obj/machinery/power/apc{dir = 1; name = "Medbay APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bwa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera{c_tag = "Medbay Fore Starboard"; network = list("SS13")},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bwb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bwc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bwd" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bwe" = (/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/medbay2) -"bwf" = (/obj/machinery/power/apc{dir = 1; name = "Starboard Emergency Storage APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bwg" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bwh" = (/obj/machinery/light/small{dir = 1},/obj/item/weapon/extinguisher,/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 14},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bwi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bwj" = (/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/machinery/light{dir = 8},/turf/simulated/floor/bluegrid,/area/assembly/chargebay) -"bwk" = (/turf/simulated/floor/bluegrid,/area/assembly/chargebay) -"bwl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/bluegrid,/area/assembly/chargebay) -"bwm" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/assembly/chargebay) -"bwn" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/assembly/chargebay) -"bwo" = (/obj/structure/table,/obj/item/device/mmi,/obj/item/device/mmi,/obj/item/device/mmi,/turf/simulated/floor,/area/assembly/robotics) -"bwp" = (/mob/living/simple_animal/corgi/Ian/borgi,/turf/simulated/floor,/area/assembly/robotics) -"bwq" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/assembly/robotics) -"bwr" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/item/device/healthanalyzer,/obj/machinery/newscaster{pixel_x = 26; pixel_y = 1},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bws" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "bot"},/area/medical/research{name = "Research Division"}) -"bwt" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "bot"},/area/medical/research{name = "Research Division"}) -"bwu" = (/turf/simulated/floor{dir = 4; icon_state = "escapecorner"},/area/medical/medbreak) -"bwv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/medical/medbreak) -"bww" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/medical/medbreak) -"bwx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/medical/medbreak) -"bwy" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 1; icon_state = "whitecorner"},/area/medical/medbreak) -"bwz" = (/obj/structure/closet/crate,/obj/item/weapon/coin/silver,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bwA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 10; icon_state = "whitepurple"},/area/toxins/lab) -"bwB" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/lab) -"bwC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/lab) -"bwD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "whitepurplecorner"},/area/toxins/lab) -"bwE" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) -"bwF" = (/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/toxins/lab) -"bwG" = (/obj/structure/window/reinforced,/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/lab) -"bwH" = (/obj/machinery/photocopier,/obj/machinery/camera{c_tag = "Recruitment Office"; dir = 4; network = list("SS13")},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/crew_quarters/recruit) -"bwI" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/media/receiver/boombox,/turf/simulated/floor,/area/crew_quarters/recruit) -"bwJ" = (/obj/structure/closet/secure_closet/cargotech,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) -"bwK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/office) -"bwL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/office) -"bwM" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office) -"bwN" = (/obj/machinery/status_display{density = 0; pixel_y = 2; supply_display = 1},/turf/simulated/wall,/area) -"bwO" = (/obj/structure/table,/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/office) -"bwP" = (/obj/structure/table,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office) -"bwQ" = (/obj/structure/table,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/office) -"bwR" = (/obj/structure/table,/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/office) -"bwS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/quartermaster/office) -"bwT" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) -"bwU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/office) -"bwV" = (/turf/simulated/floor{dir = 2; icon_state = "browncorner"},/area/quartermaster/office) -"bwW" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{tag = "icon-brown (SOUTHEAST)"; icon_state = "brown"; dir = 6},/area/quartermaster/office) -"bwX" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/central/sw) -"bwY" = (/obj/structure/grille,/obj/structure/window/basic{dir = 4},/obj/structure/window/basic{dir = 1},/obj/structure/window/basic{dir = 8},/turf/simulated/floor/plating,/area) -"bwZ" = (/turf/simulated/floor{icon_state = "bot"},/area/hallway/primary/central/sw) -"bxa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) -"bxb" = (/obj/machinery/computer/card,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/crew_quarters/heads) -"bxc" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/crew_quarters/heads) -"bxd" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/crew_quarters/heads) -"bxe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/mob/living/simple_animal/corgi/Ian,/turf/simulated/floor/carpet,/area/crew_quarters/heads) -"bxf" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/heads) -"bxg" = (/obj/machinery/power/apc{cell_type = 5000; dir = 2; name = "Upload APC"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bxh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bxi" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) -"bxj" = (/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_y = -25},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bxk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall/r_wall,/area) -"bxl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/lattice,/turf/space,/area) -"bxm" = (/obj/machinery/door/airlock/maintenance{name = "Teleporter Maintenance"; req_access_txt = "17"},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/teleporter) -"bxn" = (/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central/sw) -"bxo" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/regular,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/chemistry) -"bxp" = (/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bxq" = (/obj/effect/landmark/start{name = "Chemist"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bxr" = (/obj/structure/closet/secure_closet/chemical,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) -"bxs" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerPort"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -26; pixel_y = 6; range = 3; req_access_txt = null},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay2) -"bxt" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/medbay2) -"bxu" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area) -"bxv" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay3) -"bxw" = (/obj/structure/closet/secure_closet/medical3,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay3) -"bxx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay3) -"bxy" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/medbay3) -"bxz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyerStar"; name = "Medbay Doors Control"; normaldoorcontrol = 1; pixel_x = -26; range = 6},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay2) -"bxA" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bxB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bxC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bxD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/junction{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) -"bxE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bxF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bxG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bxH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bxI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j2s"; sortType = 23},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bxJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/junction{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bxK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bxL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bxM" = (/obj/machinery/door/window/eastright{dir = 8; name = "Chemistry Desk"; req_access_txt = "33"},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/structure/table/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) -"bxN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bxO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bxP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bxQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bxR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/machinery/door/airlock/maintenance{req_access_txt = "29"},/turf/simulated/floor,/area/assembly/chargebay) -"bxS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/assembly/chargebay) -"bxT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/assembly/chargebay) -"bxU" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/assembly/chargebay) -"bxV" = (/obj/machinery/power/apc{dir = 4; name = "Mech Bay APC"; pixel_x = 26; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/assembly/chargebay) -"bxW" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/assembly/robotics) -"bxX" = (/obj/structure/table,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/item/device/flash/synthetic,/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/item/device/mmi/posibrain,/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/assembly/robotics) -"bxY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/assembly/robotics) -"bxZ" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/obj/item/device/multitool{pixel_x = 3},/obj/item/device/multitool{pixel_x = 3},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bya" = (/obj/machinery/light{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/medical/research{name = "Research Division"}) -"byb" = (/obj/effect/landmark{name = "lightsout"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/medical/research{name = "Research Division"}) -"byc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/medical/research{name = "Research Division"}) -"byd" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_research{name = "Break Room"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbreak) -"bye" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"byf" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "7"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) -"byg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "7"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) -"byh" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/clothing/glasses/welding,/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/lab) -"byi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) -"byj" = (/obj/machinery/magnetic_controller{autolink = 1; name = "Firing Range Control Console"; path = "w;e;e;w;s;n;n;s"; pixel_x = 0; pixel_y = 0},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/table,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/toxins/lab) -"byk" = (/obj/item/target/alien,/obj/item/target,/obj/item/target/syndicate,/obj/item/target/syndicate,/obj/item/target/alien,/obj/item/target/syndicate,/obj/structure/closet/crate,/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) -"byl" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/toxins/lab) -"bym" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/lab) -"byn" = (/obj/machinery/camera{c_tag = "R&D Firing Range"; dir = 2},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/toxins/lab) -"byo" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/research/station) -"byp" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/research/station) -"byq" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/research/station) -"byr" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/research/station) -"bys" = (/turf/space,/area/xenos_station/south) -"byt" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "centcom_shuttle_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 25; req_one_access_txt = "13;48"},/turf/space,/area) -"byu" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area) -"byv" = (/obj/structure/filingcabinet,/turf/simulated/floor,/area/crew_quarters/recruit) -"byw" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit) -"byx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit) -"byy" = (/obj/machinery/door/airlock/command{name = "NT Recruitment Office"; req_access = null; req_access_txt = "57"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/crew_quarters/recruit) -"byz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/port/east) -"byA" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/port/east) -"byB" = (/obj/structure/closet/secure_closet/cargotech,/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) -"byC" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/power/apc{dir = 8; name = "Cargo Office APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) -"byD" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/quartermaster/office) -"byE" = (/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office) -"byF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/quartermaster/office) -"byG" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) -"byH" = (/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/office) -"byI" = (/obj/machinery/conveyor{dir = 4; id = "packageExternal"},/obj/structure/plasticflaps{opacity = 1},/turf/simulated/floor,/area/quartermaster/office) -"byJ" = (/obj/machinery/conveyor{dir = 4; id = "packageExternal"},/turf/simulated/floor{icon_state = "floorgrime"},/area/hallway/primary/central/west) -"byK" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central/sw) -"byL" = (/obj/structure/grille,/obj/structure/window/basic{dir = 4},/obj/structure/window/basic{dir = 8},/turf/simulated/floor/plating,/area) -"byM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area) -"byN" = (/obj/structure/closet/secure_closet/hop,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/heads) -"byO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/heads) -"byP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/pdapainter,/turf/simulated/floor/carpet,/area/crew_quarters/heads) -"byQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/carpet,/area/crew_quarters/heads) -"byR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/heads) -"byS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/wall/r_wall,/area) -"byT" = (/obj/machinery/turret{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) -"byU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/wall/r_wall,/area) -"byV" = (/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/teleporter) -"byW" = (/obj/machinery/light{dir = 1},/obj/structure/table,/obj/item/weapon/hand_tele,/turf/simulated/floor,/area/teleporter) -"byX" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/closet/crate,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/teleporter) -"byY" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/teleporter) -"byZ" = (/obj/machinery/camera{c_tag = "Teleporter"},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor,/area/teleporter) -"bza" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/teleporter) -"bzb" = (/obj/machinery/light_switch{pixel_x = 27},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/teleporter) -"bzc" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central/sw) -"bzd" = (/obj/structure/closet/secure_closet/medical1,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) -"bze" = (/obj/structure/closet/secure_closet/medical1,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/chemistry) -"bzf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/closet/wardrobe/chemistry_white,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/chemistry) -"bzg" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/chemistry) -"bzh" = (/obj/machinery/power/apc{dir = 4; name = "Chemistry/Med APC"; pixel_x = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 6; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/chemistry) -"bzi" = (/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) -"bzj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2) -"bzk" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medical Equipment"; req_access_txt = "5"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay3) -"bzl" = (/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay3) -"bzm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) -"bzn" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) -"bzo" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay3) -"bzp" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medical Equipment"; req_access_txt = "5"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay3) -"bzq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) -"bzr" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bzs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) -"bzt" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2) -"bzu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2) -"bzv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2) -"bzw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2) -"bzx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2) -"bzy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2) -"bzz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2) -"bzA" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2) -"bzB" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bzC" = (/obj/machinery/vending/medical,/turf/simulated/floor{dir = 6; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bzD" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bzE" = (/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bzF" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bzG" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bzH" = (/obj/structure/table,/turf/simulated/floor,/area/assembly/chargebay) -"bzI" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/assembly/chargebay) -"bzJ" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/assembly/chargebay) -"bzK" = (/obj/machinery/recharge_station,/turf/simulated/floor{icon_state = "bot"},/area/assembly/chargebay) -"bzL" = (/obj/structure/table,/obj/item/weapon/storage/box/bodybags{pixel_x = -1; pixel_y = -2},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/assembly/robotics) -"bzM" = (/obj/machinery/optable{name = "Robotics Operating Table"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bzN" = (/obj/machinery/computer/operating{name = "Robotics Operating Computer"},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bzO" = (/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/assembly/robotics) -"bzP" = (/obj/structure/closet/wardrobe/robotics_black,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bzQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area) -"bzR" = (/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bzS" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bzT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bzU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/noticeboard{pixel_y = 28},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bzV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bzW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bzX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"}) -"bzY" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/medical/research{name = "Research Division"}) -"bzZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 1; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"}) -"bAa" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/medical/research{name = "Research Division"}) -"bAb" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "65"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bAc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"}) -"bAd" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Research Shuttle Maintainance"; dir = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"}) -"bAe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "47"},/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/medical/research_shuttle_dock) -"bAf" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/medical/research_shuttle_dock) -"bAg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/medical/research_shuttle_dock) -"bAh" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/item/weapon/folder/white,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/window/eastright{base_state = "left"; dir = 4; icon_state = "left"; name = "R&D Desk"; req_access_txt = "7"},/turf/simulated/floor/plating,/area/toxins/lab) -"bAi" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/lab) -"bAj" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/lab) -"bAk" = (/turf/simulated/floor,/area/toxins/lab) -"bAl" = (/obj/machinery/magnetic_module,/obj/structure/target_stake,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/lab) -"bAm" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/lab) -"bAn" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/research/station) -"bAo" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor,/area/shuttle/research/station) -"bAp" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/research/station) -"bAq" = (/turf/simulated/shuttle/floor,/area/shuttle/research/station) -"bAr" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/shuttle/research/station) -"bAs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bAt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bAu" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "Cargo Dock APC"; pixel_x = 1; pixel_y = -24},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/quartermaster/storage{name = "\improper Cargo Docks"}) -"bAv" = (/obj/structure/closet,/turf/simulated/floor,/area/crew_quarters/recruit) -"bAw" = (/obj/machinery/power/apc{dir = 2; name = "Recruitment Office APC"; pixel_x = 1; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/crew_quarters/recruit) -"bAx" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/recruit) -"bAy" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/crew_quarters/recruit) -"bAz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/port/east) -"bAA" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/hallway/primary/port/east) -"bAB" = (/obj/structure/closet/secure_closet/cargotech,/obj/machinery/camera{c_tag = "Cargo Office West"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/quartermaster/office) -"bAC" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; icon_state = "manifold-b-f"; dir = 8},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office) -"bAD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office) -"bAE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office) -"bAF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-brown (SOUTHEAST)"; icon_state = "brown"; dir = 6},/area/quartermaster/office) -"bAG" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/glass_mining{name = "Cargo Office"; req_access_txt = "50"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/office) -"bAH" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) -"bAI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/quartermaster/office) -"bAJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/office) -"bAK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office) -"bAL" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) -"bAM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/quartermaster/office) -"bAN" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "packageExternal"},/turf/simulated/floor{tag = "icon-browncorner (EAST)"; icon_state = "browncorner"; dir = 4},/area/quartermaster/office) -"bAO" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/structure/table,/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/office) -"bAP" = (/obj/machinery/camera{c_tag = "Cargo Bay Entrance"; dir = 4; network = list("SS13")},/obj/machinery/atm{pixel_x = -24},/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/sw) -"bAQ" = (/obj/structure/closet/secure_closet/hop2,/turf/simulated/floor,/area/crew_quarters/heads) -"bAR" = (/turf/simulated/floor,/area/crew_quarters/heads) -"bAS" = (/obj/structure/table,/obj/item/weapon/pen,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor,/area/crew_quarters/heads) -"bAT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/crew_quarters/heads) -"bAU" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/heads) -"bAV" = (/obj/machinery/message_server,/turf/simulated/floor/bluegrid,/area/server) -"bAW" = (/obj/machinery/power/apc{dir = 1; name = "Messaging Server APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor/bluegrid,/area/server) -"bAX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{icon_state = "dark"},/area/server) -"bAY" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area) -"bAZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload"; req_access_txt = "16"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) -"bBa" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area) -"bBb" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/comms{name = "\improper Cyborg Station"}) -"bBc" = (/obj/machinery/power/apc{dir = 1; name = "Cyborg Station APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/table,/obj/item/weapon/phone{pixel_x = -3; pixel_y = 3},/turf/simulated/floor/bluegrid,/area/comms{name = "\improper Cyborg Station"}) -"bBd" = (/obj/machinery/computer/aifixer,/turf/simulated/floor/bluegrid,/area/comms{name = "\improper Cyborg Station"}) -"bBe" = (/obj/machinery/power/apc{dir = 8; name = "Teleporter APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/teleporter) -"bBf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/stool,/turf/simulated/floor,/area/teleporter) -"bBg" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/teleporter) -"bBh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/device/radio/beacon,/turf/simulated/floor,/area/teleporter) -"bBi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/teleporter) -"bBj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/teleporter) -"bBk" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/command{name = "Teleport Access"; req_access_txt = "17"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/teleporter) -"bBl" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central/sw) -"bBm" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR: EMERGENCY ENTRANCE'."; name = "KEEP CLEAR: EMERGENCY ENTRANCE"; pixel_x = 32; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bBn" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/backpack/medic,/obj/item/roller,/obj/item/roller,/obj/item/roller,/obj/item/weapon/storage/toolbox/emergency,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2) -"bBo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyer"; name = "Medical Supplies"; req_access_txt = "5"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2) -"bBp" = (/obj/machinery/smartfridge/medbay,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bBq" = (/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) -"bBr" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2) -"bBs" = (/obj/structure/table,/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/bodybag/cryobag,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay3) -"bBt" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay3) -"bBu" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/syringes,/obj/machinery/power/apc{dir = 4; name = "Medbay Equipment APC"; pixel_x = 25},/obj/structure/cable,/obj/item/weapon/storage/box/rxglasses,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay3) -"bBv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bBw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2) -"bBx" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics Cloning"; req_access_txt = "0"; req_one_access_txt = "5;9"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"bBy" = (/obj/machinery/door/airlock/medical{name = "Genetics"; req_access_txt = "9"; req_one_access_txt = null},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bBz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) -"bBA" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/glass_research{name = "Robotics Lab"; req_access_txt = "29; 47"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bBB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area) -"bBC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area) -"bBD" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bBE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bBF" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bBG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bBH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bBI" = (/obj/machinery/camera{c_tag = "Research Division North"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bBJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bBK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bBL" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Research Division Delivery"; req_access_txt = "47"},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/medical/research{name = "Research Division"}) -"bBM" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Research Division"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/medical/research{name = "Research Division"}) -"bBN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"}) -"bBO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/medical/research{name = "Research Division"}) -"bBP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"bBQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/medical/research_shuttle_dock) -"bBR" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/medical/research_shuttle_dock) -"bBS" = (/obj/structure/filingcabinet,/turf/simulated/floor{dir = 10; icon_state = "whitepurple"},/area/toxins/lab) -"bBT" = (/obj/machinery/power/apc{dir = 2; name = "Research and Development APC"; pixel_x = 1; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/lab) -"bBU" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 0},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/toxins/lab) -"bBV" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/toxins/lab) -"bBW" = (/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/toxins/lab) -"bBX" = (/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/space,/area/shuttle/research/station) -"bBY" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/shuttle/research/station) -"bBZ" = (/obj/machinery/computer/shuttle_control/research{req_access = list(65)},/turf/simulated/shuttle/floor,/area/shuttle/research/station) -"bCa" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "Cargo Docks"; req_access_txt = "50"},/turf/simulated/floor,/area/quartermaster/storage) -"bCb" = (/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j2s"; sortType = 1},/turf/simulated/wall,/area) -"bCc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/status_display{density = 0; pixel_y = 2; supply_display = 1},/turf/simulated/wall,/area) -"bCd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area) -"bCe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) -"bCf" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "Cargo Office"; req_access_txt = "50"},/turf/simulated/floor,/area/quartermaster/storage) -"bCg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) -"bCh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area) -"bCi" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/wall,/area) -"bCj" = (/obj/structure/table,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/obj/item/weapon/hand_labeler,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) -"bCk" = (/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor,/area/quartermaster/office) -"bCl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office) -"bCm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) -"bCn" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/structure/table/reinforced,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office) -"bCo" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central/sw) -"bCp" = (/obj/structure/grille,/obj/structure/window/basic,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/turf/simulated/floor/plating,/area) -"bCq" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "bot"},/area/hallway/primary/central/sw) -"bCr" = (/obj/machinery/computer/security/mining,/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/crew_quarters/heads) -"bCs" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Head of Personnel"},/turf/simulated/floor,/area/crew_quarters/heads) -"bCt" = (/obj/structure/table,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/hop,/turf/simulated/floor,/area/crew_quarters/heads) -"bCu" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/crew_quarters/heads) -"bCv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/heads) -"bCw" = (/obj/machinery/computer/message_monitor,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/server) -"bCx" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor{icon_state = "dark"},/area/server) -"bCy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/server) -"bCz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access_txt = "30"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/server) -"bCA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/turretid{control_area = "\improper AI Upload Chamber"; name = "AI Upload turret control"; pixel_x = 8; pixel_y = 24},/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_x = -8; pixel_y = 22},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"bCB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"bCC" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"bCD" = (/obj/machinery/door/airlock/highsecurity{name = "Cyborg Station"; req_access_txt = "16"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/comms{name = "\improper Cyborg Station"}) -"bCE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/comms{name = "\improper Cyborg Station"}) -"bCF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor{icon_state = "dark"},/area/comms{name = "\improper Cyborg Station"}) -"bCG" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/comms{name = "\improper Cyborg Station"}) -"bCH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/teleporter) -"bCI" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "warning"},/area/teleporter) -"bCJ" = (/turf/simulated/floor{icon_state = "warning"},/area/teleporter) -"bCK" = (/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/teleporter) -"bCL" = (/obj/machinery/shieldwallgen,/obj/structure/window/basic{dir = 8},/turf/simulated/floor{icon_state = "bot"},/area/teleporter) -"bCM" = (/obj/machinery/shieldwallgen,/turf/simulated/floor{icon_state = "bot"},/area/teleporter) -"bCN" = (/obj/structure/closet/crate,/turf/simulated/floor,/area/teleporter) -"bCO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/hallway/primary/central/sw) -"bCP" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bCQ" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/central/sw) -"bCR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_security{name = "Medbay Sec Lobby"; req_access_txt = "63"},/turf/simulated/floor{dir = 2; icon_state = "redfull"; tag = "icon-redfull (NORTHWEST)"},/area/security/checkpoint/medical) -"bCS" = (/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/medbay2) -"bCT" = (/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bCU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bCV" = (/obj/machinery/light{dir = 1},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bCW" = (/obj/machinery/camera{c_tag = "Medbay Emergency Entrance"; dir = 2; network = list("SS13")},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bCX" = (/turf/simulated/floor{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) -"bCY" = (/obj/structure/table,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -27},/obj/machinery/light,/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/medbay3) -"bCZ" = (/obj/structure/rack,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/tie/stethoscope,/obj/item/clothing/tie/stethoscope,/obj/machinery/camera{c_tag = "Medbay Equipment Storage"; dir = 1},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3) -"bDa" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay3) -"bDb" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_y = 8},/obj/item/weapon/storage/box/masks{pixel_y = -3},/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/medbay3) -"bDc" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics Cloning"; req_access_txt = "0"; req_one_access_txt = "5;9"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"bDd" = (/turf/simulated/floor{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/medical/genetics_cloning) -"bDe" = (/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics_cloning) -"bDf" = (/obj/structure/table,/obj/item/weapon/book/manual/medical_cloning{pixel_y = 6},/obj/item/weapon/storage/box/bodybags{pixel_x = -1; pixel_y = -2},/obj/machinery/alarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics_cloning) -"bDg" = (/obj/structure/closet/wardrobe/medic_white,/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics_cloning) -"bDh" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics_cloning) -"bDi" = (/obj/machinery/camera{c_tag = "Medbay Cloning"; network = list("SS13")},/obj/machinery/light_switch{pixel_y = 24},/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker,/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics_cloning) -"bDj" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics_cloning) -"bDk" = (/obj/machinery/disposal,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{tag = "icon-whitepurple (NORTHEAST)"; icon_state = "whitepurple"; dir = 5},/area/medical/genetics_cloning) -"bDl" = (/obj/machinery/light{dir = 8},/obj/structure/closet/secure_closet/medical1,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/medical/genetics) -"bDm" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/machinery/camera{c_tag = "Genetics Fore"; network = list("SS13")},/obj/machinery/power/apc{dir = 1; name = "Genetics APC"; pixel_y = 24},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics) -"bDn" = (/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bDo" = (/obj/structure/table,/obj/item/device/flashlight/pen,/obj/item/device/flashlight/pen,/obj/item/weapon/hand_labeler,/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics) -"bDp" = (/obj/structure/closet/wardrobe/genetics_white,/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics) -"bDq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor{tag = "icon-whitepurple (NORTHEAST)"; icon_state = "whitepurple"; dir = 5},/area/medical/genetics) -"bDr" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerPort"; name = "Medbay Entrance Port"; req_access_txt = "5"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2) -"bDs" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "whiteblue"},/area/medical/research{name = "Research Division"}) -"bDt" = (/obj/machinery/camera{c_tag = "Research Division West"; dir = 2; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bDu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bDv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bDw" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bDx" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/research{name = "Research Division"}) -"bDy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/research{name = "Research Division"}) -"bDz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/research{name = "Research Division"}) -"bDA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bDB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/effect/landmark/nations{name = "Scientopia"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bDC" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bDD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) -"bDE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area) -"bDF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"bDG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"bDH" = (/obj/structure/table,/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "research_shuttle"; pixel_x = -8; pixel_y = -25; req_access_txt = "13;65"; tag_door = "research_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/research/station) -"bDI" = (/turf/space,/area/supply/station) -"bDJ" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"bDK" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/storage) -"bDL" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage) -"bDM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage) -"bDN" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/storage) -"bDO" = (/turf/simulated/floor,/area/quartermaster/storage) -"bDP" = (/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Cargo Bay North"; dir = 2; network = list("SS13")},/turf/simulated/floor,/area/quartermaster/storage) -"bDQ" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/quartermaster/storage) -"bDR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/storage) -"bDS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/storage) -"bDT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/storage) -"bDU" = (/obj/structure/table,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/light{dir = 8},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) -"bDV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/quartermaster/office) -"bDW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/office) -"bDX" = (/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor,/area/quartermaster/office) -"bDY" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor,/area/quartermaster/office) -"bDZ" = (/obj/structure/table/reinforced,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/office) -"bEa" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor{icon_state = "bot"},/area/hallway/primary/central/west) -"bEb" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/hallway/primary/central/sw) -"bEc" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/central/sw) -"bEd" = (/obj/structure/filingcabinet/chestdrawer,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/crew_quarters/heads) -"bEe" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Personnel's Desk"; departmentType = 5; name = "Head of Personnel RC"; pixel_y = -30},/obj/machinery/camera{c_tag = "Head of Personnel's Office"; dir = 1},/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/crew_quarters/heads) -"bEf" = (/obj/structure/table,/obj/item/device/eftpos{eftpos_name = "HoP EFTPOS scanner"},/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/machinery/media/receiver/boombox,/turf/simulated/floor,/area/crew_quarters/heads) -"bEg" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/crew_quarters/heads) -"bEh" = (/obj/machinery/blackbox_recorder,/turf/simulated/floor/bluegrid,/area/server) -"bEi" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor/bluegrid,/area/server) -"bEj" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light_switch{pixel_y = -25},/obj/machinery/camera{c_tag = "Messaging Server"; dir = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/server) -"bEk" = (/obj/effect/landmark/start{name = "Cyborg"},/obj/machinery/camera{c_tag = "AI Core Lobby"; dir = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"bEl" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"bEm" = (/obj/effect/landmark/start{name = "Cyborg"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload_foyer) -"bEn" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light_switch{pixel_y = -25},/obj/machinery/camera{c_tag = "Cyborg Station"; dir = 1},/obj/structure/closet/crate{name = "Camera Assembly Crate"},/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/obj/item/weapon/camera_assembly,/turf/simulated/floor{icon_state = "dark"},/area/comms{name = "\improper Cyborg Station"}) -"bEo" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/recharge_station,/turf/simulated/floor/bluegrid,/area/comms{name = "\improper Cyborg Station"}) -"bEp" = (/obj/machinery/recharge_station,/turf/simulated/floor/bluegrid,/area/comms{name = "\improper Cyborg Station"}) -"bEq" = (/obj/machinery/computer/teleporter,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/teleporter) -"bEr" = (/obj/machinery/teleport/station,/turf/simulated/floor/plating,/area/teleporter) -"bEs" = (/obj/machinery/teleport/hub,/turf/simulated/floor/plating,/area/teleporter) -"bEt" = (/obj/structure/rack,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/turf/simulated/floor/plating,/area/teleporter) -"bEu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central/sw) -"bEv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; sortType = 18},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bEw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bEx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/central/sw) -"bEy" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerPort"; name = "Medbay Entrance Port"; req_access_txt = "5"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2) -"bEz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/medbay2) -"bEA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bEB" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; sortType = 11},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bEC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bED" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/medbay2) -"bEE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bEF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2) -"bEG" = (/obj/structure/noticeboard,/turf/simulated/wall,/area) -"bEH" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medical Equipment"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay3) -"bEI" = (/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics_cloning) -"bEJ" = (/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"bEK" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"bEL" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"bEM" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics_cloning) -"bEN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics"; req_access_txt = "9"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"bEO" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics) -"bEP" = (/obj/effect/landmark/start{name = "Geneticist"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bEQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bER" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/medical/genetics) -"bES" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitepurple (SOUTHEAST)"; icon_state = "whitepurple"; dir = 6},/area/medical/genetics) -"bET" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay3) -"bEU" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/medical/research{name = "Research Division"}) -"bEV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "whiteblue"},/area/medical/research{name = "Research Division"}) -"bEW" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bEX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bEY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bEZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bFa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bFb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bFc" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bFd" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bFe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) -"bFf" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/stamp/rd{pixel_x = 3; pixel_y = -2},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bFg" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the RD's goons from the safety of his office."; name = "Research Monitor"; network = list("RD"); pixel_x = 0; pixel_y = 2},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bFh" = (/obj/machinery/computer/aifixer,/obj/machinery/requests_console{announcementConsole = 1; department = "Research Director's Desk"; departmentType = 5; name = "Research Director RC"; pixel_x = -2; pixel_y = 30},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bFi" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/crew_quarters/hor) -"bFj" = (/obj/structure/lamarr,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/hor) -"bFk" = (/obj/machinery/ai_status_display{pixel_y = 32},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/crew_quarters/hor) -"bFl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bFm" = (/obj/structure/closet/emcloset,/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"bFn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"bFo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"bFp" = (/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"bFq" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"bFr" = (/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/research_shuttle_dock) -"bFs" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/shuttle/plating,/area) -"bFt" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/research/station) -"bFu" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_shuttle_hatch"; locked = 1; name = "External Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/research/station) -"bFv" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/research/station) -"bFw" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage) -"bFx" = (/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bFy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bFz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bFA" = (/obj/structure/table,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/storage/belt/utility,/obj/machinery/camera{c_tag = "Cargo Office"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/quartermaster/office) -"bFB" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office) -"bFC" = (/obj/structure/table,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office) -"bFD" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/item/device/multitool,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office) -"bFE" = (/obj/machinery/autolathe,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{tag = "icon-brown (SOUTHEAST)"; icon_state = "brown"; dir = 6},/area/quartermaster/office) -"bFF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/office) -"bFG" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/quartermaster/office) -"bFH" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office) -"bFI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office) -"bFJ" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/office) -"bFK" = (/obj/item/weapon/folder/yellow,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/obj/structure/table/reinforced,/obj/item/weapon/hand_labeler,/turf/simulated/floor{tag = "icon-brown (SOUTHEAST)"; icon_state = "brown"; dir = 6},/area/quartermaster/office) -"bFL" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/primary/central/sw) -"bFM" = (/obj/machinery/status_display,/turf/simulated/wall,/area) -"bFN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/wall/r_wall,/area) -"bFO" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload Access"; req_access_txt = "16"},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/turret_protected/ai_upload_foyer) -"bFP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central/sw) -"bFQ" = (/obj/machinery/camera{c_tag = "Central Hallway South-East"; dir = 8},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bFR" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acute1"; name = "Acute 1 Privacy Shutters"; opacity = 0},/obj/machinery/power/apc{dir = 8; name = "Emergency Unit APC"; pixel_x = -25},/obj/structure/cable,/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) -"bFS" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acute1"; name = "Acute 1 Privacy Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) -"bFT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bFU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) -"bFV" = (/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bFW" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bFX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bFY" = (/obj/machinery/alarm{pixel_y = 25},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bFZ" = (/obj/machinery/light{dir = 1},/obj/machinery/requests_console{announcementConsole = 0; department = "Medbay"; departmentType = 1; name = "Medbay RC"; pixel_x = 0; pixel_y = 30; pixel_z = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bGa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bGb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2) -"bGc" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics Cloning"; req_access_txt = "0"; req_one_access_txt = "5;9"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"bGd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics_cloning) -"bGe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"bGf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"bGg" = (/obj/effect/landmark/start{name = "Geneticist"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"bGh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics_cloning) -"bGi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics"; req_access_txt = "9"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"bGj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics) -"bGk" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bGl" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bGm" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/table,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics) -"bGn" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/airlock/command{name = "Server Room"; req_access = null; req_access_txt = "30"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server) -"bGo" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access_txt = "8"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/toxins/storage) -"bGp" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bGq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bGr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bGs" = (/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bGt" = (/obj/structure/table,/obj/machinery/door_control{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_x = -5; pixel_y = 5; req_access_txt = "47"},/obj/item/weapon/paper/monitorkey,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bGu" = (/obj/structure/stool/bed/chair/office/light{dir = 8},/obj/effect/landmark/start{name = "Research Director"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bGv" = (/obj/machinery/computer/robotics,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bGw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/crew_quarters/hor) -"bGx" = (/turf/simulated/floor{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/crew_quarters/hor) -"bGy" = (/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/crew_quarters/hor) -"bGz" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"bGA" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"bGB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"bGC" = (/obj/machinery/power/apc{dir = 2; name = "Research Dock APC"; pixel_x = 1; pixel_y = -24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"bGD" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/research_shuttle_dock) -"bGE" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area) -"bGF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area) -"bGG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area) -"bGH" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_dock_outer"; locked = 1; name = "Shuttle Airlock"; req_access_txt = "13"},/turf/simulated/floor/plating,/area/medical/research_shuttle_dock) -"bGI" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1380; master_tag = "research_dock_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = 8; req_access_txt = "13;65"},/turf/space,/area) -"bGJ" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area) -"bGK" = (/obj/machinery/conveyor_switch/oneway{id = "QMLoad2"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/quartermaster/storage) -"bGL" = (/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage) -"bGM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/conveyor_switch/oneway{id = "QMLoad2"},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage) -"bGN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage) -"bGO" = (/obj/machinery/conveyor_switch/oneway{id = "QMLoad2"},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage) -"bGP" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bGQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bGR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bGS" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "Delivery Office"; req_access_txt = "50"},/turf/simulated/floor,/area/quartermaster/sorting) -"bGT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central/sw) -"bGU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bGV" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bGW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Central Hall SW APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bGX" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bGY" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/sw) -"bGZ" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bHa" = (/obj/structure/sign/securearea{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/south) -"bHb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/south) -"bHc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j1 (EAST)"; icon_state = "pipe-j1"; dir = 4},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central/south) -"bHd" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Central Hall South APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south) -"bHe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south) -"bHf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/hallway/primary/central/south) -"bHg" = (/obj/machinery/ai_status_display{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south) -"bHh" = (/obj/structure/sign/securearea{pixel_y = 32},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/hallway/primary/central/south) -"bHi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/primary/central/south) -"bHj" = (/obj/structure/sign/securearea{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/hallway/primary/central/south) -"bHk" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south) -"bHl" = (/obj/machinery/camera{c_tag = "Central Primary Hallway South"; dir = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south) -"bHm" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/hallway/primary/central/south) -"bHn" = (/obj/machinery/light{dir = 1},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south) -"bHo" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor,/area/hallway/primary/central/south) -"bHp" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/south) -"bHq" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bHr" = (/obj/machinery/atm{pixel_y = 32},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bHs" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bHt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bHu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bHv" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bHw" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) -"bHx" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bHy" = (/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bHz" = (/obj/machinery/door_control{id = "acute1"; name = "Acute One Shutters"; pixel_y = 25},/obj/machinery/camera{c_tag = "Medbay Acute 1"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bHA" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Acute Treatment 1"; req_access_txt = "5"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) -"bHB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bHC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j2s"; sortType = 9},/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) -"bHD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bHE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j2s"; sortType = 10},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bHF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bHG" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bHH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bHI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bHJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/medbay2) -"bHK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bHL" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2) -"bHM" = (/obj/machinery/clonepod{biomass = 150},/turf/simulated/floor{tag = "icon-whitepurple (SOUTHWEST)"; icon_state = "whitepurple"; dir = 10},/area/medical/genetics_cloning) -"bHN" = (/obj/machinery/computer/cloning,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics_cloning) -"bHO" = (/obj/machinery/dna_scannernew,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics_cloning) -"bHP" = (/obj/item/roller,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics_cloning) -"bHQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor{dir = 8; icon_state = "whitepurplecorner"},/area/medical/genetics_cloning) -"bHR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"bHS" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics_cloning) -"bHT" = (/obj/machinery/light{dir = 8},/obj/structure/table,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/stokcubes,/obj/item/weapon/storage/box/neaeracubes,/obj/item/weapon/storage/box/farwacubes,/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics) -"bHU" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/table,/obj/item/roller,/obj/item/weapon/storage/box/disks,/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics) -"bHV" = (/turf/simulated/wall/r_wall,/area/toxins/server) -"bHW" = (/obj/machinery/r_n_d/server/robotics,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server) -"bHX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 140; on = 1; pressure_checks = 0},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server) -"bHY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server) -"bHZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/toxins/server) -"bIa" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server) -"bIb" = (/obj/machinery/camera{c_tag = "Server Room"; dir = 2; network = list("RD"); pixel_x = 22},/obj/machinery/power/apc{dir = 1; name = "Server Room APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server) -"bIc" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 80; dir = 2; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server) -"bId" = (/obj/machinery/computer/area_atmos,/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "bot"},/area/toxins/storage) -"bIe" = (/turf/simulated/floor{tag = "icon-warningcorner"; icon_state = "warningcorner"; dir = 2},/area/toxins/storage) -"bIf" = (/obj/machinery/portable_atmospherics/scrubber/huge,/obj/structure/sign/nosmoking_2{pixel_x = 28},/turf/simulated/floor{icon_state = "bot"},/area/toxins/storage) -"bIg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bIh" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bIi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area) -"bIj" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bIk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bIl" = (/obj/machinery/computer/mecha,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bIm" = (/obj/structure/table,/obj/item/weapon/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/obj/item/weapon/circuitboard/teleporter,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bIn" = (/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bIo" = (/obj/structure/table,/obj/item/device/taperecorder{pixel_x = -3},/obj/item/device/paicard{pixel_x = 4},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bIp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bIq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/sign/pods{pixel_y = -32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"bIr" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"bIs" = (/obj/machinery/camera{c_tag = "Research Dock"; dir = 2; network = list("SS13","Research")},/turf/simulated/floor{dir = 2; icon_state = "cmo"},/area/medical/research_shuttle_dock) -"bIt" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1380; master_tag = "research_dock_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = -25; req_access_txt = "13;65"},/turf/simulated/floor{dir = 2; icon_state = "cmo"},/area/medical/research_shuttle_dock) -"bIu" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_dock_inner"; locked = 1; name = "Shuttle Airlock"; req_access_txt = "13"},/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"bIv" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1380; id_tag = "research_dock_pump"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/medical/research_shuttle_dock) -"bIw" = (/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/medical/research_shuttle_dock) -"bIx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area) -"bIy" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/structure/plasticflaps/mining,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "cargo_shuttle_inner"; locked = 1; name = "Cargo Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/storage) -"bIz" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor/plating,/area/quartermaster/storage) -"bIA" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor,/area/quartermaster/storage) -"bIB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor,/area/quartermaster/storage) -"bIC" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/storage) -"bID" = (/obj/structure/disposalpipe/segment,/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor,/area/quartermaster/storage) -"bIE" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/storage) -"bIF" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/storage) -"bIG" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/structure/plasticflaps{opacity = 0},/turf/simulated/floor,/area/quartermaster/storage) -"bIH" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/floor,/area/quartermaster/sorting) -"bII" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting) -"bIJ" = (/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/sorting) -"bIK" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #1"},/obj/machinery/bot/mulebot{beacon_freq = 1400; home_destination = "QM #1"; suffix = "#1"},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/sorting) -"bIL" = (/obj/machinery/camera{c_tag = "Devilery Office"; dir = 2; network = list("SS13")},/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/sorting) -"bIM" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "Delivery Office APC"; pixel_y = 24},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting) -"bIN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/sorting) -"bIO" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/disposal/deliveryChute{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/sorting) -"bIP" = (/obj/machinery/conveyor{dir = 4; id = "packageSort2"},/obj/structure/plasticflaps{opacity = 0},/turf/simulated/floor/plating,/area/quartermaster/sorting) -"bIQ" = (/obj/machinery/conveyor{dir = 4; id = "packageSort2"},/turf/simulated/floor/plating,/area/quartermaster/sorting) -"bIR" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=AIW"; location = "QM"},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bIS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central/sw) -"bIT" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bIU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/south) -"bIV" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central/south) -"bIW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor,/area/hallway/primary/central/south) -"bIX" = (/turf/simulated/floor,/area/hallway/primary/central/south) -"bIY" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=AftH"; location = "AIW"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central/south) -"bIZ" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/hallway/primary/central/south) -"bJa" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=CHE"; location = "AIE"},/turf/simulated/floor,/area/hallway/primary/central/south) -"bJb" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/central/south) -"bJc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/central/south) -"bJd" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bJe" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bJf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bJg" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bJh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bJi" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=HOP"; location = "CHE"},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bJj" = (/obj/structure/stool/bed/roller,/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) -"bJk" = (/obj/machinery/sleeper,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bJl" = (/obj/machinery/sleep_console,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bJm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bJn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bJo" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) -"bJp" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area) -"bJq" = (/obj/structure/grille,/obj/structure/sign/goldenplaque{desc = "Done No Harm."; name = "Best Doctor 2552"},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area) -"bJr" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_command{name = "Chief Medical Officer"; req_access_txt = "40"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/cmo) -"bJs" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area) -"bJt" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area) -"bJu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bJv" = (/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2) -"bJw" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic,/obj/structure/window/basic{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area) -"bJx" = (/obj/structure/grille,/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/obj/structure/window/basic{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area) -"bJy" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/wall,/area) -"bJz" = (/obj/machinery/power/apc{dir = 8; name = "Genetics APC"; pixel_x = -25},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor{tag = "icon-whitepurple (SOUTHWEST)"; icon_state = "whitepurple"; dir = 10},/area/medical/genetics_cloning) -"bJA" = (/obj/machinery/clonepod{biomass = 150},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics_cloning) -"bJB" = (/obj/machinery/computer/cloning,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics_cloning) -"bJC" = (/obj/machinery/dna_scannernew,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whitepurple (SOUTHEAST)"; icon_state = "whitepurple"; dir = 6},/area/medical/genetics_cloning) -"bJD" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics) -"bJE" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bJF" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bJG" = (/obj/structure/stool/bed/chair/office/dark,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics) -"bJH" = (/obj/machinery/alarm/server{dir = 4; pixel_x = -22; pixel_y = 0},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server) -"bJI" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server) -"bJJ" = (/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server) -"bJK" = (/obj/machinery/door/window/brigdoor{base_state = "rightsecure"; dir = 4; icon_state = "rightsecure"; name = "Server Exterior Door"; req_access = null; req_access_txt = "0"},/obj/machinery/door/window/brigdoor{dir = 8; name = "Server Interior Door"; req_access = null; req_access_txt = "0"},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server) -"bJL" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server) -"bJM" = (/obj/structure/stool/bed/chair/office/light,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server) -"bJN" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server) -"bJO" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/toxins/storage) -"bJP" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/storage) -"bJQ" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/storage) -"bJR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bJS" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bJT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bJU" = (/obj/machinery/door/airlock/glass_command{name = "Research Director"; req_access_txt = "30"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bJV" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bJW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bJX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bJY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bJZ" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/rack,/obj/item/clothing/suit/armor/reactive,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bKa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"bKb" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "white"},/area/medical/research_shuttle_dock) -"bKc" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact-f (EAST)"; icon_state = "intact-f"; dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/research_shuttle_dock) -"bKd" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact-f (EAST)"; icon_state = "intact-f"; dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cmo"},/area/medical/research_shuttle_dock) -"bKe" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact-f (EAST)"; icon_state = "intact-f"; dir = 4},/turf/simulated/shuttle/plating,/area) -"bKf" = (/obj/machinery/atmospherics/pipe/manifold,/obj/machinery/airlock_sensor{frequency = 1380; id_tag = "research_dock_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/medical/research_shuttle_dock) -"bKg" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1380; id_tag = "research_dock_pump"},/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1380; id_tag = "research_dock_airlock"; pixel_x = 25; pixel_y = 0; req_access_txt = "13;65"; tag_airpump = "research_dock_pump"; tag_chamber_sensor = "research_dock_sensor"; tag_exterior_door = "research_dock_outer"; tag_interior_door = "research_dock_inner"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/medical/research_shuttle_dock) -"bKh" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "cargo_shuttle_inner"; locked = 1; name = "Cargo Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/storage) -"bKi" = (/turf/simulated/floor/plating,/area/quartermaster/storage) -"bKj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage) -"bKk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage) -"bKl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage) -"bKm" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage) -"bKn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bKo" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bKp" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bKq" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bKr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bKs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bKt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/quartermaster/storage) -"bKu" = (/obj/machinery/conveyor_switch/oneway{id = "QMLoad2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/sorting) -"bKv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting) -"bKw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/sorting) -"bKx" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #2"},/obj/machinery/bot/mulebot{home_destination = "QM #2"; suffix = "#2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/sorting) -"bKy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting) -"bKz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/quartermaster/sorting) -"bKA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/sorting) -"bKB" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/sorting) -"bKC" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "packageSort2"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/quartermaster/sorting) -"bKD" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/turf/simulated/floor/plating,/area/quartermaster/sorting) -"bKE" = (/obj/machinery/light,/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/sw) -"bKF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bKG" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -35},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bKH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bKI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bKJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bKK" = (/obj/machinery/camera{c_tag = "Central Primary Hallway South-West"; dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/sw) -"bKL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bKM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/south) -"bKN" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/south) -"bKO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central/south) -"bKP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/south) -"bKQ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/light,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/south) -"bKR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south) -"bKS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor,/area/hallway/primary/central/south) -"bKT" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/south) -"bKU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/hallway/primary/central/south) -"bKV" = (/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j2s"; sortType = 22},/turf/simulated/floor,/area/hallway/primary/central/south) -"bKW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/south) -"bKX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bKY" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/sw) -"bKZ" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bLa" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bLb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/central/sw) -"bLc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bLd" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/door_control{id = "paramedic"; name = "Garage Door Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "66"},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bLe" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bLf" = (/obj/machinery/iv_drip,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) -"bLg" = (/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bLh" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area) -"bLi" = (/obj/structure/flora/kirbyplants,/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/medical/cmo) -"bLj" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/cmo) -"bLk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/cmo) -"bLl" = (/obj/structure/closet/secure_closet/CMO,/obj/machinery/light{dir = 1},/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/storage/briefcase,/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/cmo) -"bLm" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area) -"bLn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bLo" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2) -"bLp" = (/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/cryo) -"bLq" = (/obj/machinery/light{dir = 1; in_use = 1},/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{dir = 1; icon_state = "intact"; level = 2},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/cryo) -"bLr" = (/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/cryo) -"bLs" = (/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Genetics Cloning"; req_access_txt = "0"; req_one_access_txt = "5;9"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics_cloning) -"bLt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/wall,/area) -"bLu" = (/obj/machinery/computer/scan_consolenew,/obj/structure/window/reinforced,/turf/simulated/floor{tag = "icon-whitepurple (WEST)"; icon_state = "whitepurple"; dir = 8},/area/medical/genetics) -"bLv" = (/obj/machinery/dna_scannernew,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bLw" = (/obj/machinery/door/window/southright{dir = 1; name = "Primate Pen"; req_access_txt = "9"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bLx" = (/obj/machinery/dna_scannernew,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bLy" = (/obj/machinery/computer/scan_consolenew,/obj/structure/window/reinforced,/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics) -"bLz" = (/obj/machinery/r_n_d/server/core,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server) -"bLA" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 140; icon_state = "in"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server) -"bLB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/toxins/server) -"bLC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server) -"bLD" = (/obj/machinery/computer/rdservercontrol,/turf/simulated/floor{icon_state = "dark"},/area/toxins/server) -"bLE" = (/obj/machinery/computer/message_monitor,/turf/simulated/floor{icon_state = "dark"},/area/toxins/server) -"bLF" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/toxins/storage) -"bLG" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bLH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bLI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bLJ" = (/obj/machinery/power/apc{dir = 8; name = "RD Office APC"; pixel_x = -25},/obj/structure/cable,/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/flora/kirbyplants,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bLK" = (/obj/machinery/hologram/holopad,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bLL" = (/obj/structure/table,/obj/item/weapon/cartridge/signal/toxins,/obj/item/weapon/cartridge/signal/toxins{pixel_x = -4; pixel_y = 2},/obj/item/weapon/cartridge/signal/toxins{pixel_x = 4; pixel_y = 6},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/camera{c_tag = "Research Director's Office"; dir = 1},/obj/item/clothing/glasses/welding/superior,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bLM" = (/obj/structure/closet/secure_closet/RD,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bLN" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bLO" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/hor) -"bLP" = (/obj/machinery/computer/shuttle_control/research{req_access = null; req_access_txt = 0},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/medical/research_shuttle_dock) -"bLQ" = (/obj/machinery/camera{c_tag = "Cargo Recieving Dock"; dir = 4},/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "cargo_bay"; pixel_x = -30; tag_door = "cargo_shuttle_inner"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage) -"bLR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bLS" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bLT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/storage) -"bLU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/storage) -"bLV" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/storage) -"bLW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerStar"; name = "Medbay Entrance Starboard"; req_access_txt = "5"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2) -"bLX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/landmark/nations{name = "Cargonia"},/turf/simulated/floor,/area/quartermaster/storage) -"bLY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/quartermaster/storage) -"bLZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/storage) -"bMa" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "Delivery Office"; req_access_txt = "50"},/turf/simulated/floor,/area/quartermaster/sorting) -"bMb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/sorting) -"bMc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting) -"bMd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/sorting) -"bMe" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #3"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/sorting) -"bMf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable,/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting) -"bMg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/quartermaster/sorting) -"bMh" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/sorting) -"bMi" = (/turf/simulated/floor,/area/quartermaster/sorting) -"bMj" = (/obj/machinery/conveyor_switch/oneway{id = "packageSort1"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/quartermaster/sorting) -"bMk" = (/obj/machinery/conveyor{dir = 1; id = "packageSort1"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating,/area/quartermaster/sorting) -"bMl" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 0},/turf/simulated/floor,/area/hallway/primary/central/sw) -"bMm" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"bMn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "blueshield"; name = "Blueshield Office Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"bMo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Blueshield Office"; req_access_txt = "67"},/turf/simulated/floor/wood,/area/blueshield) -"bMp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "representative"; name = "Blueshield Office Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area) -"bMq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"bMr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable,/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "representative"; name = "Blueshield Office Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"bMs" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central/south) -"bMt" = (/obj/structure/sign/directions/engineering,/obj/structure/sign/directions/science{dir = 4; pixel_x = 0; pixel_y = -7},/obj/structure/sign/directions/medical{dir = 4; pixel_y = 7},/turf/simulated/wall,/area) -"bMu" = (/obj/machinery/door/airlock{name = "Custodial Closet"; req_access_txt = "26"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/janitor) -"bMv" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bMw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall,/area) -"bMx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor/shutters{id = "paramedic"; name = "Paramedic Garage Door"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bMy" = (/obj/machinery/door/airlock/diamond{name = "Paramedic"; req_access_txt = "66"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bMz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acutesep"; name = "Acute Privacy Separation Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"bMA" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acutesep"; name = "Acute Privacy Separation Shutters"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) -"bMB" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acutesep"; name = "Acute Privacy Separation Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) -"bMC" = (/obj/structure/sign/greencross,/turf/simulated/wall,/area) -"bMD" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = 27; pixel_y = -9},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bME" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/cmo) -"bMF" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo) -"bMG" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo) -"bMH" = (/obj/machinery/power/apc{dir = 4; name = "CMO Office APC"; pixel_x = 25},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/mob/living/simple_animal/cat/Runtime,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/cmo) -"bMI" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/newscaster{pixel_x = 30},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2) -"bMJ" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/cryo) -"bMK" = (/obj/machinery/atmospherics/pipe/simple{dir = 1; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/medical/cryo) -"bML" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/medical/cryo) -"bMM" = (/obj/machinery/camera{c_tag = "Cryogenics"; network = list("SS13")},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/cryo) -"bMN" = (/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/cryo) -"bMO" = (/obj/item/roller,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/cryo) -"bMP" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/medical/genetics) -"bMQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whitepurple (NORTH)"; icon_state = "whitepurple"; dir = 1},/area/medical/genetics) -"bMR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 1; icon_state = "whitepurplecorner"},/area/medical/genetics) -"bMS" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bMT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bMU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bMV" = (/turf/simulated/floor{tag = "icon-whitepurple (EAST)"; icon_state = "whitepurple"; dir = 4},/area/medical/genetics) -"bMW" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera{c_tag = "Gas Storage Room"; dir = 4; network = list("RD"); pixel_y = -22},/turf/simulated/floor,/area/toxins/storage) -"bMX" = (/mob/living/simple_animal/mouse/white,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/storage) -"bMY" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/storage) -"bMZ" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bNa" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bNb" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bNc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/secondary/entry) -"bNd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/hallway/secondary/entry) -"bNe" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/secondary/entry) -"bNf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "bluecorner"},/area/hallway/secondary/entry) -"bNg" = (/turf/simulated/wall/r_wall,/area/toxins/test_area) -"bNh" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area) -"bNi" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "QMLoad"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/quartermaster/storage) -"bNj" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "QMLoad"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage) -"bNk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage) -"bNl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage) -"bNm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bNn" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bNo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "QMLoad"},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage) -"bNp" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bNq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "QMLoad"},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/storage) -"bNr" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bNs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/quartermaster/storage) -"bNt" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "QMLoad"},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "warning"},/area/quartermaster/sorting) -"bNu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting) -"bNv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/sorting) -"bNw" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/sorting) -"bNx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting) -"bNy" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/sorting) -"bNz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (NORTH)"; icon_state = "manifold-r-f"; dir = 1},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/sorting) -"bNA" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-warningcorner"; icon_state = "warningcorner"; dir = 2},/area/quartermaster/sorting) -"bNB" = (/obj/machinery/programmable/unloader,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/quartermaster/sorting) -"bNC" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/floor/plating,/area/maintenance/aft) -"bND" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/blueshield) -"bNE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/blueshield) -"bNF" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/blueshield) -"bNG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/wood,/area/blueshield) -"bNH" = (/obj/machinery/light{dir = 1},/obj/machinery/power/apc{dir = 4; name = "Blueshield Office APC"; pixel_x = 24; pixel_y = -3},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/wood,/area/blueshield) -"bNI" = (/obj/machinery/light{dir = 1},/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/ntrep) -"bNJ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/ntrep) -"bNK" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/ntrep) -"bNL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/wood,/area/ntrep) -"bNM" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyerStar"; name = "Medbay Entrance Starboard"; req_access_txt = "5"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/medical/medbay2) -"bNN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"bNO" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor,/area/hallway/primary/aft) -"bNP" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"bNQ" = (/obj/structure/closet/jcloset,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/janitor) -"bNR" = (/obj/structure/closet/l3closet/janitor,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor,/area/janitor) -"bNS" = (/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/camera{c_tag = "Custodial Closet"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/janitor) -"bNT" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/newscaster{pixel_y = 30},/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor,/area/janitor) -"bNU" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/janitor) -"bNV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/mopbucket,/obj/item/weapon/mop,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/reagent_dispensers/spacecleanertank{pixel_y = 30},/turf/simulated/floor,/area/janitor) -"bNW" = (/obj/machinery/door/window/westleft{name = "Janitoral Delivery"; req_access_txt = "26"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/janitor) -"bNX" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "Janitor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/janitor) -"bNY" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bNZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/wall,/area) -"bOa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bOb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/vehicle/train/ambulance/engine,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bOc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door_control{id = "paramedic"; name = "Garage Door Control"; pixel_x = -1; pixel_y = 24; req_access_txt = "66"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bOd" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/effect/landmark/start{name = "Paramedic"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bOe" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/closet/paramedic,/obj/item/key/ambulance,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bOf" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) -"bOg" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bOh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bOi" = (/obj/machinery/door_control{id = "acutesep"; name = "Acute Separation Shutters"; pixel_y = 25},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/camera{c_tag = "Medbay Acute 2"; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bOj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Acute Treatment 2"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) -"bOk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) -"bOl" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bOm" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo) -"bOn" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/cmo) -"bOo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/maintenance{req_access_txt = "5"},/turf/simulated/floor,/area/medical/medbay2) -"bOp" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "white"},/area/medical/cmo) -"bOq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/cmo) -"bOr" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo) -"bOs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bOt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) -"bOu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/cryo) -"bOv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/cryo) -"bOw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{icon_state = "manifold"; level = 2},/turf/simulated/floor,/area/medical/cryo) -"bOx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor,/area/medical/cryo) -"bOy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/medical/cryo) -"bOz" = (/obj/machinery/power/apc{dir = 4; name = "Cryogenics APC"; pixel_x = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/cryo) -"bOA" = (/obj/machinery/light,/turf/simulated/floor{tag = "icon-whitepurple (SOUTHWEST)"; icon_state = "whitepurple"; dir = 10},/area/medical/genetics) -"bOB" = (/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics) -"bOC" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics) -"bOD" = (/obj/machinery/light,/obj/machinery/camera{c_tag = "Genetics Aft"; dir = 1; network = list("SS13")},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics) -"bOE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics) -"bOF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/medical/genetics) -"bOG" = (/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-whitepurple (SOUTHEAST)"; icon_state = "whitepurple"; dir = 6},/area/medical/genetics) -"bOH" = (/obj/structure/table/reinforced,/obj/item/device/sps,/obj/item/device/sps,/obj/item/device/sps,/turf/simulated/floor,/area/toxins/telesci) -"bOI" = (/obj/machinery/light{dir = 1},/obj/structure/table/reinforced,/turf/simulated/floor,/area/toxins/telesci) -"bOJ" = (/obj/machinery/computer/telescience,/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Telepad Camera Screen"; network = list("Telepad"); pixel_x = 32; pixel_y = 0},/turf/simulated/floor,/area/toxins/telesci) -"bOK" = (/obj/item/device/radio/intercom{pixel_y = 25},/turf/simulated/floor/engine,/area/toxins/telescipad) -"bOL" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "Telescience Pad APC"; pixel_y = 24},/turf/simulated/floor/engine,/area/toxins/telescipad) -"bOM" = (/obj/machinery/camera{c_tag = "Misc Test Chamber"; dir = 2; network = list("Telepad"); pixel_x = 0},/turf/simulated/floor/engine,/area/toxins/telescipad) -"bON" = (/turf/simulated/floor/engine,/area/toxins/telescipad) -"bOO" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/toxins/storage) -"bOP" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/storage) -"bOQ" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/storage) -"bOR" = (/obj/machinery/power/apc{dir = 8; name = "Misc Research APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bOS" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bOT" = (/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bOU" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bOV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bOW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bOX" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bOY" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plating/airless,/area/toxins/mixing) -"bOZ" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area) -"bPa" = (/turf/simulated/floor/plating/airless,/area/toxins/test_area) -"bPb" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless,/area/toxins/test_area) -"bPc" = (/turf/simulated/floor/airless,/area/toxins/test_area) -"bPd" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor/airless,/area/toxins/test_area) -"bPe" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/structure/plasticflaps/mining,/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "cargo_shuttle_inner"; locked = 1; name = "Cargo Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/storage) -"bPf" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor/plating,/area/quartermaster/storage) -"bPg" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor,/area/quartermaster/storage) -"bPh" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/storage) -"bPi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor,/area/quartermaster/storage) -"bPj" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor,/area/quartermaster/storage) -"bPk" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor,/area/quartermaster/storage) -"bPl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor,/area/quartermaster/storage) -"bPm" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/obj/structure/plasticflaps{opacity = 0},/turf/simulated/floor,/area/quartermaster/storage) -"bPn" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/floor,/area/quartermaster/sorting) -"bPo" = (/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/quartermaster/sorting) -"bPp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/sorting) -"bPq" = (/obj/machinery/telepad_cargo,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/quartermaster/sorting) -"bPr" = (/turf/simulated/wall,/area/quartermaster/sorting) -"bPs" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/sorting) -"bPt" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/aft) -"bPu" = (/turf/simulated/floor/wood,/area/blueshield) -"bPv" = (/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield) -"bPw" = (/turf/simulated/floor/wood,/area/ntrep) -"bPx" = (/turf/simulated/floor/carpet,/area/ntrep) -"bPy" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/ntrep) -"bPz" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area) -"bPA" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"bPB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/aft) -"bPC" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"bPD" = (/obj/machinery/power/apc{dir = 8; name = "Custodial Closet APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/janitor) -"bPE" = (/obj/structure/stool,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/landmark/start{name = "Janitor"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/janitor) -"bPF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/janitor) -"bPG" = (/obj/effect/landmark/start{name = "Janitor"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/janitor) -"bPH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/janitor) -"bPI" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/janitor) -"bPJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bPK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/vehicle/train/ambulance/trolley,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bPL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bPM" = (/obj/structure/closet/secure_closet/paramedic,/turf/simulated/floor/plating,/area/maintenance/fpmaint) -"bPN" = (/obj/structure/stool/bed/roller,/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) -"bPO" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "acute2"; name = "Acute 2 Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/sleeper) -"bPP" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) -"bPQ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bPR" = (/obj/machinery/camera{c_tag = "Medbay Port Corridor"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/disposal,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bPS" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/camera{c_tag = "Medbay CMO Office"; dir = 4; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 9},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/cmo) -"bPT" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyer"; name = "Medbay Emergency Entrance"; req_access_txt = "5"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/medical/medbay2) -"bPU" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor{icon_state = "white"},/area/medical/cmo) -"bPV" = (/obj/structure/table,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/cmo) -"bPW" = (/obj/machinery/camera{c_tag = "Medbay Starboard Corridor"; dir = 4; network = list("SS13")},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) -"bPX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bPY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) -"bPZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/cryo) -"bQa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/cryo) -"bQb" = (/obj/effect/landmark/start{name = "Medical Doctor"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor,/area/medical/cryo) -"bQc" = (/turf/simulated/floor,/area/medical/cryo) -"bQd" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/turf/simulated/floor,/area/medical/cryo) -"bQe" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; icon_state = "manifold"; level = 2},/turf/simulated/floor,/area/medical/cryo) -"bQf" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/medical/cryo) -"bQg" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular{pixel_x = 0; pixel_y = 0},/turf/simulated/floor,/area/toxins/telesci) -"bQh" = (/turf/simulated/floor,/area/toxins/telesci) -"bQi" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor{tag = "icon-vault-border (EAST)"; icon_state = "vault-border"; dir = 4},/area) -"bQj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/engine,/area/toxins/telescipad) -"bQk" = (/obj/item/device/radio/beacon,/turf/simulated/floor/engine,/area/toxins/telescipad) -"bQl" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/engine,/area/toxins/telescipad) -"bQm" = (/obj/item/weapon/cigbutt,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/storage) -"bQn" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/storage) -"bQo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bQp" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/toxins/mixing) -"bQq" = (/obj/machinery/firealarm,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area) -"bQr" = (/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"; req_access_txt = "0"},/turf/simulated/floor/plating/airless,/area/toxins/test_area) -"bQs" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating/airless,/area/toxins/test_area) -"bQt" = (/obj/machinery/camera{c_tag = "Toxins Test Chamber North"; network = list("Toxins")},/obj/machinery/light{dir = 1},/turf/simulated/floor/airless,/area/toxins/test_area) -"bQu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage) -"bQv" = (/obj/machinery/light,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage) -"bQw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage) -"bQx" = (/obj/machinery/camera{c_tag = "Cargo Bay West"; dir = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage) -"bQy" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bQz" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "bot"},/area/quartermaster/storage) -"bQA" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/research{name = "Genetics Research"; req_access_txt = "47;9"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bQB" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/sorting) -"bQC" = (/obj/item/weapon/storage/box,/obj/structure/table,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/turf/simulated/floor,/area/quartermaster/sorting) -"bQD" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/sorting) -"bQE" = (/obj/structure/table,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/sorting) -"bQF" = (/obj/structure/table,/obj/item/weapon/wrapping_paper,/obj/item/weapon/wrapping_paper,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/sorting) -"bQG" = (/obj/structure/table,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/sorting) -"bQH" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/quartermaster/sorting) -"bQI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/quartermaster/sorting) -"bQJ" = (/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/quartermaster/sorting) -"bQK" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window/westleft{name = "Mail"; req_access_txt = "50"},/turf/simulated/floor{icon_state = "delivery"},/area/quartermaster/sorting) -"bQL" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/sorting) -"bQM" = (/obj/structure/disposalpipe/segment,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area) -"bQN" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield) -"bQO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/glass_medical{id_tag = "MedbayFoyer"; name = "Medbay Emergency Entrance"; req_access_txt = "5"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/medical/medbay2) -"bQP" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/ntrep) -"bQQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"bQR" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/hallway/primary/aft) -"bQS" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"bQT" = (/obj/structure/table,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/machinery/requests_console{department = "Janitorial"; departmentType = 1; pixel_y = -29},/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor,/area/janitor) -"bQU" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor,/area/janitor) -"bQV" = (/obj/machinery/light,/obj/vehicle/train/janitor/trolley,/turf/simulated/floor,/area/janitor) -"bQW" = (/obj/vehicle/train/janitor/engine,/turf/simulated/floor,/area/janitor) -"bQX" = (/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/legcuffs/beartrap,/obj/item/weapon/storage/box/mousetraps,/obj/item/weapon/storage/box/mousetraps,/turf/simulated/floor,/area/janitor) -"bQY" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/janitor) -"bQZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bRa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bRb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bRc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bRd" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bRe" = (/obj/machinery/computer/crew,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bRf" = (/obj/machinery/iv_drip,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/sleeper) -"bRg" = (/obj/machinery/door_control{id = "acute2"; name = "Acute 2 Shutters"; pixel_y = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bRh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) -"bRi" = (/obj/machinery/vending/medical,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/medbay2) -"bRj" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area) -"bRk" = (/obj/machinery/door_control{id = "cmooffice"; name = "CMO Privacy Shutters"; pixel_y = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo) -"bRl" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Chief Medical Officer"},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo) -"bRm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/research{name = "Genetics Research"; req_access_txt = "47;9"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bRn" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) -"bRo" = (/obj/machinery/photocopier,/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/medbay2) -"bRp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/medbay2) -"bRq" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bRr" = (/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/obj/structure/closet/secure_closet/medical1,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/cryo) -"bRs" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/cryo) -"bRt" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/cryo) -"bRu" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister/oxygen{name = "Canister: \[O2] (CRYO)"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/cryo) -"bRv" = (/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay Lobby)"; pixel_x = 0; pixel_y = -30},/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister/oxygen{name = "Canister: \[O2] (CRYO)"},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/cryo) -"bRw" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 1},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/cryo) -"bRx" = (/obj/machinery/iv_drip,/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_a) -"bRy" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/patient_a) -"bRz" = (/obj/machinery/door_control{id = "medpriva"; name = "Privacy Shutters"; pixel_y = 25},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_a) -"bRA" = (/obj/machinery/iv_drip,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_c) -"bRB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/patient_c) -"bRC" = (/obj/machinery/door_control{id = "medprivc"; name = "Privacy Shutters"; pixel_y = 25},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_c) -"bRD" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor{tag = "icon-vault-border (EAST)"; icon_state = "vault-border"; dir = 4},/area) -"bRE" = (/obj/machinery/telepad,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/engine,/area/toxins/telescipad) -"bRF" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/engine,/area/toxins/telescipad) -"bRG" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/storage) -"bRH" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/storage) -"bRI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bRJ" = (/obj/effect/landmark/start{name = "Scientist"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bRK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/toxins/mixing) -"bRL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/mixing) -"bRM" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-warningcorner"; icon_state = "warningcorner"; dir = 2},/area/toxins/mixing) -"bRN" = (/obj/structure/closet/wardrobe/toxins_white,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "whitepurple"},/area/toxins/mixing) -"bRO" = (/obj/structure/closet/wardrobe/toxins_white,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/mixing) -"bRP" = (/obj/structure/rack,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/mixing) -"bRQ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/rack,/obj/machinery/light{dir = 1; in_use = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whitepurple"},/area/toxins/mixing) -"bRR" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warnwhitecorner"; tag = "icon-warnwhitecorner (EAST)"},/area/toxins/mixing) -"bRS" = (/obj/machinery/camera{c_tag = "Toxins Mixing Room North"; dir = 2; network = list("SS13"); pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bRT" = (/obj/machinery/alarm{pixel_y = 25},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bRU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bRV" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bRW" = (/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bRX" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bRY" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bRZ" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/machinery/light{dir = 1; in_use = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/toxins/mixing) -"bSa" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/mixing) -"bSb" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/toxins/mixing) -"bSc" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area) -"bSd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) -"bSe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/mining{name = "Mining Dock"; req_access_txt = "48"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/quartermaster/miningdock) -"bSf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area) -"bSg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/maintenance{name = "Waste Disposal"; req_access_txt = "31"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/quartermaster/storage) -"bSh" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "50"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/quartermaster/sorting) -"bSi" = (/obj/structure/disposalpipe/wrapsortjunction{dir = 1},/turf/simulated/wall,/area) -"bSj" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall,/area) -"bSk" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/maintenance/aft) -"bSl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/aft) -"bSm" = (/obj/effect/landmark/start{name = "Blueshield"},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield) -"bSn" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/quartermaster/storage) -"bSo" = (/obj/machinery/power/apc{dir = 4; name = "Centcomm Rep APC"; pixel_x = 24; pixel_y = -3},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light{dir = 1},/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/ntrep) -"bSp" = (/obj/effect/landmark/start{name = "Nanotrasen Representative"},/turf/simulated/floor/carpet,/area/ntrep) -"bSq" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/carpet,/area/ntrep) -"bSr" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/wood,/area/ntrep) -"bSs" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"bSt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/aft) -"bSu" = (/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"bSv" = (/obj/machinery/door/airlock/maintenance{name = "Custodial Maintenance"; req_access_txt = "26"},/turf/simulated/floor/plating,/area/janitor) -"bSw" = (/obj/machinery/power/apc{dir = 8; name = "Medbay Maintenance APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bSx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bSy" = (/turf/simulated/wall,/area/medical/sleeper) -"bSz" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scanhide"; name = "Scanning Room Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bSA" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) -"bSB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bSC" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area) -"bSD" = (/obj/machinery/light,/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/cmo) -"bSE" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; freerange = 0; frequency = 1485; listening = 1; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -30},/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/cmo) -"bSF" = (/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/cmo) -"bSG" = (/obj/machinery/computer/crew,/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 6; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/cmo) -"bSH" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) -"bSI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) -"bSJ" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bSK" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_a) -"bSL" = (/turf/simulated/floor{icon_state = "white"},/area/medical/patient_a) -"bSM" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/camera{c_tag = "Medbay Patient A"; dir = 8; network = list("SS13")},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_a) -"bSN" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_c) -"bSO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_c) -"bSP" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/camera{c_tag = "Medbay Patient C"; dir = 8; network = list("SS13")},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_c) -"bSQ" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/grille,/obj/structure/window/plasmareinforced,/turf/simulated/floor{tag = "icon-vault-border (EAST)"; icon_state = "vault-border"; dir = 4},/area) -"bSR" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/engine,/area/toxins/telescipad) -"bSS" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/engine,/area/toxins/telescipad) -"bST" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/storage) -"bSU" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/storage) -"bSV" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/storage) -"bSW" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bSX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bSY" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Mixing Room"; req_access_txt = "8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/mixing) -"bSZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/toxins/mixing) -"bTa" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/mixing) -"bTb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/mixing) -"bTc" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/research{name = "Toxins Mixing Room"; req_access_txt = "8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/toxins/mixing) -"bTd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/mixing) -"bTe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bTf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/window/eastright{name = "Toxins Mixing Room"},/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/toxins/mixing) -"bTg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/mixing) -"bTh" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTHWEST)"; icon_state = "whiteblue"; dir = 9},/area/toxins/mixing) -"bTi" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bTj" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/mixing) -"bTk" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/mixing) -"bTl" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/toxins/mixing) -"bTm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/portables_connector,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bTn" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bTo" = (/obj/machinery/driver_button{dir = 2; id = "toxinsdriver"; pixel_y = 24},/turf/simulated/floor,/area/toxins/mixing) -"bTp" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/toxins/mixing) -"bTq" = (/turf/simulated/floor/airless{dir = 9; icon_state = "warning"},/area/toxins/test_area) -"bTr" = (/turf/simulated/floor/airless{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/area/toxins/test_area) -"bTs" = (/obj/structure/table,/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/miningdock) -"bTt" = (/obj/machinery/power/apc{dir = 1; name = "Mining Dock APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/miningdock) -"bTu" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/miningdock) -"bTv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/mech_bay_recharge_floor,/area/quartermaster/miningdock) -"bTw" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/miningdock) -"bTx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/miningdock) -"bTy" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-brown (NORTH)"; icon_state = "brown"; dir = 1},/area/quartermaster/miningdock) -"bTz" = (/turf/simulated/floor{tag = "icon-brown (NORTHEAST)"; icon_state = "brown"; dir = 5},/area/quartermaster/miningdock) -"bTA" = (/obj/machinery/conveyor{dir = 5; id = "garbage"},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bTB" = (/obj/machinery/conveyor{dir = 4; id = "garbage"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bTC" = (/obj/machinery/conveyor{dir = 4; id = "garbage"},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bTD" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bTE" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/maintenance/disposal) -"bTF" = (/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door_control{id = "Biohazard_medi"; name = "Emergency Medbay Quarantine"; pixel_y = -25},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo) -"bTG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Waste Disposal"; req_access_txt = "31"},/turf/simulated/floor/plating,/area/maintenance/aft) -"bTH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"bTI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/aft) -"bTJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/aft) -"bTK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/aft) -"bTL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"bTM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; sortType = 15},/turf/simulated/floor/plating,/area/maintenance/aft) -"bTN" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft) -"bTO" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/turf/simulated/floor/wood,/area/blueshield) -"bTP" = (/obj/structure/table/woodentable,/obj/item/ashtray/glass{pixel_x = -4; pixel_y = -4},/obj/item/weapon/lighter/zippo/fluff/li_matsuda_1{pixel_x = 7; pixel_y = 4},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield) -"bTQ" = (/obj/structure/table/woodentable,/obj/item/weapon/folder/blue,/obj/item/weapon/pen/blue,/obj/item/weapon/paper{info = "Blueshield Mission Briefing
You are charged with the defense of any persons of importance within the station. This includes but is not limited to The Captain, The Heads of Staff and Central Command staff. You answer directly to the Head of Security who will assist you in achieving your mission.
Where required to achieve your primary responsibility you should liase with security and share resources, however the day to day security operations of the station are outside of your jurisdiction.
Monitor the health and safety of your principals, identify any potential risks and threats then alert the proper departments to resolve the situation. You are authorized to act as bodyguard to any of the station heads that you determine are most in need of protection, however additional access to their departments shall be granted solely at their discretion.
Observe the station alert system and carry your armaments only as required by the situation or when authorized by the Head of Security or Captain in exceptional cases.
Remember, as an agent of Nanotransen it is your responsibility to conduct yourself appropriately and you will be held to the highest standard. You will be held accountable for your actions. Security is authorized to search, interrogate or detain you as required by their own procedures. Internal affairs will also monitor and observe your conduct and their mandate applies equally to security and blueshield operations.
Dagon Blade, Blueshield Commander
"; name = "Blueshield Mission Briefing"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield) -"bTR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield) -"bTS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/flag/nt,/turf/simulated/floor/wood,/area/blueshield) -"bTT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/flag/nt,/turf/simulated/floor/wood,/area/ntrep) -"bTU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/carpet,/area/ntrep) -"bTV" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills{req_access_txt = "57"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/carpet,/area/ntrep) -"bTW" = (/obj/structure/table/woodentable,/obj/item/weapon/folder,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/weapon/stamp/centcom,/obj/item/weapon/pen/fluff/fountainpen,/turf/simulated/floor/carpet,/area/ntrep) -"bTX" = (/obj/machinery/door/window{dir = 1; name = "Desk Door"; req_access_txt = "57"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/wood,/area/ntrep) -"bTY" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"bTZ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/aft) -"bUa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"bUb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bUc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bUd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bUe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bUf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bUg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bUh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bUi" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bUj" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bUk" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/sleeper) -"bUl" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/sleeper) -"bUm" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; icon_state = "manifold"; level = 2},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/sleeper) -"bUn" = (/obj/machinery/door_control{id = "scanhide"; name = "Scanning Room Shutters"; pixel_y = 25},/obj/machinery/camera{c_tag = "Medbay Scanning"; network = list("SS13")},/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 8; icon_state = "freezer_0"; tag = ""},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/sleeper) -"bUo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scanhide"; name = "Scanning Room Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"bUp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bUq" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area) -"bUr" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area) -"bUs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/wall,/area) -"bUt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "CMO's Office"; req_access_txt = "40"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/cmo) -"bUu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "cmooffice"; name = "CMO's Office Privacy Shutters"; opacity = 0},/obj/structure/cable,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area) -"bUv" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) -"bUw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) -"bUx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bUy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bUz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bUA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/machinery/camera{c_tag = "Medbay Patient Isolation Access"; network = list("SS13")},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bUB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bUC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bUD" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/closet/walllocker/emerglocker/north,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-whiteblue (NORTHEAST)"; icon_state = "whiteblue"; dir = 5},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bUE" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/patient_a) -"bUF" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/patient_a) -"bUG" = (/obj/structure/closet/secure_closet/personal/patient,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Medbay APC"; pixel_x = 25},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_a) -"bUH" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/patient_c) -"bUI" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/patient_c) -"bUJ" = (/obj/structure/closet/secure_closet/personal/patient,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Medbay APC"; pixel_x = 25},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_c) -"bUK" = (/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor,/area/toxins/telesci) -"bUL" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor{tag = "icon-vault-border (EAST)"; icon_state = "vault-border"; dir = 4},/area) -"bUM" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/machinery/door/airlock/glass_research{name = "Research and Development"; req_access_txt = "7"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/engine,/area/toxins/telesci) -"bUN" = (/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-vault-border (EAST)"; icon_state = "vault-border"; dir = 4},/area) -"bUO" = (/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/power/apc{dir = 8; name = "Toxins Storage APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/storage) -"bUP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/toxins/storage) -"bUQ" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bUR" = (/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bUS" = (/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/toxins/mixing) -"bUT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/mixing) -"bUU" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/toxins/mixing) -"bUV" = (/obj/structure/closet/bombcloset,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/toxins/mixing) -"bUW" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/l3closet/scientist,/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/toxins/mixing) -"bUX" = (/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"; tag = "icon-warnwhitecorner (EAST)"},/area/toxins/mixing) -"bUY" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bUZ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "Dormitories APC"; pixel_x = -25},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep) -"bVa" = (/obj/machinery/atmospherics/trinary/mixer{density = 0; dir = 1; req_access = null},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bVb" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bVc" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins"); pixel_x = 32; pixel_y = 0},/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor,/area/toxins/mixing) -"bVd" = (/turf/simulated/floor,/area/toxins/mixing) -"bVe" = (/turf/simulated/floor/airless{dir = 8; icon_state = "warning"},/area/toxins/test_area) -"bVf" = (/obj/structure/table,/obj/machinery/media/receiver/boombox,/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock) -"bVg" = (/turf/simulated/floor,/area/quartermaster/miningdock) -"bVh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/quartermaster/miningdock) -"bVi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/quartermaster/miningdock) -"bVj" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock) -"bVk" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bVl" = (/turf/simulated/wall,/area/maintenance/disposal) -"bVm" = (/obj/machinery/door/airlock/maintenance{name = "Waste Disposal"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bVn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/disposal) -"bVo" = (/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/aft) -"bVp" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"bVq" = (/obj/machinery/newscaster{pixel_x = -28; pixel_y = 1},/turf/simulated/floor/wood,/area/blueshield) -"bVr" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield) -"bVs" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills{req_one_access = null},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield) -"bVt" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield) -"bVu" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/turf/simulated/floor/wood,/area/blueshield) -"bVv" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/ntrep) -"bVw" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/ntrep) -"bVx" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/machinery/light/small/lamp/green{pixel_x = -5; pixel_y = 12},/obj/item/weapon/paper{info = "Centcomm Representative Mission Briefing

Nanotransen Central Command has dispatched you to this station in order to liase with command staff on their behalf. As experienced field officers, the staff on the station are experts in handling their own fields. It is your job however to consider the bigger picture and to direct the staff towards Nanotransen's corporate interests.
As a civilian, you should consider yourself an advisor, diplomat and intermediary. The command staff do not answer to you directly and are not required to follow your orders nor do you have disciplinary authority over personnel. In all station internal matters you answer to the Head of Personnel who will direct you in your conduct within the station. However you also answer to Centcomm who may, as required, direct you in acting on company interests.
Central command may dispatch orders to the staff through you which you are responsible to communicate, however enforcement of these orders is not your mandate and will be handled directly by central command or authorized nanotransen personnel. When not specifically directed by central command, assist the head of personnel in evaluation of the station and receiving departmental reports.
Your office has been provided with a direct link to central command, through which you can issue any urgent reports or requests for Nanotransen intervention. Remember that any direct intervention is a costly exercise and should be used only when the situation justifies the request. You will be held accountable for any unnecessary usage of Nanotransen resources.
"; name = "Centcomm Representative Mission Briefing"},/turf/simulated/floor/carpet,/area/ntrep) -"bVy" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/carpet,/area/ntrep) -"bVz" = (/obj/item/device/radio/intercom{pixel_x = 29; pixel_y = -1},/turf/simulated/floor/wood,/area/ntrep) -"bVA" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"bVB" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft) -"bVC" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"bVD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Firefighting equipment"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bVE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bVF" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bVG" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=4"; freq = 1400; location = "Medbay"},/obj/structure/plasticflaps{opacity = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "bot"},/area/maintenance/asmaint) -"bVH" = (/obj/machinery/door/window/eastleft{name = "Medical Delivery"; req_access_txt = "5"},/obj/machinery/door/firedoor,/turf/simulated/floor{icon_state = "delivery"},/area/medical/sleeper) -"bVI" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/sleeper) -"bVJ" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/medical/sleeper) -"bVK" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor,/area/medical/sleeper) -"bVL" = (/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/sleeper) -"bVM" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scanhide"; name = "Scanning Room Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/sleeper) -"bVN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) -"bVO" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) -"bVP" = (/obj/structure/closet/walllocker/emerglocker/north,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bVQ" = (/obj/machinery/light{dir = 1},/obj/structure/table,/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bVR" = (/obj/machinery/camera{c_tag = "Medbay Lounge"; network = list("SS13")},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bVS" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/item/roller,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bVT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bVU" = (/obj/machinery/vending/coffee,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bVV" = (/obj/machinery/light{dir = 1},/obj/machinery/vending/medical,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bVW" = (/obj/structure/closet/walllocker/emerglocker/north,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/medbay2) -"bVX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) -"bVY" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) -"bVZ" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bWa" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bWb" = (/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bWc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bWd" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bWe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bWf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "medpriva"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area) -"bWg" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/medical{name = "Patient Iso A"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access) -"bWh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "medprivc"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) -"bWi" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/medical{name = "Patient Iso C"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/patient_c) -"bWj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "medprivc"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area) -"bWk" = (/obj/machinery/power/apc{dir = 8; name = "Telescience APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/toxins/telesci) -"bWl" = (/obj/machinery/telepad_cargo,/turf/simulated/floor,/area/toxins/telesci) -"bWm" = (/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/telesci) -"bWn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/telesci) -"bWo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/telesci) -"bWp" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/camera{c_tag = "Miscellaneous Research"; dir = 8; network = list("RD"); pixel_y = -22},/turf/simulated/floor,/area/toxins/telesci) -"bWq" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Toxins Storage"; req_access_txt = "8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/toxins/storage) -"bWr" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bWs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bWt" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/toxins/mixing) -"bWu" = (/obj/structure/closet/bombcloset,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{dir = 10; icon_state = "whitepurple"},/area/toxins/mixing) -"bWv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/mixing) -"bWw" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/closet/l3closet/scientist,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 6; icon_state = "whitepurple"},/area/toxins/mixing) -"bWx" = (/obj/machinery/atmospherics/trinary/filter{density = 0; req_access = null},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bWy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bWz" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bWA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/toxins/mixing) -"bWB" = (/obj/machinery/disposal,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -30; pixel_y = 0},/obj/structure/disposalpipe/trunk,/turf/simulated/floor{tag = "icon-warningcorner"; icon_state = "warningcorner"; dir = 2},/area/toxins/mixing) -"bWC" = (/turf/simulated/floor{icon_state = "warning"},/area/toxins/mixing) -"bWD" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; layer = 4; name = "Test Chamber Telescreen"; network = list("Toxins"); pixel_x = 32; pixel_y = 0},/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/toxins/mixing) -"bWE" = (/turf/simulated/floor/airless{dir = 4; icon_state = "warning"},/area/toxins/test_area) -"bWF" = (/turf/simulated/floor/airless{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/toxins/test_area) -"bWG" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/shuttle/mining/station) -"bWH" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/mining/station) -"bWI" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/mining/station) -"bWJ" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/shuttle/mining/station) -"bWK" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock) -"bWL" = (/obj/structure/rack{dir = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock) -"bWM" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bWN" = (/turf/simulated/floor/plating,/area/maintenance/disposal) -"bWO" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) -"bWP" = (/obj/machinery/light/small{dir = 1},/obj/structure/stool,/turf/simulated/floor/plating,/area/maintenance/aft) -"bWQ" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/aft) -"bWR" = (/turf/simulated/floor/plating,/area/maintenance/aft) -"bWS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/aft) -"bWT" = (/obj/structure/closet/secure_closet/blueshield,/turf/simulated/floor/wood,/area/blueshield) -"bWU" = (/obj/structure/rack,/obj/item/clothing/suit/armor/vest/fluff/deus_blueshield,/obj/item/clothing/tie/blue,/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/shoes/centcom,/obj/item/clothing/under/rank/centcom_officer,/obj/item/clothing/head/beret/centcom/officer,/obj/machinery/door_control{id = "blueshield"; name = "Office Shutters Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "0"},/turf/simulated/floor/wood,/area/blueshield) -"bWV" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp,/turf/simulated/floor/wood,/area/blueshield) -"bWW" = (/obj/machinery/camera{c_tag = "Blueshield Office"; dir = 1; name = "Blueshield Camera"},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/wood,/area/blueshield) -"bWX" = (/obj/item/device/radio/intercom{pixel_x = 29; pixel_y = -1},/obj/machinery/computer/crew,/turf/simulated/floor/wood,/area/blueshield) -"bWY" = (/obj/structure/rack,/obj/item/clothing/shoes/centcom,/obj/item/clothing/under/lawyer/black{name = "Executive Suit"},/obj/item/clothing/under/lawyer/female{name = "Executive Suit"},/obj/item/clothing/under/rank/centcom_officer,/obj/item/weapon/storage/briefcase,/obj/item/clothing/under/lawyer/oldman,/obj/item/device/paicard{pixel_x = 4},/obj/item/clothing/gloves/white,/turf/simulated/floor/wood,/area/ntrep) -"bWZ" = (/obj/machinery/door_control{id = "representative"; name = "Office Shutters Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "0"},/turf/simulated/floor/wood,/area/ntrep) -"bXa" = (/obj/machinery/camera{c_tag = "Centcomm Office"; dir = 1; name = "Centcom Office Camera"},/obj/structure/table/woodentable,/obj/machinery/faxmachine{department = "NT Representative's Office"},/turf/simulated/floor/wood,/area/ntrep) -"bXb" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/wood,/area/ntrep) -"bXc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/machinery/computer/secure_data,/turf/simulated/floor/wood,/area/ntrep) -"bXd" = (/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/camera{c_tag = "Aft Primary Hallway 2"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"bXe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft) -"bXf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"bXg" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/closet/firecloset,/obj/item/taperoll/engineering,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engine/break_room) -"bXh" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/obj/structure/closet/firecloset,/obj/item/taperoll/engineering,/turf/simulated/floor,/area/engine/break_room) -"bXi" = (/obj/structure/closet/firecloset,/obj/item/taperoll/engineering,/turf/simulated/floor,/area/engine/break_room) -"bXj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/computer/security/telescreen{desc = "Used for watching the singularity chamber."; dir = 8; layer = 4; name = "Singularity Engine Telescreen"; network = list("Singularity"); pixel_x = 0; pixel_y = 30},/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/engine/break_room) -"bXk" = (/obj/machinery/power/monitor,/obj/structure/cable,/turf/simulated/floor{icon_state = "caution"; dir = 5},/area/engine/break_room) -"bXl" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bXm" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bXn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bXo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall,/area) -"bXp" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/sleeper) -"bXq" = (/obj/effect/landmark/start{name = "Medical Doctor"},/turf/simulated/floor,/area/medical/sleeper) -"bXr" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "scanhide"; name = "Scanning Room Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/sleeper) -"bXs" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/medbay2) -"bXt" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bXu" = (/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bXv" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bXw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bXx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/landmark/nations{name = "Medistan"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bXy" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bXz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bXA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2) -"bXB" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bXC" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 6; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bXD" = (/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{dir = 10; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bXE" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bXF" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "white"},/area/medical/cmo) -"bXG" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{tag = "icon-whitebluecorner (WEST)"; icon_state = "whitebluecorner"; dir = 8},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bXH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/table,/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bXI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bXJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bXK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bXL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bXM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bXN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bXO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whiteredcorner"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bXP" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bXQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{dir = 1; icon_state = "whiteredcorner"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bXR" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci) -"bXS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci) -"bXT" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci) -"bXU" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/toxins/telesci) -"bXV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/toxins/telesci) -"bXW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci) -"bXX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci) -"bXY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/telesci) -"bXZ" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/research{name = "Telescience"; req_access_txt = "7"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"bYa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bYb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bYc" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bYd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bYe" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bYf" = (/obj/machinery/door/airlock/research{name = "Toxins Launch Room"; req_access_txt = "8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/toxins/mixing) -"bYg" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bYh" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bYi" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor{tag = "icon-whitepurple (NORTHWEST)"; icon_state = "whitepurple"; dir = 9},/area/toxins/mixing) -"bYj" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor{tag = "icon-whitepurple (NORTHEAST)"; icon_state = "whitepurple"; dir = 5},/area/toxins/mixing) -"bYk" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/toxins/mixing) -"bYl" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/toxins/mixing) -"bYm" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating{nitrogen = 0.01; oxygen = 0.01},/area/toxins/mixing) -"bYn" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/toxins/mixing) -"bYo" = (/obj/machinery/door/window/southright{name = "Toxins Launcher"; req_access_txt = "8"; req_one_access_txt = "0"},/obj/machinery/door/window/southright{dir = 1; name = "Toxins Launcher"; req_access_txt = "8"},/turf/simulated/floor/plating,/area/toxins/mixing) -"bYp" = (/turf/simulated/floor/airless{icon_state = "warning"},/area/toxins/test_area) -"bYq" = (/turf/simulated/floor/airless{dir = 6; icon_state = "warning"},/area/toxins/test_area) -"bYr" = (/turf/simulated/floor/airless{dir = 10; icon_state = "warning"},/area/toxins/test_area) -"bYs" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/mining/station) -"bYt" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/shuttle/mining/station) -"bYu" = (/obj/machinery/computer/shuttle_control/mining,/turf/simulated/shuttle/floor,/area/shuttle/mining/station) -"bYv" = (/obj/structure/table,/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "mining_shuttle"; pixel_x = 25; pixel_y = -8; req_one_access_txt = "13;48"; tag_door = "mining_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) -"bYw" = (/obj/machinery/computer/security/mining,/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/camera{c_tag = "Mining Dock"; dir = 4; network = list("SS13")},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock) -"bYx" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock) -"bYy" = (/obj/structure/rack{dir = 1},/obj/item/weapon/modkit/unathi,/obj/item/weapon/modkit/unathi,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock) -"bYz" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/turf/simulated/floor/plating,/area/maintenance/disposal) -"bYA" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor/plating,/area/maintenance/aft) -"bYB" = (/obj/structure/closet,/turf/simulated/floor/plating,/area/maintenance/aft) -"bYC" = (/obj/structure/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/oxygen,/obj/item/clothing/mask/gas,/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/aft) -"bYD" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"bYE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) -"bYF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"bYG" = (/obj/machinery/door/window/westright{name = "Reception Door"; req_access = null; req_access_txt = "0"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/navbeacon{codes_txt = "delivery;dir=4"; freq = 1400; location = "Engineering"},/turf/simulated/floor{icon_state = "bot"},/area/engine/break_room) -"bYH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/window/northleft{dir = 4; icon_state = "left"; name = "Engineering Moniter Station"; req_access_txt = "32"},/turf/simulated/floor{icon_state = "delivery"},/area/engine/break_room) -"bYI" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/engine/break_room) -"bYJ" = (/turf/simulated/floor,/area/engine/break_room) -"bYK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/break_room) -"bYL" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/break_room) -"bYM" = (/obj/structure/closet,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bYN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bYO" = (/obj/machinery/power/apc{dir = 2; name = "Cargo Bay APC"; pixel_x = 0; pixel_y = -24},/obj/structure/cable,/obj/machinery/camera{c_tag = "Cargo Bay East"; dir = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/quartermaster/storage) -"bYP" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/sleeper) -"bYQ" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/medical/sleeper) -"bYR" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/sleeper) -"bYS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{tag = "icon-whiteblue (WEST)"; icon_state = "whiteblue"; dir = 8},/area/medical/medbay2) -"bYT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bYU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bYV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bYW" = (/obj/structure/stool/bed/chair/comfy/teal,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bYX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bYY" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"bYZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"bZa" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Psych Office"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "white"},/area/medical/psych) -"bZb" = (/obj/machinery/camera{c_tag = "Medbay Isolation Corridor"; dir = 4; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area) -"bZc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHEAST)"; icon_state = "whiteblue"; dir = 6},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bZd" = (/obj/machinery/light,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bZe" = (/turf/simulated/floor{dir = 2; icon_state = "whiteredcorner"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bZf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bZg" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{dir = 8; icon_state = "whiteredcorner"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bZh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/power/apc{dir = 2; name = "Medbay APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bZi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bZj" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bZk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light/small{dir = 4},/obj/machinery/vending/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"bZl" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci) -"bZm" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci) -"bZn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci) -"bZo" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/toxins/telesci) -"bZp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci) -"bZq" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/telesci) -"bZr" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/research{name = "Telescience"; req_access_txt = "7"},/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci) -"bZs" = (/obj/machinery/light,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bZt" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bZu" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bZv" = (/obj/machinery/camera{c_tag = "Research Division South"; dir = 1; network = list("SS13"); pixel_x = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bZw" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"bZx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bZy" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bZz" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"bZA" = (/obj/item/device/transfer_valve,/obj/item/device/transfer_valve,/obj/item/device/transfer_valve,/obj/item/device/transfer_valve,/obj/item/device/transfer_valve,/obj/structure/table,/obj/item/device/transfer_valve,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bZB" = (/obj/item/device/assembly/timer,/obj/item/device/assembly/timer{pixel_x = 6},/obj/item/device/assembly/timer{pixel_x = -5; pixel_y = 6},/obj/structure/table,/obj/item/device/assembly/timer{pixel_x = -3; pixel_y = -4},/obj/item/device/assembly/timer{pixel_x = 8; pixel_y = 8},/obj/item/device/assembly/timer,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bZC" = (/obj/structure/dispenser,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bZD" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/toxins/mixing) -"bZE" = (/obj/machinery/atmospherics/portables_connector{layer = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bZF" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bZG" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 1; initialize_directions = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bZH" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor{tag = "icon-whitepurple (SOUTHWEST)"; icon_state = "whitepurple"; dir = 10},/area/toxins/mixing) -"bZI" = (/obj/machinery/portable_atmospherics/pump,/obj/machinery/light,/turf/simulated/floor{tag = "icon-whitepurple (SOUTHEAST)"; icon_state = "whitepurple"; dir = 6},/area/toxins/mixing) -"bZJ" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/toxins/mixing) -"bZK" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/toxins/mixing) -"bZL" = (/obj/machinery/mass_driver{dir = 4; id = "toxinsdriver"},/turf/simulated/floor/plating,/area/toxins/mixing) -"bZM" = (/turf/simulated/floor/plating,/area/toxins/mixing) -"bZN" = (/obj/machinery/door/poddoor{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/turf/simulated/floor/plating/airless,/area/toxins/mixing) -"bZO" = (/obj/machinery/door/poddoor{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/turf/simulated/floor/plating/airless,/area/toxins/test_area) -"bZP" = (/obj/item/device/radio/beacon,/turf/simulated/floor/airless{icon_state = "bot"},/area/toxins/test_area) -"bZQ" = (/obj/machinery/camera{c_tag = "Toxins Test Chamber East"; dir = 8; network = list("Toxins")},/obj/machinery/light{dir = 4},/turf/simulated/floor/airless,/area/toxins/test_area) -"bZR" = (/turf/simulated/shuttle/floor,/area/shuttle/mining/station) -"bZS" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) -"bZT" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area) -"bZU" = (/obj/item/weapon/ore/iron,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/quartermaster/miningdock) -"bZV" = (/obj/structure/closet/crate,/obj/machinery/light/small{dir = 4},/obj/item/weapon/ore/silver,/obj/item/weapon/ore/silver,/obj/machinery/atmospherics/unary/vent_pump/high_volume{frequency = 1379; id_tag = "mining_dock_pump"},/obj/machinery/airlock_sensor{id_tag = "mining_dock_sensor"; pixel_x = 28; pixel_y = 8},/obj/machinery/embedded_controller/radio/airlock/docking_port{id_tag = "mining_dock_airlock"; pixel_x = 25; pixel_y = -5; req_one_access_txt = "13;48"; tag_airpump = "mining_dock_pump"; tag_chamber_sensor = "mining_dock_sensor"; tag_exterior_door = "mining_dock_outer"; tag_interior_door = "mining_dock_inner"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/quartermaster/miningdock) -"bZW" = (/obj/machinery/computer/shuttle_control/mining,/turf/simulated/floor{dir = 9; icon_state = "brown"},/area/quartermaster/miningdock) -"bZX" = (/obj/effect/landmark/start{name = "Shaft Miner"},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/quartermaster/miningdock) -"bZY" = (/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/quartermaster/miningdock) -"bZZ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/quartermaster/miningdock) -"caa" = (/obj/structure/rack{dir = 1},/obj/item/weapon/modkit/tajaran,/obj/item/weapon/modkit/tajaran,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock) -"cab" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/recycler{eat_dir = 1; emagged = 0},/turf/simulated/floor/plating,/area/maintenance/disposal) -"cac" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "garbage"; name = "disposal coveyor"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/disposal) -"cad" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/wood,/area/ntrep) -"cae" = (/obj/structure/table,/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/device/flash,/obj/item/device/flash,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/ai_status_display{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech) -"caf" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor/plating,/area/storage/tech) -"cag" = (/obj/machinery/camera{c_tag = "Tech Storage"; dir = 2},/obj/machinery/power/apc{dir = 1; name = "Tech Storage APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/storage/tech) -"cah" = (/obj/structure/table,/obj/item/device/analyzer,/obj/item/device/healthanalyzer,/turf/simulated/floor/plating,/area/storage/tech) -"cai" = (/obj/structure/table,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech) -"caj" = (/turf/simulated/floor/plating,/area/storage/tech) -"cak" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"cal" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/aft) -"cam" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/aft) -"can" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area) -"cao" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/dispenser{pixel_x = -1},/turf/simulated/floor,/area/engine/break_room) -"cap" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/engine/break_room) -"caq" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/break_room) -"car" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/break_room) -"cas" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/camera{c_tag = "Atmospherics Monitoring"; dir = 8; network = list("SS13")},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/break_room) -"cat" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area) -"cau" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen{name = "Canister: \[O2] (CRYO)"},/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/sleeper) -"cav" = (/obj/machinery/bodyscanner,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/sleeper) -"caw" = (/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/obj/machinery/body_scanconsole,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/sleeper) -"cax" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 2; name = "Medbay APC"; pixel_y = -24},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/sleeper) -"cay" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Scanning Room"; req_access_txt = "5"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"caz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue (SOUTHWEST)"; icon_state = "whiteblue"; dir = 10},/area/medical/medbay2) -"caA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"caB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"caC" = (/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (EAST)"; icon_state = "comfychair_teal"; dir = 4},/obj/machinery/power/apc{dir = 2; name = "Medbay APC"; pixel_y = -24},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2) -"caD" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/media/receiver/boombox,/turf/simulated/floor{tag = "icon-whiteblue"; icon_state = "whiteblue"},/area/medical/medbay2) -"caE" = (/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (WEST)"; icon_state = "comfychair_teal"; dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"caF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"caG" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"caH" = (/obj/structure/stool/bed/chair/comfy/teal{tag = "icon-comfychair_teal (WEST)"; icon_state = "comfychair_teal"; dir = 8},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"caI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 6; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/medbay2) -"caJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor/wood,/area/medical/psych) -"caK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green,/turf/simulated/floor/wood,/area/medical/psych) -"caL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor/wood,/area/medical/psych) -"caM" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/item/weapon/storage/briefcase,/turf/simulated/floor/wood,/area/medical/psych) -"caN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area) -"caO" = (/obj/structure/extinguisher_cabinet,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/wall/r_wall,/area) -"caP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Secondary Storage"; req_access_txt = "39"},/turf/simulated/floor,/area/medical/biostorage) -"caQ" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area) -"caR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "medprivb"; name = "Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area) -"caS" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/medical{name = "Patient Iso B"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/iso_access) -"caT" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = -5; pixel_y = 36},/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/weapon/folder/white{pixel_y = 10},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/reagent_containers/food/drinks/coffee,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/tie/stethoscope,/obj/item/weapon/stamp/cmo,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/cmo) -"caU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall,/area) -"caV" = (/obj/machinery/light,/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci) -"caW" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci) -"caX" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci) -"caY" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci) -"caZ" = (/obj/machinery/disposal,/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci) -"cba" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/closet/radiation,/turf/simulated/floor,/area/toxins/telesci) -"cbb" = (/turf/simulated/floor{dir = 2; icon_state = "whiteblue"; tag = "icon-whitehall (WEST)"},/area/medical/iso_access{name = "\improper Patient Rooms"}) -"cbc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{dir = 8; icon_state = "whitegreencorner"},/area/medical/research{name = "Research Division"}) -"cbd" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"cbe" = (/obj/machinery/light,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 2; icon_state = "whitegreencorner"},/area/medical/research{name = "Research Division"}) -"cbf" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"cbg" = (/obj/item/device/assembly/prox_sensor{pixel_x = -5; pixel_y = -5},/obj/item/device/assembly/prox_sensor{pixel_x = -4; pixel_y = 4},/obj/item/device/assembly/prox_sensor{pixel_x = 5; pixel_y = 5},/obj/structure/table,/obj/item/device/assembly/prox_sensor,/obj/item/device/assembly/prox_sensor{pixel_x = -5; pixel_y = -5},/obj/item/device/assembly/prox_sensor,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cbh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cbi" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cbj" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cbk" = (/obj/machinery/atmospherics/pipe/tank/toxins{dir = 8; volume = 20000},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cbl" = (/turf/simulated/floor/airless{dir = 5; icon_state = "warning"},/area/toxins/test_area) -"cbm" = (/turf/simulated/floor/airless{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/toxins/test_area) -"cbn" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_shuttle_hatch"; locked = 1; name = "Mining Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/mining/station) -"cbo" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_dock_outer"; locked = 1; name = "Mining Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/quartermaster/miningdock) -"cbp" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/miningdock) -"cbq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/quartermaster/miningdock) -"cbr" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_dock_inner"; locked = 1; name = "Mining Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor,/area/quartermaster/miningdock) -"cbs" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_dock_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = 25; req_one_access_txt = "13;48"},/turf/simulated/floor{dir = 8; icon_state = "brown"},/area/quartermaster/miningdock) -"cbt" = (/obj/structure/rack{dir = 1},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor{tag = "icon-brown (EAST)"; icon_state = "brown"; dir = 4},/area/quartermaster/miningdock) -"cbu" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/light/small{dir = 8},/obj/structure/sign/vacuum{pixel_x = -32},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"; tag = "icon-warnplate (NORTH)"},/area/maintenance/disposal) -"cbv" = (/obj/machinery/door_control{id = "Disposal Exit"; name = "Disposal Vent Control"; pixel_x = -25; pixel_y = 4; req_access_txt = "12"},/obj/machinery/driver_button{id = "trash"; pixel_x = -26; pixel_y = -6},/turf/simulated/floor/plating,/area/maintenance/disposal) -"cbw" = (/obj/machinery/atmospherics/pipe/vent{dir = 2},/turf/simulated/floor/plating/airless,/area) -"cbx" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area) -"cby" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area) -"cbz" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area) -"cbA" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area) -"cbB" = (/obj/structure/table,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plating,/area/storage/tech) -"cbC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/storage/tech) -"cbD" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plating,/area/storage/tech) -"cbE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/storage/tech) -"cbF" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/storage/tech) -"cbG" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"cbH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft) -"cbI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft) -"cbJ" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/window/northleft{dir = 4; icon_state = "left"; name = "Engineering Desk"; req_access_txt = "32"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/engine/break_room) -"cbK" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/engine/break_room) -"cbL" = (/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/engine/break_room) -"cbM" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/t_scanner,/turf/simulated/floor,/area/engine/break_room) -"cbN" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engine/break_room) -"cbO" = (/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/obj/machinery/requests_console{department = "Atmospherics"; departmentType = 4; name = "Atmos RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/break_room) -"cbP" = (/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) -"cbQ" = (/turf/simulated/floor{icon_state = "vault"; dir = 1},/area/engine/break_room) -"cbR" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engine/break_room) -"cbS" = (/turf/simulated/floor{icon_state = "vault"; dir = 4},/area/engine/break_room) -"cbT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) -"cbU" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Recovery Ward"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cbV" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Recovery Ward"; req_access_txt = "0"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cbW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/status_display,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area) -"cbX" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Blueshield"; departmentType = 5; name = "Blueshield Requests Console"; pixel_x = 30},/turf/simulated/floor/wood,/area/blueshield) -"cbY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area) -"cbZ" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/medical/psych) -"cca" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/medical/psych) -"ccb" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/medical/psych) -"ccc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/medical/psych) -"ccd" = (/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/biostorage) -"cce" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/biostorage) -"ccf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/biostorage) -"ccg" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{dir = 9; icon_state = "whitered"},/area/medical/patient_b) -"cch" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "whitered"},/area/medical/patient_b) -"cci" = (/obj/structure/closet/secure_closet/personal/patient,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Medbay APC"; pixel_x = 25},/turf/simulated/floor{dir = 5; icon_state = "whitered"},/area/medical/patient_b) -"ccj" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cck" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"ccl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/obj/machinery/door/airlock/maintenance{name = "Misc Research Maintenance"; req_access_txt = "7"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/toxins/telesci) -"ccm" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area) -"ccn" = (/obj/structure/rack{dir = 1},/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cco" = (/obj/structure/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/clothing/head/hardhat/red,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"ccp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"ccq" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"ccr" = (/obj/machinery/door/airlock/research{name = "Xenobiology Access"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) -"ccs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"cct" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"ccu" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"ccv" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"ccw" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 2; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"ccx" = (/obj/machinery/atmospherics/trinary/mixer{density = 0; dir = 8; req_access = null; target_pressure = 1.5e+007},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"ccy" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/machinery/atmospherics/pipe/simple{dir = 1; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"ccz" = (/obj/machinery/atmospherics/pipe/tank/oxygen{dir = 8; volume = 20000},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"ccA" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area) -"ccB" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "mining_dock_pump"},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/quartermaster/miningdock) -"ccC" = (/obj/machinery/camera{c_tag = "Mining Dock External"; dir = 8},/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/quartermaster/miningdock) -"ccD" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/quartermaster/miningdock) -"ccE" = (/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/miningdock) -"ccF" = (/obj/structure/closet/secure_closet/miner,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/quartermaster/miningdock) -"ccG" = (/obj/structure/rack{dir = 1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/turf/simulated/floor{tag = "icon-brown (SOUTHEAST)"; icon_state = "brown"; dir = 6},/area/quartermaster/miningdock) -"ccH" = (/obj/machinery/programmable/unary/stacker,/turf/simulated/floor/plating,/area/maintenance/disposal) -"ccI" = (/obj/item/weapon/stool,/turf/simulated/floor/plating,/area/maintenance/disposal) -"ccJ" = (/obj/machinery/atmospherics/pipe/simple/insulated{dir = 5},/turf/simulated/floor/plating/airless,/area) -"ccK" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/turf/simulated/floor/plating/airless,/area) -"ccL" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area) -"ccM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/incinerator) -"ccN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/insulated{dir = 10},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/incinerator) -"ccO" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating,/area/maintenance/incinerator) -"ccP" = (/obj/machinery/atmospherics/pipe/tank/toxins{volume = 3200},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"ccQ" = (/obj/machinery/atmospherics/pipe/tank/oxygen{volume = 3200},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"ccR" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"ccS" = (/obj/structure/rack{dir = 1},/obj/item/device/flashlight,/turf/simulated/floor/plating,/area/maintenance/aft) -"ccT" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area) -"ccU" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/borgupload{pixel_x = -1; pixel_y = 1},/obj/item/weapon/circuitboard/aiupload{pixel_x = 2; pixel_y = -2},/turf/simulated/floor,/area/storage/tech) -"ccV" = (/obj/machinery/camera{c_tag = "Secure Tech Storage"; dir = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/storage/tech) -"ccW" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall/r_wall,/area) -"ccX" = (/obj/structure/table,/obj/item/device/aicard,/obj/item/weapon/aiModule/reset,/turf/simulated/floor/plating,/area/storage/tech) -"ccY" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/pandemic{pixel_x = -3; pixel_y = 3},/obj/item/weapon/circuitboard/rdconsole,/obj/item/weapon/circuitboard/rdserver{pixel_x = 3; pixel_y = -3},/obj/item/weapon/circuitboard/destructive_analyzer,/obj/item/weapon/circuitboard/protolathe,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/storage/tech) -"ccZ" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/autolathe{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) -"cda" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/arcade,/obj/item/weapon/circuitboard/message_monitor{pixel_y = -5},/turf/simulated/floor/plating,/area/storage/tech) -"cdb" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor/plating,/area/storage/tech) -"cdc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"cdd" = (/obj/machinery/computer/guestpass,/obj/structure/table,/turf/simulated/floor,/area/engine/break_room) -"cde" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/engine/break_room) -"cdf" = (/obj/structure/table/reinforced,/obj/item/weapon/tank/emergency_oxygen{pixel_x = -8; pixel_y = 0},/obj/item/clothing/mask/breath{pixel_x = 4; pixel_y = 0},/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/engine/break_room) -"cdg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cdh" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) -"cdi" = (/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engine/break_room) -"cdj" = (/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) -"cdk" = (/obj/machinery/light_switch{pixel_x = 0; pixel_y = 23},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cdl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cdm" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cdn" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cdo" = (/obj/machinery/power/apc{dir = 1; name = "Recovery Ward APC"; pixel_y = 26},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/camera{c_tag = "Medbay Lounge"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cdp" = (/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cdq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cdr" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cds" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cdt" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cdu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cdv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/computer/med_data,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cdw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2) -"cdx" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/carpet,/area/medical/psych) -"cdy" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/carpet,/area/medical/psych) -"cdz" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/carpet,/area/medical/psych) -"cdA" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/rack,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/biostorage) -"cdB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/medical/biostorage) -"cdC" = (/obj/structure/table,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/camera{c_tag = "Medbay Storage Two"; dir = 8; network = list("SS13")},/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/biostorage) -"cdD" = (/obj/item/device/radio/intercom{dir = 0; name = "Station Intercom (General)"; pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/patient_b) -"cdE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/patient_b) -"cdF" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/camera{c_tag = "Medbay Patient B"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/patient_b) -"cdG" = (/obj/structure/closet,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cdH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cdI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cdJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cdK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cdL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cdM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cdN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cdO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cdP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cdQ" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cdR" = (/obj/machinery/power/apc{dir = 8; name = "Toxins Research APC"; pixel_x = -25},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cdS" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cdT" = (/obj/structure/window/reinforced,/obj/structure/table,/obj/item/device/assembly/signaler{pixel_x = 8; pixel_y = 8},/obj/item/device/assembly/signaler{pixel_x = 5; pixel_y = -5},/obj/item/device/assembly/signaler{pixel_x = 3; pixel_y = 4},/obj/item/device/assembly/signaler,/obj/item/device/assembly/signaler{pixel_x = 4; pixel_y = -2},/obj/item/device/assembly/signaler{pixel_x = 4; pixel_y = -2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cdU" = (/obj/structure/window/reinforced,/obj/structure/table,/obj/item/device/assembly/voice,/obj/item/device/assembly/voice,/obj/item/device/assembly/voice,/obj/item/device/assembly/voice,/obj/item/device/assembly/voice,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cdV" = (/obj/structure/window/reinforced,/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cdW" = (/obj/structure/sign/securearea{pixel_x = 0; pixel_y = 32},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cdX" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cdY" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cdZ" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing) -"cea" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 4},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing) -"ceb" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing) -"cec" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; icon_state = "manifold"; initialize_directions = 11; level = 2},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing) -"ced" = (/obj/machinery/atmospherics/pipe/manifold4w{icon_state = "manifold4w"; level = 2},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing) -"cee" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 8},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing) -"cef" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing) -"ceg" = (/obj/structure/closet/crate,/turf/simulated/shuttle/floor,/area/shuttle/mining/station) -"ceh" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/shuttle/mining/station) -"cei" = (/obj/structure/ore_box,/turf/simulated/shuttle/floor,/area/shuttle/mining/station) -"cej" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/door/poddoor{density = 1; icon_state = "pdoor1"; id = "Disposal Exit"; name = "Disposal Exit Vent"; opacity = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) -"cek" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 4},/obj/structure/window/basic,/obj/structure/window/basic{dir = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) -"cel" = (/obj/machinery/camera{c_tag = "Disposals"; dir = 1},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/maintenance/disposal) -"cem" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plating,/area/maintenance/disposal) -"cen" = (/obj/structure/sign/nosmoking_2{pixel_x = -28},/turf/simulated/floor/plating,/area/maintenance/incinerator) -"ceo" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_on"; name = "Gas Pump"; on = 1},/turf/simulated/floor/plating,/area/maintenance/incinerator) -"cep" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"ceq" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"cer" = (/obj/machinery/power/apc{dir = 4; name = "Incinerator APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"ces" = (/obj/structure/rack{dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/aft) -"cet" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/crew{pixel_x = -1; pixel_y = 1},/obj/item/weapon/circuitboard/card{pixel_x = 2; pixel_y = -2},/obj/item/weapon/circuitboard/communications{pixel_x = 5; pixel_y = -5},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/storage/tech) -"ceu" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/storage/tech) -"cev" = (/obj/machinery/door/airlock/highsecurity{name = "Secure Tech Storage"; req_access_txt = "19;23"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/storage/tech) -"cew" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/storage/tech) -"cex" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plating,/area/storage/tech) -"cey" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/storage/tech) -"cez" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/storage/tech) -"ceA" = (/obj/machinery/door/airlock/engineering{name = "Tech Storage"; req_access_txt = "23"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/storage/tech) -"ceB" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"ceC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft) -"ceD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) -"ceE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/turf/simulated/floor,/area/engine/break_room) -"ceF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/engine/break_room) -"ceG" = (/obj/machinery/computer/general_air_control{frequency = 1443; level = 3; name = "Distribution and Waste Monitor"; sensors = list("mair_in_meter" = "Mixed Air In", "air_sensor" = "Mixed Air Supply Tank", "mair_out_meter" = "Mixed Air Out", "dloop_atm_meter" = "Distribution Loop", "wloop_atm_meter" = "Waste Loop")},/turf/simulated/floor,/area/engine/break_room) -"ceH" = (/obj/machinery/computer/atmos_alert,/turf/simulated/floor{dir = 6; icon_state = "caution"},/area/engine/break_room) -"ceI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"ceJ" = (/obj/machinery/gravity_generator/main/station,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/engine/break_room) -"ceK" = (/obj/machinery/camera{c_tag = "Gravity Generator Room"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) -"ceL" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"ceM" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"ceN" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"ceO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"ceP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"ceQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"ceR" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"ceS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"ceT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"ceU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"ceV" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"ceW" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/medical,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"ceX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2) -"ceY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/carpet,/area/medical/psych) -"ceZ" = (/obj/effect/landmark/start{name = "Psychiatrist"},/turf/simulated/floor/carpet,/area/medical/psych) -"cfa" = (/turf/simulated/floor/carpet,/area/medical/psych) -"cfb" = (/obj/machinery/camera{c_tag = "Medbay Psych Office"; dir = 8; network = list("SS13")},/obj/structure/stool/bed/chair/comfy/beige,/turf/simulated/floor/carpet,/area/medical/psych) -"cfc" = (/obj/structure/rack,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/biostorage) -"cfd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/medical/biostorage) -"cfe" = (/obj/structure/table,/obj/item/weapon/gun/syringe,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/device/antibody_scanner,/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/biostorage) -"cff" = (/obj/machinery/iv_drip,/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/medical/patient_b) -"cfg" = (/obj/machinery/light,/turf/simulated/floor{dir = 3; icon_state = "whitered"},/area/medical/patient_b) -"cfh" = (/obj/machinery/door_control{id = "medprivb"; name = "Privacy Shutters"; pixel_y = -25},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{dir = 6; icon_state = "whitered"},/area/medical/patient_b) -"cfi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cfj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cfk" = (/obj/structure/rack,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/sunglasses,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cfl" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cfm" = (/obj/item/device/flashlight,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cfn" = (/obj/structure/rack{dir = 1},/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cfo" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"cfp" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"cfq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2; name = "hazard door south"},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/toxins/xenobiology) -"cfr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2; name = "hazard door south"},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/toxins/xenobiology) -"cfs" = (/obj/machinery/door/firedoor/border_only{dir = 2; name = "hazard door south"},/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/toxins/xenobiology) -"cft" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"cfu" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"cfv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"cfw" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cfx" = (/obj/machinery/atmospherics/pipe/simple{dir = 1; icon_state = "intact"; level = 2},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cfy" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cfz" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; icon_state = "manifold"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cfA" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/obj/machinery/camera{c_tag = "Toxins Mixing Room South"; dir = 8; network = list("RD"); pixel_y = -22},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cfB" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/shuttle/mining/station) -"cfC" = (/obj/structure/shuttle/engine/propulsion/burst,/turf/space,/area/shuttle/mining/station) -"cfD" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/shuttle/mining/station) -"cfE" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_dock_airlock"; name = "exterior access button"; pixel_x = -5; pixel_y = 25; req_one_access_txt = "13;48"},/turf/space,/area) -"cfF" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/maintenance/disposal) -"cfG" = (/obj/machinery/door/poddoor{id = "disvent"; name = "Incinerator Vent"},/turf/simulated/floor/engine/vacuum,/area) -"cfH" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1443; icon_state = "on"; id = "air_in"; on = 1},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator) -"cfI" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/wall/r_wall,/area) -"cfJ" = (/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_on"; on = 1},/obj/machinery/light/small{dir = 1},/obj/machinery/access_button{command = "cycle_exterior"; layer = 3.1; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = -22; pixel_y = -10},/obj/structure/sign/fire{pixel_y = 32},/turf/simulated/floor/plating,/area/maintenance/incinerator) -"cfK" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area) -"cfL" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "incinerator_airlock_exterior"; id_tag = "incinerator_access_control"; tag_interior_door = "incinerator_airlock_interior"; name = "Incinerator Access Console"; pixel_x = -26; pixel_y = 6; req_access_txt = "12"},/obj/machinery/ignition_switch{id = "Incinerator"; pixel_x = -24; pixel_y = -6},/obj/machinery/meter,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"cfM" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/machinery/atmospherics/pipe/simple/insulated,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"cfN" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"cfO" = (/obj/machinery/atmospherics/pipe/manifold{icon_state = "manifold"; level = 2},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"cfP" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"cfQ" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/robotics{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/mecha_control{pixel_x = 1; pixel_y = -1},/turf/simulated/floor,/area/storage/tech) -"cfR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/storage/tech) -"cfS" = (/obj/structure/table,/obj/item/weapon/screwdriver{pixel_y = 16},/obj/item/weapon/wirecutters,/turf/simulated/floor/plating,/area/storage/tech) -"cfT" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/cloning{pixel_x = 0},/obj/item/weapon/circuitboard/med_data{pixel_x = 3; pixel_y = -3},/obj/item/weapon/circuitboard/clonescanner,/obj/item/weapon/circuitboard/clonepod,/obj/item/weapon/circuitboard/scan_consolenew,/turf/simulated/floor/plating,/area/storage/tech) -"cfU" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/secure_data{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/security{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/plating,/area/storage/tech) -"cfV" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/powermonitor{pixel_x = -2; pixel_y = 2},/obj/item/weapon/circuitboard/stationalert{pixel_x = 1; pixel_y = -1},/obj/item/weapon/circuitboard/atmos_alert{pixel_x = 3; pixel_y = -3},/turf/simulated/floor/plating,/area/storage/tech) -"cfW" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor/plating,/area/storage/tech) -"cfX" = (/obj/structure/closet/emcloset,/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/hallway/secondary/construction{name = "\improper Engineering Training"}) -"cfY" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/break_room) -"cfZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cga" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cgb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cgc" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area) -"cgd" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) -"cge" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) -"cgf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) -"cgg" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cgh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cgi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cgj" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cgk" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cgl" = (/obj/structure/stool/bed/chair/comfy/black,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cgm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/ward) -"cgn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2) -"cgo" = (/obj/structure/stool/psychbed,/turf/simulated/floor/carpet,/area/medical/psych) -"cgp" = (/obj/structure/stool/bed/chair/comfy/lime{tag = "icon-comfychair_lime (NORTH)"; icon_state = "comfychair_lime"; dir = 1},/turf/simulated/floor/carpet,/area/medical/psych) -"cgq" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/carpet,/area/medical/psych) -"cgr" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp/green,/turf/simulated/floor/carpet,/area/medical/psych) -"cgs" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/biostorage) -"cgt" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/medical/biostorage) -"cgu" = (/obj/machinery/power/apc{dir = 4; name = "Medbay Storage APC"; pixel_x = 25},/obj/structure/cable,/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/biostorage) -"cgv" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cgw" = (/obj/structure/sign/biohazard,/turf/simulated/wall,/area) -"cgx" = (/obj/machinery/door/airlock/research{name = "Xenobiology Access"; req_access_txt = "55"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cgy" = (/obj/machinery/door/airlock/engineering{name = "Aft Starboard Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/solar/starboard) -"cgz" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; icon_state = "manifold"; initialize_directions = 11; level = 2},/obj/machinery/meter,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cgA" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cgB" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cgC" = (/obj/machinery/atmospherics/pipe/manifold4w{icon_state = "manifold4w"; level = 2},/obj/machinery/meter,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cgD" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 1; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"cgE" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area) -"cgF" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plating/airless,/area/toxins/mixing) -"cgG" = (/obj/machinery/mass_driver{dir = 8; id = "trash"},/turf/simulated/floor/plating/airless,/area/maintenance/disposal) -"cgH" = (/obj/machinery/igniter{icon_state = "igniter0"; id = "Incinerator"; on = 0},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator) -"cgI" = (/obj/machinery/door/airlock/glass{autoclose = 0; frequency = 1449; heat_proof = 1; icon_state = "door_locked"; id_tag = "incinerator_airlock_exterior"; locked = 1; name = "Mixing Room Exterior Airlock"; req_access_txt = "12"},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator) -"cgJ" = (/turf/simulated/floor/plating,/area/maintenance/incinerator) -"cgK" = (/obj/machinery/door/airlock/glass{autoclose = 0; frequency = 1449; heat_proof = 1; icon_state = "door_locked"; id_tag = "incinerator_airlock_interior"; locked = 1; name = "Mixing Room Interior Airlock"; req_access_txt = "12"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/incinerator) -"cgL" = (/obj/machinery/atmospherics/pipe/simple/insulated,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"cgM" = (/mob/living/simple_animal/mouse,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"cgN" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"cgO" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/maintenance{name = "Incinerator Access"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/incinerator) -"cgP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"cgQ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"cgR" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area) -"cgS" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/grille,/obj/structure/cable,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area) -"cgT" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = -3; pixel_y = 3},/obj/item/stack/cable_coil,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech) -"cgU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plating,/area/storage/tech) -"cgV" = (/obj/machinery/requests_console{department = "Tech storage"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/storage/tech) -"cgW" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/storage/tech) -"cgX" = (/obj/machinery/power/apc{name = "Aft Hall APC"; dir = 8; pixel_x = -25; pixel_y = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"cgY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) -"cgZ" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cha" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 6; icon_state = "caution"},/area/hallway/secondary/construction{name = "\improper Engineering Training"}) -"chb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor,/area/engine/break_room) -"chc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/table,/turf/simulated/floor,/area/engine/break_room) -"chd" = (/obj/structure/table,/obj/item/apc_frame,/turf/simulated/floor,/area/engine/break_room) -"che" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/machinery/door_control{id = "engitrain"; name = "Engineering Training"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "24"; specialfunctions = 4},/turf/simulated/floor,/area/engine/break_room) -"chf" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "Secure Gate"; name = "security blast door"},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = -32; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area) -"chg" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "Secure Gate"; name = "security blast door"},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area) -"chh" = (/obj/machinery/door/airlock/glass_command{name = "Gravity Generator Area"; req_access_txt = "19; 61"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/engine/break_room) -"chi" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "Secure Gate"; name = "security blast door"},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area) -"chj" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/machinery/door/poddoor/preopen{id = "Secure Gate"; name = "security blast door"},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) -"chk" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access_txt = "45"},/obj/machinery/holosign/surgery,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"chl" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "surgeryobs1"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"chm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "surgeryobs1"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"chn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "surgeryobs1"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"cho" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "surgeryobs2"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"chp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "surgeryobs2"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"chq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "surgeryobs2"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"chr" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access_txt = "45"},/obj/machinery/holosign/surgery,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"chs" = (/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/biostorage) -"cht" = (/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/biostorage) -"chu" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/biostorage) -"chv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"chw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"chx" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard"; name = "Biohazard Shutter"; opacity = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"chy" = (/obj/machinery/power/apc{dir = 8; name = "Aft Starboard Solar APC"; pixel_x = -26; pixel_y = 3},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/solar/starboard) -"chz" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/solar/starboard) -"chA" = (/obj/machinery/power/smes{charge = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/solar/starboard) -"chB" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 4},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"chC" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; icon_state = "manifold"; initialize_directions = 11; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"chD" = (/obj/machinery/atmospherics/binary/pump/highcap,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"chE" = (/obj/machinery/door_control{id = "ToxinsVenting"; name = "Toxin Venting Control"; pixel_x = 8; pixel_y = -26},/obj/machinery/ignition_switch{id = "ToxinsIgnitor"; pixel_x = -6; pixel_y = -25},/obj/machinery/computer/general_air_control{frequency = 1222; name = "Bomb Mix Monitor"; sensors = list("burn_sensor" = "Burn Mix")},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"chF" = (/obj/machinery/atmospherics/binary/pump/highcap{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"chG" = (/obj/machinery/atmospherics/pipe/simple{dir = 1; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"chH" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk6"; icon_state = "catwalk6"},/area) -"chI" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area) -"chJ" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk8"; icon_state = "catwalk8"},/area) -"chK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{name = "Toxins Test Chamber"; req_access_txt = "0"},/turf/simulated/floor/plating/airless,/area/toxins/test_area) -"chL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/toxins/test_area) -"chM" = (/obj/machinery/power/apc{dir = 4; name = "Explosives Testing APC"; pixel_x = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/toxins/test_area) -"chN" = (/obj/machinery/camera{c_tag = "Toxins Test Chamber South"; dir = 1; network = list("Toxins")},/obj/machinery/light,/turf/simulated/floor/airless,/area/toxins/test_area) -"chO" = (/turf/space,/area/vox_station/northwest_solars) -"chP" = (/obj/structure/window/reinforced{dir = 1},/turf/space,/area) -"chQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; icon_state = "in"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine/vacuum,/area/maintenance/incinerator) -"chR" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area) -"chS" = (/obj/machinery/atmospherics/binary/pump{dir = 4; icon_state = "intact_on"; on = 1},/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/access_button{command = "cycle_interior"; master_tag = "incinerator_access_control"; name = "Incinerator airlock control"; pixel_x = 24; pixel_y = 8},/turf/simulated/floor/plating,/area/maintenance/incinerator) -"chT" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area) -"chU" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/obj/machinery/door_control{id = "disvent"; name = "Incinerator Vent Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "12"},/obj/machinery/meter,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"chV" = (/obj/machinery/light,/obj/machinery/atmospherics/tvalve/mirrored/digital{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"chW" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"chX" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"chY" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"chZ" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/incinerator) -"cia" = (/obj/machinery/power/apc{dir = 4; name = "Engineering Maintenance APC"; pixel_x = 27; pixel_y = 2},/obj/structure/disposalpipe/segment,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/aft) -"cib" = (/obj/structure/table,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/device/multitool,/obj/machinery/status_display{layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech) -"cic" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/storage/tech) -"cid" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/yellow,/obj/item/device/t_scanner,/obj/item/clothing/glasses/meson,/obj/item/device/multitool,/turf/simulated/floor/plating,/area/storage/tech) -"cie" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/device/multitool,/obj/item/clothing/glasses/meson,/turf/simulated/floor/plating,/area/storage/tech) -"cif" = (/turf/simulated/wall,/area/storage/tech) -"cig" = (/obj/machinery/vending/assist,/turf/simulated/floor/plating,/area/storage/tech) -"cih" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"cii" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/pump,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{icon_state = "arrival"; dir = 8},/area/hallway/primary/aft) -"cij" = (/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; dir = 1; icon_state = "manifold-c"; level = 2},/obj/machinery/meter,/turf/simulated/wall/r_wall,/area) -"cik" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cil" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cim" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/atmos{name = "Gravity Generator"; req_access_txt = "24"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/engine/break_room) -"cin" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 10; icon_state = "intact-b-f"; initialize_directions = 10; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cio" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/engine/break_room) -"cip" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/engine/break_room) -"ciq" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/masks,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"},/obj/machinery/light_switch{pixel_x = -5; pixel_y = 27},/obj/machinery/holosign_switch{pixel_x = 5; pixel_y = 27},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cir" = (/obj/structure/table,/obj/item/weapon/reagent_containers/blood/AMinus,/obj/item/weapon/reagent_containers/blood/APlus,/obj/item/weapon/reagent_containers/blood/BMinus,/obj/item/weapon/reagent_containers/blood/BPlus,/obj/item/weapon/reagent_containers/blood/OPlus,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/alarm{pixel_y = 23},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/machinery/camera{c_tag = "Medbay Lounge"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cis" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cit" = (/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"ciu" = (/obj/machinery/bodyscanner,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"civ" = (/obj/machinery/body_scanconsole,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"ciw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cix" = (/obj/structure/table,/obj/item/weapon/reagent_containers/blood/AMinus,/obj/item/weapon/reagent_containers/blood/APlus,/obj/item/weapon/reagent_containers/blood/BMinus,/obj/item/weapon/reagent_containers/blood/BPlus,/obj/item/weapon/reagent_containers/blood/OPlus,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/alarm{pixel_y = 23},/obj/item/weapon/reagent_containers/blood/OMinus,/obj/machinery/camera{c_tag = "Medbay Lounge"; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"ciy" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/masks,/obj/item/weapon/reagent_containers/spray/cleaner{desc = "Someone has crossed out the Space from Space Cleaner and written in Surgery. 'Do not remove under punishment of death!!!' is scrawled on the back."; name = "Surgery Cleaner"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light_switch{pixel_x = 5; pixel_y = 27},/obj/machinery/holosign_switch{pixel_x = -5; pixel_y = 27},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"ciz" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/light,/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2) -"ciA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2) -"ciB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera/xray{c_tag = "Virology Enterance"; network = list("SS13")},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2) -"ciC" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/light{dir = 4},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2) -"ciD" = (/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area) -"ciE" = (/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"ciF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"ciG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"ciH" = (/obj/structure/stool,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/camera{c_tag = "Aft Starboard Solar Control"; dir = 4; network = list("SS13")},/turf/simulated/floor/plating,/area/solar/starboard) -"ciI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/solar/starboard) -"ciJ" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/solar/starboard) -"ciK" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/insulated,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"ciL" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/insulated,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"ciM" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/insulated,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"ciN" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area) -"ciO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"ciP" = (/obj/item/clothing/mask/cigarette,/turf/simulated/floor/plating/airless,/area/toxins/test_area) -"ciQ" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless,/area/toxins/test_area) -"ciR" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet{dir = 8},/turf/simulated/floor/plating/airless,/area) -"ciS" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area) -"ciT" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/aft) -"ciU" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/aft) -"ciV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) -"ciW" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/pump,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "arrival"; dir = 8},/area/hallway/primary/aft) -"ciX" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 9; icon_state = "intact-c"; level = 2},/turf/simulated/wall/r_wall,/area) -"ciY" = (/obj/machinery/camera{c_tag = "Atmospherics Access"; dir = 4; network = list("SS13")},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room) -"ciZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room) -"cja" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/drone_fabricator,/turf/simulated/floor,/area/engine/break_room) -"cjb" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room) -"cjc" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/computer/drone_control,/turf/simulated/floor,/area/engine/break_room) -"cjd" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area) -"cje" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical{pixel_y = 5},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/engine/break_room) -"cjf" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 10; icon_state = "intact-r-f"; initialize_directions = 10; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cjg" = (/obj/structure/table,/obj/item/device/multitool,/turf/simulated/floor,/area/engine/break_room) -"cjh" = (/obj/structure/table,/obj/item/weapon/wirecutters,/turf/simulated/floor,/area/engine/break_room) -"cji" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/break_room) -"cjj" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cjk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cjl" = (/obj/machinery/door_control{id = "surgeryobs1"; name = "Privacy Shutters"; pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cjm" = (/obj/machinery/door_control{id = "surgeryobs2"; name = "Privacy Shutters"; pixel_x = -25; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cjn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cjo" = (/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2) -"cjp" = (/obj/machinery/seed_extractor,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cjq" = (/obj/machinery/vending/hydroseeds,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cjr" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cjs" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cjt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cju" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cjv" = (/obj/machinery/power/solar_control{id = "starboardsolar"; name = "Aft Starboard Solar Control"; track = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/solar/starboard) -"cjw" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "10;13"},/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/solar/starboard) -"cjx" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/solar/starboard) -"cjy" = (/obj/machinery/atmospherics/pipe/simple/insulated,/turf/space,/area/toxins/mixing) -"cjz" = (/turf/space,/area/toxins/mixing) -"cjA" = (/obj/machinery/vending/snack,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/hallway/secondary/entry) -"cjB" = (/obj/structure/spacepoddoor,/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"cjC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"cjD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"cjE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"cjF" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "mechpod"; name = "Mech Bay Inner Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"cjG" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"cjH" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/stack/sheet/plasteel{amount = 10},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"cjI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/power/apc{dir = 1; name = "Mechanic Workshop APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/item/weapon/circuitboard/mecha/pod,/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"cjJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/pod_parts/core,/obj/machinery/camera{c_tag = "Mechanics Shop APC"; dir = 2},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"cjK" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"cjL" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/structure/table/reinforced,/obj/machinery/door/window/westright{name = "Reception Door"; req_access = null; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"cjM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft) -"cjN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cjO" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cjP" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cjQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cjR" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cjS" = (/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cjT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cjU" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cjV" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/camera{c_tag = "Mechanic Corridor"; dir = 2},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cjW" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cjX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cjY" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) -"cjZ" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/primary/aft) -"cka" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r"; level = 2},/obj/machinery/meter,/turf/simulated/wall/r_wall,/area) -"ckb" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"ckc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area) -"ckd" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area) -"cke" = (/obj/machinery/iv_drip,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"ckf" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"ckg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"ckh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cki" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"ckj" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"ckk" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"ckl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"ckm" = (/obj/machinery/iv_drip,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"ckn" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cko" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"ckp" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -24; pixel_y = 0; req_access_txt = "55"},/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_exterior"; locked = 1; name = "Xenobiology External Airlock"; req_access_txt = "55"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"ckq" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area) -"ckr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/solar/starboard) -"cks" = (/turf/simulated/wall/r_wall,/area/toxins/mixing) -"ckt" = (/obj/machinery/atmospherics/pipe/simple/insulated,/turf/simulated/wall/r_wall,/area/toxins/mixing) -"cku" = (/obj/machinery/atmospherics/pipe/simple/insulated,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/toxins/mixing) -"ckv" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/toxins/mixing) -"ckw" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk9"; icon_state = "catwalk9"},/area) -"ckx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"cky" = (/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"ckz" = (/obj/machinery/atmospherics/unary/vent_pump{on = 0},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"ckA" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "mechpod"; name = "Mech Bay Inner Door"; opacity = 0},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"ckB" = (/obj/effect/landmark/start{name = "Mechanic"},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"ckC" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass_engineering{name = "Mechanic Workshop"; req_access_txt = "0"; req_one_access_txt = "70"},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"ckD" = (/turf/simulated/floor,/area/hallway/primary/aft) -"ckE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"ckF" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/aft) -"ckG" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor,/area/hallway/primary/aft) -"ckH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) -"ckI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) -"ckJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) -"ckK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) -"ckL" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/camera{c_tag = "Aft Primary Hallway 1"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/primary/aft) -"ckM" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r"; level = 2},/obj/structure/sign/securearea,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area) -"ckN" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/engine/break_room) -"ckO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/recharge_station,/turf/simulated/floor,/area/engine/break_room) -"ckP" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engine/break_room) -"ckQ" = (/obj/machinery/computer/arcade,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engine/break_room) -"ckR" = (/obj/structure/table,/obj/machinery/media/receiver/boombox,/turf/simulated/floor,/area/engine/break_room) -"ckS" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/table,/turf/simulated/floor,/area/engine/break_room) -"ckT" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area) -"ckU" = (/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("n2_sensor" = "Nitrogen", "o2_sensor" = "Oxygen", "co2_sensor" = "Carbon Dioxide", "tox_sensor" = "Toxins", "n2o_sensor" = "Nitrous Oxide", "waste_sensor" = "Gas Mix Tank")},/turf/simulated/floor,/area/atmos) -"ckV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table,/obj/item/device/t_scanner,/obj/item/weapon/book/manual/atmospipes,/turf/simulated/floor,/area/atmos) -"ckW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/machinery/computer/general_air_control{frequency = 1443; level = 3; name = "Distribution and Waste Monitor"; sensors = list("mair_in_meter" = "Mixed Air In", "air_sensor" = "Mixed Air Supply Tank", "mair_out_meter" = "Mixed Air Out", "dloop_atm_meter" = "Distribution Loop", "wloop_atm_meter" = "Waste Loop")},/turf/simulated/floor,/area/atmos) -"ckX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b"; level = 2; tag = "icon-manifold-b (NORTH)"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"ckY" = (/obj/structure/closet/crate/freezer,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"ckZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cla" = (/obj/machinery/computer/operating,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"clb" = (/obj/machinery/optable,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"clc" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/weapon/FixOVein,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cld" = (/obj/machinery/computer/operating,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cle" = (/obj/structure/closet/crate/freezer,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/obj/item/weapon/reagent_containers/blood/empty,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"clf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"clg" = (/obj/structure/sign/biohazard,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area) -"clh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2) -"cli" = (/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = -11; pixel_y = -22},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2) -"clj" = (/obj/machinery/smartfridge,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"clk" = (/obj/machinery/portable_atmospherics/hydroponics{closed_system = 1; name = "isolation tray"},/obj/machinery/atmospherics/portables_connector{layer = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cll" = (/obj/machinery/light{dir = 1; on = 1},/obj/machinery/atmospherics/portables_connector{layer = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"clm" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/table,/obj/item/weapon/storage/box/botanydisk,/obj/machinery/light_switch{pixel_x = -6; pixel_y = 26},/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cln" = (/obj/machinery/door/airlock/research{name = "Xenobiology Flora Access"; req_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"clo" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"clp" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"clq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"clr" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cls" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/xenobiology) -"clt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"clu" = (/obj/structure/closet/emcloset,/obj/machinery/camera/xray{c_tag = "Xenobiology Access"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/toxins/xenobiology) -"clv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "solar_xeno_pump"; tag_exterior_door = "solar_xeno_outer"; frequency = 1379; id_tag = "solar_xeno_airlock"; tag_interior_door = "solar_xeno_inner"; pixel_x = 25; req_access_txt = "13"; tag_chamber_sensor = "solar_xeno_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_xeno_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "solar_xeno_pump"},/turf/simulated/floor/plating,/area/solar/starboard) -"clw" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/simulated/floor/engine,/area/toxins/mixing) -"clx" = (/obj/machinery/atmospherics/pipe/simple/insulated,/turf/simulated/floor/engine,/area/toxins/mixing) -"cly" = (/obj/machinery/igniter{icon_state = "igniter0"; id = "ToxinsIgnitor"; on = 0},/turf/simulated/floor/engine,/area/toxins/mixing) -"clz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"clA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"clB" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "mechpod"; name = "Mech Bay Inner Door"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"clC" = (/obj/machinery/door_control{id = "mechpod"; name = "Mech Bay Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"clD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/stack/rods{amount = 50},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"clE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/item/stack/sheet/glass{amount = 50},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"clF" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/item/stack/sheet/metal{amount = 50},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"clG" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/engine,/area/engine/mechanic_workshop) -"clH" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"clI" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"clJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"clK" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"clL" = (/obj/structure/plasticflaps{opacity = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/assembly/assembly_line) -"clM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"clN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"clO" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"clP" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 6},/turf/simulated/floor,/area/hallway/primary/aft) -"clQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) -"clR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/aft) -"clS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"clT" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"clU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/engine/break_room) -"clV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor{dir = 1; icon_state = "caution"},/area/engine/break_room) -"clW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/camera{c_tag = "Engineering Foyer"},/obj/structure/noticeboard{pixel_y = 28},/turf/simulated/floor{icon_state = "caution"; dir = 5},/area/engine/break_room) -"clX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/engine/break_room) -"clY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/engine/break_room) -"clZ" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cma" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area) -"cmb" = (/obj/machinery/computer/atmoscontrol,/turf/simulated/floor,/area/atmos) -"cmc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor,/area/atmos) -"cmd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/computer/atmos_alert,/turf/simulated/floor,/area/atmos) -"cme" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cmf" = (/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cmg" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/item/weapon/cautery,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cmh" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/item/weapon/cautery,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cmi" = (/obj/structure/closet/secure_closet/medical3,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cmj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cmk" = (/obj/machinery/requests_console{announcementConsole = 1; department = "NT Representative"; departmentType = 5; name = "NT Rep Requests Console"; pixel_x = -30},/turf/simulated/floor/wood,/area/ntrep) -"cml" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cmm" = (/obj/machinery/atmospherics/pipe/manifold{icon_state = "manifold"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cmn" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cmo" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cmp" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cmq" = (/obj/machinery/botany/editor,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cmr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area) -"cms" = (/obj/machinery/door/airlock/research{name = "Xenobiology Flora Access"; req_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cmt" = (/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/xenobiology) -"cmu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cmv" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/xenobiology) -"cmw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/solar/starboard) -"cmx" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/simulated/floor/engine,/area/toxins/mixing) -"cmy" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1443; icon_state = "on"; id = "air_in"; on = 1},/turf/simulated/floor/engine,/area/toxins/mixing) -"cmz" = (/obj/machinery/air_sensor{frequency = 1222; id_tag = "burn_sensor"},/turf/simulated/floor/engine,/area/toxins/mixing{requires_power = 0}) -"cmA" = (/obj/machinery/atmospherics/pipe/vent/high_volume{dir = 1},/turf/simulated/floor/engine,/area/toxins/mixing) -"cmB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/aft) -"cmC" = (/obj/machinery/door/airlock/maintenance{icon_state = "door_locked"; locked = 1; name = "Assembly Line Maintenance"; req_access_txt = "32"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/assembly/assembly_line) -"cmD" = (/obj/machinery/door/window/southleft{base_state = "left"; dir = 2; icon_state = "left"; name = "Assembly Line Delivery"; req_access_txt = "32"},/turf/simulated/floor{icon_state = "delivery"},/area/assembly/assembly_line) -"cmE" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area) -"cmF" = (/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cmG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor,/area/hallway/primary/aft) -"cmH" = (/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 5},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor,/area/hallway/primary/aft) -"cmI" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/primary/aft) -"cmJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/aft) -"cmK" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/hallway/primary/aft) -"cmL" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/break_room) -"cmM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/break_room) -"cmN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/landmark/nations{name = "Atmosia"},/turf/simulated/floor,/area/engine/break_room) -"cmO" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/break_room) -"cmP" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area) -"cmQ" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor,/area/atmos) -"cmR" = (/turf/simulated/floor,/area/atmos) -"cmS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos) -"cmT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/door/airlock/maintenance{req_access_txt = "24"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cmU" = (/obj/structure/closet/secure_closet/medical2,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cmV" = (/obj/machinery/power/apc{dir = 2; name = "Surgery APC"; pixel_y = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cmW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cmX" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/stack/medical/advanced/bruise_pack,/obj/machinery/camera{c_tag = "Surgery 1"; dir = 1; network = list("SS13"); pixel_x = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cmY" = (/obj/structure/table,/obj/item/weapon/bonegel,/obj/item/weapon/bonesetter,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cmZ" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/item/weapon/scalpel,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cna" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/item/weapon/scalpel,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cnb" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/stack/medical/advanced/bruise_pack,/obj/machinery/camera{c_tag = "Surgery 2"; dir = 1; network = list("SS13"); pixel_x = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cnc" = (/obj/machinery/power/apc{dir = 2; name = "Surgery APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cnd" = (/obj/structure/closet/secure_closet/medical2,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"cne" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 9; icon_state = "blue"},/area/medical/medbay2) -"cnf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/medical/medbay2) -"cng" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/medical/medbay2) -"cnh" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cni" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cnj" = (/obj/machinery/atmospherics/binary/volume_pump/on{dir = 4; icon_state = "intact_off"; name = "Isolation Tray to Waste"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cnk" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cnl" = (/obj/machinery/botany/extractor,/obj/machinery/camera{c_tag = "Virology Starboard"; dir = 8; network = list("RD"); pixel_y = -22},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cnm" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet,/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cnn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cno" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cnp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area) -"cnq" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/toxins/xenobiology) -"cnr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cns" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cnt" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/xenobiology) -"cnu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cnv" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/xenobiology) -"cnw" = (/obj/machinery/atmospherics/pipe/vent{dir = 8},/turf/simulated/floor/plating/airless,/area) -"cnx" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk2"; icon_state = "catwalk2"},/area/solar/starboard) -"cny" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/simulated/floor/engine,/area/toxins/mixing) -"cnz" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/simulated/floor/engine,/area/toxins/mixing) -"cnA" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 9},/turf/simulated/floor/engine,/area/toxins/mixing) -"cnB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"cnC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area) -"cnD" = (/obj/item/weapon/table_parts,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cnE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/assembly/assembly_line) -"cnF" = (/obj/item/weapon/camera_assembly,/turf/simulated/floor,/area/assembly/assembly_line) -"cnG" = (/turf/simulated/floor{icon_state = "loadingarea"; tag = "loading"},/area/assembly/assembly_line) -"cnH" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cnI" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/assembly/assembly_line) -"cnJ" = (/obj/structure/table,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cnK" = (/obj/structure/table,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cnL" = (/obj/structure/computerframe,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cnM" = (/turf/simulated/wall,/area/assembly/assembly_line) -"cnN" = (/obj/structure/table,/obj/item/clothing/glasses/welding,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cnO" = (/obj/structure/table,/turf/simulated/floor,/area/assembly/assembly_line) -"cnP" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cnQ" = (/obj/structure/closet/crate,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cnR" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cnS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j2s"; sortType = 4},/turf/simulated/floor,/area/hallway/primary/aft) -"cnT" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/aft) -"cnU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/aft) -"cnV" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/hallway/primary/aft) -"cnW" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area) -"cnX" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/engine/break_room) -"cnY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cnZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area) -"coa" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/atmos) -"cob" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor,/area/atmos) -"coc" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = 24; pixel_y = 4; req_access_txt = "24"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos) -"cod" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/disposal) -"coe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/disposal) -"cof" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cog" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) -"coh" = (/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/medical/medbay2) -"coi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/medical/medbay2) -"coj" = (/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/medbay2) -"cok" = (/obj/machinery/light,/obj/machinery/biogenerator,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"col" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"com" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/screwdriver,/obj/item/weapon/shovel/spade,/obj/item/weapon/wrench,/obj/item/weapon/wrench,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/device/analyzer/plant_analyzer,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weapon/minihoe,/obj/item/weapon/minihoe,/obj/item/weapon/wirecutters,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"con" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/crew_quarters/fitness) -"coo" = (/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cop" = (/mob/living/carbon/slime,/turf/simulated/floor/engine,/area/toxins/xenobiology) -"coq" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cor" = (/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology) -"cos" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cot" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cou" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area) -"cov" = (/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "xeno_airlock_interior"; locked = 1; name = "Xenobiology Internal Airlock"; req_access_txt = "55"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -28; pixel_y = 8; req_access_txt = "55"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cow" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/starboard) -"cox" = (/obj/machinery/door/poddoor{id = "ToxinsVenting"; name = "Toxins Venting Bay Door"; use_power = 0},/turf/simulated/floor/engine,/area/toxins/mixing) -"coy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area) -"coz" = (/obj/item/stack/cable_coil,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"coA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"coB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/assembly/assembly_line) -"coC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"coD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/weapon/paper,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"coE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/assembly/assembly_line) -"coF" = (/obj/item/apc_frame,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/assembly/assembly_line) -"coG" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"coH" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"coI" = (/obj/machinery/door/airlock/glass_engineering{icon_state = "door_locked"; locked = 1; name = "Assembly Line (KEEP OUT)"; req_access_txt = "32"; req_one_access_txt = "0"},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"coJ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/aft) -"coK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/hallway/primary/aft) -"coL" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "arrival"; dir = 4},/area/hallway/primary/aft) -"coM" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 8; name = "Engineering Foyer APC"; pixel_x = -24},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/storage/hazardvest,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/clothing/suit/storage/hazardvest,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/turf/simulated/floor,/area/engine/break_room) -"coN" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/obj/effect/landmark/start{name = "Life Support Specialist"},/turf/simulated/floor,/area/engine/break_room) -"coO" = (/obj/structure/table,/turf/simulated/floor,/area/engine/break_room) -"coP" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/effect/landmark/start{name = "Life Support Specialist"},/turf/simulated/floor,/area/engine/break_room) -"coQ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/break_room) -"coR" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/firedoor/border_only{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/door/airlock/atmos{name = "Atmospherics"; req_access_txt = "24"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"coS" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos) -"coT" = (/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; icon_state = "manifold-c"; level = 2},/turf/simulated/floor,/area/atmos) -"coU" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 9; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos) -"coV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/atmos) -"coW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall/r_wall,/area) -"coX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 2; icon_state = "manifold-b"; level = 2; tag = "icon-manifold-b"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"coY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"coZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cpa" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b"; level = 1; tag = "icon-manifold-b (NORTH)"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cpb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cpc" = (/obj/machinery/atmospherics/pipe/manifold{tag = "icon-manifold-b (EAST)"; name = "pipe manifold"; icon_state = "manifold-b"; dir = 4; level = 1; _color = "blue"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cpd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cpe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cpf" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) -"cpg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio3"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area) -"cph" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio3"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/toxins/xenobiology) -"cpi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cpj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cpk" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 0; pixel_y = 30},/obj/machinery/camera{c_tag = "Xenobiology Module North"; dir = 2; network = list("SS13"); pixel_x = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cpl" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "xeno_airlock_exterior"; id_tag = "xeno_airlock_control"; tag_interior_door = "xeno_airlock_interior"; name = "Xenobiology Access Console"; pixel_x = 8; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light_switch{pixel_x = -6; pixel_y = 26},/turf/simulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/toxins/xenobiology) -"cpm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/toxins/xenobiology) -"cpn" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Xenobiology APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/toxins/xenobiology) -"cpo" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cpp" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) -"cpq" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk2"; icon_state = "catwalk2"},/area/solar/port) -"cpr" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) -"cps" = (/obj/structure/grille,/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area) -"cpt" = (/turf/simulated/floor/plating,/area/assembly/assembly_line) -"cpu" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cpv" = (/obj/item/weapon/paper,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cpw" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/barricade/wooden,/turf/simulated/floor/plating,/area) -"cpx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/aft) -"cpy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/aft) -"cpz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atm{pixel_x = 32; pixel_y = 0},/turf/simulated/floor,/area/hallway/primary/aft) -"cpA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 7},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/clothing/suit/storage/hazardvest,/obj/item/clothing/suit/storage/hazardvest,/obj/item/weapon/tank/emergency_oxygen/engi,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/turf/simulated/floor,/area/engine/break_room) -"cpB" = (/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor,/area/engine/break_room) -"cpC" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/turf/simulated/floor,/area/engine/break_room) -"cpD" = (/obj/effect/landmark/start{name = "Life Support Specialist"},/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor,/area/engine/break_room) -"cpE" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cpF" = (/obj/machinery/space_heater,/obj/structure/sign/atmosplaque{pixel_x = 0; pixel_y = -32},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/atmos) -"cpG" = (/obj/structure/closet/fireaxecabinet{pixel_y = -32},/obj/machinery/space_heater,/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/light,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/atmos) -"cpH" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/space_heater,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/atmos) -"cpI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor,/area/atmos) -"cpJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/wall/r_wall,/area) -"cpK" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cpL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"cpM" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area) -"cpN" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology) -"cpO" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cpP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cpQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cpR" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cpS" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cpT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cpU" = (/turf/space,/area/xenos_station/southwest) -"cpV" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/port) -"cpW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area) -"cpX" = (/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cpY" = (/obj/machinery/atmospherics/unary/vent_pump{on = 0},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cpZ" = (/obj/machinery/conveyor_switch{id = "Skynet_heavy"},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cqa" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cqb" = (/turf/simulated/floor/plating{desc = "
There is some old writing on this floor. You are barely able to read out a few lines from a tangled scribble.

In a chamber a great mirror lies, cut away it solemn cries. Travel bold as thou might, piercing vastness as a kite.

HONK!
"; name = "Old Note #6"},/area/assembly/assembly_line) -"cqc" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plating,/area/assembly/assembly_line) -"cqd" = (/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/barricade/wooden,/turf/simulated/floor{icon_state = "floorgrime"},/area) -"cqe" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/aft) -"cqf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=AIE"; location = "AftH"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/aft) -"cqg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/aft) -"cqh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/wall,/area) -"cqi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor,/area/engine/break_room) -"cqj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cqk" = (/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor,/area/engine/break_room) -"cql" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/flora/kirbyplants,/turf/simulated/floor,/area/engine/break_room) -"cqm" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/door/airlock/atmos{name = "Atmospherics"; req_access_txt = "24"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/atmos) -"cqn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area) -"cqo" = (/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/medical/medbay2) -"cqp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/medical/medbay2) -"cqq" = (/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/medical/medbay2) -"cqr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area) -"cqs" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology) -"cqt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cqu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cqv" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cqw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cqx" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cqy" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk5"; icon_state = "catwalk5"},/area/solar/starboard) -"cqz" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/starboard) -"cqA" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk11"; icon_state = "catwalk11"},/area/solar/starboard) -"cqB" = (/obj/structure/closet,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cqC" = (/turf/simulated/floor,/area/assembly/assembly_line) -"cqD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/assembly/assembly_line) -"cqE" = (/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/assembly/assembly_line) -"cqF" = (/obj/machinery/conveyor{dir = 4; id = "Skynet_heavy"},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/assembly/assembly_line) -"cqG" = (/obj/machinery/conveyor{dir = 4; id = "Skynet_heavy"},/obj/machinery/ai_status_display{pixel_y = -32},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/assembly/assembly_line) -"cqH" = (/obj/machinery/conveyor{dir = 4; id = "Skynet_heavy"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating{tag = "icon-warnplate (NORTH)"; icon_state = "warnplate"; dir = 1},/area/assembly/assembly_line) -"cqI" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/assembly/assembly_line) -"cqJ" = (/obj/machinery/light,/obj/machinery/camera{c_tag = "Assembly Line East"; dir = 1},/turf/simulated/floor,/area/assembly/assembly_line) -"cqK" = (/obj/structure/table,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"cqL" = (/obj/machinery/vending/coffee,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cqM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cqN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cqO" = (/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cqP" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/flora/kirbyplants,/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) -"cqQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area) -"cqR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/simulated/floor,/area/engine/break_room) -"cqS" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cqT" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/break_room) -"cqU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor,/area/engine/break_room) -"cqV" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/break_room) -"cqW" = (/obj/effect/landmark/start{name = "Station Engineer"},/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/engine/break_room) -"cqX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/break_room) -"cqY" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/vending/cigarette,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cqZ" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "bot"},/area/atmos) -"cra" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor{icon_state = "bot"},/area/atmos) -"crb" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor{icon_state = "bot"},/area/atmos) -"crc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/atmos) -"crd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/atmos) -"cre" = (/obj/machinery/pipedispenser,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor,/area/atmos) -"crf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/atmos) -"crg" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r"; level = 2},/obj/machinery/light{dir = 1},/obj/machinery/meter{frequency = 1443; id = "wloop_atm_meter"; name = "Waste Loop"},/turf/simulated/floor,/area/atmos) -"crh" = (/obj/machinery/camera{c_tag = "Atmospherics North East"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_off"; name = "Distro to Waste"; on = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/atmos) -"cri" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 2; icon_state = "manifold-b"; level = 2; tag = "icon-manifold-b"},/obj/machinery/meter{frequency = 1443; id = "dloop_atm_meter"; name = "Distribution Loop"},/turf/simulated/floor,/area/atmos) -"crj" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b"; level = 2; tag = "icon-manifold-b (NORTH)"},/turf/simulated/floor,/area/atmos) -"crk" = (/obj/machinery/atmospherics/binary/volume_pump/on{dir = 8; name = "Air To Distro"},/turf/simulated/floor,/area/atmos) -"crl" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 10; icon_state = "intact-c"; initialize_directions = 10; level = 2},/turf/simulated/floor,/area/atmos) -"crm" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/atmos) -"crn" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"cro" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = -24; pixel_y = 0; req_access_txt = "39"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_exterior"; locked = 1; name = "Virology Exterior Airlock"; req_access_txt = "39"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"crp" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio2"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor/engine,/area/toxins/xenobiology) -"crq" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"crr" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/storage/box/beakers{pixel_x = -1; pixel_y = -1; pixel_x = 2; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"crs" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/weapon/storage/box/syringes,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"crt" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Xenobiologist"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cru" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"crv" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area) -"crw" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area) -"crx" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/starboard) -"cry" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/aft) -"crz" = (/obj/structure/table,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/assembly/assembly_line) -"crA" = (/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/assembly/assembly_line) -"crB" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/assembly/assembly_line) -"crC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/aft) -"crD" = (/obj/structure/sign/securearea,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area) -"crE" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/break_room) -"crF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/disposalpipe/segment,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area) -"crG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area) -"crH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area) -"crI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area) -"crJ" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/break_room) -"crK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Engineering"; name = "Engineering Security Doors"; opacity = 0},/turf/simulated/floor/plating,/area) -"crL" = (/obj/machinery/camera{c_tag = "Atmospherics North West"; dir = 4; network = list("SS13")},/obj/machinery/light{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "bot"},/area/atmos) -"crM" = (/obj/machinery/pipedispenser/disposal,/turf/simulated/floor,/area/atmos) -"crN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/atmos) -"crO" = (/obj/machinery/atmospherics/binary/volume_pump/on{name = "Waste In"},/turf/simulated/floor,/area/atmos) -"crP" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/atmos) -"crQ" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_off"; name = "Mix to Distro"; on = 0},/turf/simulated/floor,/area/atmos) -"crR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; dir = 8; icon_state = "manifold-c"; initialize_directions = 11; level = 2},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) -"crS" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"crT" = (/obj/structure/grille,/turf/simulated/wall/r_wall,/area/atmos) -"crU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/virology) -"crV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"crW" = (/obj/structure/closet/emcloset,/obj/machinery/camera/xray{c_tag = "Virology Airlock"; network = list("SS13")},/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Virology APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/medical/virology) -"crX" = (/obj/structure/sign/deathsposal,/turf/simulated/wall/r_wall,/area) -"crY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"crZ" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"csa" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"csb" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio2"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology) -"csc" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"csd" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/clothing/gloves/latex,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cse" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"csf" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"csg" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/smartfridge/extract,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/toxins/xenobiology) -"csh" = (/obj/machinery/optable{name = "Xenobiology Operating Table"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "whitehall"; dir = 2},/area/toxins/xenobiology) -"csi" = (/obj/machinery/computer/operating{name = "Xenobiology Operating Computer"},/turf/simulated/floor{dir = 8; icon_state = "whitecorner"},/area/toxins/xenobiology) -"csj" = (/turf/simulated/floor/plating/airless,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/starboard) -"csk" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating/airless,/area) -"csl" = (/obj/structure/table,/turf/simulated/floor{icon_state = "white"},/area/assembly/assembly_line) -"csm" = (/turf/simulated/floor{icon_state = "white"},/area/assembly/assembly_line) -"csn" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/assembly/assembly_line) -"cso" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft) -"csp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft) -"csq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/aft) -"csr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/aft) -"css" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"cst" = (/obj/structure/closet/crate,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/aft) -"csu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/wall,/area) -"csv" = (/obj/item/weapon/beach_ball/holoball,/turf/simulated/floor/plating,/area/maintenance/aft) -"csw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/camera{c_tag = "Engineering Storage West"; dir = 4; network = list("SS13")},/obj/structure/closet/secure_closet/engineering_personal,/turf/simulated/floor,/area/engine/break_room) -"csx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"csy" = (/obj/structure/disposalpipe/segment,/obj/machinery/pipedispenser/disposal,/turf/simulated/floor,/area/engine/break_room) -"csz" = (/obj/machinery/camera{c_tag = "Engineering Access"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/vending/engivend,/turf/simulated/floor,/area/engine/break_room) -"csA" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/vending/tool,/turf/simulated/floor,/area/engine/break_room) -"csB" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/floor,/area/engine/break_room) -"csC" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/pipedispenser,/turf/simulated/floor,/area/engine/break_room) -"csD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2) -"csE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/atmos) -"csF" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/atmos) -"csG" = (/obj/item/device/radio/beacon,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/atmos) -"csH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/atmos) -"csI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/atmos) -"csJ" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor{icon_state = "bot"},/area/atmos) -"csK" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r"; level = 2},/turf/simulated/floor,/area/atmos) -"csL" = (/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_off"; name = "Mix to Filter"; on = 0},/turf/simulated/floor,/area/atmos) -"csM" = (/obj/machinery/atmospherics/pipe/manifold{_color = "yellow"; dir = 1; icon_state = "manifold-y"; level = 2},/turf/simulated/floor,/area/atmos) -"csN" = (/obj/machinery/atmospherics/pipe/manifold{_color = "yellow"; icon_state = "manifold-y"; level = 2},/turf/simulated/floor,/area/atmos) -"csO" = (/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/turf/simulated/floor,/area/atmos) -"csP" = (/obj/machinery/atmospherics/binary/pump{dir = 0; icon_state = "intact_off"; name = "Air to Mix"; on = 0},/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/turf/simulated/floor,/area/atmos) -"csQ" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/valve/digital{_color = "yellow"; dir = 4; name = "Gas Mix Outlet Valve"},/turf/simulated/floor{dir = 5; icon_state = "green"},/area/atmos) -"csR" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"csS" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/turf/space,/area) -"csT" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/obj/structure/grille,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/atmos) -"csU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "waste_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos) -"csV" = (/obj/machinery/camera{c_tag = "Atmospherics Waste Tank"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos) -"csW" = (/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos) -"csX" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/virology) -"csY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"csZ" = (/obj/structure/closet/l3closet,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/clothing/mask/gas,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/virology) -"cta" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"ctb" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{tag = "icon-whiteblue (NORTH)"; icon_state = "whiteblue"; dir = 1},/area/medical/virology) -"ctc" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/obj/machinery/atmospherics/unary/vent_pump,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"ctd" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cte" = (/obj/machinery/computer/centrifuge,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"ctf" = (/obj/machinery/disease2/incubator,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"ctg" = (/obj/structure/reagent_dispensers/virusfood{pixel_x = 32},/obj/machinery/disease2/incubator,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cth" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cti" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"ctj" = (/obj/machinery/camera{c_tag = "Virology Monkey Pen"; dir = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"ctk" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"ctl" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/light{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology) -"ctm" = (/obj/structure/table,/obj/item/weapon/storage/box/monkeycubes,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"ctn" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/stack/sheet/mineral/plasma{amount = 5; layer = 2.9},/obj/machinery/media/receiver/boombox,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cto" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"ctp" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/toxins/xenobiology) -"ctq" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/toxins/xenobiology) -"ctr" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/starboard) -"cts" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/starboard) -"ctt" = (/turf/simulated/floor/plating/airless,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/port) -"ctu" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating/airless,/area) -"ctv" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating/airless,/area) -"ctw" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating/airless,/area) -"ctx" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cty" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"ctz" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/smes{charge = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"ctA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area) -"ctB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"ctC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"ctD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"ctE" = (/obj/machinery/optable{name = "Robotics Operating Table"},/turf/simulated/floor{icon_state = "white"},/area/assembly/assembly_line) -"ctF" = (/obj/machinery/computer/operating{icon_state = "operatingb"; name = "Robotics Operating Computer"; stat = 1},/turf/simulated/floor{icon_state = "white"},/area/assembly/assembly_line) -"ctG" = (/obj/structure/closet/secure_closet/engineering_personal,/turf/simulated/floor,/area/engine/break_room) -"ctH" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/engine/break_room) -"ctI" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/camera{c_tag = "Engineering Storage East"; dir = 8; network = list("SS13")},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"ctJ" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/atmos) -"ctK" = (/obj/machinery/atmospherics/trinary/filter{density = 0},/turf/simulated/floor,/area/atmos) -"ctL" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/atmos) -"ctM" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/atmos) -"ctN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/atmos) -"ctO" = (/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/turf/simulated/floor,/area/atmos) -"ctP" = (/obj/machinery/atmospherics/pipe/manifold{_color = "green"; dir = 1; icon_state = "manifold-g"; level = 2; tag = "icon-manifold-g (NORTH)"},/turf/simulated/floor,/area/atmos) -"ctQ" = (/obj/machinery/atmospherics/pipe/manifold{tag = "icon-manifold-g (EAST)"; icon_state = "manifold-g"; dir = 4; level = 2; _color = "green"},/turf/simulated/floor,/area/atmos) -"ctR" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "waste_in"; name = "Gas Mix Tank Control"; output_tag = "waste_out"; sensors = list("waste_sensor" = "Tank")},/turf/simulated/floor{icon_state = "green"; dir = 4},/area/atmos) -"ctS" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 10; icon_state = "intact-c"; initialize_directions = 10; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"ctT" = (/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/atmos) -"ctU" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "waste_sensor"; output = 63},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos) -"ctV" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos) -"ctW" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/virology) -"ctX" = (/obj/structure/closet/l3closet,/obj/item/clothing/mask/gas,/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/virology) -"ctY" = (/obj/structure/table,/obj/item/weapon/storage/box/masks,/obj/item/weapon/storage/box/gloves,/obj/machinery/requests_console{pixel_x = -30},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"ctZ" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cua" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cub" = (/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cuc" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/effect/landmark/start{name = "Virologist"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cud" = (/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cue" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area) -"cuf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cug" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cuh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area) -"cui" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cuj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cuk" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cul" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cum" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cun" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 0; pixel_y = -32; req_access_txt = "0"},/obj/machinery/monkey_recycler,/turf/simulated/floor,/area/toxins/xenobiology) -"cuo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/sign/deathsposal{pixel_x = 0; pixel_y = -32},/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/toxins/xenobiology) -"cup" = (/obj/structure/table,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel{pixel_y = 12},/turf/simulated/floor,/area/toxins/xenobiology) -"cuq" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk4"; icon_state = "catwalk4"},/area/solar/starboard) -"cur" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/starboard) -"cus" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/starboard) -"cut" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk0"; icon_state = "catwalk0"},/area/solar/starboard) -"cuu" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/starboard) -"cuv" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/starboard) -"cuw" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk8"; icon_state = "catwalk8"},/area/solar/starboard) -"cux" = (/turf/simulated/floor/plating/airless,/obj/machinery/power/tracker,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk4"; icon_state = "catwalk4"},/area/solar/port) -"cuy" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/port) -"cuz" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/port) -"cuA" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk0"; icon_state = "catwalk0"},/area/solar/port) -"cuB" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/port) -"cuC" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk12"; icon_state = "catwalk12"},/area/solar/port) -"cuD" = (/turf/simulated/floor/plating/airless,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "robotics_solar_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk8"; icon_state = "catwalk8"},/area/solar/port) -"cuE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cuF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "robotics_solar_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "robotics_solar_pump"; tag_exterior_door = "robotics_solar_outer"; frequency = 1379; id_tag = "robotics_solar_airlock"; tag_interior_door = "robotics_solar_inner"; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; tag_chamber_sensor = "robotics_solar_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "robotics_solar_sensor"; pixel_x = 12; pixel_y = -25},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cuG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cuH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "robotics_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cuI" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cuJ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cuK" = (/obj/machinery/door/airlock/engineering{name = "Aft Port Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cuL" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"cuM" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/aft) -"cuN" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/obj/structure/table,/obj/item/weapon/book/manual/engineering_hacking{pixel_x = 3; pixel_y = 3},/obj/item/weapon/book/manual/engineering_construction,/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor,/area/engine/engineering) -"cuO" = (/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_y = 30},/obj/structure/table,/obj/item/weapon/book/manual/engineering_guide,/obj/item/weapon/book/manual/engineering_particle_accelerator{pixel_y = 6},/obj/item/weapon/book/manual/engineering_singularity_safety,/turf/simulated/floor,/area/engine/engineering) -"cuP" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/light{dir = 1},/obj/item/weapon/cartridge/engineering{pixel_x = 3},/obj/item/weapon/cartridge/engineering{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cartridge/engineering{pixel_x = 4; pixel_y = 5},/obj/item/weapon/modkit/unathi,/obj/item/weapon/modkit/tajaran,/turf/simulated/floor,/area/engine/engineering) -"cuQ" = (/obj/machinery/power/apc{cell_type = 15000; dir = 1; name = "Engineering APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/engine/engineering) -"cuR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/engine/engineering) -"cuS" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/engineering) -"cuT" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/light{dir = 1},/obj/machinery/alarm{pixel_x = 0; pixel_y = 24},/turf/simulated/floor,/area/engine/engineering) -"cuU" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/machinery/power/apc{cell_type = 15000; dir = 1; name = "Engineering Storage APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/engine/engineering) -"cuV" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/turf/simulated/floor,/area/engine/engineering) -"cuW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area) -"cuX" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/obj/structure/table/reinforced,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/mob/living/simple_animal/parrot/Poly,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cuY" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Engineer's Desk"; departmentType = 3; name = "Chief Engineer RC"; pixel_x = 0; pixel_y = 32},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cuZ" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = 30},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cva" = (/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = 10; pixel_y = 24; req_access_txt = "24"},/obj/machinery/door_control{desc = "A remote control-switch for the engineering security doors."; id = "Engineering"; name = "Engineering Lockdown"; pixel_x = -10; pixel_y = 24; req_access_txt = "10"},/obj/machinery/door_control{desc = "A remote control-switch for secure storage."; id = "Secure Storage"; name = "Engineering Secure Storage"; pixel_x = 0; pixel_y = 24; req_access_txt = "11"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cvb" = (/obj/machinery/computer/atmos_alert,/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cvc" = (/obj/effect/landmark{name = "lightsout"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cvd" = (/obj/structure/table,/obj/item/stack/rods{amount = 50},/obj/machinery/requests_console{announcementConsole = 0; department = "Engineering"; departmentType = 4; name = "Engineering RC"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cve" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor,/area/atmos) -"cvf" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor,/area/atmos) -"cvg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/atmos) -"cvh" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos) -"cvi" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/glass_atmos{name = "Distribution Loop"; req_access_txt = "24"},/turf/simulated/floor,/area/atmos) -"cvj" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos) -"cvk" = (/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 6; icon_state = "intact-y"; level = 2},/turf/simulated/floor,/area/atmos) -"cvl" = (/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 9; icon_state = "intact-y"; level = 2; tag = "icon-intact-y (NORTHWEST)"},/turf/simulated/floor,/area/atmos) -"cvm" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_off"; name = "Pure to Mix"; on = 0},/turf/simulated/floor,/area/atmos) -"cvn" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact-g (NORTHEAST)"; icon_state = "intact-g"; dir = 5; level = 2; initialize_directions = 12; _color = "green"},/turf/simulated/floor,/area/atmos) -"cvo" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_off"; name = "Unfiltered to Mix"; on = 0},/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; initialize_directions = 12; level = 2},/turf/simulated/floor,/area/atmos) -"cvp" = (/obj/machinery/atmospherics/valve/digital{_color = "yellow"; dir = 4; name = "Gas Mix Inlet Valve"},/turf/simulated/floor{icon_state = "green"; dir = 6},/area/atmos) -"cvq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cvr" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/turf/space,/area) -"cvs" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "waste_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos) -"cvt" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_interior"; locked = 1; name = "Virology Interior Airlock"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Interior Access"; pixel_x = 28; pixel_y = 8; req_access_txt = "39"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cvu" = (/obj/structure/table,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/glasses/hud/health,/obj/machinery/light{dir = 8},/obj/machinery/camera{c_tag = "Virology Port"; dir = 4; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cvv" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cvw" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cvx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cvy" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cvz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cvA" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cvB" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cvC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cvD" = (/obj/machinery/door/window/southright{dir = 4; name = "Primate Pen"; req_access_txt = "39"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cvE" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cvF" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cvG" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cvH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cvI" = (/obj/effect/landmark/start{name = "Xenobiologist"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cvJ" = (/obj/machinery/camera{c_tag = "Xenobiology South"; dir = 8; network = list("RD"); pixel_y = -22},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cvK" = (/obj/structure/cable,/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/starboard) -"cvL" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/port) -"cvM" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating/airless,/area) -"cvN" = (/obj/machinery/power/solar_control{id = "portsolar"; name = "Aft Port Solar Control"; track = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cvO" = (/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cvP" = (/obj/machinery/power/apc{dir = 4; name = "Aft Port Solar APC"; pixel_x = 23; pixel_y = 2},/obj/machinery/camera{c_tag = "Aft Port Solar Control"; dir = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cvQ" = (/obj/structure/closet/wardrobe/black,/obj/machinery/camera{c_tag = "Aft Port Solar Access"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/aft) -"cvR" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"cvS" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"cvT" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor,/area/engine/engineering) -"cvU" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/engine/engineering) -"cvV" = (/turf/simulated/floor,/area/engine/engineering) -"cvW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cvX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering) -"cvY" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/engineering) -"cvZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/engine/engineering) -"cwa" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cwb" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area) -"cwc" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/space/rig/elite,/obj/item/clothing/shoes/magboots,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/elite,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cwd" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cwe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cwf" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/stool/bed/chair/office/light,/obj/effect/landmark/start{name = "Chief Engineer"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cwg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/computer/station_alert,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cwh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area) -"cwi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/closet/secure_closet/engineering_welding,/turf/simulated/floor,/area/engine/break_room) -"cwj" = (/obj/structure/table,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/simulated/floor,/area/engine/break_room) -"cwk" = (/obj/structure/table,/obj/item/device/radio{pixel_y = 6},/obj/item/device/radio{pixel_x = 6; pixel_y = 4},/obj/item/device/radio{pixel_x = -6; pixel_y = 4},/obj/item/device/radio,/turf/simulated/floor,/area/engine/break_room) -"cwl" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cwm" = (/obj/machinery/atmospherics/trinary/mixer{density = 0; dir = 1},/turf/simulated/floor,/area/atmos) -"cwn" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/atmos) -"cwo" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/machinery/door_control{id = "atmos"; name = "Atmospherics Lockdown"; pixel_x = 24; pixel_y = 4; req_access_txt = "24"},/turf/simulated/floor,/area/atmos) -"cwp" = (/turf/simulated/wall,/area/atmos) -"cwq" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 6; icon_state = "intact-c"; initialize_directions = 6; level = 2},/obj/structure/sign/nosmoking_2,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/atmos) -"cwr" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/atmos) -"cws" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/atmos) -"cwt" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/atmos) -"cwu" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/atmos) -"cwv" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced,/turf/simulated/floor/plating,/area/atmos) -"cww" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"},/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cwx" = (/obj/machinery/vending/coffee,/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cwy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cwz" = (/obj/machinery/embedded_controller/radio/airlock/access_controller{tag_exterior_door = "virology_airlock_exterior"; id_tag = "virology_airlock_control"; tag_interior_door = "virology_airlock_interior"; name = "Virology Access Console"; pixel_x = -8; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cwA" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Virology Lab"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cwB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cwC" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cwD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cwE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cwF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cwG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/machinery/camera{c_tag = "Virology Starboard"; dir = 8; network = list("RD"); pixel_y = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cwH" = (/obj/structure/extinguisher_cabinet,/turf/simulated/wall/r_wall,/area) -"cwI" = (/obj/structure/table,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cwJ" = (/obj/machinery/camera{c_tag = "Xenobiology Module South"; dir = 4; network = list("SS13"); pixel_x = 0},/obj/structure/table/reinforced,/obj/machinery/door_control{id = "xenobio1"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology) -"cwK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cwL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cwM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cwN" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cwO" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cwP" = (/obj/machinery/light{dir = 1},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cwQ" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 27},/obj/machinery/computer/reconstitutor,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cwR" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/port) -"cwS" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating/airless,/area) -"cwT" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/aft) -"cwU" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/aft) -"cwV" = (/obj/item/stack/cable_coil{amount = 5},/turf/simulated/floor/plating,/area/maintenance/aft) -"cwW" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating,/area/maintenance/aft) -"cwX" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30; pixel_y = 0},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor,/area/engine/engineering) -"cwY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/engineering) -"cwZ" = (/obj/structure/closet/secure_closet/engineering_welding,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/engineering) -"cxa" = (/obj/structure/closet/secure_closet/engineering_electrical,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cxb" = (/obj/machinery/vending/tool,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cxc" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cxd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area) -"cxe" = (/obj/structure/closet/secure_closet/engineering_chief{req_access_txt = "0"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cxf" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cxg" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cxh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/obj/item/weapon/stamp/ce,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cxi" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/pen,/obj/item/weapon/lighter/zippo,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cxj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area) -"cxk" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor,/area/engine/break_room) -"cxl" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cxm" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cxn" = (/obj/structure/table,/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/device/flashlight{pixel_x = 1; pixel_y = 5},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/weapon/storage/belt/utility,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cxo" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/device/radio,/obj/item/weapon/storage/belt/utility,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cxp" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cxq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cxr" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cxs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area) -"cxt" = (/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/light_switch{pixel_x = -27},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/atmos) -"cxu" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r"; level = 2},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/atmos) -"cxv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/binary/volume_pump/on{dir = 4; name = "External to Filter"},/turf/simulated/floor,/area/atmos) -"cxw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/atmos) -"cxx" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/atmos) -"cxy" = (/obj/machinery/atmospherics/pipe/manifold{tag = "icon-manifold-r (EAST)"; icon_state = "manifold-r"; dir = 4; level = 2; _color = "red"},/turf/simulated/floor,/area/atmos) -"cxz" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 6; icon_state = "intact-c"; initialize_directions = 6; level = 2},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/atmos) -"cxA" = (/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; dir = 4; icon_state = "manifold-c"; initialize_directions = 11; level = 2},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) -"cxB" = (/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) -"cxC" = (/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 6; icon_state = "intact-y"; level = 2},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) -"cxD" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/manifold{_color = "yellow"; icon_state = "manifold-y"; level = 2},/turf/simulated/floor,/area/atmos) -"cxE" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_off"; name = "N2O to Pure"; on = 0},/turf/simulated/floor,/area/atmos) -"cxF" = (/obj/machinery/atmospherics/valve/digital{_color = "yellow"; dir = 4; name = "N2O Outlet Valve"},/turf/simulated/floor{icon_state = "escape"; dir = 5},/area/atmos) -"cxG" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cxH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "n2o_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine,/area/atmos) -"cxI" = (/turf/simulated/floor/engine,/area/atmos) -"cxJ" = (/obj/structure/closet/l3closet/virology,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cxK" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cxL" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cxM" = (/obj/item/roller,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cxN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area) -"cxO" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cxP" = (/obj/machinery/light{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/xenobiology) -"cxQ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cxR" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cxS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cxT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cxU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cxV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cxW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cxX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cxY" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"cxZ" = (/turf/space,/area/vox_station/southeast_solars) -"cya" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/door/airlock/maintenance{name = "Engineering Maintainance"; req_access_txt = "10"; req_one_access_txt = null},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"cyb" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor,/area/engine/engineering) -"cyc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/engineering) -"cyd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/engine/engineering) -"cye" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/engine/engineering) -"cyf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/engine/engineering) -"cyg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/glass_engineering{name = "Storage"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/engineering) -"cyh" = (/obj/machinery/camera{c_tag = "Chief Engineer's Office"; dir = 4; network = list("SS13")},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -30; pixel_y = 0},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cyi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cyj" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cyk" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/stool/bed/chair{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cyl" = (/obj/machinery/power/apc{dir = 4; name = "CE Office APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) -"cym" = (/obj/structure/closet/wardrobe/atmospherics_yellow,/turf/simulated/floor,/area/engine/break_room) -"cyn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/radio/headset/headset_eng,/obj/item/device/multitool{pixel_x = 5},/turf/simulated/floor,/area/engine/break_room) -"cyo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/clothing/gloves/black,/obj/item/weapon/crowbar,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor,/area/engine/break_room) -"cyp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/engine/break_room) -"cyq" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/engine/break_room) -"cyr" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; initialize_directions = 12; level = 1},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"},/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cys" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos) -"cyt" = (/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_on"; name = "Air to External"; on = 1},/turf/simulated/floor,/area/atmos) -"cyu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos) -"cyv" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/atmos) -"cyw" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos) -"cyx" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 9; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos) -"cyy" = (/obj/machinery/atmospherics/binary/pump{dir = 0; icon_state = "intact_off"; name = "Air to Port"; on = 0},/turf/simulated/floor,/area/atmos) -"cyz" = (/obj/machinery/atmospherics/binary/pump{dir = 0; icon_state = "intact_off"; name = "Mix to Port"; on = 0},/turf/simulated/floor,/area/atmos) -"cyA" = (/obj/machinery/atmospherics/binary/pump{dir = 0; icon_state = "intact_off"; name = "Pure to Port"; on = 0},/turf/simulated/floor,/area/atmos) -"cyB" = (/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/turf/simulated/floor,/area/atmos) -"cyC" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/turf/simulated/floor,/area/atmos) -"cyD" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2o_in"; name = "Nitrous Oxide Supply Control"; output_tag = "n2o_out"; sensors = list("n2o_sensor" = "Tank")},/turf/simulated/floor{icon_state = "escape"; dir = 4},/area/atmos) -"cyE" = (/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/atmos) -"cyF" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2o_sensor"},/turf/simulated/floor/engine,/area/atmos) -"cyG" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent/roomfiller{valve_open = 0; volume = 1e+006},/turf/simulated/floor/engine,/area/atmos) -"cyH" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine,/area/atmos) -"cyI" = (/obj/structure/closet/wardrobe/virology_white,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cyJ" = (/obj/structure/stool,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cyK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cyL" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/device/antibody_scanner,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cyM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/stool/bed/chair/office/dark,/obj/effect/landmark/start{name = "Virologist"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cyN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area) -"cyO" = (/obj/structure/closet/secure_closet/personal/patient,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"cyP" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless,/area) -"cyQ" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "hydrofloor"},/area/toxins/xenobiology) -"cyR" = (/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/xenobiology) -"cyS" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door_control{id = "xenobio4"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/xenobiology) -"cyT" = (/obj/machinery/light,/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/xenobiology) -"cyU" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/xenobiology) -"cyV" = (/obj/machinery/door/window/southright{dir = 1; name = "Containment Pen"; req_access_txt = "55"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/xenobiology) -"cyW" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/machinery/door_control{id = "xenobio5"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/xenobiology) -"cyX" = (/obj/machinery/light,/obj/structure/closet,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/toxins/xenobiology) -"cyY" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door_control{id = "xenobio6"; name = "Containment Blast Doors"; pixel_x = 0; pixel_y = 4; req_access_txt = "55"},/obj/machinery/door_control{desc = "A remote control-switch for a door to space."; id = "xenobioout6"; name = "Containment Release Switch"; pixel_x = 24; pixel_y = 4; req_access = "55"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/toxins/xenobiology) -"cyZ" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk8"; icon_state = "catwalk8"},/area/solar/starboard) -"cza" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"czb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"czc" = (/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.5; name = "Engineering Firelock"},/obj/machinery/door/airlock/maintenance_hatch{name = "Supermatter SMES"; req_access_txt = "11"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"czd" = (/obj/machinery/alarm{pixel_x = 0; pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"cze" = (/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera{c_tag = "Supermatter Hallway"},/turf/simulated/floor,/area/engine/reactor_core) -"czf" = (/obj/machinery/atmospherics/unary/vent_scrubber,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"czg" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"czh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"czi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"czj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/glass_engineering{name = "Engine Room"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/reactor_core) -"czk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"czl" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/engine/engineering) -"czm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/engine/engineering) -"czn" = (/obj/structure/table,/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/clothing/glasses/welding,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/item/clothing/ears/earmuffs{pixel_x = -5; pixel_y = 6},/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/belt/utility,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/engineering) -"czo" = (/obj/structure/table,/obj/item/stack/sheet/mineral/plasma{amount = 30},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/device/pipe_freezer,/obj/item/device/pipe_painter,/turf/simulated/floor,/area/engine/engineering) -"czp" = (/obj/machinery/power/port_gen/pacman,/turf/simulated/floor,/area/engine/engineering) -"czq" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area) -"czr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area) -"czs" = (/obj/machinery/door/airlock/glass_command{name = "Chief Engineer"; req_access_txt = "56"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/chiefs_office) -"czt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area) -"czu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area) -"czv" = (/obj/machinery/door/firedoor/border_only{layer = 2.6; name = "\improper Firelock South"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/glass_engineering{name = "Engineering"; req_access_txt = "0"; req_one_access_txt = "11;24"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/break_room) -"czw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area) -"czx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area) -"czy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area) -"czz" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area) -"czA" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/obj/structure/table,/obj/item/clothing/head/welding{pixel_x = 1; pixel_x = -5; pixel_y = 3},/obj/item/stack/sheet/glass{amount = 50},/obj/item/clothing/head/welding{pixel_x = 0; pixel_x = -5; pixel_y = 3},/turf/simulated/floor,/area/atmos) -"czB" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/weapon/wrench,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r"; level = 2},/obj/item/device/pipe_painter,/obj/item/device/pipe_freezer,/obj/item/device/pipe_freezer,/obj/item/device/pipe_painter,/turf/simulated/floor,/area/atmos) -"czC" = (/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/turf/simulated/floor,/area/atmos) -"czD" = (/obj/machinery/atmospherics/tvalve/mirrored/digital,/turf/simulated/floor,/area/atmos) -"czE" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Waste to Port"},/turf/simulated/floor,/area/atmos) -"czF" = (/obj/machinery/atmospherics/pipe/manifold4w/general/visible,/turf/simulated/floor,/area/atmos) -"czG" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold4w{icon_state = "manifold4w"; level = 2},/turf/simulated/floor,/area/atmos) -"czH" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; icon_state = "manifold"; initialize_directions = 11; level = 2},/turf/simulated/floor,/area/atmos) -"czI" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 1; filter_type = 4; icon_state = "intact_on"; name = "Gas filter (N2O tank)"; on = 1},/turf/simulated/floor,/area/atmos) -"czJ" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/turf/simulated/floor{icon_state = "escape"; dir = 6},/area/atmos) -"czK" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; dir = 4; icon_state = "manifold-c"; initialize_directions = 11; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"czL" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "n2o_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine,/area/atmos) -"czM" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"czN" = (/obj/structure/table,/obj/machinery/media/receiver/boombox,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"czO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/camera{c_tag = "Virology Break/Access"; dir = 8; network = list("SS13")},/obj/structure/stool/bed,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"czP" = (/obj/structure/closet/crate/freezer,/obj/item/weapon/virusdish/random,/obj/item/weapon/virusdish/random,/obj/item/weapon/virusdish/random,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"czQ" = (/obj/machinery/disease2/diseaseanalyser,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"czR" = (/obj/machinery/computer/diseasesplicer,/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"czS" = (/obj/structure/table,/obj/item/weapon/storage/fancy/vials,/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"czT" = (/obj/structure/table,/obj/item/weapon/storage/lockbox/vials,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"czU" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"czV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/structure/flora/kirbyplants,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"czW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area) -"czX" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"czY" = (/obj/structure/stool/bed,/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/item/weapon/bedsheet,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"czZ" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/disposaloutlet,/turf/simulated/floor/plating/airless,/area) -"cAa" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/machinery/computer/reconstitutor/animal,/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cAb" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access_txt = "55"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cAc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio4"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area) -"cAd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable,/turf/simulated/floor/plating,/area) -"cAe" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access_txt = "55"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cAf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio5"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area) -"cAg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/disposalpipe/segment,/obj/structure/cable,/turf/simulated/floor/plating,/area) -"cAh" = (/obj/machinery/door/window/southright{name = "Containment Pen"; req_access_txt = "55"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cAi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "xenobio6"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area) -"cAj" = (/obj/machinery/power/smes{charge = 0; chargelevel = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable,/turf/simulated/floor,/area/engine/reactor_core) -"cAk" = (/obj/machinery/power/terminal{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engine/reactor_core) -"cAl" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"cAm" = (/turf/simulated/floor,/area/engine/reactor_core) -"cAn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"cAo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"cAp" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"cAq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/power/apc{dir = 2; name = "Supermatter APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor,/area/engine/reactor_core) -"cAr" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/computer/station_alert,/turf/simulated/floor,/area/engine/engineering) -"cAs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/power/monitor,/turf/simulated/floor,/area/engine/engineering) -"cAt" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/tracker_electronics,/obj/item/weapon/paper/solar,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/engine/engineering) -"cAu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/engine/engineering) -"cAv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/engine/engineering) -"cAw" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cAx" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/airlock/glass_engineering{name = "Engine Room"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/engineering) -"cAy" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/engineering) -"cAz" = (/obj/machinery/camera{c_tag = "Engineering East"},/obj/machinery/computer/security/telescreen{desc = "Used for watching the singularity chamber."; dir = 8; layer = 4; name = "Singularity Engine Telescreen"; network = list("Singularity"); pixel_x = 0; pixel_y = 30},/turf/simulated/floor,/area/engine/engineering) -"cAA" = (/obj/structure/sign/nosmoking_2{pixel_y = 32},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/engine/engineering) -"cAB" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/engine/engineering) -"cAC" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cAD" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering) -"cAE" = (/obj/machinery/power/smes{charge = 1.5e+006},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/engine/engineering) -"cAF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area) -"cAG" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/atmos,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/atmos) -"cAH" = (/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_off"; name = "Port to Filter"; on = 0},/turf/simulated/floor,/area/atmos) -"cAI" = (/obj/machinery/atmospherics/valve,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/atmos) -"cAJ" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/atmos) -"cAK" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor,/area/atmos) -"cAL" = (/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor,/area/atmos) -"cAM" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"},/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cAN" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/space,/area) -"cAO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area) -"cAP" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area) -"cAQ" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"cAR" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area) -"cAS" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"cAT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area) -"cAU" = (/obj/machinery/clonepod{biomass = 150},/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cAV" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cAW" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/area/solar/starboard) -"cAX" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk1"; icon_state = "catwalk1"},/area/solar/port) -"cAY" = (/obj/machinery/power/smes{charge = 0; chargelevel = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable,/obj/machinery/camera{c_tag = "Supermatter SMES"; dir = 4; network = list("SS13")},/turf/simulated/floor,/area/engine/reactor_core) -"cAZ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"cBa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.5; name = "Engineering Firelock"},/obj/machinery/door/airlock/maintenance_hatch{name = "Supermatter Engine Access"; req_access_txt = "11"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"cBb" = (/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.5; name = "Engineering Firelock"},/obj/machinery/door/airlock/maintenance_hatch{name = "Supermatter Monitoring"; req_access_txt = "11"},/turf/simulated/floor,/area/engine/reactor_core) -"cBc" = (/obj/machinery/power/smes,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/engine/engineering) -"cBd" = (/obj/machinery/power/terminal{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/engine/engineering) -"cBe" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cBf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cBg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_engineering{name = "Engine Room"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/engineering) -"cBh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor,/area/engine/engineering) -"cBi" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/engineering) -"cBj" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/engine/engineering) -"cBk" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/engine/engineering) -"cBl" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/machinery/door/airlock/glass_engineering{name = "Engine Room"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor,/area/engine/engineering) -"cBm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cBn" = (/obj/machinery/power/smes{charge = 1.5e+006},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering) -"cBo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area) -"cBp" = (/turf/simulated/floor/plating,/area/engine/engineering) -"cBq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor/plating,/area/engine/engineering) -"cBr" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig/atmos,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/atmos,/obj/machinery/light{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/atmos) -"cBs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/atmos) -"cBt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor,/area/atmos) -"cBu" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos) -"cBv" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor,/area/atmos) -"cBw" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/turf/simulated/floor,/area/atmos) -"cBx" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 8; icon_state = "freezer_0"; tag = ""},/turf/simulated/floor,/area/atmos) -"cBy" = (/obj/machinery/atmospherics/pipe/manifold{_color = "yellow"; dir = 8; icon_state = "manifold-y"; level = 2},/turf/simulated/floor,/area/atmos) -"cBz" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_off"; name = "Plasma to Pure"; on = 0},/turf/simulated/floor,/area/atmos) -"cBA" = (/obj/machinery/camera{c_tag = "Atmospherics East"; dir = 8; network = list("SS13")},/obj/machinery/atmospherics/valve/digital{_color = "yellow"; dir = 4; name = "Plasma Outlet Valve"},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/atmos) -"cBB" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/space,/area) -"cBC" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "tox_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) -"cBD" = (/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) -"cBE" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) -"cBF" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plating/airless,/area) -"cBG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating/airless,/area) -"cBH" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cBI" = (/obj/machinery/light/small{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cBJ" = (/obj/machinery/power/smes{charge = 0; chargelevel = 0},/obj/structure/cable,/turf/simulated/floor,/area/engine/reactor_core) -"cBK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/engine/reactor_core) -"cBL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"cBM" = (/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor,/area/engine/reactor_core) -"cBN" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the supermatter core."; name = "Supermatter Monitor"; network = list("Supermatter"); pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/engine/reactor_core) -"cBO" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor,/area/engine/reactor_core) -"cBP" = (/obj/machinery/door_control{desc = "A remote control-switch for secure storage."; id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = 0; pixel_y = 24; req_access_txt = "11"},/turf/simulated/floor,/area/engine/reactor_core) -"cBQ" = (/obj/machinery/driver_button{id = "enginecore"; pixel_x = 25},/obj/machinery/door/window/westleft,/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; pixel_x = 10; tag = ""},/turf/simulated/floor{icon_state = "freezerfloor"},/area/engine/reactor_core) -"cBR" = (/obj/machinery/light/small{dir = 8},/obj/machinery/camera{c_tag = "Engineering Secure Storage"; dir = 4; network = list("SS13")},/obj/machinery/shield_capacitor,/turf/simulated/floor/plating,/area/storage/secure) -"cBS" = (/obj/machinery/shield_capacitor,/turf/simulated/floor/plating,/area/storage/secure) -"cBT" = (/obj/effect/landmark{name = "blobstart"},/obj/machinery/shieldgen,/turf/simulated/floor/plating,/area/storage/secure) -"cBU" = (/obj/machinery/shieldgen,/turf/simulated/floor/plating,/area/storage/secure) -"cBV" = (/obj/machinery/camera{c_tag = "Engineering West"; dir = 4; network = list("SS13")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/dispenser,/turf/simulated/floor,/area/engine/engineering) -"cBW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engine/engineering) -"cBX" = (/obj/structure/closet/secure_closet/engineering_electrical,/turf/simulated/floor,/area/engine/engineering) -"cBY" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area) -"cBZ" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area) -"cCa" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area) -"cCb" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/obj/machinery/door/airlock/glass_engineering{name = "Engine Room"; req_access_txt = "10"; req_one_access_txt = "11;24"},/turf/simulated/floor/plating,/area/engine/engineering) -"cCc" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area) -"cCd" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area) -"cCe" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area) -"cCf" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area) -"cCg" = (/obj/machinery/power/smes{charge = 1.5e+006},/obj/structure/cable,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engine/engineering) -"cCh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area) -"cCi" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/engine/engineering) -"cCj" = (/obj/machinery/camera{c_tag = "Atmospherics West"; dir = 4; network = list("SS13")},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/atmos) -"cCk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/atmos) -"cCl" = (/obj/machinery/atmospherics/pipe/manifold4w/general/visible,/obj/machinery/meter,/turf/simulated/floor,/area/atmos) -"cCm" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "tox_in"; name = "Toxin Supply Control"; output_tag = "tox_out"; sensors = list("tox_sensor" = "Tank")},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/atmos) -"cCn" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area) -"cCo" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "tox_sensor"},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) -"cCp" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) -"cCq" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) -"cCr" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cCs" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk3"; icon_state = "catwalk3"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk0"; icon_state = "catwalk0"},/area/solar/starboard) -"cCt" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/lattice,/turf/space,/area) -"cCu" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/engine/reactor_core) -"cCv" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) -"cCw" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance Access"; req_access_txt = "5"},/turf/simulated/floor/plating,/area/medical/sleeper) -"cCx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/power/apc{dir = 4; name = "Disposals APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/disposal) -"cCy" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/engine/reactor_core) -"cCz" = (/obj/machinery/light,/obj/machinery/camera{c_tag = "Supermatter Monitoring"; dir = 1; network = list("SS13")},/obj/machinery/computer/general_air_control{frequency = 1443; name = "Supermatter Gas Mix Monitoring"; sensors = list("supermatter_gas" = "Supermatter Gas Mix")},/turf/simulated/floor,/area/engine/reactor_core) -"cCA" = (/obj/structure/table,/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor,/area/engine/reactor_core) -"cCB" = (/obj/machinery/shield_gen,/turf/simulated/floor/plating,/area/storage/secure) -"cCC" = (/turf/simulated/floor/plating,/area/storage/secure) -"cCD" = (/obj/machinery/door/poddoor{id = "Secure Storage"; name = "Secure Storage"},/turf/simulated/floor/plating,/area/storage/secure) -"cCE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/engine/engineering) -"cCF" = (/obj/structure/closet/radiation,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor,/area/engine/engineering) -"cCG" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/engine/engineering) -"cCH" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101; on = 1; pressure_checks = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/engine/engineering) -"cCI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/engine/engineering) -"cCJ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/camera{c_tag = "Engineering Center"; dir = 2; pixel_x = 23},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/engine/engineering) -"cCK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/engine/engineering) -"cCL" = (/obj/structure/closet/radiation,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 0},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{dir = 9; icon_state = "yellow"},/area/engine/engineering) -"cCM" = (/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/engine/engineering) -"cCN" = (/obj/machinery/camera{c_tag = "Engineering SMES"; dir = 8; network = list("SS13"); pixel_x = 0; pixel_y = 0},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/engine/engineering) -"cCO" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/firecloset,/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/engine/break_room) -"cCP" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/atmos) -"cCQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/atmos) -"cCR" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) -"cCS" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 1; icon_state = "intact_on"; name = "Gas filter (Toxins tank)"; on = 1},/turf/simulated/floor,/area/atmos) -"cCT" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/atmos) -"cCU" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area) -"cCV" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "tox_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) -"cCW" = (/obj/machinery/door/poddoor{desc = "By gods, release the hounds!"; id = "xenobioout6"; name = "Containment Release"},/turf/simulated/floor/engine,/area/toxins/xenobiology) -"cCX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.5; name = "Engineering Firelock"},/obj/machinery/door/airlock/maintenance_hatch{name = "Supermatter Engine Access"; req_access_txt = "11"},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cCY" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/turf/simulated/floor/plating,/area/storage/secure) -"cCZ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cDa" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cDb" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cDc" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cDd" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cDe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cDf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/engine/engineering) -"cDg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering) -"cDh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cDi" = (/obj/structure/particle_accelerator/end_cap,/turf/simulated/floor/plating,/area/engine/engineering) -"cDj" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/engine/engineering) -"cDk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering) -"cDl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cDm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/engine/engineering) -"cDn" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cDo" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering) -"cDp" = (/obj/machinery/door/airlock/external{name = "Engineering Escape Pod"; req_access = null; req_access_txt = "10"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/engine/engineering) -"cDq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor,/area/atmos) -"cDr" = (/obj/machinery/portable_atmospherics/pump,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos) -"cDs" = (/obj/machinery/atmospherics/binary/pump{dir = 0; icon_state = "intact_off"; name = "Port to Filter"; on = 0},/turf/simulated/floor,/area/atmos) -"cDt" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/obj/structure/stool,/turf/simulated/floor,/area/atmos) -"cDu" = (/obj/machinery/camera{c_tag = "Atmospherics Central"; dir = 8; network = list("SS13")},/turf/simulated/floor,/area/atmos) -"cDv" = (/turf/simulated/floor/plating/airless,/area/toxins/xenobiology) -"cDw" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 1; dir = 2; on = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engine/reactor_core) -"cDx" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 1; dir = 2; on = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cDy" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/engine/reactor_core) -"cDz" = (/obj/machinery/light{dir = 1},/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/engine/reactor_core) -"cDA" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/engine/reactor_core) -"cDB" = (/obj/machinery/power/apc{dir = 1; name = "Engine Room APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cDC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cDD" = (/obj/machinery/camera{c_tag = "Supermatter Core"; dir = 2; network = list("Supermatter")},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = 29},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cDE" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cDF" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cDG" = (/turf/simulated/floor/plating,/area/engine/reactor_core) -"cDH" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/plating,/area/engine/reactor_core) -"cDI" = (/obj/machinery/the_singularitygen{anchored = 0},/turf/simulated/floor/plating,/area/storage/secure) -"cDJ" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/secure) -"cDK" = (/obj/machinery/power/emitter,/turf/simulated/floor/plating,/area/storage/secure) -"cDL" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) -"cDM" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "engineering_west_airlock"; name = "interior access button"; pixel_x = -20; pixel_y = -20; req_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) -"cDN" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = -32},/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) -"cDO" = (/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) -"cDP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/clothing/glasses/meson,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) -"cDQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/stool,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) -"cDR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door_control{id = "Singularity"; name = "Shutters Control"; pixel_x = 25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) -"cDS" = (/obj/machinery/door_control{id = "Singularity"; name = "Shutters Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering) -"cDT" = (/obj/machinery/particle_accelerator/control_box,/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/engineering) -"cDU" = (/obj/structure/particle_accelerator/fuel_chamber,/turf/simulated/floor/plating,/area/engine/engineering) -"cDV" = (/obj/machinery/door_control{id = "Singularity"; name = "Shutters Control"; pixel_x = 25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering) -"cDW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door_control{id = "Singularity"; name = "Shutters Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "10"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) -"cDX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) -"cDY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) -"cDZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) -"cEa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) -"cEb" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "engineering_east_airlock"; name = "interior access button"; pixel_x = -20; pixel_y = -20; req_access_txt = "10;13"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"cEc" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/engine/engineering) -"cEd" = (/obj/machinery/space_heater,/turf/simulated/floor,/area/atmos) -"cEe" = (/obj/machinery/space_heater,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos) -"cEf" = (/obj/machinery/atmospherics/pipe/manifold{icon_state = "manifold"; level = 2},/obj/item/weapon/cigbutt,/turf/simulated/floor,/area/atmos) -"cEg" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 8; icon_state = "freezer_0"; tag = ""},/turf/simulated/floor,/area/atmos) -"cEh" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_off"; name = "CO2 to Pure"; on = 0},/turf/simulated/floor,/area/atmos) -"cEi" = (/obj/machinery/atmospherics/valve/digital{_color = "yellow"; dir = 4; name = "CO2 Outlet Valve"},/turf/simulated/floor{dir = 5; icon_state = "yellow"},/area/atmos) -"cEj" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; dir = 4; icon_state = "intact-y"; level = 2},/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/space,/area) -"cEk" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "co2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos) -"cEl" = (/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos) -"cEm" = (/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; dir = 8; icon_state = "manifold-c"; initialize_directions = 11; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cEn" = (/obj/machinery/atmospherics/pipe/manifold{_color = "cyan"; dir = 4; icon_state = "manifold-c"; initialize_directions = 11; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cEo" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cEp" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cEq" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cEr" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cEs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cEt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cEu" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cEv" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cEw" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cEx" = (/obj/machinery/field_generator,/turf/simulated/floor/plating,/area/storage/secure) -"cEy" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/plating,/area/storage/secure) -"cEz" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/wall,/area/engine/engineering) -"cEA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_west_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/engine/engineering) -"cEB" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/engine/engineering) -"cEC" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering) -"cED" = (/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/crowbar,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering) -"cEE" = (/obj/structure/stool,/turf/simulated/floor,/area/engine/engineering) -"cEF" = (/obj/structure/particle_accelerator/power_box,/turf/simulated/floor/plating,/area/engine/engineering) -"cEG" = (/obj/item/weapon/screwdriver,/turf/simulated/floor,/area/engine/engineering) -"cEH" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_east_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering) -"cEI" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/wall,/area) -"cEJ" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r"; level = 2},/obj/machinery/power/apc{dir = 8; name = "Atmospherics APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/atmos) -"cEK" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/stool/bed/chair,/turf/simulated/floor,/area/atmos) -"cEL" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) -"cEM" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r"; level = 2},/turf/simulated/floor,/area/atmos) -"cEN" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos) -"cEO" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 6; icon_state = "intact-c"; initialize_directions = 6; level = 2},/turf/simulated/floor,/area/atmos) -"cEP" = (/obj/machinery/atmospherics/binary/pump{dir = 4; icon_state = "intact_off"; name = "N2 to Pure"; on = 0},/turf/simulated/floor,/area/atmos) -"cEQ" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "co2_in"; name = "Carbon Dioxide Supply Control"; output_tag = "co2_out"; sensors = list("co2_sensor" = "Tank")},/turf/simulated/floor{dir = 4; icon_state = "yellow"},/area/atmos) -"cER" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "co2_sensor"},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos) -"cES" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos) -"cET" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos) -"cEU" = (/turf/simulated/floor/plating/airless,/obj/structure/cable,/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk1"; icon_state = "catwalk1"},/area/solar/starboard) -"cEV" = (/turf/space,/area/vox_station/southwest_solars) -"cEW" = (/obj/machinery/atmospherics/binary/volume_pump/on{dir = 1},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cEX" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cEY" = (/obj/machinery/power/rad_collector{anchored = 0; dir = 2},/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/reactor_core) -"cEZ" = (/obj/machinery/power/rad_collector,/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/reactor_core) -"cFa" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cFb" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "engineering_west_pump"},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor/plating,/area/engine/engineering) -"cFc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32},/turf/simulated/floor/plating,/area/engine/engineering) -"cFd" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/engine/engineering) -"cFe" = (/obj/structure/cable,/obj/machinery/power/rad_collector{anchored = 1},/turf/simulated/floor/plating,/area/engine/engineering) -"cFf" = (/obj/structure/cable,/obj/machinery/power/rad_collector{anchored = 1},/obj/item/weapon/tank/plasma,/turf/simulated/floor/plating,/area/engine/engineering) -"cFg" = (/obj/machinery/power/rad_collector{anchored = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area/engine/engineering) -"cFh" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering) -"cFi" = (/obj/structure/particle_accelerator/particle_emitter/left,/turf/simulated/floor/plating,/area/engine/engineering) -"cFj" = (/obj/structure/particle_accelerator/particle_emitter/center,/turf/simulated/floor/plating,/area/engine/engineering) -"cFk" = (/obj/structure/particle_accelerator/particle_emitter/right,/turf/simulated/floor/plating,/area/engine/engineering) -"cFl" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/engine/engineering) -"cFm" = (/turf/simulated/wall/r_wall,/area/engine/engineering) -"cFn" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering) -"cFo" = (/obj/machinery/light/small{dir = 4},/obj/structure/closet/walllocker/emerglocker/north,/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/engine/engineering) -"cFp" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/obj/machinery/door/airlock/external{name = "Engineering Escape Pod"; req_access = null; req_access_txt = "24"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/atmos) -"cFq" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/structure/stool,/turf/simulated/floor,/area/atmos) -"cFr" = (/obj/structure/table,/obj/machinery/media/receiver/boombox,/turf/simulated/floor,/area/atmos) -"cFs" = (/obj/structure/stool,/turf/simulated/floor,/area/atmos) -"cFt" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) -"cFu" = (/obj/machinery/atmospherics/trinary/mixer{dir = 4; icon_state = "intact_on"; name = "Gas mixer (N2/O2)"; node1_concentration = 0.8; node2_concentration = 0.2; on = 1; pixel_x = 0; pixel_y = 0; target_pressure = 4500},/turf/simulated/floor,/area/atmos) -"cFv" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_off"; name = "O2 to Pure"; on = 0},/turf/simulated/floor,/area/atmos) -"cFw" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 1; filter_type = 3; icon_state = "intact_on"; name = "Gas filter (CO2 tank)"; on = 1},/turf/simulated/floor,/area/atmos) -"cFx" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/turf/simulated/floor{dir = 6; icon_state = "yellow"},/area/atmos) -"cFy" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "co2_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine{carbon_dioxide = 50000; name = "co2 floor"; nitrogen = 0; oxygen = 0},/area/atmos) -"cFz" = (/obj/machinery/door_control{id = "EngineVent"; name = "Engine Ventillatory Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "10"},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/engine/reactor_core) -"cFA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cFB" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 6; icon_state = "intact-b"; initialize_directions = 6; level = 2; name = "pipe"},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cFC" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 9; icon_state = "intact-b-f"; level = 2; name = "pipe"},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cFD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "engineering_west_pump"; tag_exterior_door = "engineering_west_outer"; frequency = 1379; id_tag = "engineering_west_airlock"; tag_interior_door = "engineering_west_inner"; pixel_x = 25; req_access_txt = "10;13"; tag_chamber_sensor = "engineering_west_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "engineering_west_sensor"; pixel_x = 25; pixel_y = 12},/turf/simulated/floor/plating,/area/engine/engineering) -"cFE" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area) -"cFF" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area) -"cFG" = (/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engine/engineering) -"cFH" = (/obj/item/weapon/wirecutters,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) -"cFI" = (/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/engine/engineering) -"cFJ" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/turf/simulated/floor/plating,/area) -"cFK" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "engineering_east_pump"; tag_exterior_door = "engineering_east_outer"; frequency = 1379; id_tag = "engineering_east_airlock"; tag_interior_door = "engineering_east_inner"; pixel_x = -25; req_access_txt = "10;13"; tag_chamber_sensor = "engineering_east_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "engineering_east_sensor"; pixel_x = -25; pixel_y = 12},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering) -"cFL" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "engineering_east_pump"},/turf/simulated/floor/plating,/area/engine/engineering) -"cFM" = (/obj/machinery/camera{c_tag = "Atmospherics South West"; dir = 4; network = list("SS13")},/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/structure/stool,/turf/simulated/floor,/area/atmos) -"cFN" = (/obj/structure/table,/obj/item/pipe,/obj/item/weapon/wrench,/turf/simulated/floor,/area/atmos) -"cFO" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos) -"cFP" = (/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/atmos) -"cFQ" = (/turf/space,/area/xenos_station/southeast) -"cFR" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cFS" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 10; icon_state = "intact-c"; initialize_directions = 10; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cFT" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cFU" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/emitter{anchored = 1; state = 2},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cFV" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cFW" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 9; icon_state = "intact-r"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cFX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_west_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/engine/engineering) -"cFY" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cFZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cGa" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cGb" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_east_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/engine/engineering) -"cGc" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r"; level = 2},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/atmos) -"cGd" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos) -"cGe" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 4; filter_type = 2; icon_state = "intact_on"; name = "Gas filter (N2 tank)"; on = 1},/turf/simulated/floor,/area/atmos) -"cGf" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos) -"cGg" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/turf/simulated/floor,/area/atmos) -"cGh" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 4; filter_type = 1; icon_state = "intact_on"; name = "Gas filter (O2 tank)"; on = 1},/turf/simulated/floor,/area/atmos) -"cGi" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; initialize_directions = 12; level = 2},/turf/simulated/floor,/area/atmos) -"cGj" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 9; icon_state = "intact-g"; level = 2},/turf/simulated/floor,/area/atmos) -"cGk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cGl" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 6},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cGm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cGn" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cGo" = (/obj/machinery/atmospherics/pipe/manifold{_color = "yellow"; dir = 1; icon_state = "manifold-y"; level = 2},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cGp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/tvalve/digital{dir = 8; icon_state = "tvalve1"; state = 1},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/reactor_core) -"cGq" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/reactor_core) -"cGr" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/reactor_core) -"cGs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/engine/reactor_core) -"cGt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 8; filter_type = 1; on = 1; req_access = list(10); target_pressure = 4500},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cGu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 8; on = 1; req_access = list(10); target_pressure = 4500},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cGv" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 10},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cGw" = (/obj/structure/grille,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"cGx" = (/obj/item/weapon/extinguisher,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "engineering_west_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = 20; req_access_txt = "10;13"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cGy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera/emp_proof{c_tag = "Singularity North-West"; dir = 2; network = list("Singularity"); pixel_x = 20; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cGz" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cGA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cGB" = (/obj/machinery/camera/emp_proof{c_tag = "Singularity North East"; dir = 2; network = list("Singularity")},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cGC" = (/obj/item/weapon/wrench,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "engineering_east_airlock"; name = "exterior access button"; pixel_x = -20; pixel_y = 20; req_access_txt = "10;13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cGD" = (/obj/structure/grille,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"cGE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area/engine/engineering) -"cGF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/atmos) -"cGG" = (/turf/simulated/floor{icon_state = "red"; dir = 10},/area/atmos) -"cGH" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2_in"; name = "Nitrogen Supply Control"; output_tag = "n2_out"; sensors = list("n2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/turf/simulated/floor{icon_state = "red"},/area/atmos) -"cGI" = (/obj/machinery/atmospherics/valve/digital{name = "Nitrogen Outlet Valve"; openDuringInit = 1},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/atmos) -"cGJ" = (/obj/machinery/light,/obj/machinery/atmospherics/valve,/turf/simulated/floor,/area/atmos) -"cGK" = (/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/atmos) -"cGL" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; output_tag = "o2_out"; sensors = list("o2_sensor" = "Tank")},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/atmos) -"cGM" = (/obj/machinery/atmospherics/valve/digital{name = "Oxygen Outlet Valve"; openDuringInit = 1},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/atmos) -"cGN" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"; level = 2},/turf/simulated/floor{icon_state = "arrival"; dir = 10},/area/atmos) -"cGO" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/turf/simulated/floor{icon_state = "arrival"},/area/atmos) -"cGP" = (/obj/machinery/camera{c_tag = "Atmospherics South East"; dir = 1},/obj/machinery/atmospherics/valve/digital{name = "Mixed Air Outlet Valve"; openDuringInit = 1},/turf/simulated/floor{icon_state = "arrival"; dir = 6},/area/atmos) -"cGQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/yellow/visible,/turf/simulated/floor/plating,/area/engine/reactor_core) -"cGR" = (/obj/machinery/atmospherics/binary/volume_pump/on,/turf/simulated/floor/plating,/area/engine/reactor_core) -"cGS" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/reactor_core) -"cGT" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/reactor_core) -"cGU" = (/obj/machinery/atmospherics/unary/vent_scrubber,/turf/simulated/floor/plating,/area/engine/reactor_core) -"cGV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area) -"cGW" = (/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cGX" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"},/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cGY" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cGZ" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 9; icon_state = "intact-c"; level = 2},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cHa" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cHb" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cHc" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "green"; dir = 9; icon_state = "intact-g"; level = 2},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"cHd" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-c"; level = 2; _color = "cyan"},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cHe" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/reactor_core) -"cHf" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/meter{name = "Gas Mix In"},/obj/machinery/door/window/brigdoor{req_access = list(56)},/obj/machinery/door/window/brigdoor{dir = 8; req_access = list(56)},/turf/simulated/floor/engine,/area/engine/reactor_core) -"cHg" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1443; icon_state = "on"; id = "supermatter_gas_in"; on = 1},/turf/simulated/floor/engine,/area/engine/reactor_core) -"cHh" = (/obj/machinery/air_sensor{frequency = 1443; id_tag = "supermatter_gas"; output = 63},/turf/simulated/floor/engine,/area/engine/reactor_core) -"cHi" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; on = 1; pressure_checks = 1; pump_direction = 0},/turf/simulated/floor/engine,/area/engine/reactor_core) -"cHj" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/machinery/meter{name = "Gas Mix Out"},/obj/machinery/door/window/brigdoor{req_access = list(56)},/obj/machinery/door/window/brigdoor{dir = 8; req_access = list(56)},/turf/simulated/floor/engine,/area/engine/reactor_core) -"cHk" = (/obj/machinery/atmospherics/binary/volume_pump/on{dir = 4; name = "Engine Out"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/engine/reactor_core) -"cHl" = (/obj/machinery/atmospherics/pipe/manifold{_color = "yellow"; icon_state = "manifold-y"; level = 2},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cHm" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cHn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 9},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cHo" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"cHp" = (/obj/machinery/power/emitter{anchored = 1; dir = 4; state = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cHq" = (/obj/machinery/field_generator{anchored = 1; state = 2},/turf/simulated/floor/plating/airless,/area) -"cHr" = (/obj/machinery/power/emitter{anchored = 1; dir = 8; state = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cHs" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"cHt" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/turf/space,/area) -"cHu" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/turf/space,/area) -"cHv" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/space,/area) -"cHw" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{dir = 4},/turf/space,/area) -"cHx" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area) -"cHy" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area) -"cHz" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area) -"cHA" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/space,/area) -"cHB" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 9},/turf/space,/area) -"cHC" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/yellow/visible,/turf/simulated/floor/plating,/area/engine/reactor_core) -"cHD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cHE" = (/obj/machinery/power/emitter{anchored = 1; dir = 4; state = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cHF" = (/obj/machinery/power/supermatter{layer = 4},/obj/machinery/mass_driver{id = "enginecore"},/turf/simulated/floor/greengrid,/area/engine/reactor_core) -"cHG" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/reactor_core) -"cHH" = (/obj/machinery/power/emitter{anchored = 1; dir = 8; state = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cHI" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/engine/reactor_core) -"cHJ" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"cHK" = (/obj/item/device/multitool,/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cHL" = (/obj/item/weapon/wirecutters,/obj/structure/lattice,/turf/space,/area) -"cHM" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/grille,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/atmos) -"cHN" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/grille,/obj/machinery/meter{frequency = 1443; id = "mair_in_meter"; name = "Mixed Air Tank In"},/turf/simulated/wall/r_wall,/area/atmos) -"cHO" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/grille,/obj/machinery/meter{frequency = 1443; id = "mair_out_meter"; name = "Mixed Air Tank Out"},/turf/simulated/wall/r_wall,/area/atmos) -"cHP" = (/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/plating,/area/engine/reactor_core) -"cHQ" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/engine/reactor_core) -"cHR" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 5; dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/engine/reactor_core) -"cHS" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/engine/reactor_core) -"cHT" = (/turf/simulated/floor/engine,/area/engine/reactor_core) -"cHU" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/engine/reactor_core) -"cHV" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area) -"cHW" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area) -"cHX" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area) -"cHY" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area) -"cHZ" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "on"; id = "n2_in"; on = 1},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos) -"cIa" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "n2_sensor"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos) -"cIb" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos) -"cIc" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1441; icon_state = "on"; id = "o2_in"; on = 1},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos) -"cId" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "o2_sensor"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos) -"cIe" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "o2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos) -"cIf" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1443; icon_state = "on"; id = "air_in"; on = 1},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) -"cIg" = (/obj/machinery/air_sensor{frequency = 1443; id_tag = "air_sensor"; output = 7},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) -"cIh" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; external_pressure_bound = 0; frequency = 1443; icon_state = "in"; id_tag = "air_out"; internal_pressure_bound = 2000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) -"cIi" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "EngineVent"; name = "Engine Core Vent"; p_open = 0},/turf/simulated/floor/engine,/area) -"cIj" = (/obj/item/weapon/crowbar,/turf/space,/area) -"cIk" = (/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos) -"cIl" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos) -"cIm" = (/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos) -"cIn" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos) -"cIo" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) -"cIp" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) -"cIq" = (/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) -"cIr" = (/turf/simulated/floor/engine,/area) -"cIs" = (/obj/machinery/light{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area) -"cIt" = (/obj/item/weapon/wrench,/turf/simulated/floor/plating/airless,/area) -"cIu" = (/obj/machinery/the_singularitygen{anchored = 1},/turf/simulated/floor/plating/airless,/area) -"cIv" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area) -"cIw" = (/obj/machinery/light/small,/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/atmos) -"cIx" = (/obj/machinery/light/small,/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/atmos) -"cIy" = (/obj/machinery/light/small,/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) -"cIz" = (/obj/item/weapon/weldingtool,/turf/space,/area) -"cIA" = (/turf/space,/area/syndicate_station/southwest) -"cIB" = (/obj/item/device/radio,/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cIC" = (/obj/structure/lattice,/obj/item/clothing/head/hardhat,/turf/space,/area) -"cID" = (/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{id_tag = "escape_pod_5_berth"; pixel_x = 25; pixel_y = -5; tag_door = "escape_pod_5_berth_hatch"},/turf/simulated/floor/plating,/area/engine/engineering) -"cIE" = (/turf/space,/area/syndicate_station/southeast) -"cIF" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"cIG" = (/obj/machinery/power/emitter{anchored = 1; dir = 4; state = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/camera/emp_proof{c_tag = "Singularity West"; dir = 4; network = list("Singularity")},/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cIH" = (/obj/item/weapon/screwdriver,/obj/structure/lattice,/turf/space,/area) -"cII" = (/obj/machinery/power/emitter{anchored = 1; dir = 8; state = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/camera/emp_proof{c_tag = "Singularity East"; dir = 8; network = list("Singularity")},/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cIJ" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"cIK" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_5_berth_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/engine/engineering) -"cIL" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"cIM" = (/obj/structure/grille,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area) -"cIN" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"cIO" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/escape_pod5/station) -"cIP" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/escape_pod5/station) -"cIQ" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/shuttle/escape_pod5/station) -"cIR" = (/obj/machinery/camera/xray{c_tag = "Engineering Escape Pod"; dir = 4},/turf/simulated/floor/plating,/area/engine/engineering) -"cIS" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_5_hatch"; locked = 1; name = "Escape Pod"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) -"cIT" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) -"cIU" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{id_tag = "escape_pod_5"; pixel_x = 0; pixel_y = -25; tag_door = "escape_pod_5_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape_pod5/station) -"cIV" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/escape_pod5/station) -"cIW" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/engine/engineering) -"cIX" = (/turf/simulated/floor/plating,/obj/structure/shuttle/engine/propulsion/burst{dir = 4},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/escape_pod5/station) -"cIY" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/shuttle/escape_pod5/station) -"cIZ" = (/turf/space,/area/syndicate_station/south) -"cJa" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns15,/area) -"cJb" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns9,/area) -"cJc" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns5,/area) -"cJd" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns12,/area) -"cJe" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns8,/area) -"cJf" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns3,/area) -"cJg" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns6,/area) -"cJh" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns7,/area) -"cJi" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns4,/area) -"cJj" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns14,/area) -"cJk" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns1,/area) -"cJl" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns11,/area) -"cJm" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns13,/area) -"cJn" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns2,/area) -"cJo" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns10,/area) -"cJp" = (/turf/space/transit/east/shuttlespace_ew13,/area) -"cJq" = (/turf/space/transit/east/shuttlespace_ew14,/area) -"cJr" = (/turf/space/transit/east/shuttlespace_ew15,/area) -"cJs" = (/turf/space/transit/east/shuttlespace_ew1,/area) -"cJt" = (/turf/space/transit/east/shuttlespace_ew2,/area) -"cJu" = (/turf/space/transit/east/shuttlespace_ew3,/area) -"cJv" = (/turf/space/transit/east/shuttlespace_ew4,/area) -"cJw" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew5,/area) -"cJx" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew6,/area) -"cJy" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew7,/area) -"cJz" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew8,/area) -"cJA" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew9,/area) -"cJB" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew10,/area) -"cJC" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew11,/area) -"cJD" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew12,/area) -"cJE" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew13,/area) -"cJF" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew14,/area) -"cJG" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew15,/area) -"cJH" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew1,/area) -"cJI" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew2,/area) -"cJJ" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew3,/area) -"cJK" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/east/shuttlespace_ew4,/area) -"cJL" = (/turf/space{tag = "icon-black"; icon_state = "black"},/area) -"cJM" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area) -"cJN" = (/turf/unsimulated/wall{tag = "icon-iron6"; icon_state = "iron6"},/area) -"cJO" = (/obj/structure/window/reinforced,/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area) -"cJP" = (/turf/unsimulated/wall{tag = "icon-iron14"; icon_state = "iron14"},/area) -"cJQ" = (/turf/unsimulated/wall{tag = "icon-iron10"; icon_state = "iron10"},/area) -"cJR" = (/turf/space/transit/north/shuttlespace_ns8,/area) -"cJS" = (/turf/space/transit/north/shuttlespace_ns4,/area) -"cJT" = (/turf/space/transit/north/shuttlespace_ns11,/area) -"cJU" = (/turf/space/transit/north/shuttlespace_ns7,/area) -"cJV" = (/turf/space/transit/north/shuttlespace_ns2,/area) -"cJW" = (/turf/space/transit/north/shuttlespace_ns5,/area) -"cJX" = (/turf/space/transit/north/shuttlespace_ns6,/area) -"cJY" = (/turf/space/transit/north/shuttlespace_ns14,/area) -"cJZ" = (/turf/space/transit/north/shuttlespace_ns3,/area) -"cKa" = (/turf/space/transit/north/shuttlespace_ns13,/area) -"cKb" = (/turf/space/transit/north/shuttlespace_ns15,/area) -"cKc" = (/turf/space/transit/north/shuttlespace_ns10,/area) -"cKd" = (/turf/space/transit/north/shuttlespace_ns12,/area) -"cKe" = (/turf/space/transit/north/shuttlespace_ns1,/area) -"cKf" = (/turf/space/transit/north/shuttlespace_ns9,/area) -"cKg" = (/turf/space/transit/east/shuttlespace_ew5,/area) -"cKh" = (/turf/space/transit/east/shuttlespace_ew6,/area) -"cKi" = (/turf/space/transit/east/shuttlespace_ew7,/area) -"cKj" = (/turf/space/transit/east/shuttlespace_ew8,/area) -"cKk" = (/turf/space/transit/east/shuttlespace_ew10,/area) -"cKl" = (/turf/space/transit/east/shuttlespace_ew11,/area) -"cKm" = (/turf/space/transit/east/shuttlespace_ew12,/area) -"cKn" = (/turf/space/transit/east/shuttlespace_ew9,/area) -"cKo" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/wall{tag = "icon-iron3"; icon_state = "iron3"},/area) -"cKp" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_desert) -"cKq" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid6"; icon_state = "asteroid6"; dir = 2},/area/holodeck/source_desert) -"cKr" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{tag = "icon-iron3"; icon_state = "iron3"},/area) -"cKs" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) -"cKt" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) -"cKu" = (/obj/structure/rack,/obj/item/clothing/under/dress/dress_saloon,/obj/item/clothing/head/hairflower,/turf/simulated/floor/holofloor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) -"cKv" = (/obj/effect/landmark/costume,/obj/structure/rack,/turf/simulated/floor/holofloor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) -"cKw" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife) -"cKx" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_plating) -"cKy" = (/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Burn-Mix Floor"; nitrogen = 0; oxygen = 2500; temperature = 370; toxins = 5000},/area/holodeck/source_burntest) -"cKz" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_emptycourt) -"cKA" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_emptycourt) -"cKB" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_emptycourt) -"cKC" = (/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/wall{tag = "icon-iron3"; icon_state = "iron3"},/area) -"cKD" = (/obj/structure/flora/ausbushes/fullgrass,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_desert) -"cKE" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid8 (EAST)"; icon_state = "asteroid8"; dir = 4},/area/holodeck/source_desert) -"cKF" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) -"cKG" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor/grass,/area/holodeck/source_picnicarea) -"cKH" = (/turf/simulated/floor/holofloor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/holodeck/source_theatre) -"cKI" = (/obj/effect/landmark{name = "Holocarp Spawn"},/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Holodeck Projector Floor"},/area/holodeck/source_wildlife) -"cKJ" = (/obj/effect/landmark{name = "Atmospheric Test Start"},/turf/simulated/floor/holofloor{icon_state = "engine"; name = "Burn-Mix Floor"; nitrogen = 0; oxygen = 2500; temperature = 370; toxins = 5000},/area/holodeck/source_burntest) -"cKK" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_emptycourt) -"cKL" = (/turf/simulated/floor/holofloor,/area/holodeck/source_emptycourt) -"cKM" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_emptycourt) -"cKN" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid2 (EAST)"; icon_state = "asteroid2"; dir = 4},/area/holodeck/source_desert) -"cKO" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding2 (EAST)"; icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea) -"cKP" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding2 (EAST)"; icon_state = "wood_siding2"; dir = 4},/area/holodeck/source_picnicarea) -"cKQ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area) -"cKR" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area) -"cKS" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area) -"cKT" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area) -"cKU" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area) -"cKV" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area) -"cKW" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area) -"cKX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area) -"cKY" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area) -"cKZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area) -"cLa" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_desert) -"cLb" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid11 (EAST)"; icon_state = "asteroid11"; dir = 4},/area/holodeck/source_desert) -"cLc" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) -"cLd" = (/turf/simulated/floor/holofloor{tag = "icon-wood (EAST)"; icon_state = "wood"; dir = 4},/turf/simulated/floor/holofloor{tag = "icon-siding1"; icon_state = "siding1"; dir = 2},/area/holodeck/source_theatre) -"cLe" = (/turf/simulated/floor/holofloor{tag = "icon-rampbottom"; icon_state = "rampbottom"; dir = 2},/area/holodeck/source_theatre) -"cLf" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area) -"cLg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area) -"cLh" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area) -"cLi" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area) -"cLj" = (/turf/space,/area/xenos_station/transit) -"cLk" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid7"; icon_state = "asteroid7"; dir = 2},/area/holodeck/source_desert) -"cLl" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding5"; icon_state = "wood_siding5"; dir = 2},/area/holodeck/source_picnicarea) -"cLm" = (/obj/structure/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) -"cLn" = (/obj/structure/table/woodentable,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/holofloor{tag = "icon-asteroid"; icon_state = "asteroid"; dir = 2},/area/holodeck/source_picnicarea) -"cLo" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding9"; icon_state = "wood_siding9"; dir = 2},/area/holodeck/source_picnicarea) -"cLp" = (/turf/simulated/floor/holofloor{tag = "icon-wood (EAST)"; icon_state = "wood"; dir = 4},/area/holodeck/source_theatre) -"cLq" = (/turf/simulated/floor/holofloor{tag = "icon-carpet6-2 (EAST)"; icon_state = "carpet6-2"; dir = 4},/area/holodeck/source_theatre) -"cLr" = (/turf/simulated/floor/holofloor{tag = "icon-carpet14-10 (EAST)"; icon_state = "carpet14-10"; dir = 4},/area/holodeck/source_theatre) -"cLs" = (/turf/simulated/floor/holofloor{tag = "icon-carpet10-8 (EAST)"; icon_state = "carpet10-8"; dir = 4},/area/holodeck/source_theatre) -"cLt" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area) -"cLu" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape/transit) -"cLv" = (/turf/space/transit/north/shuttlespace_ns4,/area/shuttle/escape/transit) -"cLw" = (/turf/space/transit/north/shuttlespace_ns6,/area/shuttle/escape/transit) -"cLx" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area) -"cLy" = (/turf/unsimulated/wall,/area/prison/solitary) -"cLz" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid5"; icon_state = "asteroid5"; dir = 2},/area/holodeck/source_desert) -"cLA" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding6"; icon_state = "wood_siding6"; dir = 2},/area/holodeck/source_picnicarea) -"cLB" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/holofloor{tag = "icon-wood_siding10"; icon_state = "wood_siding10"; dir = 2},/area/holodeck/source_picnicarea) -"cLC" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-3 (EAST)"; icon_state = "carpet7-3"; dir = 4},/area/holodeck/source_theatre) -"cLD" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-15 (EAST)"; icon_state = "carpet15-15"; dir = 4},/area/holodeck/source_theatre) -"cLE" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-12 (EAST)"; icon_state = "carpet11-12"; dir = 4},/area/holodeck/source_theatre) -"cLF" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_emptycourt) -"cLG" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_emptycourt) -"cLH" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area) -"cLI" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape/transit) -"cLJ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area) -"cLK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew13,/area) -"cLL" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew7,/area) -"cLM" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew8,/area) -"cLN" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew9,/area) -"cLO" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew10,/area) -"cLP" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew3,/area) -"cLQ" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/wall,/area/prison/solitary) -"cLR" = (/obj/structure/stool/bed,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"cLS" = (/turf/unsimulated/floor{icon_state = "platingdmg3"},/area/prison/solitary) -"cLT" = (/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"cLU" = (/obj/effect/decal/cleanable/cobweb2,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"cLV" = (/obj/structure/stool/bed,/turf/unsimulated/floor{icon_state = "floorscorched2"},/area/prison/solitary) -"cLW" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"cLX" = (/turf/simulated/floor/holofloor{tag = "icon-carpet2-0 (EAST)"; icon_state = "carpet2-0"; dir = 4},/area/holodeck/source_theatre) -"cLY" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape/transit) -"cLZ" = (/turf/space/transit/north/shuttlespace_ns3,/area/shuttle/escape/transit) -"cMa" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape/transit) -"cMb" = (/turf/space/transit/north/shuttlespace_ns2,/area/shuttle/escape/transit) -"cMc" = (/turf/space/transit/east/shuttlespace_ew2,/area/shuttle/escape_pod5/transit) -"cMd" = (/turf/space/transit/east/shuttlespace_ew3,/area/shuttle/escape_pod5/transit) -"cMe" = (/turf/space/transit/east/shuttlespace_ew4,/area/shuttle/escape_pod5/transit) -"cMf" = (/turf/space/transit/east/shuttlespace_ew5,/area/shuttle/escape_pod5/transit) -"cMg" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; nostop = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew13,/area) -"cMh" = (/obj/effect/landmark{name = "prisonwarp"},/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"cMi" = (/turf/unsimulated/floor{icon_state = "floorgrime"},/area/prison/solitary) -"cMj" = (/turf/unsimulated/floor{icon_state = "panelscorched"},/area/prison/solitary) -"cMk" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding1"; icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea) -"cMl" = (/turf/simulated/floor/holofloor/grass,/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/holofloor{tag = "icon-wood_siding1"; icon_state = "wood_siding1"; dir = 2},/area/holodeck/source_picnicarea) -"cMm" = (/turf/simulated/floor/holofloor{tag = "icon-carpet3-0 (EAST)"; icon_state = "carpet3-0"; dir = 4},/area/holodeck/source_theatre) -"cMn" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area) -"cMo" = (/turf/space/transit/north/shuttlespace_ns13,/area/shuttle/escape/transit) -"cMp" = (/turf/space/transit/north/shuttlespace_ns7,/area/shuttle/escape/transit) -"cMq" = (/turf/space/transit/north/shuttlespace_ns14,/area/shuttle/escape/transit) -"cMr" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area) -"cMs" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew2,/area) -"cMt" = (/turf/space/transit/east/shuttlespace_ew14,/area/shuttle/escape_pod5/transit) -"cMu" = (/turf/space/transit/east/shuttlespace_ew15,/area/shuttle/escape_pod5/transit) -"cMv" = (/turf/space/transit/east/shuttlespace_ew1,/area/shuttle/escape_pod5/transit) -"cMw" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew7,/area) -"cMx" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid1 (EAST)"; icon_state = "asteroid1"; dir = 4},/area/holodeck/source_desert) -"cMy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area) -"cMz" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape/transit) -"cMA" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area) -"cMB" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew12,/area) -"cMC" = (/obj/structure/stool/bed,/turf/unsimulated/floor{icon_state = "panelscorched"},/area/prison/solitary) -"cMD" = (/obj/structure/stool/bed,/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{name = "plating"},/area/prison/solitary) -"cME" = (/turf/simulated/floor/holofloor{tag = "icon-asteroid3 (EAST)"; icon_state = "asteroid3"; dir = 4},/area/holodeck/source_desert) -"cMF" = (/turf/simulated/floor/holofloor{tag = "icon-carpet1-0 (EAST)"; icon_state = "carpet1-0"; dir = 4},/area/holodeck/source_theatre) -"cMG" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet5-1 (EAST)"; icon_state = "carpet5-1"; dir = 4},/area/holodeck/source_theatre) -"cMH" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet13-5 (EAST)"; icon_state = "carpet13-5"; dir = 4},/area/holodeck/source_theatre) -"cMI" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet9-4 (EAST)"; icon_state = "carpet9-4"; dir = 4},/area/holodeck/source_theatre) -"cMJ" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_emptycourt) -"cMK" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_emptycourt) -"cML" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_emptycourt) -"cMM" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area) -"cMN" = (/turf/space/transit/north/shuttlespace_ns1,/area/shuttle/escape/transit) -"cMO" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape/transit) -"cMP" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew15,/area) -"cMQ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew4,/area) -"cMR" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew5,/area) -"cMS" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew6,/area) -"cMT" = (/turf/unsimulated/floor{icon_state = "platingdmg1"},/area/prison/solitary) -"cMU" = (/turf/unsimulated/floor{icon_state = "floorscorched2"},/area/prison/solitary) -"cMV" = (/turf/unsimulated/wall{tag = "icon-iron3"; icon_state = "iron3"},/area) -"cMW" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area) -"cMX" = (/turf/unsimulated/wall,/area) -"cMY" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area) -"cMZ" = (/turf/unsimulated/wall{tag = "icon-iron11"; icon_state = "iron11"},/area) -"cNa" = (/turf/space/transit/north/shuttlespace_ns15,/area/shuttle/escape/transit) -"cNb" = (/turf/simulated/floor/holofloor{tag = "icon-1 (NORTHEAST)"; icon_state = "1"; dir = 5},/area/holodeck/source_space) -"cNc" = (/turf/simulated/floor/holofloor{tag = "icon-17 (NORTHEAST)"; icon_state = "17"; dir = 5},/area/holodeck/source_space) -"cNd" = (/turf/simulated/floor/holofloor{tag = "icon-22 (NORTHEAST)"; icon_state = "22"; dir = 5},/area/holodeck/source_space) -"cNe" = (/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield) -"cNf" = (/turf/simulated/floor/holofloor{tag = "icon-grimy"; icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall) -"cNg" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_basketball) -"cNh" = (/obj/structure/holohoop,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball) -"cNi" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_basketball) -"cNj" = (/turf/simulated/floor/beach/sand,/area/holodeck/source_beach) -"cNk" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = -24},/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"cNl" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/weapon/holo/esword/red,/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"cNm" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"cNn" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 9; icon_state = "red"},/area/holodeck/source_boxingcourt) -"cNo" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_boxingcourt) -"cNp" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove,/turf/simulated/floor/holofloor{dir = 5; icon_state = "red"},/area/holodeck/source_boxingcourt) -"cNq" = (/obj/structure/flora/grass/both,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield) -"cNr" = (/turf/simulated/floor/holofloor{tag = "icon-carpet4-0 (EAST)"; icon_state = "carpet4-0"; dir = 4},/area/holodeck/source_meetinghall) -"cNs" = (/turf/simulated/floor/holofloor{tag = "icon-carpetsymbol (SOUTHEAST)"; icon_state = "carpetsymbol"; dir = 6},/area/holodeck/source_meetinghall) -"cNt" = (/turf/simulated/floor/holofloor{tag = "icon-carpet8-0 (EAST)"; icon_state = "carpet8-0"; dir = 4},/area/holodeck/source_meetinghall) -"cNu" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_basketball) -"cNv" = (/turf/simulated/floor/holofloor,/area/holodeck/source_basketball) -"cNw" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_basketball) -"cNx" = (/obj/effect/overlay/palmtree_r,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach) -"cNy" = (/obj/effect/overlay/palmtree_l,/obj/effect/overlay/coconut,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach) -"cNz" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"cNA" = (/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) -"cNB" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"cNC" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_boxingcourt) -"cND" = (/turf/simulated/floor/holofloor,/area/holodeck/source_boxingcourt) -"cNE" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_boxingcourt) -"cNF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew14,/area) -"cNG" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew1,/area) -"cNH" = (/obj/structure/flora/tree/pine,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield) -"cNI" = (/obj/structure/table/woodentable,/turf/simulated/floor/holofloor{tag = "icon-grimy"; icon_state = "grimy"; dir = 2},/area/holodeck/source_meetinghall) -"cNJ" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "red"},/area/holodeck/source_basketball) -"cNK" = (/turf/space/transit/east/shuttlespace_ew7,/area/shuttle/escape_pod3/transit) -"cNL" = (/turf/space/transit/east/shuttlespace_ew8,/area/shuttle/escape_pod3/transit) -"cNM" = (/turf/space/transit/east/shuttlespace_ew9,/area/shuttle/escape_pod3/transit) -"cNN" = (/turf/space/transit/east/shuttlespace_ew10,/area/shuttle/escape_pod3/transit) -"cNO" = (/obj/effect/step_trigger/thrower{direction = 1; name = "thrower_throwup"; nostop = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew14,/area) -"cNP" = (/turf/unsimulated/wall,/area/ninja/outpost) -"cNQ" = (/turf/unsimulated/wall,/area/ninja/holding) -"cNR" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/ninja/holding) -"cNS" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/ninja/holding) -"cNT" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/ninja/holding) -"cNU" = (/turf/unsimulated/wall{desc = "The door appears to be locked tightly."; icon = 'icons/obj/doors/Doorhatchele.dmi'; icon_state = "door_closed"; name = "locked door"},/area/ninja/holding) -"cNV" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew11,/area) -"cNW" = (/turf/space/transit/east/shuttlespace_ew2,/area/shuttle/escape_pod3/transit) -"cNX" = (/turf/space/transit/east/shuttlespace_ew3,/area/shuttle/escape_pod3/transit) -"cNY" = (/turf/space/transit/east/shuttlespace_ew4,/area/shuttle/escape_pod3/transit) -"cNZ" = (/turf/space/transit/east/shuttlespace_ew5,/area/shuttle/escape_pod3/transit) -"cOa" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew1,/area) -"cOb" = (/turf/unsimulated/wall{desc = "The door appears to be locked tightly."; icon = 'icons/obj/doors/Doorhatchele.dmi'; icon_state = "door_closed"; name = "locked door"},/area/ninja/outpost) -"cOc" = (/turf/unsimulated/floor{icon_state = "dark"},/area/ninja/outpost) -"cOd" = (/obj/structure/ninjatele{pixel_y = 25},/turf/unsimulated/floor{icon_state = "dark"},/area/ninja/outpost) -"cOe" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding) -"cOf" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding) -"cOg" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding) -"cOh" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding) -"cOi" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding) -"cOj" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding) -"cOk" = (/obj/structure/rack,/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding) -"cOl" = (/obj/structure/rack,/obj/item/toy/sword,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding) -"cOm" = (/obj/structure/rack,/obj/item/toy/gun,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding) -"cOn" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding) -"cOo" = (/turf/unsimulated/beach/sand,/area/ninja/holding) -"cOp" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/ninja/holding) -"cOq" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/ninja/holding) -"cOr" = (/obj/structure/flora/grass/green,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield) -"cOs" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet6-0 (EAST)"; icon_state = "carpet6-0"; dir = 4},/area/holodeck/source_meetinghall) -"cOt" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet14-0 (EAST)"; icon_state = "carpet14-0"; dir = 4},/area/holodeck/source_meetinghall) -"cOu" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet10-0 (EAST)"; icon_state = "carpet10-0"; dir = 4},/area/holodeck/source_meetinghall) -"cOv" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "red"},/area/holodeck/source_basketball) -"cOw" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "red"},/area/holodeck/source_basketball) -"cOx" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "red"},/area/holodeck/source_basketball) -"cOy" = (/obj/item/clothing/under/rainbow,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach) -"cOz" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 8; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"cOA" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) -"cOB" = (/obj/structure/holowindow,/turf/simulated/floor/holofloor{dir = 4; icon_state = "red"},/area/holodeck/source_thunderdomecourt) -"cOC" = (/turf/space/transit/east/shuttlespace_ew14,/area/shuttle/escape_pod3/transit) -"cOD" = (/turf/space/transit/east/shuttlespace_ew15,/area/shuttle/escape_pod3/transit) -"cOE" = (/turf/space/transit/east/shuttlespace_ew1,/area/shuttle/escape_pod3/transit) -"cOF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; stopper = 0; tiles = 0},/turf/space/transit/east/shuttlespace_ew10,/area) -"cOG" = (/obj/structure/table,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding) -"cOH" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding) -"cOI" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding) -"cOJ" = (/obj/item/device/camera,/turf/unsimulated/beach/sand,/area/ninja/holding) -"cOK" = (/obj/structure/flora/tree/dead,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield) -"cOL" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet7-0 (EAST)"; icon_state = "carpet7-0"; dir = 4},/area/holodeck/source_meetinghall) -"cOM" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet15-0 (EAST)"; icon_state = "carpet15-0"; dir = 4},/area/holodeck/source_meetinghall) -"cON" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet11-0 (EAST)"; icon_state = "carpet11-0"; dir = 4},/area/holodeck/source_meetinghall) -"cOO" = (/turf/simulated/floor/holofloor{dir = 9; icon_state = "green"},/area/holodeck/source_basketball) -"cOP" = (/turf/simulated/floor/holofloor{dir = 1; icon_state = "green"},/area/holodeck/source_basketball) -"cOQ" = (/turf/simulated/floor/holofloor{dir = 5; icon_state = "green"},/area/holodeck/source_basketball) -"cOR" = (/obj/item/weapon/beach_ball,/turf/simulated/floor/beach/sand,/area/holodeck/source_beach) -"cOS" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"cOT" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor,/area/holodeck/source_thunderdomecourt) -"cOU" = (/obj/structure/holowindow{dir = 1},/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"cOV" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_boxingcourt) -"cOW" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_boxingcourt) -"cOX" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/shuttlespace_ew12,/area) -"cOY" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"; tag = "icon-fakewindows (WEST)"},/area/ninja/outpost) -"cOZ" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/ninja/outpost) -"cPa" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/sleeper{desc = "A sleeper specially designed to rest the body while the mind stays awake."; name = "Sensory Isolation Sleeper"},/turf/unsimulated/floor{icon_state = "grimy"},/area/ninja/outpost) -"cPb" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding) -"cPc" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding) -"cPd" = (/obj/structure/table,/obj/item/weapon/lighter/zippo,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding) -"cPe" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding) -"cPf" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/ninja/holding) -"cPg" = (/obj/structure/stool{pixel_y = 8},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand,/area/ninja/holding) -"cPh" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/beach/sand,/area/ninja/holding) -"cPi" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_basketball) -"cPj" = (/obj/item/weapon/beach_ball/holoball,/turf/simulated/floor/holofloor,/area/holodeck/source_basketball) -"cPk" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_basketball) -"cPl" = (/turf/simulated/floor/holofloor{dir = 8; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"cPm" = (/turf/simulated/floor/holofloor{dir = 4; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"cPn" = (/turf/unsimulated/wall/fakeglass,/area/ninja/outpost) -"cPo" = (/obj/effect/landmark{name = "ninjastart"},/turf/unsimulated/floor{icon_state = "grimy"},/area/ninja/outpost) -"cPp" = (/obj/structure/rack,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/clothing/under/suit_jacket,/obj/item/clothing/suit/wcoat,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding) -"cPq" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/ninja/holding) -"cPr" = (/obj/structure/flora/grass/brown,/turf/simulated/floor/holofloor{tag = "icon-snow"; icon_state = "snow"},/area/holodeck/source_snowfield) -"cPs" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball) -"cPt" = (/turf/simulated/floor/holofloor{icon_state = "sand"; name = "Soft sand"},/area/holodeck/source_beach) -"cPu" = (/obj/structure/rack,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding) -"cPv" = (/obj/machinery/vending/coffee,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding) -"cPw" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet5-0 (EAST)"; icon_state = "carpet5-0"; dir = 4},/area/holodeck/source_meetinghall) -"cPx" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet13-0 (EAST)"; icon_state = "carpet13-0"; dir = 4},/area/holodeck/source_meetinghall) -"cPy" = (/obj/structure/stool,/turf/simulated/floor/holofloor{tag = "icon-carpet9-0 (EAST)"; icon_state = "carpet9-0"; dir = 4},/area/holodeck/source_meetinghall) -"cPz" = (/turf/simulated/floor/beach/coastline,/area/holodeck/source_beach) -"cPA" = (/turf/space/transit/north/shuttlespace_ns8,/area/xenos_station/transit) -"cPB" = (/obj/structure/stool{pixel_y = 8},/obj/machinery/computer/security/telescreen{name = "Entertainment monitor"; desc = "Damn, they better have /tg/thechannel on these things."; icon_state = "entertainment"; pixel_y = -30},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding) -"cPC" = (/obj/machinery/vending/snack,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding) -"cPD" = (/turf/unsimulated/beach/coastline,/area/ninja/holding) -"cPE" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/coastline,/area/ninja/holding) -"cPF" = (/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_basketball) -"cPG" = (/obj/structure/holohoop{dir = 1},/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_basketball) -"cPH" = (/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_basketball) -"cPI" = (/turf/simulated/floor/beach/water,/area/holodeck/source_beach) -"cPJ" = (/obj/structure/table/holotable,/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"cPK" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/weapon/holo/esword/green,/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"cPL" = (/obj/structure/table/holotable,/obj/machinery/readybutton{pixel_y = -24},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_thunderdomecourt) -"cPM" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 10; icon_state = "green"},/area/holodeck/source_boxingcourt) -"cPN" = (/turf/simulated/floor/holofloor{dir = 2; icon_state = "green"},/area/holodeck/source_boxingcourt) -"cPO" = (/obj/structure/table/holotable,/obj/item/clothing/gloves/boxing/hologlove{icon_state = "boxinggreen"; item_state = "boxinggreen"},/turf/simulated/floor/holofloor{dir = 6; icon_state = "green"},/area/holodeck/source_boxingcourt) -"cPP" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding) -"cPQ" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding) -"cPR" = (/obj/machinery/vending/cola,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/ninja/holding) -"cPS" = (/turf/unsimulated/beach/water,/area/ninja/holding) -"cPT" = (/turf/unsimulated/wall{tag = "icon-iron5"; icon_state = "iron5"},/area) -"cPU" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{tag = "icon-iron12"; icon_state = "iron12"},/area) -"cPV" = (/turf/unsimulated/wall{tag = "icon-iron13"; icon_state = "iron13"},/area) -"cPW" = (/turf/unsimulated/wall{tag = "icon-iron9"; icon_state = "iron9"},/area) -"cPX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/ninja/holding) -"cPY" = (/turf/unsimulated/floor{icon_state = "delivery"},/area/ninja/holding) -"cPZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/ninja/holding) -"cQa" = (/obj/effect/landmark{name = "Holding Facility"},/turf/unsimulated/floor{icon_state = "engine"},/area/ninja/holding) -"cQb" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; stopper = 0; tiles = 0},/turf/space,/area) -"cQc" = (/obj/machinery/vending/sovietsoda,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian) -"cQd" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian) -"cQe" = (/obj/structure/table/woodentable,/obj/item/weapon/gun/projectile/revolver/russian,/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian) -"cQf" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 8},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian) -"cQg" = (/obj/machinery/vending/cigarette,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian) -"cQh" = (/obj/structure/stool/bed/chair/sofa/right,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco) -"cQi" = (/obj/machinery/light/small{dir = 1},/obj/structure/stool/bed/chair/sofa/left,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco) -"cQj" = (/obj/machinery/media/jukebox/bar,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco) -"cQk" = (/obj/machinery/light/small{dir = 1},/obj/structure/stool/bed/chair/sofa/right,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco) -"cQl" = (/obj/structure/stool/bed/chair/sofa/left,/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco) -"cQm" = (/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar) -"cQn" = (/obj/structure/table/woodentable,/obj/machinery/chem_dispenser/beer,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar) -"cQo" = (/obj/structure/table/woodentable,/obj/machinery/chem_dispenser/soda,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar) -"cQp" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/drinkingglasses,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar) -"cQq" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar) -"cQr" = (/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian) -"cQs" = (/obj/structure/stool/bed/chair/comfy/brown{dir = 1},/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian) -"cQt" = (/turf/simulated/floor/wood,/area/dynamic/source/lobby_disco) -"cQu" = (/turf/simulated/floor/light,/area/dynamic/source/lobby_disco) -"cQv" = (/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar) -"cQw" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian) -"cQx" = (/obj/machinery/light/small,/turf/simulated/floor/wood,/area/dynamic/source/lobby_russian) -"cQy" = (/obj/machinery/light/small,/turf/simulated/floor/light,/area/dynamic/source/lobby_disco) -"cQz" = (/obj/structure/stool,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar) -"cQA" = (/obj/structure/table/woodentable,/obj/machinery/light/small,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar) -"cQB" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/barman_recipes,/obj/machinery/light/small,/turf/simulated/floor/wood,/area/dynamic/source/lobby_bar) -"cQC" = (/turf/unsimulated/wall,/area/wizard_station) -"cQD" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/obj/effect/decal/cleanable/cobweb,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cQE" = (/obj/structure/bookcase{name = "Forbidden Knowledge"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cQF" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cQG" = (/obj/machinery/librarycomp,/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cQH" = (/obj/machinery/vending/magivend,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cQI" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cQJ" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/weapon/storage/backpack/satchel,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/wizard_station) -"cQK" = (/obj/structure/mirror{pixel_y = 28},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/wizard_station) -"cQL" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/rd,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/wizard_station) -"cQM" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_mothership) -"cQN" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/syndicate_mothership) -"cQO" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership) -"cQP" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/wizard_station) -"cQQ" = (/obj/effect/landmark/start{name = "wizard"},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/wizard_station) -"cQR" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/wizard_station) -"cQS" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) -"cQT" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (NORTH)"; icon_state = "propulsion_r"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership) -"cQU" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (NORTH)"; icon_state = "propulsion"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership) -"cQV" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (NORTH)"; icon_state = "propulsion_l"; dir = 1},/turf/space,/area/shuttle/syndicate_elite/mothership) -"cQW" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) -"cQX" = (/obj/structure/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cQY" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = 32; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cQZ" = (/obj/structure/table/woodentable,/obj/item/weapon/paper{info = "

LIST OF SPELLS AVAILABLE

Magic Missile:
This spell fires several, slow moving, magic projectiles at nearby targets. If they hit a target, it is paralyzed and takes minor damage.

Fireball:
This spell fires a fireball at a target and does not require wizard garb. Be careful not to fire it at people that are standing next to you.

Disintegrate:
This spell instantly kills somebody adjacent to you with the vilest of magick. It has a long cooldown.

Disable Technology:
This spell disables all weapons, cameras and most other technology in range.

Smoke:
This spell spawns a cloud of choking smoke at your location and does not require wizard garb.

Blind:
This spell temporarly blinds a single person and does not require wizard garb.

Forcewall:
This spell creates an unbreakable wall that lasts for 30 seconds and does not require wizard garb.

Blink:
This spell randomly teleports you a short distance. Useful for evasion or getting into areas if you have patience.

Teleport:
This spell teleports you to a type of area of your selection. Very useful if you are in danger, but has a decent cooldown, and is unpredictable.

Mutate:
This spell causes you to turn into a hulk, and gain telekinesis for a short while.

Ethereal Jaunt:
This spell creates your ethereal form, temporarily making you invisible and able to pass through walls.

Knock:
This spell opens nearby doors and does not require wizard garb.

"; name = "List of Available Spells (READ)"},/obj/item/trash/tray,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/wizard_station) -"cRa" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/wizard_station) -"cRb" = (/obj/structure/table/woodentable,/obj/effect/landmark{name = "Teleport-Scroll"},/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/wizard_station) -"cRc" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/syndicate_elite/mothership) -"cRd" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership) -"cRe" = (/turf/unsimulated/wall{icon_state = "plasma6"},/area/xenos_station/start) -"cRf" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (NORTH)"; icon_state = "propulsion"; dir = 1},/turf/space,/area/xenos_station/start) -"cRg" = (/turf/unsimulated/wall{icon_state = "plasma10"},/area/xenos_station/start) -"cRh" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cRi" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"cRj" = (/obj/effect/landmark{name = "Syndicate-Commando-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"cRk" = (/mob/living/silicon/decoy{icon_state = "ai-malf"; name = "GLaDOS"},/turf/unsimulated/floor{icon_state = "whiteshiny"},/area/syndicate_mothership/control) -"cRl" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; freerange = 1; frequency = 1213; listening = 1; name = "Syndicate Ops Intercom"; pixel_y = 0; subspace_transmission = 1; syndie = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "circuit"},/area/syndicate_mothership) -"cRm" = (/turf/unsimulated/wall{icon_state = "plasma3"},/area/xenos_station/start) -"cRn" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cRo" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area) -"cRp" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area) -"cRq" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area) -"cRr" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area) -"cRs" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area) -"cRt" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area) -"cRu" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area) -"cRv" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area) -"cRw" = (/obj/structure/bookcase,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cRx" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cRy" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cRz" = (/obj/structure/table/woodentable,/obj/item/weapon/dice/d20,/obj/item/weapon/dice,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cRA" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/marisa,/obj/item/clothing/shoes/sandal/marisa,/obj/item/clothing/head/wizard/marisa,/obj/item/weapon/staff/broom,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"cRB" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/magusblue,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"cRC" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"cRD" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"cRE" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"cRF" = (/turf/unsimulated/wall{icon_state = "plasma12"},/area/xenos_station/start) -"cRG" = (/turf/unsimulated/wall{icon_state = "plasma14"},/area/xenos_station/start) -"cRH" = (/turf/space/transit/north/shuttlespace_ns5,/area/syndicate_station/transit) -"cRI" = (/turf/space/transit/north/shuttlespace_ns11,/area/syndicate_station/transit) -"cRJ" = (/turf/space/transit/north/shuttlespace_ns3,/area/syndicate_station/transit) -"cRK" = (/turf/space/transit/north/shuttlespace_ns13,/area/syndicate_station/transit) -"cRL" = (/turf/space/transit/north/shuttlespace_ns7,/area/syndicate_station/transit) -"cRM" = (/turf/space/transit/north/shuttlespace_ns14,/area/syndicate_station/transit) -"cRN" = (/turf/space/transit/north/shuttlespace_ns4,/area/syndicate_station/transit) -"cRO" = (/turf/space/transit/north/shuttlespace_ns10,/area/syndicate_station/transit) -"cRP" = (/turf/space/transit/north/shuttlespace_ns1,/area/syndicate_station/transit) -"cRQ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area) -"cRR" = (/obj/structure/table/woodentable,/obj/item/trash/cheesie,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cRS" = (/obj/structure/table/woodentable,/obj/item/weapon/spacecash,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cRT" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/red,/obj/item/clothing/shoes/sandal,/obj/item/clothing/head/wizard/red,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"cRU" = (/obj/structure/rack,/obj/item/clothing/suit/wizrobe/magusred,/obj/item/clothing/head/wizard/magus,/obj/item/weapon/staff,/turf/unsimulated/floor{icon_state = "grimy"},/area/wizard_station) -"cRV" = (/turf/space,/area/syndicate_mothership/elite_squad) -"cRW" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_mothership/elite_squad) -"cRX" = (/obj/machinery/computer/pod{id = "syndicate_elite"; name = "Hull Door Control"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"cRY" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; freerange = 1; frequency = 1213; listening = 0; name = "Syndicate Ops Intercom"; pixel_y = 28; subspace_transmission = 1; syndie = 1},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"cRZ" = (/obj/effect/landmark{name = "Syndicate-Commando"; tag = "Commando"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"cSa" = (/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"cSb" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"cSc" = (/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) -"cSd" = (/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership) -"cSe" = (/obj/structure/closet/acloset,/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cSf" = (/obj/effect/landmark{name = "Xenos-Spawn"; pixel_x = -1},/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cSg" = (/obj/structure/stool/bed/alien,/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cSh" = (/turf/simulated/floor/greengrid,/area/xenos_station/start) -"cSi" = (/turf/space/transit/north/shuttlespace_ns2,/area/syndicate_station/transit) -"cSj" = (/turf/space/transit/north/shuttlespace_ns12,/area/syndicate_station/transit) -"cSk" = (/turf/space/transit/north/shuttlespace_ns6,/area/syndicate_station/transit) -"cSl" = (/turf/space/transit/north/shuttlespace_ns9,/area/syndicate_station/transit) -"cSm" = (/turf/space/transit/north/shuttlespace_ns15,/area/syndicate_station/transit) -"cSn" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area) -"cSo" = (/obj/item/flag/wiz,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cSp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad) -"cSq" = (/obj/structure/closet/acloset,/obj/machinery/light{dir = 8},/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cSr" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/greengrid,/area/xenos_station/start) -"cSs" = (/obj/effect/landmark/start{name = "XenoAI"},/turf/simulated/floor/greengrid,/area/xenos_station/start) -"cSt" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/greengrid,/area/xenos_station/start) -"cSu" = (/turf/space/transit/north/shuttlespace_ns8,/area/syndicate_station/transit) -"cSv" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area) -"cSw" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/wizard_station) -"cSx" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/wizard_station) -"cSy" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (NORTHEAST)"; icon_state = "fakewindows"; dir = 5},/area/wizard_station) -"cSz" = (/obj/item/trash/raisins,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cSA" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cSB" = (/obj/structure/showcase,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) -"cSC" = (/obj/structure/table/reinforced,/obj/structure/kitchenspike,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) -"cSD" = (/obj/structure/table/reinforced,/obj/structure/kitchenspike,/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) -"cSE" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/showcase,/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) -"cSF" = (/obj/machinery/door/airlock/external{name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "syndicate_elite"; name = "Side Hull Door"; opacity = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"cSG" = (/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad) -"cSH" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/unsimulated/floor{name = "plating"},/area/syndicate_mothership/elite_squad) -"cSI" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area) -"cSJ" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"cSK" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"cSL" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (NORTH)"; icon_state = "fakewindows2"; dir = 1},/area/wizard_station) -"cSM" = (/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station) -"cSN" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station) -"cSO" = (/mob/living/carbon/monkey,/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station) -"cSP" = (/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station) -"cSQ" = (/obj/machinery/door/airlock/glass_security{name = "Airlock"; req_access_txt = "150"},/obj/machinery/door/poddoor{id = "syndicate_elite_mech_room"; name = "Mech Room Door"},/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_mothership/elite_squad) -"cSR" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk,/turf/space,/area) -"cSS" = (/obj/machinery/power/apc{cell_type = 5000; dir = 8; environ = 1; equipment = 1; lighting = 1; locked = 0; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/greengrid,/area/xenos_station/start) -"cST" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area) -"cSU" = (/mob/living/simple_animal/hostile/creature{name = "Experiment 35b"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"cSV" = (/turf/unsimulated/floor{dir = 1; icon_state = "chapel"},/area/wizard_station) -"cSW" = (/turf/unsimulated/floor{dir = 4; icon_state = "chapel"},/area/wizard_station) -"cSX" = (/obj/machinery/computer/pod{id = "syndicate_elite"; name = "Hull Door Control"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"cSY" = (/obj/machinery/computer/syndicate_elite_shuttle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/syndicate_elite/mothership) -"cSZ" = (/obj/structure/disposalpipe/segment,/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 1},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTa" = (/turf/simulated/shuttle/wall{icon_state = "pwall"; dir = 1},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTb" = (/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cTc" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area) -"cTd" = (/turf/space/transit/north/shuttlespace_ns11,/area/vox_station/transit) -"cTe" = (/turf/space/transit/north/shuttlespace_ns15,/area/vox_station/transit) -"cTf" = (/obj/effect/decal/cleanable/molten_item,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/wizard_station) -"cTg" = (/turf/unsimulated/wall/fakeglass,/area/wizard_station) -"cTh" = (/obj/item/trash/chips,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/wizard_station) -"cTi" = (/obj/structure/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station) -"cTj" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{dir = 8; icon_state = "chapel"},/area/wizard_station) -"cTk" = (/obj/structure/rack,/obj/item/weapon/kitchenknife/ritual,/turf/unsimulated/floor{icon_state = "chapel"},/area/wizard_station) -"cTl" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) -"cTm" = (/obj/machinery/door/airlock/external{name = "Shuttle Airlock"; req_access_txt = "150"},/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "syndicate_elite"; name = "Front Hull Door"; opacity = 1},/turf/simulated/shuttle/plating,/area/shuttle/syndicate_elite/mothership) -"cTn" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/syndicate_elite/mothership) -"cTo" = (/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTp" = (/obj/structure/stool/bed,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTq" = (/obj/structure/stool/bed,/obj/effect/decal/remains/human,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTr" = (/obj/machinery/recharge_station,/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cTs" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area) -"cTt" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area) -"cTu" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area) -"cTv" = (/turf/space/transit/north/shuttlespace_ns10,/area/vox_station/transit) -"cTw" = (/turf/space/transit/north/shuttlespace_ns14,/area/vox_station/transit) -"cTx" = (/turf/space/transit/north/shuttlespace_ns4,/area/vox_station/transit) -"cTy" = (/turf/simulated/floor/plating/airless,/area/shuttle/syndicate_elite/mothership) -"cTz" = (/obj/effect/decal/cleanable/blood/gibs/core,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTA" = (/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTB" = (/obj/effect/decal/cleanable/blood/gibs/up,/obj/effect/decal/cleanable/blood/tracks,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTC" = (/turf/unsimulated/wall{icon_state = "plasma4"},/area/xenos_station/start) -"cTD" = (/turf/unsimulated/wall{icon_state = "plasma9"},/area/xenos_station/start) -"cTE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns13,/area) -"cTF" = (/turf/space/transit/north/shuttlespace_ns9,/area/vox_station/transit) -"cTG" = (/turf/space/transit/north/shuttlespace_ns3,/area/vox_station/transit) -"cTH" = (/turf/space/transit/north/shuttlespace_ns13,/area/vox_station/transit) -"cTI" = (/turf/simulated/shuttle/wall{tag = "icon-pwall (NORTH)"; icon_state = "pwall"; dir = 1},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTK" = (/obj/machinery/door/window/southright,/obj/machinery/door/window/northright,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTM" = (/obj/machinery/door/window/southright,/obj/machinery/door/window/northright,/obj/effect/decal/cleanable/blood/tracks,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTN" = (/obj/machinery/camera{c_tag = "Xeno Shuttle 2"; dir = 4; network = list("Xeno")},/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cTO" = (/obj/machinery/camera{c_tag = "Xeno Shuttle"; dir = 8; network = list("Xeno")},/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cTP" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area) -"cTQ" = (/turf/space/transit/north/shuttlespace_ns8,/area/vox_station/transit) -"cTR" = (/turf/space/transit/north/shuttlespace_ns12,/area/vox_station/transit) -"cTS" = (/turf/space/transit/north/shuttlespace_ns2,/area/vox_station/transit) -"cTT" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTU" = (/obj/structure/flora/ausbushes/leafybush,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTV" = (/obj/structure/closet/crate/hydroponics/prespawned,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTW" = (/obj/machinery/seed_extractor,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTX" = (/obj/item/seeds/ambrosiadeusseed,/obj/item/seeds/ambrosiadeusseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/seeds/ambrosiavulgarisseed,/obj/item/seeds/nettleseed,/obj/item/seeds/nettleseed,/obj/item/seeds/nettleseed,/obj/item/weapon/gun/energy/floragun,/obj/item/seeds/amanitamycelium,/obj/structure/closet/crate/hydroponics/prespawned,/obj/item/seeds/cornseed,/obj/item/seeds/replicapod,/obj/item/seeds/replicapod,/obj/item/seeds/replicapod,/obj/item/seeds/towermycelium,/obj/item/seeds/towermycelium,/obj/item/seeds/towermycelium,/obj/item/seeds/libertymycelium,/obj/item/seeds/libertymycelium,/obj/item/seeds/libertymycelium,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTY" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cTZ" = (/obj/structure/rack,/obj/item/weapon/reagent_containers/spray/chemsprayer,/obj/item/weapon/reagent_containers/spray,/obj/item/weapon/reagent_containers/spray,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUa" = (/obj/structure/closet/emcloset,/obj/item/weapon/storage/firstaid/o2,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUb" = (/obj/machinery/iv_drip,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUc" = (/obj/effect/decal/cleanable/blood/tracks,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUd" = (/obj/machinery/gibber,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUe" = (/obj/machinery/light{dir = 8},/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cUf" = (/obj/machinery/hologram/holopad,/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cUg" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cUh" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns15,/area) -"cUi" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area) -"cUj" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area) -"cUk" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area) -"cUl" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns2,/area) -"cUm" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area) -"cUn" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns14,/area) -"cUo" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area) -"cUp" = (/turf/space/transit/north/shuttlespace_ns7,/area/vox_station/transit) -"cUq" = (/turf/space/transit/north/shuttlespace_ns1,/area/vox_station/transit) -"cUr" = (/turf/unsimulated/wall,/area/syndicate_mothership) -"cUs" = (/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUt" = (/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUu" = (/obj/structure/sink,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUv" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUw" = (/obj/structure/rack,/obj/item/weapon/gun/launcher/pneumatic,/obj/item/weapon/gun/launcher/pneumatic,/obj/item/weapon/gun/launcher/pneumatic,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/obj/item/weapon/tank/nitrogen,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUx" = (/obj/effect/decal/cleanable/blood/gibs/body,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUy" = (/obj/item/weapon/reagent_containers/blood/empty,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUz" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUA" = (/obj/machinery/door/airlock/hatch,/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cUB" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area) -"cUC" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape_pod1/transit) -"cUD" = (/turf/space/transit/north/shuttlespace_ns7,/area/shuttle/escape_pod1/transit) -"cUE" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape_pod1/transit) -"cUF" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns4,/area) -"cUG" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns10,/area) -"cUH" = (/turf/space/transit/north/shuttlespace_ns3,/area/shuttle/escape_pod2/transit) -"cUI" = (/turf/space/transit/north/shuttlespace_ns14,/area/shuttle/escape_pod2/transit) -"cUJ" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape_pod2/transit) -"cUK" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns7,/area) -"cUL" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns8,/area) -"cUM" = (/turf/space/transit/north/shuttlespace_ns6,/area/vox_station/transit) -"cUN" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"cUO" = (/obj/structure/flora/grass/brown,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"cUP" = (/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"cUQ" = (/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"cUR" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUS" = (/obj/structure/rack,/obj/item/weapon/gun/launcher/crossbow,/obj/item/weapon/gun/launcher/crossbow,/obj/item/weapon/gun/launcher/crossbow,/obj/item/stack/rods{amount = 50},/obj/item/weapon/arrow,/obj/item/weapon/arrow,/obj/item/weapon/arrow,/obj/item/weapon/arrow,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUT" = (/obj/effect/decal/cleanable/blood/gibs/limb,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUU" = (/obj/effect/decal/cleanable/blood/gibs/down,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUV" = (/obj/structure/kitchenspike,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cUW" = (/turf/space/transit/north/shuttlespace_ns11,/area/shuttle/escape_pod1/transit) -"cUX" = (/turf/space/transit/north/shuttlespace_ns6,/area/shuttle/escape_pod1/transit) -"cUY" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape_pod1/transit) -"cUZ" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns3,/area) -"cVa" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns9,/area) -"cVb" = (/turf/space/transit/north/shuttlespace_ns2,/area/shuttle/escape_pod2/transit) -"cVc" = (/turf/space/transit/north/shuttlespace_ns13,/area/shuttle/escape_pod2/transit) -"cVd" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape_pod2/transit) -"cVe" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area) -"cVf" = (/turf/space/transit/north/shuttlespace_ns5,/area/vox_station/transit) -"cVg" = (/obj/structure/flora/ausbushes/lavendergrass,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVh" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVi" = (/obj/structure/rack,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/gun/dartgun/vox/raider,/obj/item/weapon/gun/dartgun/vox/raider,/obj/item/weapon/gun/dartgun/vox/raider,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVj" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVk" = (/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/structure/table,/obj/item/weapon/handcuffs,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVl" = (/obj/structure/table,/obj/item/weapon/butch,/obj/item/weapon/kitchenknife,/obj/item/weapon/melee/classic_baton{name = "Tenderizer"},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVm" = (/obj/structure/table,/obj/item/weapon/circular_saw,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVn" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVo" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVp" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVq" = (/turf/unsimulated/wall{icon_state = "plasma5"},/area/xenos_station/start) -"cVr" = (/turf/space/transit/north/shuttlespace_ns10,/area/shuttle/escape_pod1/transit) -"cVs" = (/turf/space/transit/north/shuttlespace_ns5,/area/shuttle/escape_pod1/transit) -"cVt" = (/turf/space/transit/north/shuttlespace_ns1,/area/shuttle/escape_pod2/transit) -"cVu" = (/turf/space/transit/north/shuttlespace_ns12,/area/shuttle/escape_pod2/transit) -"cVv" = (/turf/space/transit/north/shuttlespace_ns9,/area/shuttle/escape_pod2/transit) -"cVw" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns5,/area) -"cVx" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area) -"cVy" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/shuttlespace_ns6,/area) -"cVz" = (/obj/structure/flora/bush,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"cVA" = (/obj/machinery/door/airlock/hatch{name = "Storage"},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVB" = (/obj/machinery/door/airlock/hatch{name = "Guest Room/Kitchen"},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVC" = (/obj/machinery/computer/xenos_station,/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cVD" = (/turf/space/transit/north/shuttlespace_ns4,/area/shuttle/escape_pod1/transit) -"cVE" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/shuttlespace_ns1,/area) -"cVF" = (/turf/space/transit/north/shuttlespace_ns15,/area/shuttle/escape_pod2/transit) -"cVG" = (/turf/space/transit/north/shuttlespace_ns8,/area/shuttle/escape_pod2/transit) -"cVH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVI" = (/obj/machinery/chem_dispenser,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVJ" = (/obj/machinery/chem_master,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVK" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/pillbottles,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/structure/disposalpipe/segment,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVL" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/item/weapon/FixOVein,/obj/item/weapon/circular_saw,/obj/item/weapon/surgicaldrill,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVM" = (/obj/machinery/optable,/obj/effect/decal/cleanable/blood,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVN" = (/obj/machinery/sleeper{dir = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVO" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVP" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cVQ" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cVR" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/turf/unsimulated/floor/plating,/area/xenos_station/start) -"cVS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVT" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVV" = (/obj/item/weapon/storage/fancy/vials,/obj/item/weapon/storage/fancy/vials,/obj/item/weapon/storage/fancy/vials,/obj/structure/table/reinforced,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVW" = (/obj/item/weapon/stool,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVX" = (/obj/structure/disposalpipe/segment,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVY" = (/obj/structure/table,/obj/item/weapon/bonegel,/obj/item/weapon/bonesetter,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cVZ" = (/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWa" = (/mob/living/carbon/alien/embryo,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWb" = (/obj/structure/table/woodentable,/obj/machinery/chem_dispenser,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cWc" = (/obj/structure/table/woodentable,/obj/machinery/chem_dispenser/beer,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cWd" = (/obj/structure/table/woodentable,/obj/machinery/chem_dispenser/soda,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cWe" = (/obj/structure/table/woodentable,/obj/machinery/vending/boozeomat,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cWf" = (/obj/structure/table/woodentable,/obj/machinery/microwave,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cWg" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/drinkingglasses,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cWh" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"cWi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWj" = (/obj/structure/flora/grass/green,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWk" = (/obj/structure/flora/ausbushes/grassybush,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWl" = (/obj/structure/flora/ausbushes/genericbush,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWn" = (/obj/machinery/door/airlock/hatch,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWp" = (/obj/structure/table/reinforced,/obj/machinery/reagentgrinder,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWq" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWr" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/item/weapon/cautery,/obj/item/weapon/scalpel,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWs" = (/obj/structure/table,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/kitchenknife,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWt" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWu" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWv" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/wood,/area/syndicate_mothership) -"cWw" = (/turf/simulated/floor/wood,/area/syndicate_mothership) -"cWx" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/syndicate_station/start) -"cWy" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) -"cWz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"cWA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"cWB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/poddoor/shutters{density = 0; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"cWC" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/syndicate_station/start) -"cWD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWE" = (/obj/structure/flora/bush,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWF" = (/obj/structure/flora/ausbushes/stalkybush,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWG" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWH" = (/obj/structure/rack,/obj/item/vox/armalis_amp,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWI" = (/obj/item/device/radio/intercom{desc = "Talk through this. Sneakily."; freerange = 1; frequency = 1213; name = "Vox Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cWM" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns12,/area) -"cWN" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cWO" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/matches,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cWP" = (/obj/structure/table/woodentable,/obj/item/weapon/tray,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cWQ" = (/turf/unsimulated/wall/fakeglass{dir = 1; icon_state = "fakewindows"; tag = "icon-fakewindows (WEST)"},/area/syndicate_mothership) -"cWR" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cWS" = (/obj/item/flag/syndi,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cWT" = (/obj/structure/table,/obj/machinery/light/small/lamp{pixel_x = 4; pixel_y = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cWU" = (/obj/machinery/computer/shuttle_control/multi/syndicate{req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cWV" = (/obj/structure/table,/obj/machinery/door_control{id = "syndieshutters"; name = "remote shutter control"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cWW" = (/obj/structure/computerframe,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cWX" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (WEST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) -"cWY" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/both,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"cWZ" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/tree/pine,/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"},/area/syndicate_mothership) -"cXa" = (/obj/structure/flora/grass/green,/obj/item/device/radio/intercom{desc = "Talk through this. Sneakily."; freerange = 1; frequency = 1213; name = "Vox Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cXb" = (/obj/machinery/door/airlock/hatch{name = "Amaralis Chamber"; req_access = 111; req_access_txt = "111"},/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cXc" = (/turf/simulated/floor/wood,/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cXd" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/shuttlespace_ns11,/area) -"cXe" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cXf" = (/obj/structure/stool,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cXg" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (NORTH)"; icon_state = "fakewindows2"; dir = 1},/area/syndicate_mothership) -"cXh" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cXi" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cXj" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cXk" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (EAST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) -"cXl" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (NORTHWEST)"; icon_state = "fakewindows"; dir = 9},/area/syndicate_mothership) -"cXm" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/syndicate_mothership) -"cXn" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/syndicate_mothership) -"cXo" = (/obj/structure/rack,/obj/item/vox/armalis_armour,/turf/simulated/floor/wood{name = "Vox flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cXp" = (/obj/structure/mineral_door/wood,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cXq" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 10},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cXr" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_y = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cXs" = (/obj/structure/closet/syndicate/personal,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cXt" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"cXu" = (/obj/structure/table,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"cXv" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"cXw" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cXx" = (/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/structure/rack,/obj/item/device/flashlight,/obj/item/weapon/tank/nitrogen,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cXy" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cXz" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cXA" = (/turf/simulated/floor/mech_bay_recharge_floor{name = "Vox Mech Recharge Station"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cXB" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cXC" = (/obj/structure/stool/bed/chair/wood/wings,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cXD" = (/obj/machinery/computer/security/wooden_tv,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cXE" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/syndicate_station/start) -"cXF" = (/obj/machinery/door/window{dir = 1; name = "Cockpit"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cXG" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/syndicate_station/start) -"cXH" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{tag = "icon-gravsnow_corner (EAST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/area/syndicate_mothership) -"cXI" = (/obj/structure/stool/bed/chair/comfy/black,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"cXJ" = (/obj/machinery/door/airlock/centcom{name = "Kitchen"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"cXK" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"cXL" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"cXM" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cXN" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cXO" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/fluff/fountainpen,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cXP" = (/obj/structure/table/woodentable,/obj/item/ashtray/glass{pixel_y = -5},/turf/simulated/floor/wood,/area/syndicate_mothership) -"cXQ" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (EAST)"; icon_state = "wooden_chair_wings"; dir = 4},/turf/simulated/floor/wood,/area/syndicate_mothership) -"cXR" = (/obj/structure/table/woodentable,/obj/item/toy/cards/deck,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cXS" = (/obj/structure/table/woodentable,/obj/item/ashtray/bronze,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco{pixel_x = -5},/turf/simulated/floor/wood,/area/syndicate_mothership) -"cXT" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (WEST)"; icon_state = "wooden_chair_wings"; dir = 8},/turf/simulated/floor/wood,/area/syndicate_mothership) -"cXU" = (/turf/unsimulated/wall/fakeglass,/area/syndicate_mothership) -"cXV" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cXW" = (/obj/machinery/vending/cigarette{pixel_x = 0; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cXX" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_surround (WEST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_surround"; dir = 8},/area/syndicate_mothership) -"cXY" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (SOUTHEAST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 6},/area/syndicate_mothership) -"cXZ" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"cYa" = (/obj/structure/table,/obj/item/weapon/folder,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"cYb" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"cYc" = (/obj/structure/closet/crate/freezer,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/syndicate_mothership) -"cYd" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cYe" = (/obj/machinery/door/airlock/hatch,/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cYf" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cYg" = (/obj/structure/stool/bed/chair/comfy/black{tag = "icon-comfychair_black (NORTH)"; icon_state = "comfychair_black"; dir = 1},/turf/simulated/floor/wood,/area/syndicate_mothership) -"cYh" = (/obj/structure/table/woodentable,/obj/machinery/light/small/lamp,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cYi" = (/obj/structure/table/woodentable,/obj/item/weapon/lighter/zippo/fluff/riley_rohtin_1,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cYj" = (/obj/item/flag/syndi,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"cYk" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"cYl" = (/obj/structure/safe,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cYm" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/simulated/floor/wood,/area/syndicate_mothership) -"cYn" = (/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"cYo" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"cYp" = (/obj/machinery/door/airlock/centcom{name = "Restroom"; opacity = 1; req_access_txt = "150"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"cYq" = (/obj/structure/urinal{pixel_y = 32},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"cYr" = (/obj/structure/urinal{pixel_y = 32},/obj/effect/decal/cleanable/vomit,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"cYs" = (/turf/space,/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"cYt" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"cYu" = (/obj/effect/landmark{name = "Syndicate-Uplink"; tag = ""},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cYv" = (/obj/machinery/door/airlock/external{req_access_txt = "150"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1331; master_tag = "synd_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_mothership) -"cYw" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/syndicate_mothership) -"cYx" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"cYy" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{pixel_x = 28},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"cYz" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) -"cYA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cYB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cYC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cYD" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cYE" = (/obj/structure/table,/obj/item/weapon/gun/energy/ionrifle,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cYF" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "synd_outer"; locked = 0; name = "Ship External Access"; req_access = null; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "smindicate"; name = "Outer Airlock"; opacity = 0},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"cYG" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start) -"cYH" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/turf/unsimulated/floor{dir = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; tag = "icon-gravsnow_corner (WEST)"},/area/syndicate_station/start) -"cYI" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (NORTHEAST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 5},/area/syndicate_mothership) -"cYJ" = (/obj/machinery/door/airlock/centcom{name = "Barracks"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/syndicate_mothership) -"cYK" = (/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_mothership) -"cYL" = (/obj/machinery/computer/shuttle_control/multi/vox,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cYM" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cYN" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'FOURTH WALL'."; name = "\improper FOURTH WALL"; pixel_x = -32},/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/area/syndicate_mothership) -"cYO" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cYP" = (/obj/structure/table,/obj/machinery/computer/pod/old/syndicate{id = "smindicate"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cYQ" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/grass/brown,/turf/unsimulated/floor{tag = "icon-gravsnow_corner (WEST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) -"cYR" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{dir = 1; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; tag = "icon-gravsnow_corner (WEST)"},/area/syndicate_mothership) -"cYS" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood,/area/syndicate_mothership) -"cYT" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/simulated/floor/wood,/area/syndicate_mothership) -"cYU" = (/turf/simulated/floor/wood{tag = "icon-wood-broken6"; icon_state = "wood-broken6"},/area/syndicate_mothership) -"cYV" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cYW" = (/obj/machinery/door/airlock/hatch,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cYX" = (/obj/machinery/constructable_frame/machine_frame,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cYY" = (/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cYZ" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZa" = (/obj/machinery/constructable_frame/machine_frame,/obj/item/device/radio/intercom{desc = "Talk through this. Sneakily."; freerange = 1; frequency = 1213; name = "Vox Intercom"; pixel_x = 0; pixel_y = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZb" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/alien{icon_state = "red2"; name = "\improper Vox base"}) -"cZc" = (/obj/machinery/door/window{dir = 4; name = "Equipment Room"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZd" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1331; master_tag = "synd_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZe" = (/obj/machinery/door/airlock/external{frequency = 1331; icon_state = "door_locked"; id_tag = "synd_inner"; locked = 1; name = "Ship External Access"; req_access = null; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZf" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "synd_pump"; tag_exterior_door = "synd_outer"; frequency = 1331; id_tag = "synd_airlock"; tag_interior_door = "synd_inner"; pixel_x = 25; req_access_txt = "0"; tag_chamber_sensor = "synd_sensor"},/obj/machinery/airlock_sensor{frequency = 1331; id_tag = "synd_sensor"; pixel_x = 25; pixel_y = 12},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZg" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor/wood{tag = "icon-wood-broken4"; icon_state = "wood-broken4"},/area/syndicate_mothership) -"cZh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZi" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZj" = (/obj/item/weapon/stool,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZk" = (/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZl" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Equipment Room"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"cZn" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1331; id_tag = "synd_pump"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZo" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZp" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (SOUTHWEST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 10},/area/syndicate_mothership) -"cZq" = (/obj/effect/landmark{name = "Syndicate-Spawn"},/turf/simulated/floor/wood{tag = "icon-wood-broken"; icon_state = "wood-broken"},/area/syndicate_mothership) -"cZr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZs" = (/obj/item/flag/species/vox,/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZt" = (/obj/item/device/radio/intercom{desc = "Talk through this. Evilly"; freerange = 1; frequency = 1213; name = "Syndicate Intercom"; pixel_x = -32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZu" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"cZv" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"cZw" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"cZx" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/table,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"cZy" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/table,/obj/item/stack/medical/ointment,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"cZz" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZA" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/signaler,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZB" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/infra,/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZC" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZD" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/clothing/gloves/yellow,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/glasses/night,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZE" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (EAST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 4},/turf/unsimulated/floor{tag = "icon-gravsnow_corner (WEST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) -"cZF" = (/turf/simulated/floor/wood{tag = "icon-wood-broken3"; icon_state = "wood-broken3"},/area/syndicate_mothership) -"cZG" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"cZH" = (/obj/machinery/door/window{dir = 4; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"cZI" = (/obj/machinery/door/window/westright{name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZJ" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/obj/effect/spawner/newbomb/timer/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZK" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Infirmary"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"cZL" = (/obj/machinery/door/window{dir = 8; name = "Tool Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"cZM" = (/obj/structure/rack,/obj/item/weapon/gun/dartgun/vox/medical,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/device/radio,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/backpack/satchel,/obj/item/device/flash,/obj/item/device/radio/headset/syndicate,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZN" = (/obj/structure/rack,/obj/item/weapon/dart_cartridge,/obj/item/weapon/dart_cartridge,/obj/item/weapon/gun/dartgun/vox/raider,/obj/item/device/radio,/obj/item/weapon/storage/backpack/satchel,/obj/item/weapon/grenade/smokebomb,/obj/item/device/chameleon,/obj/item/device/flash,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/radio/headset/syndicate,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZO" = (/obj/structure/rack,/obj/item/weapon/gun/launcher/pneumatic,/obj/item/weapon/harpoon,/obj/item/weapon/harpoon,/obj/item/weapon/tank/nitrogen,/obj/item/device/radio,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/backpack/satchel,/obj/item/weapon/grenade/empgrenade,/obj/item/device/multitool,/obj/item/device/radio/headset/syndicate,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZP" = (/obj/structure/rack,/obj/item/weapon/gun/launcher/crossbow,/obj/item/weapon/arrow,/obj/item/weapon/arrow,/obj/item/device/radio,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/backpack/satchel,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/grenade/flashbang,/obj/item/weapon/plastique,/obj/item/device/radio/headset/syndicate,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZQ" = (/obj/item/flag/species/vox,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZR" = (/obj/item/device/radio/intercom{desc = "Talk through this. Sneakily."; freerange = 1; frequency = 1213; name = "Vox Intercom"; pixel_x = 0; pixel_y = 32; subspace_transmission = 1; syndie = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZS" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZT" = (/obj/structure/stool/bed,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"cZU" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"cZV" = (/obj/structure/closet/crate/internals,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"cZW" = (/obj/structure/closet/crate/medical,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"cZX" = (/obj/item/weapon/weldingtool,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"cZY" = (/obj/machinery/door/window{dir = 1; name = "Secure Storage"; req_access_txt = "150"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"cZZ" = (/obj/item/weapon/crowbar,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"daa" = (/obj/machinery/atmospherics/pipe/simple{dir = 10},/obj/structure/table,/obj/effect/spawner/newbomb/timer/syndicate,/turf/unsimulated/floor{icon_state = "floor4"},/area/syndicate_station/start) -"dab" = (/obj/machinery/door/poddoor{id = "smindicate"; name = "Outer Airlock"},/turf/simulated/shuttle/plating,/area/syndicate_station/start) -"dac" = (/turf/unsimulated/floor{icon = 'icons/turf/snow.dmi'; icon_state = "snow"},/obj/structure/flora/bush,/turf/unsimulated/floor{tag = "icon-gravsnow_corner (WEST)"; icon = 'icons/turf/snow.dmi'; icon_state = "gravsnow_corner"; dir = 8},/area/syndicate_mothership) -"dad" = (/obj/machinery/door/window,/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"dae" = (/obj/effect/landmark{name = "voxstart"},/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"daf" = (/obj/machinery/door/window/westleft,/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"dag" = (/obj/item/flag/syndi,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"dah" = (/obj/effect/landmark{name = "Nuclear-Bomb"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"dai" = (/obj/machinery/telecomms/allinone,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"daj" = (/obj/structure/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/yellow/vox,/obj/item/weapon/tank/nitrogen,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/suit/space/vox/medic,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"dak" = (/obj/structure/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/yellow/vox,/obj/item/weapon/tank/nitrogen,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/suit/space/vox/stealth,/obj/item/clothing/head/helmet/space/vox/stealth,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"dal" = (/obj/structure/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/yellow/vox,/obj/item/weapon/tank/nitrogen,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"dam" = (/obj/structure/rack,/obj/item/clothing/mask/breath,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/head/helmet/space/vox/carapace,/obj/item/clothing/gloves/yellow/vox,/obj/item/weapon/tank/nitrogen,/obj/structure/window/reinforced{dir = 4},/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/under/vox/vox_casual,/obj/item/clothing/suit/space/vox/carapace,/obj/item/clothing/head/helmet/space/vox/carapace,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"dan" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/clothing/suit/xenos,/obj/item/clothing/suit/storage/det_suit/fluff/leatherjack,/obj/item/clothing/under/fluff/tian_dress,/obj/item/clothing/head/welding/fluff/norah_briggs_1,/obj/item/clothing/glasses/regular/hipster,/obj/item/clothing/glasses/meson/fluff/book_berner_1,/obj/item/clothing/head/bearpelt,/obj/item/clothing/head/kitty,/obj/item/clothing/head/rabbitears,/obj/item/clothing/suit/imperium_monk,/obj/item/clothing/suit/wizrobe/fake,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"dao" = (/obj/item/weapon/handcuffs,/obj/item/clothing/suit/straight_jacket,/obj/item/weapon/legcuffs,/obj/structure/table,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"dap" = (/obj/structure/closet/emcloset,/obj/item/clothing/head/helmet/space,/obj/item/clothing/suit/space,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"daq" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/ointment,/obj/item/weapon/storage/firstaid/o2,/obj/item/stack/medical/bruise_pack,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"dar" = (/obj/structure/rack,/obj/item/weapon/crowbar,/obj/item/weapon/extinguisher,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/syndicate_station/start) -"das" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/syndicate_station/start) -"dat" = (/obj/machinery/teleport/station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"dau" = (/obj/machinery/teleport/hub,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/syndicate_station/start) -"dav" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"daw" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"dax" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/xenomeat,/obj/item/weapon/reagent_containers/food/snacks/meat{pixel_x = -8; pixel_y = -8},/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"day" = (/obj/structure/rack,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"daz" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"daA" = (/turf/unsimulated/wall,/area/start) -"daB" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l"; icon_state = "propulsion_l"},/turf/space,/area/syndicate_station/start) -"daC" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/syndicate_station/start) -"daD" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r"; icon_state = "propulsion_r"},/turf/space,/area/syndicate_station/start) -"daE" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"daF" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/stack/sheet/mineral/gold,/obj/item/stack/sheet/mineral/gold,/obj/item/stack/sheet/mineral/gold,/obj/item/stack/sheet/mineral/diamond,/obj/item/stack/sheet/mineral/uranium,/obj/item/stack/sheet/mineral/uranium,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/silver,/obj/item/stack/sheet/mineral/uranium,/obj/item/weapon/coin/diamond,/obj/item/weapon/coin/gold,/obj/item/weapon/coin/iron,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"daG" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/briefcase,/obj/item/weapon/storage/briefcase,/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"daH" = (/obj/structure/flora/ausbushes/pointybush,/turf/simulated/floor/grass{name = "Vox Grass"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"daI" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/snacks/validsalad,/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"daJ" = (/obj/structure/rack,/obj/item/device/radio,/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"daK" = (/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/vox/station) -"daL" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/gun/energy/floragun,/obj/item/weapon/storage/pill_bottle/happy,/obj/item/weapon/storage/pill_bottle/happy,/obj/item/weapon/storage/pill_bottle/zoom,/obj/item/weapon/hatchet/unathiknife,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"daM" = (/obj/structure/table/woodentable,/turf/simulated/shuttle/floor4{name = "Vox Flooring"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"daN" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"daO" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/clothing/tie/fluff/konaa_hirano,/obj/item/clothing/tie/fluff/altair_locket,/obj/item/clothing/tie/fluff/nasir_khayyam_1,/obj/item/weapon/lighter/zippo/fluff/nt_rep,/obj/item/weapon/storage/fluff/maye_daye_1,/obj/item/clothing/head/fluff/heather_winceworth,/obj/item/clothing/tie/medal/gold/heroism,/obj/item/fluff/angelo_wilkerson_1,/obj/item/fluff/david_fanning_1,/obj/item/fluff/val_mcneil_1,/obj/item/weapon/reagent_containers/food/drinks/flask/fluff/shinyflask,/obj/item/weapon/reagent_containers/glass/beaker/fluff/eleanor_stone,/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"daP" = (/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"daQ" = (/obj/structure/closet{name = "Loot Closet"},/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/area/shuttle/vox/station) -"daR" = (/turf/simulated/shuttle/plating{name = "Vox plating"; nitrogen = 100; oxygen = 0},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/vox/station) -"daS" = (/obj/effect/landmark/start,/obj/machinery/media/jukebox/lobby,/turf/unsimulated/floor,/area/start) -"daT" = (/turf/unsimulated/wall/splashscreen,/area/start) -"daU" = (/turf/unsimulated/wall,/area/centcom/living) -"daV" = (/obj/structure/table/woodentable,/obj/item/weapon/card/id/centcom,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"daW" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"daX" = (/obj/machinery/computer/card,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"daY" = (/obj/machinery/photocopier,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"daZ" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi'; icon_state = "book-5"; name = "bookcase (Reports)"},/area/centcom/living) -"dba" = (/obj/item/weapon/gun/projectile/automatic/m2411,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/head/helmet/space/deathsquad/beret,/obj/item/clothing/shoes/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/gloves/combat,/obj/item/clothing/suit/armor/swat/officer,/obj/item/clothing/under/rank/centcom/captain,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/reagent_containers/glass/rag{desc = "For cleaning sensitive things, you suppose."; name = "eyewear rag"},/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/living) -"dbb" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi'; icon_state = "book-5"; name = "bookcase (Tactics)"},/area/centcom/living) -"dbc" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"dbd" = (/obj/structure/reagent_dispensers/water_cooler,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"dbe" = (/obj/machinery/recharger/wallcharger{pixel_x = -23},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/living) -"dbf" = (/obj/structure/stool/bed/chair/comfy/black,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"dbg" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/living) -"dbh" = (/obj/structure/filingcabinet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"dbi" = (/obj/structure/stool/bed/chair/office/dark,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"dbj" = (/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"dbk" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living) -"dbl" = (/obj/structure/sign/mech{pixel_y = 32},/obj/structure/window/plasmareinforced{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living) -"dbm" = (/obj/structure/sign/singulo{pixel_y = 32},/obj/structure/window/plasmareinforced{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living) -"dbn" = (/obj/structure/sign/nuke{pixel_y = 32},/obj/structure/window/plasmareinforced{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living) -"dbo" = (/obj/structure/sign/clown{name = "\improper love painting"; pixel_y = 32},/obj/structure/window/plasmareinforced{dir = 1},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living) -"dbp" = (/obj/structure/displaycase,/obj/structure/window/plasmareinforced{dir = 8},/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living) -"dbq" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/living) -"dbr" = (/obj/structure/table/woodentable{dir = 10},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"dbs" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/light/small/lamp,/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/living) -"dbt" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"dbu" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"dbv" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"dbw" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"dbx" = (/obj/structure/showcase,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living) -"dby" = (/obj/structure/statue/corgi,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living) -"dbz" = (/obj/structure/statue/angel,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living) -"dbA" = (/obj/structure/statue,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/living) -"dbB" = (/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/living) -"dbC" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/living) -"dbD" = (/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/living) -"dbE" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living) -"dbF" = (/obj/machinery/door/airlock/centcom{name = "Office"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living) -"dbG" = (/obj/machinery/door/airlock/centcom{name = "EoO Office"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/living) -"dbH" = (/obj/machinery/door/airlock/centcom{name = "Museum"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"dbI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"dbJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"dbK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"dbL" = (/obj/structure/filingcabinet,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/living) -"dbM" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/faxmachine{department = "Kent's Office"; dpt = "Kent's Office"},/obj/structure/sign/goldenplaque{desc = "Its a sniper rifle mounted on the wall by two steel hangars. It looks pretty dangerous, best leave it alone."; icon = 'icons/obj/gun.dmi'; icon_state = "sniper"; name = "Mounted L.W.A.P Sniper Rifle"; pixel_y = 30},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/living) -"dbN" = (/obj/structure/table/woodentable{dir = 10},/obj/item/weapon/paper_bin{pixel_y = 5},/obj/item/weapon/pen,/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; name = "Spec Ops Intercom"; pixel_y = 23},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/living) -"dbO" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/living) -"dbP" = (/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/living) -"dbQ" = (/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/window/reinforced/tinted,/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living) -"dbR" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"dbS" = (/obj/machinery/atm{pixel_y = 24},/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living) -"dbT" = (/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"dbU" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"dbV" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"dbW" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"dbX" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"dbY" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "bar"; dir = 2},/area/centcom/living) -"dbZ" = (/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 2; pixel_y = 6},/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living) -"dca" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living) -"dcb" = (/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living) -"dcc" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"dcd" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"dce" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/wall,/area/centcom/living) -"dcf" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"dcg" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"dch" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"dci" = (/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"; name = "Closet (Braden Kent)"},/obj/item/weapon/folder/blue,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/weapon/lighter/zippo/fluff/nt_rep,/obj/item/weapon/storage/box/matches,/obj/item/clothing/mask/cigarette/cigar/havana,/obj/item/clothing/tie/holster/armpit,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/shoes/combat,/obj/item/clothing/gloves/combat,/obj/item/clothing/under/rank/centcom_commander{desc = "It's a uniform worn by CentCom's highest-tier Commanders. Gold trim on space-black cloth, this uniform displays the rank of \"Lt. Commander\" and bears \"N.C.V. Fearless CV-286\" on the left shounder."; name = "Nanotrasen Navy Officer's Uniform"},/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/weapon/melee/telebaton,/obj/item/weapon/gun/energy/pulse_rifle/M1911,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/living) -"dcj" = (/obj/machinery/recharger/wallcharger{pixel_x = 4; pixel_y = -28},/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/living) -"dck" = (/obj/structure/flora/kirbyplants,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/living) -"dcl" = (/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted,/obj/structure/window/reinforced/tinted{dir = 8; icon_state = "twindow"; tag = ""},/obj/structure/window/reinforced/tinted{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced/tinted{dir = 5},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living) -"dcm" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"dcn" = (/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living) -"dco" = (/obj/structure/table,/obj/machinery/juicer{pixel_y = 6},/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living) -"dcp" = (/obj/structure/device/piano{dir = 4},/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living) -"dcq" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living) -"dcr" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"dcs" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"dct" = (/obj/machinery/chem_master/condimaster{name = "CondiMaster Neo"; pixel_x = -5},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"dcu" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"dcv" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/blue,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"dcw" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"dcx" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"dcy" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"dcz" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"dcA" = (/obj/machinery/door/airlock/centcom{name = "Living Quarters"; opacity = 1; req_access_txt = "105"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/living) -"dcB" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/faxmachine{department = "Kent's Office"; dpt = "Kent's Office"},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/living) -"dcC" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/red,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"dcD" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"dcE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"dcF" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"dcG" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"dcH" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/white,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"dcI" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/kitchen/rollingpin,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"dcJ" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"dcK" = (/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -6},/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull"; icon_state = "redyellowfull"},/area/centcom/living) -"dcL" = (/obj/machinery/vending/dinnerware,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"dcM" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/food/condiment/enzyme,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"dcN" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/living) -"dcO" = (/turf/unsimulated/wall,/area/shuttle/gamma/space) -"dcP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"dcQ" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/living) -"dcR" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/shuttle/gamma/space) -"dcS" = (/obj/mecha/combat/durand/loaded,/turf/simulated/floor/mech_bay_recharge_floor,/area/shuttle/gamma/space) -"dcT" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/bluegrid,/area/shuttle/gamma/space) -"dcU" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/shuttle/gamma/space) -"dcV" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/weapon/gun/projectile/automatic/pistol,/obj/item/weapon/gun/projectile/automatic/pistol,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/shuttle/gamma/space) -"dcW" = (/obj/structure/rack,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/shuttle/gamma/space) -"dcX" = (/turf/unsimulated/wall,/area/centcom/specops) -"dcY" = (/obj/structure/table/woodentable,/obj/machinery/faxmachine{department = "Human Resources"; dpt = "Human Resources"},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/living) -"dcZ" = (/obj/machinery/photocopier,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living) -"dda" = (/obj/structure/filingcabinet,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living) -"ddb" = (/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/living) -"ddc" = (/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/living) -"ddd" = (/turf/unsimulated/wall,/area/centcom/control) -"dde" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi'; icon_state = "book-5"; name = "bookcase (Reports)"},/area/centcom/control) -"ddf" = (/obj/machinery/photocopier,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"ddg" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"ddh" = (/obj/machinery/account_database{name = "CentComm Accounts database"},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"ddi" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/shuttle/gamma/space) -"ddj" = (/turf/simulated/floor{icon_state = "dark"},/area/shuttle/gamma/space) -"ddk" = (/obj/structure/rack,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/gun/energy/sniperrifle,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/shuttle/gamma/space) -"ddl" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/living) -"ddm" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/living) -"ddn" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/living) -"ddo" = (/obj/structure/stool/bed/chair/office/dark,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"ddp" = (/obj/structure/filingcabinet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"ddq" = (/obj/machinery/door/airlock/external{name = "Gamma Armory Airlock"; req_access_txt = "32"},/turf/simulated/floor{icon_state = "dark"},/area/shuttle/gamma/space) -"ddr" = (/obj/structure/rack,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/weapon/gun/projectile/shotgun/combat,/obj/item/weapon/gun/projectile/shotgun/combat,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/shuttle/gamma/space) -"dds" = (/obj/structure/rack,/obj/item/clothing/head/helmet/riot,/obj/item/clothing/suit/armor/riot,/obj/item/weapon/shield/riot,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ddt" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ddu" = (/obj/structure/rack,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ddv" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/obj/item/weapon/gun/projectile/automatic,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ddw" = (/obj/structure/filingcabinet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"ddx" = (/obj/structure/rack,/obj/item/weapon/storage/box/cdeathalarm_kit,/obj/item/weapon/storage/briefcase,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"ddy" = (/obj/structure/closet/secure_closet/blueshield,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"ddz" = (/obj/structure/rack,/obj/item/weapon/storage/box/cdeathalarm_kit,/obj/structure/sign/goldenplaque{desc = "An L6 Machine Gun mounted on steel hooks. It looks no longer useable due to excessive heat damage, likely from overuse"; icon = 'icons/obj/gun.dmi'; icon_state = "l6closed100"; name = "Mounted L6 Machine Gun"; pixel_y = 30},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"ddA" = (/obj/machinery/door/airlock/centcom{name = "Filing Room"; opacity = 1; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/living) -"ddB" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"ddC" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"ddD" = (/obj/structure/rack,/obj/item/weapon/grenade/flashbang/clusterbang,/turf/simulated/floor{icon_state = "dark"},/area/shuttle/gamma/space) -"ddE" = (/obj/structure/rack,/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/turf/simulated/floor{icon_state = "dark"},/area/shuttle/gamma/space) -"ddF" = (/obj/structure/rack,/obj/item/ammo_casing/rocket,/obj/item/ammo_casing/rocket,/obj/item/weapon/gun/rocketlauncher,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/shuttle/gamma/space) -"ddG" = (/obj/structure/rack,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun/buck,/obj/item/ammo_box/shotgun,/obj/item/ammo_box/shotgun,/obj/item/ammo_box/shotgun,/obj/item/ammo_box/shotgun/stun,/obj/item/ammo_box/shotgun/stun,/obj/item/ammo_box/shotgun/stun,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ddH" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/shotgun/combat,/obj/item/weapon/gun/projectile/shotgun/combat,/obj/item/weapon/gun/projectile/shotgun/combat,/obj/item/weapon/gun/projectile/shotgun/combat,/obj/item/weapon/gun/projectile/shotgun/combat,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ddI" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"ddJ" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"ddK" = (/obj/structure/stool,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"ddL" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"ddM" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m762,/obj/item/ammo_box/magazine/m762,/obj/item/ammo_box/magazine/m762,/obj/item/ammo_box/magazine/m762,/obj/item/ammo_box/magazine/m762,/obj/item/ammo_box/magazine/m762,/obj/item/ammo_box/magazine/m762,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ddN" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/automatic/l6_saw,/obj/item/weapon/gun/projectile/automatic/l6_saw,/obj/item/weapon/gun/projectile/automatic/l6_saw,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ddO" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"ddP" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"ddQ" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"ddR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"ddS" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"ddT" = (/obj/machinery/door/airlock/centcom{name = "Head of Human Resources"; opacity = 1; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/living) -"ddU" = (/obj/machinery/door/airlock/centcom{name = "Head of Accounting"; opacity = 1; req_access_txt = "107"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) -"ddV" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) -"ddW" = (/obj/machinery/camera{c_tag = "Assault Armor North"; dir = 2; network = list("ERT")},/obj/mecha/combat/marauder/seraph,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom/specops) -"ddX" = (/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/specops) -"ddY" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"ddZ" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"dea" = (/obj/structure/rack,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/obj/item/weapon/plastique,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"deb" = (/obj/structure/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dec" = (/obj/machinery/door/airlock/centcom{name = "Lieutenant Office"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"ded" = (/obj/effect/landmark{name = "Marauder Exit"},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"dee" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"def" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "ASSAULT3"; name = "Launch Bay #3"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"deg" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom/specops) -"deh" = (/obj/machinery/mass_driver{dir = 8; drive_range = 50; id = "ASSAULT0"; name = "gravpult"},/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) -"dei" = (/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom/specops) -"dej" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"dek" = (/obj/structure/rack,/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/obj/item/weapon/grenade/chem_grenade/incendiary{name = "Incendiary Grenade"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"del" = (/obj/structure/rack,/obj/item/weapon/gun/energy/lasercannon,/obj/item/weapon/gun/energy/lasercannon,/obj/item/weapon/gun/energy/lasercannon,/obj/item/weapon/gun/energy/lasercannon,/obj/item/weapon/gun/energy/lasercannon,/obj/item/weapon/gun/energy/lasercannon,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dem" = (/obj/structure/table/woodentable{dir = 10},/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/specops) -"den" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom/specops) -"deo" = (/obj/structure/reagent_dispensers/water_cooler,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"dep" = (/obj/structure/table/woodentable,/obj/item/device/radio/intercom{name = "Intercom"},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"deq" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"der" = (/turf/space,/area/centcom/specops) -"des" = (/obj/mecha/combat/marauder,/turf/unsimulated/floor{icon_state = "delivery"; dir = 6},/area/centcom/specops) -"det" = (/obj/structure/rack,/obj/item/weapon/grenade/empgrenade,/obj/item/weapon/grenade/empgrenade,/obj/item/weapon/grenade/empgrenade,/obj/item/weapon/grenade/empgrenade,/obj/item/weapon/grenade/empgrenade,/obj/item/weapon/grenade/empgrenade,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"deu" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/obj/item/weapon/gun/energy/gun/nuclear,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dev" = (/obj/structure/rack,/obj/item/weapon/storage/box/cdeathalarm_kit,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"dew" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"dex" = (/obj/structure/stool/bed,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dey" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"dez" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"deA" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "ASSAULT2"; name = "Launch Bay #2"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"deB" = (/obj/structure/rack,/obj/item/weapon/gun/grenadelauncher,/obj/item/weapon/gun/grenadelauncher,/obj/item/weapon/grenade/chem_grenade/teargas{name = "Teargas"},/obj/item/weapon/grenade/chem_grenade/teargas{name = "Teargas"},/obj/item/weapon/grenade/chem_grenade/teargas{name = "Teargas"},/obj/item/weapon/grenade/chem_grenade/teargas{name = "Teargas"},/obj/item/weapon/grenade/chem_grenade/teargas{name = "Teargas"},/obj/item/weapon/grenade/chem_grenade/teargas{name = "Teargas"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"deC" = (/obj/structure/rack,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/obj/item/weapon/gun/energy/stunrevolver,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"deD" = (/obj/structure/closet/cabinet,/obj/item/clothing/mask/balaclava,/obj/item/clothing/shoes/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/gloves/combat,/obj/item/weapon/gun/projectile/automatic/m2411,/obj/item/clothing/glasses/sunglasses,/obj/item/clothing/under/rank/centcom_commander{desc = "It's a uniform worn by CentCom's highest-tier Commanders. Gold trim on space-black cloth, this uniform displays the rank of \"Lt. Commander\" and bears \"N.C.V. Fearless CV-286\" on the left shounder."; name = "Nanotrasen Navy Officer's Uniform"},/obj/item/clothing/head/beret/centcom,/obj/item/device/radio/headset/ert,/obj/item/clothing/suit/armor/bulletproof,/obj/item/weapon/melee/classic_baton,/obj/item/weapon/handcuffs,/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/specops) -"deE" = (/obj/structure/flora/kirbyplants,/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/specops) -"deF" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"deG" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/living) -"deH" = (/obj/structure/reagent_dispensers/water_cooler,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"deI" = (/obj/machinery/door/airlock/centcom{name = "Internal Affairs"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"deJ" = (/obj/machinery/door/poddoor{desc = "Good luck hacking this one open."; icon_state = "pdoor1"; id = "WEAPONS"; name = "Special Weaponry"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"deK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"deL" = (/obj/machinery/door/airlock/centcom{name = "CentComm Security"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"deM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"deN" = (/obj/machinery/door/airlock/centcom{name = "Human Resources"; opacity = 1; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) -"deO" = (/obj/machinery/door/airlock/centcom{name = "Teleporter Bay"; opacity = 1; req_access_txt = "107"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) -"deP" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"deQ" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "ASSAULT1"; name = "Launch Bay #1"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"deR" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"deS" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"deT" = (/obj/structure/rack,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/flashbangs,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"deU" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/reagent_containers/hypospray,/obj/item/weapon/storage/box/syringes,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/autoinjectors,/obj/item/weapon/storage/box/autoinjectors,/obj/item/device/flash,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/masks,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"deV" = (/obj/machinery/vending/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"deW" = (/obj/machinery/vending/tool,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"deX" = (/obj/machinery/vending/engivend,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"deY" = (/obj/machinery/vending/engineering,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"deZ" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark{name = "Response Team"},/obj/effect/landmark{name = "Commando"},/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"dfa" = (/obj/structure/closet/secure_closet/security,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dfb" = (/turf/unsimulated/floor{tag = "icon-blue (NORTHWEST)"; icon_state = "blue"; dir = 9},/area/centcom/control) -"dfc" = (/turf/unsimulated/floor{tag = "icon-blue (NORTH)"; icon_state = "blue"; dir = 1},/area/centcom/control) -"dfd" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dfe" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/control) -"dff" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/control) -"dfg" = (/turf/unsimulated/floor{tag = "icon-blue (NORTHEAST)"; icon_state = "blue"; dir = 5},/area/centcom/control) -"dfh" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"dfi" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/rig/ert/security,/obj/item/clothing/suit/space/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/head/helmet/space/rig/ert/security,/obj/item/clothing/suit/space/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/head/helmet/space/rig/ert/security,/obj/item/clothing/suit/space/rig/ert/security,/obj/item/clothing/tie/storage/black_vest,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/belt/security,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"dfj" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/night,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/handcuffs,/obj/item/clothing/glasses/night,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"dfk" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/rig/ert/medical,/obj/item/clothing/suit/space/rig/ert/medical,/obj/item/clothing/head/helmet/space/rig/ert/medical,/obj/item/clothing/suit/space/rig/ert/medical,/obj/item/clothing/head/helmet/space/rig/ert/medical,/obj/item/clothing/suit/space/rig/ert/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/medical,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"dfl" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/device/flash,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flash,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/adv,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"dfm" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/rig/ert/engineer,/obj/item/clothing/suit/space/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/head/helmet/space/rig/ert/engineer,/obj/item/clothing/suit/space/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/head/helmet/space/rig/ert/engineer,/obj/item/clothing/suit/space/rig/ert/engineer,/obj/item/clothing/tie/storage/brown_vest,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"dfn" = (/obj/structure/table/reinforced,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/meson,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/multitool,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"dfo" = (/obj/structure/table/reinforced,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/straight_jacket,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dfp" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/control) -"dfq" = (/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/control) -"dfr" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"dfs" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"dft" = (/obj/machinery/computer/rdservercontrol{badmin = 1; name = "Master R&D Server Controller"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"dfu" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "ASSAULT0"; name = "Launch Bay #0"; p_open = 0},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"dfv" = (/obj/machinery/camera{c_tag = "Assault Armor South"; dir = 1; network = list("ERT")},/turf/unsimulated/floor{icon_state = "loadingarea"; dir = 8},/area/centcom/specops) -"dfw" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/baton/loaded,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"dfx" = (/obj/structure/table/reinforced,/obj/item/device/flash,/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/rcd,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"dfy" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dfz" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dfA" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/control) -"dfB" = (/turf/unsimulated/floor{icon_state = "green"},/area/centcom/control) -"dfC" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/control) -"dfD" = (/obj/structure/table/woodentable,/obj/item/weapon/folder,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"dfE" = (/obj/machinery/r_n_d/server/centcom,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"dfF" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "ASSAULT"; name = "Assault Armor Storage"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dfG" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/obj/item/clothing/shoes/magboots,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dfH" = (/obj/structure/table/reinforced,/obj/item/weapon/kitchenknife/combat,/obj/item/weapon/kitchenknife/combat,/obj/item/weapon/kitchenknife/combat,/obj/item/weapon/kitchenknife/combat,/obj/item/weapon/kitchenknife/combat,/obj/item/weapon/kitchenknife/combat,/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dfI" = (/obj/structure/rack,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"dfJ" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/plasteel{amount = 50},/obj/item/stack/sheet/plasteel{amount = 50},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dfK" = (/obj/machinery/door/airlock/centcom{name = "Executive Gym"; opacity = 1; req_access_txt = "106"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dfL" = (/obj/machinery/door/airlock/centcom{name = "Blueshield Officers"; opacity = 1; req_access_txt = "108"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dfM" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/control) -"dfN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"dfO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"dfP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"dfQ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/control) -"dfR" = (/obj/mecha/combat/gygax,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) -"dfS" = (/obj/mecha/working/ripley/firefighter,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dfT" = (/obj/mecha/working/ripley/firefighter,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) -"dfU" = (/obj/machinery/door/poddoor{explosion_resistance = 100; icon_state = "pdoor1"; id = "ert_security"; name = "Ready Room"; p_open = 0},/obj/machinery/door/airlock/centcom{name = "Security Special Operations"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dfV" = (/obj/machinery/door/airlock/centcom{name = "Medical Special Operations"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dfW" = (/obj/machinery/door/airlock/centcom{name = "Engineering Special Operations"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dfX" = (/obj/structure/flora/kirbyplants,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dfY" = (/obj/structure/window/reinforced{dir = 4},/obj/item/flag/nt,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dfZ" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) -"dga" = (/obj/structure/window/reinforced{dir = 8},/obj/item/flag/nt,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dgb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"dgc" = (/obj/machinery/computer/message_monitor,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dgd" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dge" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{icon_state = "gcircuit"},/area/centcom/control) -"dgf" = (/mob/living/silicon/decoy{name = "A.L.I.C.E."},/turf/unsimulated/floor{icon_state = "gcircuit"},/area/centcom/control) -"dgg" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/blackbox_recorder,/turf/unsimulated/floor{icon_state = "gcircuit"},/area/centcom/control) -"dgh" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dgi" = (/obj/machinery/computer/card,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dgj" = (/obj/structure/flora/kirbyplants,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"dgk" = (/obj/structure/flora/kirbyplants,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"dgl" = (/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dgm" = (/obj/item/mecha_parts/mecha_equipment/weapon/energy/taser,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dgn" = (/obj/item/mecha_parts/mecha_equipment/tool/extinguisher,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dgo" = (/obj/structure/sign/securearea{name = "\improper ARMORY"; pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dgp" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; listening = 0; name = "Spec Ops Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dgq" = (/obj/structure/sign/redcross{pixel_y = 32},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dgr" = (/obj/item/flag/nt,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dgs" = (/obj/structure/window/reinforced,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dgt" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dgu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dgv" = (/turf/unsimulated/floor{tag = "icon-redcorner (NORTH)"; icon_state = "redcorner"; dir = 1},/area/centcom/control) -"dgw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"dgx" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dgy" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dgz" = (/turf/unsimulated/floor{tag = "icon-warning"; icon_state = "warning"},/area/centcom/control) -"dgA" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dgB" = (/turf/unsimulated/floor{tag = "icon-redcorner (EAST)"; icon_state = "redcorner"; dir = 4},/area/centcom/control) -"dgC" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"dgD" = (/obj/structure/table/woodentable,/obj/machinery/computer/security/telescreen{name = "Spec. Ops. Monitor"; network = list("ERT")},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"dgE" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "Gygax"; name = "Gygax Bay"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dgF" = (/obj/machinery/door/poddoor{explosion_resistance = 100; icon_state = "pdoor1"; id = "MECH"; name = "Mech Bay"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dgG" = (/turf/unsimulated/floor{icon_state = "vault"; dir = 9},/area/centcom/specops) -"dgH" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dgI" = (/obj/machinery/door/poddoor{explosion_resistance = 100; icon_state = "pdoor1"; id = "CREED"; name = "Ready Room"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dgJ" = (/obj/machinery/door/airlock/centcom{name = "Asset Protection"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/specops) -"dgK" = (/obj/machinery/door/airlock/centcom{name = "Asset Protection"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) -"dgL" = (/obj/machinery/door/airlock/centcom{name = "Bridge"; opacity = 1; req_access_txt = "109"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dgM" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1443; listening = 0; name = "Response Team Intercom"; pixel_y = 28},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dgN" = (/obj/machinery/door/airlock/centcom{name = "Head of IA"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"dgO" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"dgP" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"dgQ" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/control) -"dgR" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dgS" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dgT" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dgU" = (/turf/unsimulated/floor{tag = "icon-redcorner (WEST)"; icon_state = "redcorner"; dir = 8},/area/centcom/control) -"dgV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"dgW" = (/turf/unsimulated/floor{tag = "icon-redcorner"; icon_state = "redcorner"; dir = 2},/area/centcom/control) -"dgX" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dgY" = (/obj/mecha/combat/gygax,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dgZ" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dha" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dhb" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dhc" = (/obj/structure/stool/bed/chair/office/dark,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dhd" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dhe" = (/obj/machinery/computer/med_data,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dhf" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "ody"; name = "Medical Mech Bay"; p_open = 0},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dhg" = (/obj/structure/table/reinforced,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dhh" = (/obj/structure/table/reinforced,/obj/effect/landmark{name = "Commando_Manual"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dhi" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dhj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/centcom/specops) -"dhk" = (/obj/machinery/door/airlock/centcom{name = "Special Operations Command"; opacity = 1; req_access_txt = "108"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dhl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/centcom/specops) -"dhm" = (/obj/machinery/door/airlock/centcom{name = "Blueshield Commander's Office"; opacity = 1; req_access_txt = "108"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dhn" = (/obj/machinery/door/airlock/centcom{name = "Head of Asset Protection"; opacity = 1; req_access_txt = "108"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"dho" = (/obj/machinery/computer/security,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dhp" = (/obj/machinery/computer/station_alert,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dhq" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dhr" = (/obj/machinery/computer/robotics,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dhs" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dht" = (/obj/machinery/door/airlock/centcom{name = "IA Medical"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"dhu" = (/obj/machinery/door/airlock/centcom{name = "Executive Bathroom"; opacity = 1; req_access_txt = "107"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"dhv" = (/obj/mecha/medical/odysseus,/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/specops) -"dhw" = (/obj/machinery/sleeper,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops) -"dhx" = (/obj/machinery/sleep_console,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops) -"dhy" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops) -"dhz" = (/obj/structure/flora/kirbyplants,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops) -"dhA" = (/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/specops) -"dhB" = (/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/specops) -"dhC" = (/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/specops) -"dhD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"dhE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) -"dhF" = (/obj/machinery/computer/scan_consolenew,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"dhG" = (/obj/machinery/computer/cloning,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"dhH" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"dhI" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"dhJ" = (/obj/machinery/teleport/hub,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"dhK" = (/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"dhL" = (/obj/structure/rack,/obj/item/weapon/gun/energy/pulse_rifle/M1911,/obj/item/weapon/gun/energy/pulse_rifle/M1911,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"dhM" = (/obj/structure/rack,/obj/item/weapon/gun/energy/pulse_rifle/destroyer,/obj/item/weapon/gun/energy/pulse_rifle/destroyer,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"dhN" = (/obj/structure/rack,/obj/item/weapon/gun/energy/sniperrifle,/obj/item/weapon/gun/energy/sniperrifle,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"dhO" = (/obj/structure/rack,/obj/item/weapon/gun/rocketlauncher,/obj/item/weapon/gun/rocketlauncher,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"dhP" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/automatic/gyropistol,/obj/item/weapon/gun/projectile/automatic/gyropistol,/obj/item/weapon/gun/projectile/automatic/gyropistol,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"dhQ" = (/obj/structure/rack,/obj/item/weapon/gun/projectile/automatic/deagle,/obj/item/weapon/gun/projectile/automatic/deagle,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"dhR" = (/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/obj/item/mecha_parts/mecha_equipment/tool/sleeper,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dhS" = (/obj/structure/stool/bed/roller,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops) -"dhT" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops) -"dhU" = (/obj/structure/closet/secure_closet/medical2,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops) -"dhV" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/unsimulated/wall,/area/centcom/specops) -"dhW" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dhX" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 8; listening = 0; name = "Station Intercom (General)"; pixel_x = -28},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops) -"dhY" = (/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops) -"dhZ" = (/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops) -"dia" = (/turf/unsimulated/floor{icon_state = "green"; dir = 1},/area/centcom/control) -"dib" = (/obj/machinery/dna_scannernew,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"dic" = (/obj/machinery/door/airlock/centcom{name = "ERT Med Bay"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"did" = (/obj/machinery/computer/atmos_alert,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"die" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"dif" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"dig" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "DS"; name = "Death Squad"; p_open = 0},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"dih" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/FixOVein,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops) -"dii" = (/obj/machinery/optable,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops) -"dij" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"dik" = (/obj/machinery/portable_atmospherics/scrubber,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"dil" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dim" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/centcom/control) -"din" = (/turf/unsimulated/floor{tag = "icon-red (SOUTHEAST)"; icon_state = "red"; dir = 6},/area/centcom/control) -"dio" = (/obj/machinery/clonepod,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"dip" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"diq" = (/obj/structure/table/reinforced,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"dir" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area) -"dis" = (/obj/machinery/computer/station_alert,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dit" = (/obj/structure/table/woodentable{dir = 9},/obj/item/ashtray/glass{icon_state = "ashtray_half_gl"},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops) -"diu" = (/obj/machinery/computer/security/telescreen{name = "Spec. Ops. Monitor"; network = list("ERT")},/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"div" = (/obj/structure/table/woodentable{dir = 5},/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops) -"diw" = (/obj/machinery/computer/shuttle_control/specops,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops) -"dix" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops) -"diy" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops) -"diz" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/control) -"diA" = (/obj/machinery/door/airlock/centcom{name = "Toilets"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) -"diB" = (/obj/structure/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"diC" = (/obj/structure/table/reinforced,/obj/item/weapon/pinpointer,/obj/item/weapon/pinpointer,/obj/item/weapon/pinpointer,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"diD" = (/obj/structure/table,/obj/item/weapon/hemostat,/obj/item/weapon/scalpel,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops) -"diE" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/stack/medical/advanced/bruise_pack,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops) -"diF" = (/obj/machinery/bodyscanner,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops) -"diG" = (/obj/machinery/body_scanconsole,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops) -"diH" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "specops_centcom_dock"; pixel_y = -25; tag_door = "specops_centcom_dock_inner"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"diI" = (/obj/machinery/computer/security,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"diJ" = (/obj/structure/table/woodentable{dir = 10},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "CREED"; name = "Spec Ops Ready Room"; pixel_y = 16; req_access_txt = "108"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "ASSAULT"; name = "Mech Storage"; pixel_y = -4; req_access_txt = "108"},/obj/machinery/door_control{desc = "A remote control switch to block view of the singularity."; icon_state = "doorctrl0"; id = "WEAPONS"; name = "Armory Door"; pixel_y = 6; req_access_txt = "108"},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops) -"diK" = (/obj/structure/stool/bed/chair/comfy/black{tag = "icon-comfychair_black (NORTH)"; icon_state = "comfychair_black"; dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"diL" = (/obj/item/device/radio/intercom{broadcasting = 1; dir = 1; frequency = 1441; name = "Spec Ops Intercom"; pixel_y = 28},/obj/machinery/computer/shuttle_control{name = "gamma operations control console"; req_one_access_txt = "32"; shuttle_tag = "Gamma"},/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops) -"diM" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops) -"diN" = (/obj/structure/table/woodentable{dir = 10},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops) -"diO" = (/obj/structure/table/woodentable{dir = 10},/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"diP" = (/obj/structure/table/woodentable{dir = 10},/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom/specops) -"diQ" = (/obj/structure/table/woodentable{dir = 10},/obj/item/weapon/reagent_containers/syringe{pixel_x = -3; pixel_y = -4},/obj/item/weapon/reagent_containers/glass/bottle/hyperzine,/turf/unsimulated/floor{dir = 9; icon_state = "carpetside"},/area/centcom/specops) -"diR" = (/obj/structure/table/woodentable{dir = 10},/obj/item/ashtray/bronze,/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/specops) -"diS" = (/obj/structure/table/woodentable{dir = 10},/turf/unsimulated/floor{dir = 1; icon_state = "carpetside"},/area/centcom/specops) -"diT" = (/obj/structure/flora/kirbyplants,/turf/unsimulated/floor{dir = 5; icon_state = "carpetside"},/area/centcom/specops) -"diU" = (/obj/machinery/sleeper,/turf/unsimulated/floor,/area/centcom/specops) -"diV" = (/obj/machinery/sleep_console,/turf/unsimulated/floor,/area/centcom/specops) -"diW" = (/obj/machinery/optable,/turf/unsimulated/floor,/area/centcom/specops) -"diX" = (/obj/structure/AIcore,/turf/unsimulated/floor,/area/centcom/specops) -"diY" = (/turf/unsimulated/floor{tag = "icon-warning (NORTHWEST)"; icon_state = "warning"; dir = 9},/area/centcom/control) -"diZ" = (/turf/unsimulated/floor{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1; heat_capacity = 1},/area/centcom/control) -"dja" = (/turf/unsimulated/floor{tag = "icon-warning (NORTHEAST)"; icon_state = "warning"; dir = 5},/area/centcom/control) -"djb" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control) -"djc" = (/obj/machinery/door/airlock/centcom{name = "Toilets"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control) -"djd" = (/obj/structure/toilet{dir = 8},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control) -"dje" = (/obj/machinery/door/poddoor{icon_state = "pdoor1"; id = "DSMECH"; name = "Death Squad Mechs"; p_open = 0},/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"djf" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "specops_centcom_dock_inner"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/specops) -"djg" = (/obj/machinery/door/airlock/centcom{name = "Barracks"},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"djh" = (/turf/unsimulated/floor{dir = 10; icon_state = "carpetside"},/area/centcom/specops) -"dji" = (/turf/unsimulated/floor{dir = 2; icon_state = "carpetside"},/area/centcom/specops) -"djj" = (/turf/unsimulated/floor{dir = 6; icon_state = "carpetside"},/area/centcom/specops) -"djk" = (/obj/structure/sign/goldenplaque{desc = "A model M2411 pistol mounted onto the wall. It appears to have been kept in pristine condition, but the bolts secure it to the wall with no hope of getting it off without serious tools."; icon = 'icons/obj/gun.dmi'; icon_state = "m2411"; name = "Mounted M2411 Pistol"; pixel_x = 30; pixel_y = 0},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops) -"djl" = (/obj/structure/sign/goldenplaque{desc = ""; name = "The Most Tolerated Passive-Agressive Takeover Award"; pixel_x = -30},/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops) -"djm" = (/obj/machinery/door/airlock/centcom{name = "Private Quarters"; opacity = 1; req_access_txt = "108"},/turf/unsimulated/floor{icon_state = "vault"; dir = 8},/area/centcom/specops) -"djn" = (/turf/unsimulated/floor,/area/centcom/specops) -"djo" = (/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/control) -"djp" = (/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/control) -"djq" = (/obj/structure/table,/obj/item/weapon/storage/box/trackimp,/obj/item/weapon/storage/box/chemimp,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"djr" = (/obj/structure/table,/obj/item/weapon/implanter/loyalty,/obj/item/weapon/implanter/explosive,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"djs" = (/obj/structure/table,/obj/item/weapon/implantcase/loyalty,/obj/item/weapon/implantcase/loyalty,/obj/item/weapon/implantcase/loyalty,/obj/item/weapon/implantcase/tracking,/obj/item/weapon/implantcase/tracking,/obj/item/weapon/implantcase/explosive,/obj/item/weapon/implantcase/explosive,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"djt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) -"dju" = (/turf/unsimulated/floor{tag = "icon-warning (NORTHWEST)"; icon_state = "warning"; dir = 9},/area/centcom/specops) -"djv" = (/turf/unsimulated/floor{tag = "icon-warning (NORTHEAST)"; icon_state = "warning"; dir = 5},/area/centcom/specops) -"djw" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) -"djx" = (/obj/item/weapon/gun/projectile/automatic/m2411,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/structure/closet{icon_closed = "cabinet_closed"; icon_opened = "cabinet_open"; icon_state = "cabinet_closed"},/obj/item/clothing/head/helmet/space/deathsquad/beret,/obj/item/clothing/shoes/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/gloves/combat,/obj/item/clothing/suit/armor/swat/officer,/obj/item/clothing/under/rank/centcom/captain,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/reagent_containers/glass/rag{desc = "For cleaning sensitive things, you suppose."; name = "eyewear rag"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops) -"djy" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi'; icon_state = "book-5"; name = "bookcase (Tactics)"},/area/centcom/specops) -"djz" = (/turf/unsimulated/wall{icon = 'icons/obj/library.dmi'; icon_state = "book-5"; name = "bookcase (Reports)"},/area/centcom/specops) -"djA" = (/obj/structure/closet/cabinet,/obj/item/clothing/under/syndicate/combat{name = "black suit"},/obj/item/clothing/glasses/hud/security/jensenshades{icon_state = "sun"; item_state = "sun"; name = "tinted glasses"},/obj/item/weapon/melee/telebaton,/obj/item/clothing/head/beret/centcom/captain{name = "white beret"},/obj/item/clothing/suit/armor/hos/hosbluejacket{name = "fancy coat"},/obj/item/clothing/mask/gas/swat{name = "black mask"},/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/gun/projectile/automatic/deagle,/obj/item/weapon/storage/backpack/satchel,/obj/item/clothing/shoes/combat{species_restricted = list("exclude","Unathi")},/obj/item/weapon/handcuffs/pinkcuffs,/obj/item/weapon/handcuffs/pinkcuffs,/obj/item/ammo_box/magazine/m50,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/specops) -"djB" = (/obj/structure/closet/secure_closet/captains{name = "Locker (Novus Lem)"},/obj/item/clothing/under/rank/centcom/captain,/obj/item/clothing/shoes/centcom,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/clothing/mask/gas/sechailer/hos,/obj/item/clothing/shoes/magboots,/obj/item/device/multitool,/obj/item/weapon/storage/belt/utility/full,/obj/item/clothing/glasses/hud/security/jensenshades,/obj/item/clothing/head/helmet/space/capspace,/obj/item/weapon/storage/lockbox/loyalty,/turf/unsimulated/floor{dir = 8; icon_state = "carpetside"},/area/centcom/specops) -"djC" = (/obj/machinery/computer/card/centcom,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom/specops) -"djD" = (/obj/structure/table,/obj/item/device/mmi,/turf/unsimulated/floor,/area/centcom/specops) -"djE" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/item/weapon/cautery,/turf/unsimulated/floor,/area/centcom/specops) -"djF" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/FixOVein,/turf/unsimulated/floor,/area/centcom/specops) -"djG" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/FixOVein,/obj/item/weapon/hemostat,/obj/item/weapon/hemostat,/turf/unsimulated/floor,/area/centcom/specops) -"djH" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/structure/mirror{pixel_x = -24},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/control) -"djI" = (/obj/machinery/optable,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"djJ" = (/obj/machinery/mech_bay_recharge_port,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"djK" = (/turf/unsimulated/floor{tag = "icon-warning (SOUTHWEST)"; icon_state = "warning"; dir = 10},/area/centcom/specops) -"djL" = (/turf/unsimulated/floor{dir = 6; icon_state = "warning"},/area/centcom/specops) -"djM" = (/obj/structure/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"djN" = (/turf/unsimulated/wall,/area/centcom) -"djO" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_l"; dir = 4},/turf/space,/area/shuttle/specops/centcom) -"djP" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/specops/centcom) -"djQ" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "specops_shuttle_fore_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"djR" = (/turf/space,/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom) -"djS" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"djT" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom) -"djU" = (/turf/unsimulated/floor{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/centcom) -"djV" = (/turf/unsimulated/floor{name = "plating"},/area/centcom) -"djW" = (/turf/unsimulated/floor{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/centcom) -"djX" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/item/weapon/cautery,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"djY" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/stack/medical/advanced/bruise_pack,/obj/item/weapon/FixOVein,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"djZ" = (/obj/structure/table,/obj/item/weapon/circular_saw,/obj/item/weapon/FixOVein,/obj/item/weapon/hemostat,/obj/item/weapon/hemostat,/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/control) -"dka" = (/obj/machinery/clonepod,/turf/unsimulated/floor{icon_state = "engine"},/area/centcom/control) -"dkb" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 4},/turf/space,/area/shuttle/specops/centcom) -"dkc" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/shuttle/engine/heater{icon_state = "heater"; dir = 8},/turf/unsimulated/floor,/area/shuttle/specops/centcom) -"dkd" = (/obj/structure/table/reinforced,/obj/item/device/radio/intercom{broadcasting = 0; dir = 1; frequency = 1443; listening = 1; name = "Spec Ops Intercom"; pixel_y = 28},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"dke" = (/obj/machinery/computer/shuttle_control/specops,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"dkf" = (/obj/machinery/camera{c_tag = "Spec. Ops. Shuttle"; dir = 2; network = list("ERT")},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"dkg" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"dkh" = (/obj/structure/stool/bed/chair,/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "specops_shuttle_fore"; pixel_x = 0; pixel_y = 25; req_one_access_txt = "13;48"; tag_door = "specops_shuttle_fore_hatch"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"dki" = (/obj/structure/stool/bed/chair,/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "specops_shuttle_port"; pixel_x = 25; pixel_y = -8; req_one_access_txt = "13;48"; tag_door = "specops_shuttle_port_hatch"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"dkj" = (/obj/structure/reagent_dispensers/watertank,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dkk" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 8; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) -"dkl" = (/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) -"dkm" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch_port"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"dkn" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 1; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) -"dko" = (/turf/unsimulated/floor{tag = "icon-warning (SOUTHWEST)"; icon_state = "warning"; dir = 10},/area/centcom/control) -"dkp" = (/turf/unsimulated/floor{dir = 6; icon_state = "warning"},/area/centcom/control) -"dkq" = (/turf/unsimulated/wall,/area/centcom/suppy) -"dkr" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/computer/security/telescreen{desc = ""; name = "Spec. Ops. Monitor"; network = list("ERT"); pixel_y = 30},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"dks" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "specops_shuttle_port_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/shuttle/specops/centcom) -"dkt" = (/turf/simulated/shuttle/plating,/area/shuttle/specops/centcom) -"dku" = (/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dkv" = (/obj/machinery/vending/boozeomat,/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) -"dkw" = (/obj/structure/table/reinforced,/obj/machinery/chem_dispenser/beer,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dkx" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/drinkingglasses,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dky" = (/obj/structure/table/reinforced,/obj/machinery/chem_dispenser/soda,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dkz" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dkA" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "admin_shuttle_port"; pixel_x = 25; pixel_y = 8; req_one_access_txt = "13"; tag_door = "admin_shuttle_hatch_port"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dkB" = (/obj/structure/table{icon_state = "tabledir"; dir = 2},/obj/machinery/cell_charger,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dkC" = (/obj/structure/table{icon_state = "tabledir"; dir = 2},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dkD" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dkE" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) -"dkF" = (/turf/unsimulated/floor{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/centcom/suppy) -"dkG" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/suppy) -"dkH" = (/turf/unsimulated/floor{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/centcom/suppy) -"dkI" = (/turf/unsimulated/wall{desc = "Why it no open!"; icon_state = "pdoor1"; name = "Shuttle Bay Blast Door"},/area/centcom/suppy) -"dkJ" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/specops/centcom) -"dkK" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/specops/centcom) -"dkL" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/flash,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/weapon/reagent_containers/glass/rag,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dkM" = (/obj/machinery/door/airlock/centcom{id_tag = "adminshuttle"; name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"dkN" = (/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/evac) -"dkO" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 1},/area/centcom/evac) -"dkP" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"dkQ" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/evac) -"dkR" = (/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/evac) -"dkS" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/supply/dock) -"dkT" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/supply/dock) -"dkU" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/supply/dock) -"dkV" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 4},/turf/space,/area/shuttle/specops/centcom) -"dkW" = (/obj/structure/table/reinforced,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/reagent_containers/glass/bucket,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dkX" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dkY" = (/obj/machinery/door/window/northright,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dkZ" = (/obj/structure/table/reinforced{icon_state = "reinf_tabledir"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dla" = (/obj/structure/table/reinforced{icon_state = "reinf_tabledir"},/obj/item/ashtray/glass,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dlb" = (/obj/structure/table/reinforced{icon_state = "reinf_tabledir"},/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/weapon/lighter/zippo{pixel_x = 5},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dlc" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "CentComPort"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac) -"dld" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dle" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch for port-side blast doors."; icon_state = "doorctrl0"; id = "CentComPort"; name = "Security Doors"; pixel_y = -4; req_access_txt = "101"},/obj/machinery/door/window/southleft{dir = 1; name = "Security"; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"dlf" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "CentComPort"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/evac) -"dlg" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/supply/dock) -"dlh" = (/turf/simulated/shuttle/floor,/area/supply/dock) -"dli" = (/obj/structure/rack,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/gloves/purple,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/head/bio_hood/janitor,/obj/item/device/radio/headset/ert,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/specops) -"dlj" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (EAST)"; icon_state = "propulsion_l"; dir = 4},/turf/space,/area/shuttle/administration/centcom) -"dlk" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (WEST)"; icon_state = "heater"; dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/shuttle/administration/centcom) -"dll" = (/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dlm" = (/obj/structure/dispenser,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dln" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "admin_shuttle_bay_door"; locked = 1; name = "External Airlock"; req_access = null; req_access_txt = "13"},/turf/unsimulated/floor{name = "plating"},/area/centcom/living) -"dlo" = (/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac) -"dlp" = (/obj/machinery/door/window/westright{req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"dlq" = (/obj/machinery/door/window/eastleft{req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"dlr" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/evac) -"dls" = (/obj/machinery/door/airlock/external,/turf/unsimulated/floor{name = "plating"},/area/centcom/suppy) -"dlt" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/adv,/obj/item/bodybag/cryobag,/obj/item/weapon/reagent_containers/hypospray,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops) -"dlu" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/item/device/flash,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/handcuffs,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/weapon/pinpointer/advpinpointer,/obj/item/device/aicard,/obj/item/weapon/storage/box/handcuffs,/obj/item/weapon/storage/box/flashbangs,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops) -"dlv" = (/obj/structure/rack,/obj/item/weapon/melee/baton/loaded,/obj/item/device/flash,/obj/item/weapon/kitchenknife/combat,/obj/item/weapon/gun/energy/gun,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops) -"dlw" = (/obj/structure/rack,/obj/item/weapon/storage/belt/utility/full,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/belt/security,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops) -"dlx" = (/obj/structure/table/reinforced,/obj/machinery/door_control{desc = "Switch to open the Security ERT gear"; icon_state = "doorctrl0"; id = "ert_security"; name = "Security Gear"; pixel_y = 6; req_access_txt = "0"; req_one_access = null},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops) -"dly" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (EAST)"; icon_state = "propulsion_r"; dir = 4},/turf/space,/area/shuttle/administration/centcom) -"dlz" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dlA" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) -"dlB" = (/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/evac) -"dlC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dlD" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"dlE" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/centcom/evac) -"dlF" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/simulated/shuttle/plating,/area/supply/dock) -"dlG" = (/obj/structure/table/reinforced,/obj/item/device/multitool,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops) -"dlH" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops) -"dlI" = (/obj/machinery/door/airlock/centcom{name = "Commander Equipment"; opacity = 1; req_access_txt = "107"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops) -"dlJ" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/administration/centcom) -"dlK" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dlL" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/obj/structure/window/plasmareinforced{dir = 1},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"dlM" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "admin_shuttle_bay"; pixel_x = 25; pixel_y = 5; req_one_access_txt = "13"; tag_door = "admin_shuttle_bay_door"},/turf/unsimulated/floor{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/centcom) -"dlN" = (/obj/machinery/door/poddoor{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac) -"dlO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dlP" = (/obj/structure/table/reinforced{icon_state = "reinf_tabledir"},/obj/machinery/door/window/southleft{name = "Security"; req_access_txt = ""},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"dlQ" = (/obj/machinery/door/poddoor{id = "CentComPort"; name = "Security Doors"},/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/evac) -"dlR" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "supply_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/supply/dock) -"dlS" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/security/range) -"dlT" = (/obj/structure/rack,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/gloves/purple,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/head/bio_hood/janitor,/obj/item/device/radio/headset/ert,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops) -"dlU" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/rig/ert/commander,/obj/item/clothing/suit/space/rig/ert/commander,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops) -"dlV" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/night,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/gloves/yellow,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom/specops) -"dlW" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dlX" = (/obj/machinery/computer/shuttle_control{req_one_access_txt = "101"; shuttle_tag = "Administration"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dlY" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"dlZ" = (/obj/item/flag/nt,/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/evac) -"dma" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "delivery"},/area/centcom/evac) -"dmb" = (/obj/item/flag/nt,/turf/unsimulated/floor{icon_state = "green"; dir = 9},/area/centcom/evac) -"dmc" = (/obj/machinery/atm{pixel_x = 24},/turf/unsimulated/floor{icon_state = "green"; dir = 5},/area/centcom/evac) -"dmd" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "supply_shuttle"; pixel_x = 25; tag_door = "supply_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/supply/dock) -"dme" = (/obj/machinery/dna_scannernew,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dmf" = (/obj/machinery/computer/cloning,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dmg" = (/obj/machinery/clonepod,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dmh" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dmi" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dmj" = (/obj/structure/grille,/obj/structure/window/plasmareinforced{dir = 8},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"dmk" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac) -"dml" = (/turf/unsimulated/floor{icon_state = "bot"},/area/centcom/evac) -"dmm" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/evac) -"dmn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/suppy) -"dmo" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops) -"dmp" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops) -"dmq" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops) -"dmr" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops) -"dms" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops) -"dmt" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops) -"dmu" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dmv" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dmw" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad"},/turf/simulated/shuttle/plating,/area/supply/dock) -"dmx" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/escape/centcom) -"dmy" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/floor/plating,/area/shuttle/escape/centcom) -"dmz" = (/turf/simulated/shuttle/wall{icon_state = "swall_s10"; dir = 2},/area/shuttle/escape/centcom) -"dmA" = (/obj/structure/table,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops) -"dmB" = (/turf/simulated/shuttle/wall{icon_state = "swallc4"},/area/shuttle/escape/centcom) -"dmC" = (/obj/machinery/computer/shuttle_control/emergency,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dmD" = (/turf/simulated/shuttle/wall{icon_state = "swallc3"},/area/shuttle/escape/centcom) -"dmE" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops) -"dmF" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops) -"dmG" = (/obj/structure/table,/obj/item/weapon/lighter/zippo,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops) -"dmH" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops) -"dmI" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops) -"dmJ" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dmK" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dmL" = (/obj/machinery/optable,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dmM" = (/obj/structure/table,/obj/item/weapon/bonegel,/obj/item/weapon/bonesetter,/obj/item/weapon/hemostat,/obj/item/weapon/cautery,/obj/item/weapon/surgicaldrill,/obj/item/weapon/circular_saw,/obj/item/weapon/scalpel,/obj/item/weapon/retractor,/obj/item/weapon/FixOVein,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dmN" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/supply/dock) -"dmO" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "wall_floor"; tag = ""},/area/supply/dock) -"dmP" = (/turf/simulated/shuttle/wall{dir = 8; icon_state = "wall_floor"; tag = ""},/area/supply/dock) -"dmQ" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/supply/dock) -"dmR" = (/obj/machinery/computer/security,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dmS" = (/obj/structure/stool/bed/chair/comfy/black{tag = "icon-comfychair_black (NORTH)"; icon_state = "comfychair_black"; dir = 1},/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "escape_shuttle"; pixel_x = -25; pixel_y = 25; req_one_access_txt = "13"; tag_door = "escape_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dmT" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dmU" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/specops) -"dmV" = (/obj/machinery/iv_drip,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dmW" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dmX" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/supply/dock) -"dmY" = (/turf/simulated/shuttle/wall{tag = "icon-swall15"; icon_state = "swall15"; dir = 2},/area/supply/dock) -"dmZ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/supply/dock) -"dna" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/supply/dock) -"dnb" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dnc" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dnd" = (/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dne" = (/obj/machinery/computer/crew,/obj/machinery/status_display{pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dnf" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/storage/box/syringes,/obj/item/weapon/storage/box/pillbottles,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dng" = (/obj/machinery/chem_master,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dnh" = (/obj/machinery/chem_dispenser,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/administration/centcom) -"dni" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "admin_shuttle_starboard"; pixel_x = 25; pixel_y = -8; req_one_access_txt = "13"; tag_door = "admin_shuttle_hatch_starboard"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/shuttle/administration/centcom) -"dnj" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l"; icon_state = "burst_l"},/turf/space,/area/supply/dock) -"dnk" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/supply/dock) -"dnl" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_r"; icon_state = "burst_r"},/turf/space,/area/supply/dock) -"dnm" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dnn" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dno" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "admin_shuttle_hatch_starboard"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/shuttle/administration/centcom) -"dnp" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/shuttle/escape/centcom) -"dnq" = (/obj/machinery/computer/robotics,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dnr" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dns" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dnt" = (/turf/space,/area/shuttle/escape_pod1/centcom) -"dnu" = (/turf/space,/area/shuttle/escape_pod2/centcom) -"dnv" = (/turf/unsimulated/floor{icon_state = "warnplate"; dir = 8},/area/centcom) -"dnw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom) -"dnx" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/escape/centcom) -"dny" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/shuttle/escape/centcom) -"dnz" = (/obj/machinery/door/airlock/glass_command{name = "Escape Shuttle Cockpit"; req_access_txt = "19"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dnA" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/shuttle/escape/centcom) -"dnB" = (/turf/unsimulated/wall,/area/centcom/ferry) -"dnC" = (/turf/unsimulated/wall,/area/centcom/evac) -"dnD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dnE" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/centcom/evac) -"dnF" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area) -"dnG" = (/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area) -"dnH" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"dnI" = (/obj/machinery/status_display{pixel_y = 30},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dnJ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"dnK" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "16"},/turf/simulated/floor/plating,/area/shuttle/escape/centcom) -"dnL" = (/turf/unsimulated/floor{tag = "icon-warnplate (WEST)"; icon_state = "warnplate"; dir = 8},/area/centcom/evac) -"dnM" = (/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dnN" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dnO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dnP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dnQ" = (/obj/structure/stool/bed/chair{dir = 4},/obj/structure/closet/walllocker/emerglocker{pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"dnR" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "8"},/turf/simulated/floor/plating,/area/shuttle/escape/centcom) -"dnS" = (/obj/structure/stool/bed/chair{dir = 8},/obj/structure/closet/walllocker/emerglocker{pixel_x = 28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"dnT" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/centcom/evac) -"dnU" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_r (NORTH)"; icon_state = "propulsion_r"; dir = 1},/turf/space,/area/centcom/evac) -"dnV" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (NORTH)"; icon_state = "propulsion"; dir = 1},/turf/space,/area/centcom/evac) -"dnW" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (NORTH)"; icon_state = "propulsion_l"; dir = 1},/turf/space,/area/centcom/evac) -"dnX" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/centcom/evac) -"dnY" = (/turf/unsimulated/floor{name = "plating"},/area/shuttle/transport1/centcom) -"dnZ" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/transport1/centcom) -"doa" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/transport1/centcom) -"dob" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/shuttle/transport1/centcom) -"doc" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) -"dod" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/shuttle/transport1/centcom) -"doe" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (WEST)"; icon_state = "propulsion_l"; dir = 8},/turf/space,/area/shuttle/transport1/centcom) -"dof" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/evac) -"dog" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/centcom/evac) -"doh" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"doi" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/centcom/evac) -"doj" = (/obj/structure/window/reinforced,/obj/structure/shuttle/engine/heater{tag = "icon-heater (NORTH)"; icon_state = "heater"; dir = 1},/turf/simulated/floor/plating/airless,/area/centcom/evac) -"dok" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/centcom/evac) -"dol" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/centcom/evac) -"dom" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_1_recovery_hatch"; locked = 1; name = "Salvage Shuttle Dock"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/centcom/evac) -"don" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_2_recovery_hatch"; locked = 1; name = "Salvage Shuttle Dock"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/centcom/evac) -"doo" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/centcom/evac) -"dop" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/shuttle/transport1/centcom) -"doq" = (/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"dor" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/transport1/centcom) -"dos" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/shuttle/transport1/centcom) -"dot" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"dou" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/shuttle/transport1/centcom) -"dov" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (WEST)"; icon_state = "propulsion_l"; dir = 8},/obj/structure/window/reinforced,/turf/space,/area/shuttle/transport1/centcom) -"dow" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dox" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "15"},/turf/simulated/floor/plating,/area/shuttle/escape/centcom) -"doy" = (/turf/simulated/shuttle/plating,/area/centcom/evac) -"doz" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/centcom/evac) -"doA" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/centcom/evac) -"doB" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor,/area/centcom/evac) -"doC" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "escape_pod_1_recovery"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_1_recovery_hatch"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac) -"doD" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/shuttle/floor,/area/centcom/evac) -"doE" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor,/area/centcom/evac) -"doF" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 0},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor,/area/centcom/evac) -"doG" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "escape_pod_2_recovery"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_2_recovery_hatch"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac) -"doH" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/centcom/evac) -"doI" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/centcom/evac) -"doJ" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/shuttle/transport1/centcom) -"doK" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "centcom_shuttle"; pixel_x = 25; pixel_y = -8; req_one_access_txt = "13"; tag_door = "centcom_shuttle_hatch"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"doL" = (/turf/unsimulated/floor{tag = "icon-warnplate (EAST)"; icon_state = "warnplate"; dir = 4},/area/centcom/evac) -"doM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"doN" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/unsimulated/wall,/area/centcom/evac) -"doO" = (/turf/unsimulated/floor{dir = 8; heat_capacity = 1; icon_state = "warning"},/area/centcom/evac) -"doP" = (/turf/unsimulated/floor{dir = 4; heat_capacity = 1; icon_state = "warning"},/area/centcom/evac) -"doQ" = (/obj/item/flag/nt,/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"doR" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "centcom_dock_hatch"; locked = 1; name = "Arrival Airlock"; req_access = null; req_access_txt = "13"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"doS" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"doT" = (/turf/simulated/shuttle/wall{tag = "icon-swall1"; icon_state = "swall1"; dir = 2},/area/centcom/evac) -"doU" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0; req_access_txt = "0"},/turf/simulated/shuttle/floor,/area/centcom/evac) -"doV" = (/turf/simulated/shuttle/floor,/area/centcom/evac) -"doW" = (/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac) -"doX" = (/obj/structure/stool,/turf/simulated/shuttle/floor,/area/centcom/evac) -"doY" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 30; pixel_y = 0; req_access_txt = "0"},/turf/simulated/shuttle/floor,/area/centcom/evac) -"doZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/shuttle/transport1/centcom) -"dpa" = (/obj/machinery/computer/shuttle_control{req_access_txt = "0"; req_one_access_txt = "101"; shuttle_tag = "Centcom"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"dpb" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"dpc" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"dpd" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "centcom_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"dpe" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "centcom_shuttle_bay_door"; locked = 1; name = "Arrival Airlock"; req_access = null; req_access_txt = "13"},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) -"dpf" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "centcom_shuttle_bay"; layer = 4; pixel_x = 0; pixel_y = -25; req_one_access_txt = "13"; tag_door = "centcom_shuttle_bay_door"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dpg" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dph" = (/obj/structure/stool/bed/chair{dir = 4},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"dpi" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/centcom/evac) -"dpj" = (/obj/machinery/door/airlock/maintenance_hatch{req_access_txt = "101"},/turf/simulated/shuttle/plating,/area/centcom/evac) -"dpk" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/centcom/evac) -"dpl" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"dpm" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) -"dpn" = (/obj/structure/table/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) -"dpo" = (/obj/structure/table/reinforced,/obj/item/weapon/pen,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) -"dpp" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor,/area/centcom/evac) -"dpq" = (/obj/structure/stool/bed/chair{dir = 4; name = "Defense"},/turf/simulated/shuttle/floor,/area/centcom/evac) -"dpr" = (/obj/machinery/computer/arcade,/turf/simulated/shuttle/floor,/area/centcom/evac) -"dps" = (/turf/unsimulated/wall,/area/centcom/holding) -"dpt" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/transport1/centcom) -"dpu" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area/shuttle/transport1/centcom) -"dpv" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/transport1/centcom) -"dpw" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) -"dpx" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/transport1/centcom) -"dpy" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (WEST)"; icon_state = "propulsion_l"; dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/shuttle/transport1/centcom) -"dpz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dpA" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "centcom_dock"; pixel_x = 25; pixel_y = 0; req_one_access_txt = "13"; tag_door = "centcom_dock_hatch"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/evac) -"dpB" = (/obj/machinery/computer/card,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) -"dpC" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) -"dpD" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) -"dpE" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/weapon/stamp,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) -"dpF" = (/turf/unsimulated/floor{name = "plating"},/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/shuttle/transport1/centcom) -"dpG" = (/turf/simulated/shuttle/wall{tag = "icon-swall13"; icon_state = "swall13"; dir = 2},/area/shuttle/transport1/centcom) -"dpH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dpI" = (/obj/machinery/computer/secure_data,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) -"dpJ" = (/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) -"dpK" = (/turf/space,/area/shuttle/escape_pod3/centcom) -"dpL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dpM" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"dpN" = (/obj/machinery/recharge_station,/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dpO" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/obj/item/device/flash,/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) -"dpP" = (/obj/machinery/door/window/northright{base_state = "right"; dir = 4; icon_state = "right"; name = "Security Desk"; req_access_txt = "103"},/turf/simulated/shuttle/floor{icon_state = "floor4"},/area/centcom/evac) -"dpQ" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "escape_pod_3_recovery"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_3_recovery_hatch"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac) -"dpR" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_3_recovery_hatch"; locked = 1; name = "Salvage Shuttle Dock"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/centcom/evac) -"dpS" = (/obj/machinery/status_display{pixel_y = -30},/turf/simulated/shuttle/floor,/area/shuttle/escape/centcom) -"dpT" = (/obj/machinery/vending/cola,/turf/simulated/shuttle/floor,/area/centcom/evac) -"dpU" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"dpV" = (/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"dpW" = (/obj/structure/closet/secure_closet/bar{req_access_txt = "25"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"dpX" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"dpY" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"dpZ" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"dqa" = (/obj/structure/rack,/obj/item/device/camera,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) -"dqb" = (/obj/structure/rack,/obj/item/toy/sword,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) -"dqc" = (/obj/structure/rack,/obj/item/toy/gun,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) -"dqd" = (/obj/machinery/computer/arcade,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) -"dqe" = (/turf/unsimulated/beach/sand,/area/centcom/holding) -"dqf" = (/obj/effect/overlay/palmtree_r,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/centcom/holding) -"dqg" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/centcom/holding) -"dqh" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "14"},/turf/simulated/floor/plating,/area/shuttle/escape/centcom) -"dqi" = (/obj/structure/grille,/obj/structure/window/full/shuttle{icon_state = "17"},/turf/simulated/floor/plating,/area/shuttle/escape/centcom) -"dqj" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Escape Shuttle Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"dqk" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/shuttle/escape/centcom) -"dql" = (/obj/machinery/door/airlock/glass_security{name = "Escape Shuttle Cell"; req_access_txt = "2"},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"dqm" = (/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac) -"dqn" = (/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac) -"dqo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/centcom/evac) -"dqp" = (/obj/machinery/vending/coffee,/turf/simulated/shuttle/floor,/area/centcom/evac) -"dqq" = (/obj/structure/table,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"dqr" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) -"dqs" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) -"dqt" = (/obj/item/device/camera,/turf/unsimulated/beach/sand,/area/centcom/holding) -"dqu" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"dqv" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"dqw" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"dqx" = (/obj/structure/stool/bed/roller,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"dqy" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"dqz" = (/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"dqA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/plating,/area/centcom/evac) -"dqB" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac) -"dqC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/centcom/evac) -"dqD" = (/turf/space,/area/shuttle/escape_pod5/centcom) -"dqE" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"dqF" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"dqG" = (/obj/structure/table,/obj/item/weapon/lighter/zippo,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"dqH" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"dqI" = (/obj/structure/table,/obj/item/weapon/dice/d20,/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/centcom/holding) -"dqJ" = (/obj/structure/stool{pixel_y = 8},/obj/item/clothing/head/bandana{pixel_y = -10},/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/beach/sand,/area/centcom/holding) -"dqK" = (/obj/structure/stool{pixel_y = 8},/turf/unsimulated/beach/sand,/area/centcom/holding) -"dqL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dqM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dqN" = (/obj/structure/stool/bed/roller,/obj/machinery/vending/wallmed1{layer = 3.3; name = "Emergency NanoMed"; pixel_x = 28; pixel_y = 0; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"dqO" = (/obj/machinery/status_display{pixel_x = -30; pixel_y = 0},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"dqP" = (/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"dqQ" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac) -"dqR" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac) -"dqS" = (/obj/machinery/door/airlock/hatch{name = "Infirmary"; req_access_txt = "0"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac) -"dqT" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "escape_pod_5_recovery"; pixel_x = 25; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13"; tag_door = "escape_pod_5_recovery_hatch"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac) -"dqU" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "escape_pod_5_recovery_hatch"; locked = 1; name = "Salvage Shuttle Dock"; req_access = null; req_access_txt = "13"},/turf/simulated/shuttle/plating,/area/centcom/evac) -"dqV" = (/obj/structure/rack,/obj/item/clothing/head/that{pixel_x = 4; pixel_y = 6},/obj/item/clothing/under/suit_jacket,/obj/item/clothing/suit/wcoat,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) -"dqW" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/centcom/holding) -"dqX" = (/obj/machinery/door/airlock/centcom{name = "Post-Shift Recreation Area"; opacity = 1; req_access_txt = "0"},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) -"dqY" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/regular{pixel_x = -2; pixel_y = 4},/obj/item/bodybag/cryobag{pixel_x = 5},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 30},/obj/item/weapon/storage/firstaid/o2{layer = 2.8; pixel_x = 4; pixel_y = 6},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom) -"dqZ" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) -"dra" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = -30; pixel_y = 0; req_access_txt = "0"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/centcom/evac) -"drb" = (/obj/structure/rack,/obj/item/weapon/storage/fancy/crayons,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) -"drc" = (/obj/machinery/vending/coffee,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) -"drd" = (/turf/simulated/shuttle/wall{icon_state = "swall_s5"; dir = 2},/area/shuttle/escape/centcom) -"dre" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/shuttle/escape/centcom) -"drf" = (/turf/simulated/shuttle/wall{icon_state = "swall11"; dir = 2},/area/shuttle/escape/centcom) -"drg" = (/turf/simulated/shuttle/wall{icon_state = "swall7"; dir = 2},/area/shuttle/escape/centcom) -"drh" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/escape/centcom) -"dri" = (/turf/simulated/shuttle/wall{icon_state = "swall_s9"; dir = 2},/area/shuttle/escape/centcom) -"drj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/centcom/evac) -"drk" = (/obj/structure/table,/turf/simulated/shuttle/floor,/area/centcom/evac) -"drl" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/turf/simulated/shuttle/floor,/area/centcom/evac) -"drm" = (/obj/machinery/vending/wallmed1{name = "Emergency NanoMed"; pixel_x = 30; pixel_y = 0; req_access_txt = "0"},/obj/machinery/vending/snack,/turf/simulated/shuttle/floor,/area/centcom/evac) -"drn" = (/obj/structure/stool{pixel_y = 8},/obj/machinery/computer/security/telescreen{name = "Entertainment monitor"; desc = "Damn, they better have /tg/thechannel on these things."; icon_state = "entertainment"; pixel_y = -30},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) -"dro" = (/obj/machinery/vending/snack,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) -"drp" = (/turf/unsimulated/beach/coastline,/area/centcom/holding) -"drq" = (/obj/item/clothing/head/collectable/paper,/turf/unsimulated/beach/coastline,/area/centcom/holding) -"drr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/holding) -"drs" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 8},/area/centcom/holding) -"drt" = (/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"dru" = (/obj/structure/shuttle/engine/propulsion,/turf/space,/area/shuttle/escape/centcom) -"drv" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/centcom/evac) -"drw" = (/obj/machinery/door/airlock/hatch{name = "Cockpit"; req_access_txt = "109"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac) -"drx" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) -"dry" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) -"drz" = (/obj/machinery/vending/cola,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding) -"drA" = (/turf/unsimulated/beach/water,/area/centcom/holding) -"drB" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "green"; dir = 10},/area/centcom/holding) -"drC" = (/turf/unsimulated/floor{icon_state = "greencorner"; dir = 8},/area/centcom/holding) -"drD" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/centcom/evac) -"drE" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/centcom/evac) -"drF" = (/obj/machinery/computer/crew,/turf/simulated/shuttle/floor,/area/centcom/evac) -"drG" = (/obj/machinery/computer/communications,/turf/simulated/shuttle/floor,/area/centcom/evac) -"drH" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (WEST)"; icon_state = "fakewindows"; dir = 8},/area/centcom/holding) -"drI" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows2 (WEST)"; icon_state = "fakewindows2"; dir = 8},/area/centcom/holding) -"drJ" = (/turf/unsimulated/wall/fakeglass{tag = "icon-fakewindows (EAST)"; icon_state = "fakewindows"; dir = 4},/area/centcom/holding) -"drK" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/holding) -"drL" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor,/area/centcom/evac) -"drM" = (/obj/structure/table,/obj/item/device/radio,/turf/simulated/shuttle/floor,/area/centcom/evac) -"drN" = (/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"drO" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"drP" = (/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"drQ" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"drR" = (/obj/structure/table,/obj/item/weapon/storage/lockbox,/turf/simulated/shuttle/floor,/area/centcom/evac) -"drS" = (/obj/structure/table,/obj/item/weapon/stamp/captain,/turf/simulated/shuttle/floor,/area/centcom/evac) -"drT" = (/obj/machinery/computer/shuttle_control/emergency,/turf/simulated/shuttle/floor,/area/centcom/evac) -"drU" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/shuttle/floor,/area/centcom/evac) -"drV" = (/obj/structure/table,/obj/item/weapon/paper_bin,/turf/simulated/shuttle/floor,/area/centcom/evac) -"drW" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"drX" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"drY" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"drZ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/ld50_syringe/choral{pixel_x = 3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"dsa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/centcom/evac) -"dsb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/centcom/evac) -"dsc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/centcom/evac) -"dsd" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dse" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"dsf" = (/obj/structure/stool/bed/chair/sofa/left{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsg" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsh" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsi" = (/obj/structure/stool/bed/chair/sofa{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsj" = (/turf/unsimulated/floor{icon_state = "white"},/area/centcom) -"dsk" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/space,/area/centcom) -"dsl" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom) -"dsm" = (/obj/structure/stool/bed/chair/sofa/corner{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsn" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/box/cups,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dso" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "white"},/area/centcom) -"dsp" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom) -"dsq" = (/obj/structure/reagent_dispensers/water_cooler,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsr" = (/obj/structure/mopbucket,/obj/item/weapon/mop,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dss" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom) -"dst" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom) -"dsu" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom) -"dsv" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{dir = 4; icon_state = "carpetside"},/area/centcom) -"dsw" = (/obj/structure/table,/obj/item/device/assembly/signaler,/obj/item/weapon/handcuffs,/obj/item/weapon/melee/classic_baton,/turf/unsimulated/floor{icon_state = "white"},/area/centcom) -"dsx" = (/obj/structure/closet/secure_closet/injection,/turf/unsimulated/floor{icon_state = "white"},/area/centcom) -"dsy" = (/obj/structure/closet/secure_closet/courtroom,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/centcom) -"dsz" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsA" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsB" = (/obj/structure/closet/secure_closet/security,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsC" = (/obj/machinery/door/airlock/security{name = "Security"; req_access = null; req_access_txt = "1"},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsD" = (/obj/machinery/door/airlock/centcom{name = "Courthouse"; opacity = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsE" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"dsF" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"dsG" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsH" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsI" = (/obj/machinery/door/window/northleft,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsJ" = (/obj/machinery/door/window/northleft,/obj/structure/stool/bed/chair,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"dsK" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"dsL" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"dsM" = (/obj/structure/table/woodentable,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsN" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsO" = (/obj/structure/closet/secure_closet/courtroom,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsP" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/machinery/camera{c_tag = "Court"; invisibility = 1; network = list("thunder"); pixel_x = 10},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsR" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsS" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsT" = (/obj/machinery/door/airlock/glass,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"dsU" = (/obj/machinery/door/airlock/gold,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsV" = (/obj/machinery/door/airlock/gold,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"dsW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom) -"dsX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom) -"dsY" = (/obj/machinery/door/airlock/glass,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dsZ" = (/obj/machinery/camera{c_tag = "Jury Room"; network = list("thunder"); pixel_x = 10},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"dta" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"dtb" = (/obj/structure/stool/bed/chair/wood/wings,/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dtc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom) -"dtd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom) -"dte" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom) -"dtf" = (/obj/structure/stool/bed/chair/wood/wings{tag = "icon-wooden_chair_wings (NORTH)"; icon_state = "wooden_chair_wings"; dir = 1},/turf/unsimulated/floor{icon_state = "carpet"; dir = 2},/area/centcom) -"dtg" = (/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom) -"dth" = (/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "28"},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom) -"dti" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom) -"dtj" = (/obj/structure/table,/obj/machinery/processor{pixel_x = 0; pixel_y = 10},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom) -"dtk" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom) -"dtl" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"dtm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor,/area/centcom) -"dtn" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"dto" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom) -"dtp" = (/turf/space,/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dtq" = (/turf/space,/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dtr" = (/turf/space,/area/admin) -"dts" = (/turf/unsimulated/wall{icon = 'icons/turf/shuttle.dmi'; icon_state = "wall3"},/area/admin) -"dtt" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin) -"dtu" = (/obj/structure/rack,/obj/item/clothing/mask/balaclava,/obj/item/clothing/mask/gas/voice,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtv" = (/obj/structure/rack,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/suit/armor/laserproof,/obj/item/clothing/suit/armor/vest,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtw" = (/obj/structure/rack,/obj/item/clothing/shoes/laceup,/obj/item/clothing/head/bandana,/obj/item/clothing/mask/cigarette/cigar/cohiba,/obj/item/clothing/under/pirate,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtx" = (/obj/structure/rack,/obj/item/clothing/under/shorts/green,/obj/item/clothing/mask/luchador,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dty" = (/obj/structure/rack,/obj/item/clothing/shoes/rainbow,/obj/item/clothing/under/rainbow,/obj/item/clothing/gloves/rainbow,/obj/item/clothing/head/soft/rainbow,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtz" = (/obj/structure/rack,/obj/item/clothing/shoes/syndigaloshes,/obj/item/clothing/under/suit_jacket,/obj/item/clothing/mask/cigarette/pipe,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtA" = (/obj/structure/rack,/obj/item/clothing/under/syndicate,/obj/item/clothing/shoes/combat,/obj/item/clothing/gloves/combat,/obj/item/clothing/mask/gas/swat,/obj/item/clothing/suit/armor/swat,/obj/item/clothing/head/helmet/space/deathsquad,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtB" = (/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "wall3"},/area/admin) -"dtC" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin) -"dtD" = (/obj/structure/rack,/obj/item/clothing/shoes/magboots,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtE" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtF" = (/obj/structure/rack,/obj/item/clothing/shoes/combat,/obj/item/clothing/gloves/combat,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/glasses/hud/security/jensenshades,/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtG" = (/obj/structure/rack,/obj/item/clothing/head/beret/sec,/obj/item/clothing/head/beret/centcom/officer,/obj/item/clothing/head/beret/centcom/captain,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtH" = (/obj/structure/rack,/obj/item/clothing/suit/space/santa,/obj/item/clothing/head/helmet/space/santahat,/obj/item/weapon/storage/backpack/santabag,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtI" = (/obj/structure/rack,/obj/item/clothing/under/acj,/obj/item/clothing/glasses/sunglasses/sechud,/obj/item/clothing/gloves/combat,/obj/item/clothing/head/beret/sec,/obj/item/clothing/shoes/combat,/obj/item/clothing/suit/armor/vest,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtJ" = (/obj/structure/rack,/obj/item/weapon/storage/backpack/satchel_tox,/obj/item/weapon/storage/backpack/satchel_vir,/obj/item/weapon/storage/backpack/satchel_chem,/obj/item/weapon/storage/backpack/satchel_hyd,/obj/item/weapon/storage/backpack/satchel_gen,/obj/item/weapon/storage/backpack/holding,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtK" = (/obj/structure/rack,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/thermal,/obj/item/clothing/glasses/material,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtL" = (/obj/mecha/combat/marauder/mauler,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtM" = (/obj/mecha/combat/marauder/seraph,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtN" = (/obj/mecha/combat/honker,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtO" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtP" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtQ" = (/obj/structure/rack,/obj/item/clothing/head/welding/fluff/alice_mccrea_1,/obj/item/clothing/head/welding/fluff/norah_briggs_1,/obj/item/clothing/head/welding/fluff/yuki_matsuda_1,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtR" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate/black,/obj/item/clothing/mask/gas/swat,/obj/item/clothing/head/helmet/space/syndicate/black,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtS" = (/obj/structure/rack,/obj/item/clothing/under/psyche,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtT" = (/obj/structure/mirror{pixel_y = -30},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtU" = (/obj/structure/rack,/obj/item/clothing/shoes/syndigaloshes,/obj/item/clothing/under/soviet,/obj/item/clothing/head/ushanka,/obj/item/clothing/glasses/night,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtV" = (/obj/mecha/combat/marauder,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtW" = (/obj/mecha/combat/gygax/dark,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtX" = (/obj/effect/decal/mecha_wreckage/phazon,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dtY" = (/turf/space,/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dtZ" = (/obj/machinery/door/airlock/hatch{name = "Clothing Storage"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dua" = (/obj/machinery/door/airlock/hatch{name = "Mecha Room"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dub" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/simulated/shuttle/wall{tag = "icon-diagonalWall3 (EAST)"; icon_state = "diagonalWall3"; dir = 4},/area/admin) -"duc" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/simulated/shuttle/wall{tag = "icon-diagonalWall3"; icon_state = "diagonalWall3"; dir = 2},/area/admin) -"dud" = (/obj/machinery/chem_master,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"due" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duf" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dug" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bottle/cyanide,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duh" = (/turf/space,/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/adminconstruction) -"dui" = (/obj/machinery/door/airlock/external,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duj" = (/obj/machinery/door/airlock/hatch{name = "External Airlock"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duk" = (/obj/machinery/chem_dispenser{desc = "It appears Fox is doing more fruit chemistry today!"; hackedcheck = 1},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dul" = (/obj/structure/stool,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dum" = (/obj/structure/reagent_dispensers/fueltank,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dun" = (/obj/machinery/door/airlock/hatch{name = "Armory"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duo" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dup" = (/obj/item/weapon/storage/box/syringes,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/weapon/grenade/chem_grenade/large,/obj/item/weapon/grenade/chem_grenade/large,/obj/item/weapon/grenade/chem_grenade/large,/obj/item/weapon/grenade/chem_grenade/large,/obj/item/weapon/gun/syringe/rapidsyringe,/obj/item/weapon/reagent_containers/spray/chemsprayer,/obj/structure/closet,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duq" = (/turf/space,/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dur" = (/obj/structure/rack,/obj/item/ammo_box/a357,/obj/item/ammo_box/a418,/obj/item/ammo_box/a666,/obj/item/weapon/gun/projectile/revolver/mateba,/obj/item/ammo_box/a357,/obj/item/ammo_box/a666,/obj/item/ammo_box/a418,/obj/item/weapon/gun/projectile/revolver/mateba,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dus" = (/obj/structure/rack,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/weapon/gun/projectile/automatic,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/ammo_box/magazine/msmg9mm,/obj/item/weapon/gun/projectile/automatic,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dut" = (/obj/structure/rack,/obj/item/ammo_box/magazine/uzim45,/obj/item/ammo_box/magazine/uzim45,/obj/item/weapon/gun/projectile/automatic/mini_uzi,/obj/item/ammo_box/magazine/uzim45,/obj/item/ammo_box/magazine/uzim45,/obj/item/weapon/gun/projectile/automatic/mini_uzi,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duu" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/item/weapon/gun/projectile/automatic/m2411,/obj/item/ammo_box/magazine/m45,/obj/item/ammo_box/magazine/m45,/obj/item/weapon/gun/projectile/automatic/m2411,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duv" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m50,/obj/item/ammo_box/magazine/m50,/obj/item/weapon/gun/projectile/automatic/deagle,/obj/item/ammo_box/magazine/m50,/obj/item/ammo_box/magazine/m50,/obj/item/weapon/gun/projectile/automatic/deagle,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duw" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m12mm,/obj/item/ammo_box/magazine/m12mm,/obj/item/weapon/gun/projectile/automatic/c20r,/obj/item/ammo_box/magazine/m12mm,/obj/item/ammo_box/magazine/m12mm,/obj/item/weapon/gun/projectile/automatic/c20r,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dux" = (/obj/structure/rack,/obj/item/ammo_box/magazine/m75,/obj/item/ammo_box/magazine/m75,/obj/item/weapon/gun/projectile/automatic/gyropistol,/obj/item/ammo_box/magazine/m75,/obj/item/ammo_box/magazine/m75,/obj/item/weapon/gun/projectile/automatic/gyropistol,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duy" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/grown/lemon,/obj/item/weapon/reagent_containers/food/snacks/grown/berries,/obj/item/weapon/reagent_containers/food/snacks/grown/banana,/obj/item/weapon/reagent_containers/food/snacks/grown/cherries,/obj/item/weapon/reagent_containers/food/snacks/grown/orange,/obj/item/weapon/reagent_containers/food/snacks/grown/corn,/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duz" = (/obj/structure/table,/obj/item/weapon/storage/pill_bottle/random_drug_bottle,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duA" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/obj/item/weapon/reagent_containers/glass/beaker/bluespace,/obj/item/weapon/storage/box/autoinjectors,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duB" = (/obj/structure/table,/obj/item/weapon/storage/box/syringes,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/weapon/grenade/chem_grenade/large,/obj/item/weapon/grenade/chem_grenade/large,/obj/item/weapon/grenade/chem_grenade/large,/obj/item/weapon/grenade/chem_grenade/large,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duC" = (/obj/machinery/door/airlock/hatch{name = "Chem Lab"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duD" = (/obj/structure/rack,/obj/item/weapon/gun/energy/pulse_rifle/M1911,/obj/item/weapon/gun/energy/pulse_rifle/M1911,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duE" = (/obj/structure/rack,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/weapon/gun/energy/pulse_rifle,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duF" = (/obj/structure/rack,/obj/item/weapon/gun/energy/sniperrifle,/obj/item/weapon/gun/energy/sniperrifle,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duG" = (/obj/structure/mirror{dir = 4; pixel_x = 0; pixel_y = -32},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duH" = (/obj/machinery/optable,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duI" = (/obj/machinery/vending/medical,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duJ" = (/obj/structure/table,/obj/random/tool,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duK" = (/obj/structure/table,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duL" = (/obj/structure/table,/obj/item/weapon/tank/anesthetic,/obj/random/technology_scanner,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duM" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"duN" = (/obj/effect/decal/cleanable/blood,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duO" = (/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/rods,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duP" = (/obj/structure/table,/obj/random/tech_supply,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duQ" = (/obj/structure/table,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duR" = (/obj/structure/rack,/obj/item/weapon/claymore,/obj/item/weapon/claymore,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duS" = (/obj/structure/rack,/obj/item/weapon/katana,/obj/item/weapon/katana,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duT" = (/obj/structure/rack,/obj/item/weapon/twohanded/dualsaber,/obj/item/weapon/twohanded/dualsaber,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duU" = (/obj/machinery/recharger/wallcharger{pixel_x = 30},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"duV" = (/obj/structure/table,/obj/random/toolbox,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"duW" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"duX" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"duY" = (/obj/structure/table,/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/storage/pill_bottle/random_drug_bottle,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"duZ" = (/obj/structure/table,/obj/item/weapon/handcuffs/cable/red,/obj/item/weapon/storage/box/mousetraps,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dva" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/fork,/obj/item/weapon/lighter,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvb" = (/obj/structure/table,/obj/item/weapon/tank/plasma,/obj/item/device/multitool,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvc" = (/obj/structure/table,/obj/random/toolbox,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvd" = (/obj/structure/table,/obj/item/weapon/tank/oxygen/yellow,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"dve" = (/obj/machinery/door/airlock/hatch{name = "Tool Storage"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"dvf" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/syndicate,/obj/item/weapon/shard,/obj/item/weapon/kitchenknife,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvg" = (/obj/structure/kitchenspike,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvh" = (/obj/structure/table,/obj/item/weapon/tank/oxygen/yellow,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvi" = (/obj/structure/table,/obj/item/weapon/tank/jetpack/void,/obj/item/clothing/mask/fakemoustache,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvj" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin) -"dvk" = (/obj/structure/rack,/obj/item/weapon/shield/energy,/obj/item/weapon/shield/energy,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvl" = (/obj/structure/rack,/obj/item/weapon/gun/energy/crossbow,/obj/item/weapon/gun/energy/crossbow,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvm" = (/obj/structure/rack,/obj/item/weapon/gun/energy/meteorgun,/obj/item/weapon/gun/energy/meteorgun,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvn" = (/obj/structure/table,/obj/random/tool,/obj/item/clothing/gloves/yellow,/obj/item/weapon/pinpointer/advpinpointer,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"dvo" = (/obj/structure/table,/obj/item/weapon/rsf,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"dvp" = (/obj/structure/table,/obj/item/toy/cards/deck/syndicate/black,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"dvq" = (/obj/structure/table,/obj/item/weapon/weldingtool,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvr" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/hatchet,/obj/item/weapon/pen,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvs" = (/obj/machinery/door/airlock/hatch{name = "Operating Room"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvt" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dvu" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin) -"dvv" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dvw" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dvx" = (/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/turf/unsimulated/wall{dir = 2; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dvy" = (/obj/machinery/door/airlock/hatch{desc = "You've heard rumors of the horrors that go on within this lab."; name = "Laboratory (DANGER!)"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvz" = (/obj/machinery/computer/ordercomp,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvA" = (/obj/machinery/computer/crew,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvB" = (/obj/machinery/computer/security,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvC" = (/obj/machinery/computer/rdservercontrol{badmin = 1; name = "Master R&D Server Controller"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvD" = (/obj/structure/table,/obj/item/weapon/card/id/captains_spare,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvE" = (/obj/structure/table,/obj/item/weapon/card/id/silver,/obj/item/weapon/card/id/fluff/lifetime{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvF" = (/obj/structure/table,/obj/item/weapon/card/id/centcom,/obj/item/weapon/card/id{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvG" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'DANGER!'."; name = "\improper DANGER!"},/turf/unsimulated/wall{icon = 'icons/turf/shuttle.dmi'; icon_state = "wall3"},/area/admin) -"dvH" = (/obj/structure/stool/bed/chair/comfy/black,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin) -"dvI" = (/obj/machinery/computer/card,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvJ" = (/obj/structure/stool/bed/chair{dir = 1},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvK" = (/obj/machinery/door/airlock/glass{name = "Computer Hub"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvL" = (/obj/effect/landmark{name = "aroomwarp"; tag = ""},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvM" = (/obj/machinery/door/airlock/hatch{desc = "For all your shady business needs"; name = "Gambling Den"; req_access_txt = "0"},/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin) -"dvN" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin) -"dvO" = (/obj/structure/table/woodentable,/obj/item/toy/cards/deck/syndicate,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin) -"dvP" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/devilskiss,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin) -"dvQ" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin) -"dvR" = (/obj/machinery/artillerycontrol{luminosity = 255},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvS" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvT" = (/obj/item/weapon/stool,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin) -"dvU" = (/obj/structure/table/woodentable,/obj/item/weapon/lighter/zippo/fluff/naples_1,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/area/admin) -"dvV" = (/obj/machinery/computer/communications,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvW" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dvX" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dvY" = (/turf/unsimulated/floor{dir = 8; icon_state = "wood"},/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dvZ" = (/obj/machinery/computer/message_monitor,/obj/item/weapon/paper/monitorkey,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dwa" = (/obj/machinery/computer/atmos_alert,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dwb" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dwc" = (/obj/machinery/account_database{name = "Admin Accounts database"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dwd" = (/obj/structure/table,/obj/item/weapon/gun/energy/gun,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dwe" = (/obj/structure/table,/obj/machinery/door_control{desc = "A remote control switch to lock down external access to the admin room."; icon_state = "doorctrl0"; id = "ADMINLOCKDOWN"; name = "Lockdown"; pixel_y = 0; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dwf" = (/obj/structure/table,/obj/item/weapon/implanter/explosive,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dwg" = (/turf/simulated/floor,/area/admin) -"dwh" = (/obj/machinery/door/airlock/hatch{desc = "Danger: May contain robustness"; name = "Dojo"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"dwi" = (/turf/unsimulated/wall,/area/tdome) -"dwj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"dwk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"dwl" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"dwm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"dwn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"dwo" = (/obj/machinery/door/airlock/glass{name = "Shuttle Bay"; req_access_txt = "0"},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dwp" = (/obj/structure/showcase,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"dwq" = (/obj/structure/table,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"dwr" = (/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"dws" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"dwt" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 8},/area/tdome) -"dwu" = (/turf/unsimulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tdome) -"dwv" = (/turf/unsimulated/floor{icon_state = "neutral"; dir = 4},/area/tdome) -"dww" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"dwx" = (/turf/simulated/wall/r_wall,/area/adminconstruction) -"dwy" = (/obj/structure/cult/talisman,/obj/item/weapon/storage/toolbox/syndicate{desc = "A powerful relic many men worked long and hard to keep safe and away from the forces of evil."; force = 1e+008; name = "toolbox of robustness"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"dwz" = (/turf/unsimulated/floor{icon_state = "gcircuit"},/area/admin) -"dwA" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/rack,/obj/item/weapon/grenade/clusterbuster/smoke,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"dwB" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"dwC" = (/obj/structure/table/reinforced{dir = 4; icon_state = "reinf_tabledir"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"dwD" = (/obj/structure/table/reinforced{dir = 8; icon_state = "reinf_tabledir"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"dwE" = (/obj/structure/stool/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"dwF" = (/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/adminconstruction) -"dwG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"dwH" = (/obj/structure/ninjatele{pixel_x = -28},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"dwI" = (/obj/structure/ninjatele{pixel_x = 28},/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin) -"dwJ" = (/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/tdome) -"dwK" = (/turf/unsimulated/floor{icon_state = "green"; dir = 4},/area/tdome) -"dwL" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dwM" = (/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dwN" = (/turf/unsimulated/floor{icon_state = "red"; dir = 10},/area/tdome) -"dwO" = (/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/tdome) -"dwP" = (/turf/unsimulated/floor{icon_state = "green"},/area/tdome) -"dwQ" = (/turf/unsimulated/floor{icon_state = "green"; dir = 6},/area/tdome) -"dwR" = (/turf/unsimulated/floor{icon_state = "engine"},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{dir = 1; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dwS" = (/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor{icon_state = "engine"},/area/admin) -"dwT" = (/obj/machinery/door/window{dir = 1; name = "Suit Storage"; req_access_txt = "0"},/turf/unsimulated/floor{icon_state = "engine"},/area/admin) -"dwU" = (/turf/unsimulated/floor{icon_state = "engine"},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/wall{dir = 8; icon = 'icons/turf/shuttle.dmi'; icon_state = "diagonalWall3"},/area/admin) -"dwV" = (/obj/structure/rack,/obj/item/clothing/shoes/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin) -"dwW" = (/turf/unsimulated/floor{icon_state = "engine"},/area/admin) -"dwX" = (/obj/structure/rack,/obj/item/clothing/head/helmet/space/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin) -"dwY" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tdome) -"dwZ" = (/turf/unsimulated/floor{icon_state = "engine"},/turf/unsimulated/wall{dir = 4; icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin) -"dxa" = (/obj/structure/rack,/obj/item/clothing/gloves/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin) -"dxb" = (/obj/structure/rack,/obj/item/weapon/ninja_manuscript,/obj/item/clothing/mask/gas/voice/space_ninja/scar,/turf/unsimulated/floor{icon_state = "engine"},/area/admin) -"dxc" = (/obj/structure/rack,/obj/item/clothing/suit/space/space_ninja,/turf/unsimulated/floor{icon_state = "engine"},/area/admin) -"dxd" = (/obj/structure/closet/secure_closet/bar,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"dxe" = (/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"dxf" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"dxg" = (/obj/machinery/door/airlock/command{name = "Thunderdome"},/turf/unsimulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tdome) -"dxh" = (/turf/unsimulated/floor{icon_state = "engine"},/turf/unsimulated/wall{icon = 'icons/turf/shuttle.dmi'; icon_state = "window5"; opacity = 0},/area/admin) -"dxi" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"dxj" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"dxk" = (/obj/structure/table{icon_state = "tabledir"; dir = 2},/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"dxl" = (/obj/structure/reagent_dispensers/beerkeg,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"dxm" = (/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"dxn" = (/obj/machinery/vending/coffee,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"dxo" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"dxp" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"dxq" = (/obj/structure/stool/bed/chair,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"dxr" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"dxs" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"dxt" = (/obj/structure/table{icon_state = "tabledir"; dir = 9},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"dxu" = (/obj/structure/table,/obj/machinery/microwave,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"dxv" = (/obj/structure/table/reinforced{dir = 4; icon_state = "reinf_tabledir"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"dxw" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"dxx" = (/obj/item/device/camera,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"dxy" = (/obj/structure/disposalpipe/segment,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"dxz" = (/obj/structure/stool/bed/chair,/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "tdomeobserve"},/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) -"dxA" = (/obj/machinery/door/airlock/external{name = "Shuttle Dock"; req_access_txt = "80"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dxB" = (/obj/machinery/door/airlock/external{name = "Shuttle Dock"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dxC" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"dxD" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/turf/simulated/floor,/area/tdome) -"dxE" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/tdome) -"dxF" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"dxG" = (/obj/machinery/door/poddoor{id = "thunderdomeaxe"; name = "Axe Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"dxH" = (/obj/machinery/igniter,/turf/simulated/floor,/area/tdome) -"dxI" = (/turf/simulated/floor,/area/tdome) -"dxJ" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/tdome) -"dxK" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"dxL" = (/obj/machinery/door/poddoor{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"dxM" = (/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) -"dxN" = (/obj/machinery/door/poddoor{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"dxO" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/tdome) -"dxP" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/tdome) -"dxQ" = (/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"dxR" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/melee/baton/loaded,/obj/item/weapon/melee/energy/sword/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"dxS" = (/obj/machinery/door/airlock/hatch{name = "Teleporter Access"; req_access_txt = "0"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "ADMINLOCKDOWN"; name = "Security Doors"; opacity = 0},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dxT" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) -"dxU" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"dxV" = (/obj/structure/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/weapon/tank/jetpack/oxygen,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dxW" = (/obj/structure/rack,/obj/item/clothing/suit/space,/obj/item/clothing/suit/space,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space,/obj/item/clothing/head/helmet/space,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dxX" = (/obj/machinery/camera{pixel_x = 11; pixel_y = -9; network = list("thunder"); c_tag = "Red Team"},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2) -"dxY" = (/turf/simulated/floor/bluegrid,/area/tdome) -"dxZ" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome) -"dya" = (/obj/machinery/camera{pixel_x = 12; pixel_y = -10; network = list("thunder"); c_tag = "Green Team"},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1) -"dyb" = (/obj/machinery/atmospherics/pipe/vent,/turf/simulated/floor/bluegrid,/area/tdome) -"dyc" = (/obj/machinery/camera{pixel_x = 10; network = list("thunder"); c_tag = "Arena"},/turf/simulated/floor/bluegrid,/area/tdome) -"dyd" = (/obj/structure/table,/obj/random/powercell,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dye" = (/obj/structure/table,/obj/random/tool,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dyf" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/tdome) -"dyg" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; icon_state = "manifold"; level = 2},/turf/simulated/floor,/area/tdome) -"dyh" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/tdome) -"dyi" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dyj" = (/obj/structure/table,/obj/random/technology_scanner,/obj/random/tech_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dyk" = (/obj/machinery/door/poddoor{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"dyl" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor,/area/tdome) -"dym" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dyn" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dyo" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dyp" = (/obj/machinery/teleport/hub,/turf/unsimulated/floor{tag = "icon-delivery"; icon_state = "delivery"},/area/admin) -"dyq" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin) -"dyr" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = null; req_access_txt = "102"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) -"dys" = (/obj/machinery/door/poddoor{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"dyt" = (/turf/unsimulated/floor{tag = "icon-redcorner (WEST)"; icon_state = "redcorner"; dir = 8},/area/tdome) -"dyu" = (/obj/structure/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"dyv" = (/obj/machinery/door/airlock/command{name = "Thunderdome Administration"; req_access = null; req_access_txt = "102"},/turf/simulated/floor,/area/tdome) -"dyw" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/effect/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor,/area/tdome) -"dyx" = (/obj/structure/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/weapon/gun/energy/laser,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) -"dyy" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/tdome) -"dyz" = (/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyA" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyB" = (/obj/item/weapon/extinguisher,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyC" = (/obj/machinery/atmospherics/valve,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyD" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/disposalpipe/segment,/obj/effect/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyE" = (/obj/machinery/computer/security/telescreen,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyF" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/sleeping_agent{pixel_x = 1},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyG" = (/obj/item/weapon/wrench,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyH" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyI" = (/obj/structure/stool/bed/chair,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyJ" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyK" = (/obj/structure/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyL" = (/obj/machinery/computer/pod{id = "thunderdomeaxe"; name = "Thunderdome Axe Supply"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyM" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyN" = (/obj/machinery/computer/pod{id = "thunderdomehea"; name = "Thunderdome Heavy Supply"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyO" = (/obj/machinery/computer/pod{id = "thunderdome"; name = "Thunderdome Blast Door Control"},/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyP" = (/obj/structure/table{icon_state = "tabledir"; dir = 9},/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/obj/item/stack/medical/ointment,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyQ" = (/obj/structure/table,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/bruise_pack,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyR" = (/obj/structure/table,/obj/item/weapon/storage/box/handcuffs,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyS" = (/obj/structure/table,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyT" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyU" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/unsimulated/floor{tag = "icon-redyellowfull (NORTHEAST)"; icon_state = "redyellowfull"; dir = 5},/area/tdome/tdomeadmin) -"dyV" = (/obj/item/trash/cheesie,/turf/space,/area) -"dyW" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area/derelict/ship) -"dyX" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/derelict/ship) -"dyY" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area/derelict/ship) -"dyZ" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area/derelict/ship) -"dza" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/derelict/ship) -"dzb" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzc" = (/obj/machinery/sleeper,/obj/machinery/light{dir = 1},/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzd" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dze" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/derelict/ship) -"dzf" = (/turf/simulated/shuttle/wall{tag = "icon-swall13"; icon_state = "swall13"; dir = 2},/area/derelict/ship) -"dzg" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_r (WEST)"; icon_state = "burst_r"; dir = 8},/turf/space,/area/derelict/ship) -"dzh" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area/derelict/ship) -"dzi" = (/obj/machinery/computer/med_data,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzj" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 6; pixel_y = -5},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzk" = (/turf/simulated/shuttle/wall{tag = "icon-swall15"; icon_state = "swall15"; dir = 2},/area/derelict/ship) -"dzl" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area/derelict/ship) -"dzm" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/ship) -"dzn" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (WEST)"; icon_state = "propulsion"; dir = 8},/turf/space,/area/derelict/ship) -"dzo" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area/derelict/ship) -"dzp" = (/obj/item/weapon/scalpel,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzq" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/derelict/ship) -"dzr" = (/turf/simulated/shuttle/plating,/area/derelict/ship) -"dzs" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship) -"dzu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship) -"dzv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship) -"dzw" = (/obj/machinery/door/airlock/glass{name = "Hibernation Pods"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzx" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzy" = (/obj/structure/table,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzz" = (/turf/simulated/shuttle/wall{tag = "icon-swall3"; icon_state = "swall3"; dir = 2},/area/derelict/ship) -"dzA" = (/obj/item/device/multitool,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzB" = (/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzC" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/plating,/area/derelict/ship) -"dzD" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/derelict/ship) -"dzE" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l (WEST)"; icon_state = "burst_l"; dir = 8},/turf/space,/area/derelict/ship) -"dzF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/derelict/ship) -"dzG" = (/obj/structure/table,/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzH" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/derelict/ship) -"dzI" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzJ" = (/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzK" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/derelict/ship) -"dzM" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzN" = (/obj/machinery/door/window,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzO" = (/obj/structure/table,/obj/item/weapon/gun/energy/laser/retro,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzP" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating,/area/derelict/ship) -"dzQ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzR" = (/obj/structure/table,/obj/item/weapon/tank/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/plating,/area/derelict/ship) -"dzT" = (/obj/machinery/light{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzU" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s6"; icon_state = "swall_s6"; dir = 2},/area) -"dzV" = (/turf/simulated/shuttle/wall{tag = "icon-swall14"; icon_state = "swall14"; dir = 2},/area) -"dzW" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area) -"dzX" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s10"; icon_state = "swall_s10"; dir = 2},/area) -"dzY" = (/obj/structure/table,/obj/item/device/analyzer,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dzZ" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAa" = (/obj/machinery/door/airlock/glass{name = "Living Module"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAb" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAc" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area) -"dAd" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area) -"dAe" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/area) -"dAf" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area) -"dAg" = (/turf/simulated/shuttle/wall{tag = "icon-swall11"; icon_state = "swall11"; dir = 2},/area) -"dAh" = (/obj/machinery/door/window/northright,/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAi" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAj" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAk" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area) -"dAl" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area/derelict/ship) -"dAm" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area/derelict/ship) -"dAn" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area) -"dAo" = (/obj/item/weapon/table_parts,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area) -"dAp" = (/turf/simulated/shuttle/floor{icon_state = "floor3"},/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area) -"dAq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/shuttle/plating,/area/derelict/ship) -"dAr" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/light{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAs" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s5"; icon_state = "swall_s5"; dir = 2},/area) -"dAt" = (/turf/simulated/shuttle/wall{tag = "icon-swall13"; icon_state = "swall13"; dir = 2},/area) -"dAu" = (/turf/simulated/shuttle/wall{tag = "icon-swall_s9"; icon_state = "swall_s9"; dir = 2},/area) -"dAv" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAw" = (/obj/item/weapon/shard,/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAx" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAy" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAz" = (/obj/structure/cable,/obj/structure/computerframe{anchored = 1},/obj/item/stack/cable_coil/cut,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAA" = (/obj/structure/rack,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/tank/emergency_oxygen,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAB" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/breath,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAC" = (/obj/structure/rack,/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAD" = (/obj/machinery/power/apc{cell_type = 5000; dir = 8; environ = 0; equipment = 0; lighting = 0; locked = 0; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAE" = (/obj/machinery/light/small,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAF" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/derelict/ship) -"dAG" = (/obj/machinery/door/poddoor{id = "oldship_gun"; name = "Pod Bay Door"},/turf/simulated/shuttle/plating,/area/derelict/ship) -"dAH" = (/obj/machinery/mass_driver{dir = 8; icon_state = "mass_driver"; id = "oldship_gun"},/turf/simulated/shuttle/plating,/area/derelict/ship) -"dAI" = (/obj/machinery/door/airlock/glass,/turf/simulated/shuttle/plating,/area/derelict/ship) -"dAJ" = (/obj/machinery/door/airlock/glass{name = "Pod Bay"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAK" = (/obj/effect/decal/remains/human,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAL" = (/turf/simulated/shuttle/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area/derelict/ship) -"dAM" = (/obj/machinery/computer/pod{id = "oldship_gun"},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAN" = (/obj/structure/table,/obj/item/weapon/screwdriver,/obj/machinery/light,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAO" = (/obj/structure/table,/obj/item/device/radio,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/derelict/ship) -"dAP" = (/obj/machinery/power/solar/fake,/turf/simulated/floor{icon_state = "solarpanel"},/area) -"dAQ" = (/obj/machinery/camera{c_tag = "North Solars"; dir = 8; network = list("Tcomsat")},/turf/space,/area) -"dAR" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area) -"dAS" = (/turf/simulated/wall/r_wall,/area/turret_protected/tcomsat) -"dAT" = (/turf/simulated/wall/r_wall,/area/tcommsat/computer) -"dAU" = (/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat) -"dAV" = (/turf/space,/area/turret_protected/tcomsat) -"dAW" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/camera{c_tag = "West Wing North"; dir = 2; network = list("Tcomsat")},/turf/space,/area/turret_protected/tcomsat) -"dAX" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dAY" = (/obj/machinery/power/apc{dir = 1; name = "Telecoms Sat. APC"; pixel_x = 1; pixel_y = 26},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dAZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dBa" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dBb" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dBc" = (/obj/item/weapon/coin/clown,/turf/simulated/floor/engine,/area/tcommsat/computer) -"dBd" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/green,/turf/simulated/floor,/area/tcommsat/computer) -"dBe" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/tcommsat/computer) -"dBf" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor,/area/tcommsat/computer) -"dBg" = (/obj/machinery/camera{c_tag = "Lounge"; dir = 2; network = list("Tcomsat")},/turf/simulated/floor,/area/tcommsat/computer) -"dBh" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/red,/turf/simulated/floor,/area/tcommsat/computer) -"dBi" = (/turf/simulated/floor,/area/tcommsat/computer) -"dBj" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/turret_protected/tcomsat) -"dBk" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dBl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/meter,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dBm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dBn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dBo" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dBp" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/turret_protected/tcomsat) -"dBq" = (/obj/structure/filingcabinet,/turf/simulated/floor,/area/tcommsat/computer) -"dBr" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; on = 1; pressure_checks = 0},/obj/machinery/camera{c_tag = "Main Computer Room"; dir = 2; network = list("Tcomsat")},/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/tcommsat/computer) -"dBs" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = -3; pixel_y = 2},/turf/simulated/floor,/area/tcommsat/computer) -"dBt" = (/obj/structure/table,/obj/machinery/light/small/lamp,/turf/simulated/floor,/area/tcommsat/computer) -"dBu" = (/turf/simulated/floor/engine,/area/tcommsat/computer) -"dBv" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = -29; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/computer) -"dBw" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area/turret_protected/tcomsat) -"dBx" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dBy" = (/obj/machinery/atmospherics/valve/digital{_color = "cyan"; icon_state = "valve1"; name = "Mixed Air Outlet Valve"; open = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dBz" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dBA" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/closet,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dBB" = (/obj/structure/window/reinforced{dir = 8},/turf/space,/area/turret_protected/tcomsat) -"dBC" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor,/area/tcommsat/computer) -"dBD" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor,/area/tcommsat/computer) -"dBE" = (/obj/machinery/computer/telecomms/monitor{network = list("tcommsat")},/obj/item/device/radio/intercom{anyai = 1; freerange = 1; name = "General Listening Channel"; pixel_x = 28; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/computer) -"dBF" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/orange,/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/tcommsat/computer) -"dBG" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat) -"dBH" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/space,/area/turret_protected/tcomsat) -"dBI" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dBJ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/turret_protected/tcomsat) -"dBK" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/space,/area/turret_protected/tcomsat) -"dBL" = (/obj/structure/window/reinforced,/turf/space,/area/turret_protected/tcomsat) -"dBM" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/tcommsat/computer) -"dBN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/computer/telecomms/traffic,/turf/simulated/floor,/area/tcommsat/computer) -"dBO" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/tcommsat/computer) -"dBP" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor,/area/tcommsat/computer) -"dBQ" = (/obj/machinery/computer/telecomms/server{network = list("tcommsat")},/turf/simulated/floor,/area/tcommsat/computer) -"dBR" = (/obj/item/weapon/spacecash,/turf/simulated/floor/engine,/area/tcommsat/computer) -"dBS" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/tcommsat/computer) -"dBT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor,/area/tcommsat/computer) -"dBU" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor,/area/tcommsat/computer) -"dBV" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes,/turf/simulated/floor,/area/tcommsat/computer) -"dBW" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/tcommsat/computer) -"dBX" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dBY" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dBZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dCa" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dCb" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 9; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/hatch{name = "Telecoms Control Room"; req_access_txt = "61"},/turf/simulated/floor,/area/tcommsat/computer) -"dCc" = (/obj/machinery/atmospherics/pipe/simple{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/tcommsat/computer) -"dCd" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/tcommsat/computer) -"dCe" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/tcommsat/computer) -"dCf" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/tcommsat/computer) -"dCg" = (/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; initialize_directions = 10},/obj/machinery/power/apc{dir = 4; name = "Telecoms Sat. Control APC"; pixel_x = 25},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/tcommsat/computer) -"dCh" = (/turf/simulated/wall/r_wall,/area/tcommsat/chamber) -"dCi" = (/obj/machinery/vending/snack,/turf/simulated/floor,/area/tcommsat/computer) -"dCj" = (/obj/machinery/vending/cola,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/tcommsat/computer) -"dCk" = (/obj/item/weapon/cigbutt,/obj/machinery/light,/turf/simulated/floor,/area/tcommsat/computer) -"dCl" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/tcommsat/computer) -"dCm" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/tcommsat/computer) -"dCn" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/tcommsat/computer) -"dCo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area) -"dCp" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless,/area) -"dCq" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating/airless,/area) -"dCr" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dCs" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/turret_protected/tcomsat) -"dCt" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/light,/turf/space,/area/turret_protected/tcomsat) -"dCu" = (/obj/structure/window/reinforced{dir = 1},/turf/space,/area/turret_protected/tcomsat) -"dCv" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/light{dir = 8},/obj/structure/table,/obj/item/device/multitool,/obj/structure/sign/electricshock{pixel_x = -32},/turf/simulated/floor,/area/tcommsat/computer) -"dCw" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 80; dir = 1; on = 1},/turf/simulated/floor,/area/tcommsat/computer) -"dCx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/tcommsat/computer) -"dCy" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/tcommsat/computer) -"dCz" = (/obj/machinery/door/window/brigdoor{dir = 8; name = "Telecomms Server Access"; req_access = null; req_access_txt = "61"},/obj/machinery/door/window/brigdoor{dir = 4; name = "Telecomms Server Access"; req_access_txt = "61"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tcommsat/chamber) -"dCA" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tcommsat/chamber) -"dCB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/tcommsat/computer) -"dCC" = (/obj/machinery/door/airlock/hatch{name = "Telecoms Lounge"; req_access_txt = "61"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tcommsat/computer) -"dCD" = (/obj/machinery/turret{lasers = 1; lasertype = 2},/turf/simulated/floor/plating/airless,/area/turret_protected/tcomsat) -"dCE" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat) -"dCF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/tcommsat/chamber) -"dCG" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/tcommsat/chamber) -"dCH" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/tcommsat/chamber) -"dCI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/tcommsat/chamber) -"dCJ" = (/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; initialize_directions = 10},/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/tcommsat/chamber) -"dCK" = (/obj/machinery/door/window/brigdoor{dir = 1; name = "Telecomms Server Access"; req_access_txt = "61"},/obj/machinery/door/window/brigdoor{dir = 2; name = "Telecomms Server Access"; req_access_txt = "61"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/tcommsat/chamber) -"dCL" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/tcommsat/chamber) -"dCM" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat) -"dCN" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dCO" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat) -"dCP" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dCQ" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 10; icon_state = "intact-b-f"; initialize_directions = 10; level = 1; name = "pipe"},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat) -"dCR" = (/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dCS" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Telecoms Sat. Central Compartment APC"; pixel_x = -1; pixel_y = 26},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dCT" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dCU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dCV" = (/obj/machinery/camera{c_tag = "Central Compartment North"; dir = 2; network = list("Tcomsat")},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dCW" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dCX" = (/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dCY" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dCZ" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat) -"dDa" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dDb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dDc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dDd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dDe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dDf" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 6; icon_state = "intact-b-f"; initialize_directions = 6; level = 1; name = "pipe"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dDg" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 9; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat) -"dDh" = (/obj/machinery/telecomms/server/presets/supply,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber) -"dDi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dDj" = (/obj/machinery/telecomms/server/presets/common,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber) -"dDk" = (/obj/machinery/telecomms/server/presets/engineering,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber) -"dDl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dDm" = (/obj/structure/table,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/obj/item/weapon/stock_parts/micro_laser/high,/turf/simulated/floor,/area/turret_protected/tcomsat) -"dDn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/camera{c_tag = "Telecoms Storage"; network = list("Tcomsat")},/turf/simulated/floor,/area/turret_protected/tcomsat) -"dDo" = (/obj/structure/rack,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/processor,/obj/item/weapon/circuitboard/telecomms/receiver,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/server,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/bus,/obj/item/weapon/circuitboard/telecomms/broadcaster,/turf/simulated/floor,/area/turret_protected/tcomsat) -"dDp" = (/obj/machinery/camera{c_tag = "West Solars"; dir = 8; network = list("Tcomsat")},/turf/space,/area) -"dDq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dDr" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/camera{c_tag = "West Wing Middle"; dir = 8; network = list("Tcomsat")},/turf/space,/area/turret_protected/tcomsat) -"dDs" = (/obj/machinery/telecomms/broadcaster/preset_left,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber) -"dDt" = (/obj/machinery/telecomms/broadcaster/preset_right,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber) -"dDu" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat) -"dDv" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dDw" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/turret_protected/tcomsat) -"dDx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dDy" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/obj/item/weapon/stock_parts/subspace/treatment,/turf/simulated/floor,/area/turret_protected/tcomsat) -"dDz" = (/turf/simulated/floor,/area/turret_protected/tcomsat) -"dDA" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/obj/item/weapon/stock_parts/subspace/analyzer,/turf/simulated/floor,/area/turret_protected/tcomsat) -"dDB" = (/obj/machinery/camera{c_tag = "East Solars"; dir = 4; network = list("Tcomsat")},/turf/space,/area) -"dDC" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dDD" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 4},/turf/space,/area/turret_protected/tcomsat) -"dDE" = (/obj/structure/sign/nosmoking_2{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dDF" = (/obj/machinery/telecomms/processor/preset_two,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber) -"dDG" = (/obj/machinery/telecomms/bus/preset_two,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber) -"dDH" = (/obj/machinery/telecomms/relay/preset/telecomms,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dDI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/telecomms/hub/preset,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dDJ" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/telecomms/relay/preset/station,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dDK" = (/obj/machinery/telecomms/processor/preset_four,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber) -"dDL" = (/obj/machinery/telecomms/bus/preset_four,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber) -"dDM" = (/obj/structure/sign/nosmoking_2{pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dDN" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat) -"dDO" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dDP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dDQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/machinery/door/airlock/maintenance_hatch{name = "Telecoms Storage"; req_access_txt = "61"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dDR" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/weapon/stock_parts/subspace/amplifier,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/turret_protected/tcomsat) -"dDS" = (/obj/machinery/telecomms/bus/preset_one,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber) -"dDT" = (/obj/machinery/telecomms/processor/preset_one,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber) -"dDU" = (/obj/machinery/telecomms/receiver/preset_left,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber) -"dDV" = (/obj/machinery/telecomms/receiver/preset_right,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber) -"dDW" = (/obj/machinery/telecomms/bus/preset_three,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber) -"dDX" = (/obj/machinery/telecomms/processor/preset_three,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber) -"dDY" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/space,/area/turret_protected/tcomsat) -"dDZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dEa" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/turret_protected/tcomsat) -"dEb" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/obj/item/weapon/stock_parts/subspace/ansible,/turf/simulated/floor,/area/turret_protected/tcomsat) -"dEc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dEd" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/transmitter,/obj/item/weapon/stock_parts/subspace/transmitter,/turf/simulated/floor,/area/turret_protected/tcomsat) -"dEe" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/obj/item/weapon/stock_parts/subspace/filter,/turf/simulated/floor,/area/turret_protected/tcomsat) -"dEf" = (/obj/structure/table,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/obj/item/weapon/stock_parts/subspace/crystal,/turf/simulated/floor,/area/turret_protected/tcomsat) -"dEg" = (/obj/machinery/telecomms/server/presets/science,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber) -"dEh" = (/obj/machinery/telecomms/server/presets/medical,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber) -"dEi" = (/obj/machinery/atmospherics/pipe/simple{dir = 6},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dEj" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dEk" = (/obj/machinery/telecomms/server/presets/command,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber) -"dEl" = (/obj/machinery/telecomms/server/presets/security,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber) -"dEm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dEn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dEo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"dEp" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; on = 1; pressure_checks = 0},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dEq" = (/obj/machinery/camera{c_tag = "Central Compartment South"; dir = 1; network = list("Tcomsat")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dEr" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 120; icon_state = "in"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber) -"dEs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall/r_wall,/area/tcommsat/chamber) -"dEt" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dEu" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/space,/area/turret_protected/tcomsat) -"dEv" = (/obj/structure/window/reinforced,/obj/structure/lattice,/obj/machinery/light{dir = 1},/turf/space,/area/turret_protected/tcomsat) -"dEw" = (/turf/simulated/wall/r_wall,/area/turret_protected/tcomfoyer) -"dEx" = (/obj/machinery/turret{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'LETHAL TURRETS'. Enter at your own risk!"; name = "LETHAL TURRETS"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/turret_protected/tcomfoyer) -"dEy" = (/obj/machinery/power/apc{dir = 1; name = "Telecoms Sat. Foyer APC"; pixel_x = 1; pixel_y = 26},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/turret_protected/tcomfoyer) -"dEz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/turret_protected/tcomfoyer) -"dEA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/turretid{ailock = 1; control_area = "\improper Telecoms Satellite"; desc = "A firewall prevents AIs from interacting with this device."; icon_state = "motion1"; lethal = 1; name = "Telecoms lethal turret control"; pixel_y = 29; req_access = list(61)},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/camera{c_tag = "Telecoms Foyer"; dir = 2; network = list("Tcomsat")},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/turret_protected/tcomfoyer) -"dEB" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/turret_protected/tcomfoyer) -"dEC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/turret_protected/tcomfoyer) -"dED" = (/obj/machinery/turret{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'LETHAL TURRETS'. Enter at your own risk!"; name = "LETHAL TURRETS"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/turret_protected/tcomfoyer) -"dEE" = (/obj/structure/window/reinforced,/obj/machinery/light{dir = 1},/turf/space,/area/turret_protected/tcomsat) -"dEF" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/space,/area/turret_protected/tcomsat) -"dEG" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dEH" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dEI" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/hatch{name = "Telecoms West Wing"; req_access_txt = "61"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomfoyer) -"dEJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/turret_protected/tcomfoyer) -"dEK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/turret_protected/tcomfoyer) -"dEL" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/turret_protected/tcomfoyer) -"dEM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/turret_protected/tcomfoyer) -"dEN" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/turret_protected/tcomfoyer) -"dEO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/turret_protected/tcomfoyer) -"dEP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/turret_protected/tcomfoyer) -"dEQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/hatch{name = "Telecoms East Wing"; req_access_txt = "61"},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomfoyer) -"dER" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/turret_protected/tcomsat) -"dES" = (/obj/machinery/camera{c_tag = "East Wing South"; dir = 8; network = list("Tcomsat")},/turf/space,/area/turret_protected/tcomsat) -"dET" = (/obj/machinery/camera{c_tag = "West Wing South"; dir = 4; network = list("Tcomsat")},/turf/space,/area/turret_protected/tcomsat) -"dEU" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/turf/space,/area/turret_protected/tcomsat) -"dEV" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'LETHAL TURRETS'. Enter at your own risk!"; name = "LETHAL TURRETS"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/turret_protected/tcomfoyer) -"dEW" = (/obj/machinery/light/small,/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/turret_protected/tcomfoyer) -"dEX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor,/area/turret_protected/tcomfoyer) -"dEY" = (/turf/simulated/floor,/area/turret_protected/tcomfoyer) -"dEZ" = (/obj/machinery/light/small,/turf/simulated/floor{tag = "icon-warningcorner"; icon_state = "warningcorner"; dir = 2},/area/turret_protected/tcomfoyer) -"dFa" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'LETHAL TURRETS'. Enter at your own risk!"; name = "LETHAL TURRETS"; pixel_x = 32; pixel_y = 0},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/turret_protected/tcomfoyer) -"dFb" = (/turf/simulated/wall/r_wall,/area/tcommsat/entrance) -"dFc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/wall/r_wall,/area/turret_protected/tcomfoyer) -"dFd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/hatch{name = "Telecoms Satellite"; req_access_txt = "61"},/turf/simulated/floor,/area/turret_protected/tcomfoyer) -"dFe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/tcommsat/entrance) -"dFf" = (/obj/machinery/power/smes/magical,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/tcommsat/entrance) -"dFg" = (/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/tcommsat/entrance) -"dFh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/tcommsat/entrance) -"dFi" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/tcommsat/entrance) -"dFj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/tcommsat/entrance) -"dFk" = (/obj/machinery/turretid{ailock = 1; control_area = "\improper Telecoms Foyer"; desc = "A firewall prevents AIs from interacting with this device."; icon_state = "motion3"; lethal = 0; name = "Telecoms Foyer turret control"; pixel_y = 29; req_access = list(61)},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/tcommsat/entrance) -"dFl" = (/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/tcommsat/entrance) -"dFm" = (/turf/simulated/floor,/area/tcommsat/entrance) -"dFn" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/monitor{name = "telecoms power monitoring"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "bot"},/area/tcommsat/entrance) -"dFo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/tcommsat/entrance) -"dFp" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/tcommsat/entrance) -"dFq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/tcommsat/entrance) -"dFr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera{c_tag = "Power Room West"; dir = 1; network = list("Tcomsat")},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/tcommsat/entrance) -"dFs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor,/area/tcommsat/entrance) -"dFt" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/tcommsat/entrance) -"dFu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/tcommsat/entrance) -"dFv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera{c_tag = "Power Room East"; dir = 1; network = list("Tcomsat")},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/tcommsat/entrance) -"dFw" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/tcommsat/entrance) -"dFx" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/wall/r_wall,/area/tcommsat/entrance) -"dFy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/hatch{name = "Telecoms Satellite"; req_access_txt = "61"},/turf/simulated/floor,/area/tcommsat/entrance) -"dFz" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/tcommsat/entrance) -"dFA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/tcommsat/entrance) -"dFB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/tcommsat/entrance) -"dFC" = (/obj/machinery/camera{c_tag = "Entrance North"; dir = 2; network = list("Tcomsat")},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/tcommsat/entrance) -"dFD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/tcommsat/entrance) -"dFE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/tcommsat/entrance) -"dFF" = (/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/tcommsat/entrance) -"dFG" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/tcommsat/entrance) -"dFH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor,/area/tcommsat/entrance) -"dFI" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/tcommsat/entrance) -"dFJ" = (/obj/machinery/power/apc{dir = 1; name = "Telecoms Sat. Teleporter APC"; pixel_x = 1; pixel_y = 26},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/tcommsat/entrance) -"dFK" = (/obj/structure/sign/vacuum,/turf/simulated/wall/r_wall,/area/tcommsat/entrance) -"dFL" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/tcommsat/entrance) -"dFM" = (/obj/item/weapon/cell,/turf/simulated/floor,/area/tcommsat/entrance) -"dFN" = (/obj/structure/closet/malf/suits,/turf/simulated/floor,/area/tcommsat/entrance) -"dFO" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = "13"},/turf/simulated/floor/plating/airless,/area) -"dFP" = (/obj/machinery/door/airlock/external{frequency = 1381; icon_state = "door_locked"; id_tag = "telecoms_outer"; locked = 1; name = "External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/tcommsat/entrance) -"dFQ" = (/obj/machinery/camera/xray{c_tag = "External Airlock"; network = list("Tcomsat")},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1381; id_tag = "telecoms_pump"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "telecoms_pump"; tag_exterior_door = "telecoms_outer"; frequency = 1381; id_tag = "telecoms_airlock"; tag_interior_door = "telecoms_inner"; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; tag_chamber_sensor = "telecoms_sensor"},/obj/machinery/airlock_sensor{frequency = 1381; id_tag = "telecoms_sensor"; pixel_x = 12; pixel_y = -25},/turf/simulated/floor/plating,/area/tcommsat/entrance) -"dFR" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/machinery/door/airlock/external{frequency = 1381; icon_state = "door_locked"; id_tag = "telecoms_inner"; locked = 1; name = "External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/tcommsat/entrance) -"dFS" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1381; master_tag = "telecoms_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/tcommsat/entrance) -"dFT" = (/obj/machinery/bluespace_beacon,/turf/simulated/floor,/area/tcommsat/entrance) -"dFU" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_x = 29; pixel_y = 0},/turf/simulated/floor,/area/tcommsat/entrance) -"dFV" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless,/area) -"dFW" = (/obj/structure/closet/crate,/obj/item/clothing/glasses/night,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/tcommsat/entrance) -"dFX" = (/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/tcommsat/entrance) -"dFY" = (/obj/structure/closet/crate,/obj/item/device/aicard,/obj/item/device/multitool,/obj/machinery/camera{c_tag = "Entrance South"; dir = 1; network = list("Tcomsat")},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/tcommsat/entrance) -"dFZ" = (/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/tcommsat/entrance) -"dGa" = (/obj/machinery/light{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/tcommsat/entrance) -"dGb" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plating,/area/tcommsat/entrance) -"dGc" = (/obj/machinery/teleport/station,/turf/simulated/floor/plating,/area/tcommsat/entrance) -"dGd" = (/obj/machinery/teleport/hub,/turf/simulated/floor/plating,/area/tcommsat/entrance) -"dGe" = (/obj/machinery/camera{c_tag = "South Solars"; dir = 4; network = list("Tcomsat")},/turf/space,/area) -"dGf" = (/turf/space,/area/syndicate_station/commssat) -"dGg" = (/turf/simulated/wall/r_wall,/area/AIsattele) -"dGh" = (/obj/structure/computerframe,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/AIsattele) -"dGi" = (/obj/machinery/teleport/station,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/AIsattele) -"dGj" = (/turf/simulated/floor/plating/airless,/area/AIsattele) -"dGk" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/AIsattele) -"dGl" = (/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/AIsattele) -"dGm" = (/obj/structure/rack,/obj/item/clothing/gloves/yellow,/turf/simulated/floor/plating/airless,/area/AIsattele) -"dGn" = (/obj/item/weapon/cell,/turf/simulated/floor/plating/airless,/area/AIsattele) -"dGo" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/AIsattele) -"dGp" = (/turf/space,/area/AIsattele) -"dGq" = (/obj/item/weapon/table_parts,/turf/simulated/floor/plating/airless,/area/AIsattele) -"dGr" = (/obj/structure/lattice,/turf/space,/area/AIsattele) -"dGs" = (/obj/structure/closet,/turf/simulated/floor/plating/airless,/area/AIsattele) -"dGt" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/AIsattele) -"dGu" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area/AIsattele) -"dGv" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/plating/airless,/area/AIsattele) -"dGw" = (/turf/simulated/wall,/area/constructionsite/maintenance) -"dGx" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/constructionsite/maintenance) -"dGy" = (/turf/simulated/floor/plating/airless,/area/constructionsite/maintenance) -"dGz" = (/turf/simulated/wall,/area/constructionsite/bridge) -"dGA" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/constructionsite/bridge) -"dGB" = (/turf/simulated/floor/airless,/area/constructionsite/bridge) -"dGC" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite/maintenance) -"dGD" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite/bridge) -"dGE" = (/turf/simulated/floor/airless,/area) -"dGF" = (/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access_txt = "19"},/turf/simulated/floor/airless,/area/constructionsite/bridge) -"dGG" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore) -"dGH" = (/turf/simulated/floor/airless,/area/constructionsite/hallway/fore) -"dGI" = (/turf/simulated/wall,/area/constructionsite/hallway/fore) -"dGJ" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore) -"dGK" = (/obj/machinery/door/airlock/glass{name = "Library"},/turf/simulated/floor/airless,/area/constructionsite/hallway/fore) -"dGL" = (/obj/machinery/door/airlock/glass_command{name = "Bridge"; req_access_txt = "19"},/turf/simulated/floor/airless,/area/constructionsite/hallway/fore) -"dGM" = (/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "28"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore) -"dGN" = (/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore) -"dGO" = (/turf/simulated/wall,/area/constructionsite/storage) -"dGP" = (/turf/simulated/floor/airless,/area/constructionsite/storage) -"dGQ" = (/obj/machinery/door/airlock/glass_science,/turf/simulated/floor/airless,/area/constructionsite/storage) -"dGR" = (/obj/machinery/door/airlock/glass_science,/turf/simulated/floor/airless,/area/constructionsite/hallway/fore) -"dGS" = (/obj/machinery/door/airlock/research,/turf/simulated/floor/airless,/area/constructionsite/hallway/fore) -"dGT" = (/obj/machinery/door/airlock/research,/turf/simulated/floor/airless,/area/constructionsite/storage) -"dGU" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite/storage) -"dGV" = (/turf/simulated/wall,/area/solar/constructionsite) -"dGW" = (/turf/simulated/floor/plating/airless,/area/solar/constructionsite) -"dGX" = (/obj/structure/lattice,/turf/space,/area/solar/constructionsite) -"dGY" = (/turf/space,/area/solar/constructionsite) -"dGZ" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/solar/constructionsite) -"dHa" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/djstation) -"dHb" = (/obj/machinery/power/solar/fake,/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation) -"dHc" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/djstation) -"dHd" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation) -"dHe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/djstation) -"dHf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation) -"dHg" = (/turf/simulated/wall,/area/djstation) -"dHh" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload Access"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore) -"dHi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation) -"dHj" = (/obj/machinery/computer/drone_control,/turf/simulated/floor/plating,/area/djstation) -"dHk" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/machinery/drone_fabricator,/turf/simulated/floor/plating,/area/djstation) -"dHl" = (/turf/simulated/floor/plating,/area/djstation) -"dHm" = (/turf/simulated/wall,/area/constructionsite/ai) -"dHn" = (/turf/simulated/floor/plating/airless,/area/constructionsite/ai) -"dHo" = (/turf/simulated/floor/airless{tag = "icon-bcircuit"; icon_state = "bcircuit"},/area/constructionsite/ai) -"dHp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation) -"dHq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation) -"dHr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) -"dHs" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) -"dHt" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/djstation) -"dHu" = (/obj/machinery/door/airlock/engineering{name = "Construction Area"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/djstation) -"dHv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/djstation) -"dHw" = (/obj/machinery/telecomms/relay/preset/ruskie,/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation) -"dHx" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/djstation) -"dHy" = (/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor/plating,/area/djstation) -"dHz" = (/obj/machinery/recharge_station,/turf/simulated/floor/plating,/area/djstation) -"dHA" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plating,/area/djstation) -"dHB" = (/obj/machinery/driver_button{id = "constructiondriver0"; name = "Construction Driver #0"; pixel_x = 25},/turf/simulated/floor/plating,/area/djstation) -"dHC" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/ai) -"dHD" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/djstation) -"dHE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/djstation) -"dHF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/djstation) -"dHG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/djstation) -"dHH" = (/obj/machinery/power/terminal,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation) -"dHI" = (/obj/item/device/multitool,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation) -"dHJ" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/djstation) -"dHK" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/djstation) -"dHL" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/djstation) -"dHM" = (/obj/machinery/mass_driver{dir = 4; id = "constructiondriver0"; name = "construction driver #0"},/obj/machinery/door/window{dir = 8; name = "Construction Driver"; req_access_txt = "10"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/djstation) -"dHN" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/djstation) -"dHO" = (/obj/machinery/door/poddoor{id = "constructiondriver0"; name = "Construction Driver Door"},/turf/simulated/floor/plating,/area/djstation) -"dHP" = (/turf/simulated/floor/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/constructionsite/ai) -"dHQ" = (/obj/item/weapon/extinguisher,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) -"dHR" = (/obj/machinery/power/smes,/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/djstation) -"dHS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) -"dHT" = (/obj/structure/table,/obj/item/clothing/suit/space/rig,/obj/item/clothing/head/helmet/space/rig,/turf/simulated/floor/plating,/area/djstation) -"dHU" = (/obj/machinery/driver_button{id = "constructiondriver1"; name = "Construction Driver #1"; pixel_x = 25},/turf/simulated/floor/plating,/area/djstation) -"dHV" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation) -"dHW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/djstation) -"dHX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/djstation) -"dHY" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/djstation) -"dHZ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating/airless,/area/djstation) -"dIa" = (/obj/structure/rack,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/sheet/wood{amount = 30},/obj/item/stack/sheet/wood{amount = 30},/obj/item/stack/sheet/wood{amount = 30},/turf/simulated/floor/plating,/area/djstation) -"dIb" = (/obj/machinery/mass_driver{dir = 4; id = "constructiondriver1"; name = "construction driver #1"},/obj/machinery/door/window{dir = 8; name = "Construction Driver"; req_access_txt = "10"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/djstation) -"dIc" = (/obj/machinery/door/poddoor{id = "constructiondriver1"; name = "Construction Driver Door"},/turf/simulated/floor/plating,/area/djstation) -"dId" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation) -"dIe" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/turf/simulated/floor/plating,/area/djstation) -"dIf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/item/weapon/storage/box/lights/mixed,/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/djstation) -"dIg" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/djstation) -"dIh" = (/obj/structure/rack,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/obj/item/weapon/module/power_control,/turf/simulated/floor/plating,/area/djstation) -"dIi" = (/obj/machinery/driver_button{id = "constructiondriver2"; name = "Construction Driver #2"; pixel_x = 25},/turf/simulated/floor/plating,/area/djstation) -"dIj" = (/obj/structure/lattice,/turf/space,/area/constructionsite/maintenance) -"dIk" = (/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access_txt = "30"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore) -"dIl" = (/obj/machinery/door/airlock/highsecurity{name = "Messaging Server"; req_access_txt = "30"},/turf/simulated/floor/plating/airless,/area/constructionsite/ai) -"dIm" = (/obj/machinery/door/airlock/highsecurity{name = "Cyborg Station"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/ai) -"dIn" = (/obj/machinery/door/airlock/highsecurity{name = "Cyborg Station"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/fore) -"dIo" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"},/turf/simulated/floor/plating,/area/djstation) -"dIp" = (/obj/structure/rack,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/turf/simulated/floor/plating,/area/djstation) -"dIq" = (/obj/machinery/mass_driver{dir = 4; id = "constructiondriver2"; name = "construction driver #2"},/obj/machinery/door/window{dir = 8; name = "Construction Driver"; req_access_txt = "10"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/djstation) -"dIr" = (/obj/machinery/door/poddoor{id = "constructiondriver2"; name = "Construction Driver Door"},/turf/simulated/floor/plating,/area/djstation) -"dIs" = (/obj/machinery/recharge_station,/turf/simulated/floor/plating/airless,/area/constructionsite/ai) -"dIt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/djstation) -"dIu" = (/obj/structure/table,/turf/simulated/floor{icon_state = "bar"},/area/djstation) -"dIv" = (/turf/simulated/floor{icon_state = "bar"},/area/djstation) -"dIw" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "bar"},/area/djstation) -"dIx" = (/obj/structure/closet/emcloset,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dIy" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "magistrate_blast"; name = "Privacy Shutters"; opacity = 0},/obj/machinery/door/airlock/glass{name = "Office Linking"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"dIz" = (/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dIA" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dIB" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dIC" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/djstation) -"dID" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/djstation) -"dIE" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/wall,/area/constructionsite/hallway/fore) -"dIF" = (/obj/structure/lattice,/turf/space,/area/constructionsite/hallway/fore) -"dIG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/djstation) -"dIH" = (/turf/simulated/wall,/area/constructionsite/hallway/aft) -"dII" = (/turf/simulated/floor/airless,/area/constructionsite/hallway/aft) -"dIJ" = (/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft) -"dIK" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/floor{icon_state = "bar"},/area/djstation) -"dIL" = (/obj/structure/table,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dIM" = (/obj/structure/stool/bed/chair/office/light,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dIN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/djstation) -"dIO" = (/turf/simulated/floor{icon_state = "grimy"},/area/djstation) -"dIP" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "grimy"},/area/djstation) -"dIQ" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor{icon_state = "grimy"},/area/djstation) -"dIR" = (/obj/structure/table,/obj/machinery/light/small/lamp,/turf/simulated/floor{icon_state = "grimy"},/area/djstation) -"dIS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation) -"dIT" = (/obj/structure/lattice,/turf/space,/area/constructionsite/hallway/aft) -"dIU" = (/obj/structure/table,/obj/machinery/microwave{pixel_y = 8},/turf/simulated/floor{icon_state = "bar"},/area/djstation) -"dIV" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/djstation) -"dIW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/djstation) -"dIX" = (/obj/structure/table,/obj/item/weapon/paper/djstation{info = "Welcome new owner!

You have purchased the latest in listening equipment. The telecommunication setup we created is the best in listening to common and private radio fequencies. Here is a step by step guide to start listening in on those saucy radio channels:
  1. Equip yourself with a multi-tool
  2. Use the multitool on each machine, that is the broadcaster, receiver and the relay.
  3. Turn all the machines on, it has already been configured for you to listen on.
Simple as that. Now to listen to the private channels, you'll have to configure the intercoms, located on the front desk. Here is a list of frequencies for you to listen on.
  • 145.7 - Common Channel
  • 144.7 - Private AI Channel
  • 135.9 - Security Channel
  • 135.7 - Engineering Channel
  • 135.5 - Medical Channel
  • 135.3 - Command Channel
  • 135.1 - Science Channel
  • 134.7 - Supply Channel
  • "},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dIY" = (/obj/machinery/door/airlock/glass{name = "Cabin"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dIZ" = (/obj/machinery/sleeper,/turf/simulated/floor{icon_state = "grimy"},/area/djstation) -"dJa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation) -"dJb" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft) -"dJc" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "bar"},/area/djstation) -"dJd" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "bar"},/area/djstation) -"dJe" = (/obj/machinery/door/airlock/glass{name = "Kitchen"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dJf" = (/obj/structure/closet,/turf/simulated/floor{icon_state = "grimy"},/area/djstation) -"dJg" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/djstation) -"dJh" = (/obj/machinery/door/airlock{name = "Restroom"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) -"dJi" = (/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dJj" = (/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) -"dJk" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dJl" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/wall,/area/constructionsite/hallway/aft) -"dJm" = (/obj/machinery/door/airlock/highsecurity{icon_state = "door_closed"; locked = 0; name = "AI Upload Access"; req_access_txt = "16"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft) -"dJn" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft) -"dJo" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/light/small,/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) -"dJp" = (/obj/structure/toilet{pixel_y = 8},/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) -"dJq" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dJr" = (/obj/structure/computerframe{anchored = 1},/turf/simulated/floor{icon_state = "grimy"},/area/djstation) -"dJs" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor{icon_state = "grimy"},/area/djstation) -"dJt" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "grimy"},/area/djstation) -"dJu" = (/obj/machinery/computer/shuttle_control/engineering,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dJv" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/shuttle/constructionsite/site) -"dJw" = (/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/constructionsite/site) -"dJx" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/turf/simulated/shuttle/wall{tag = "icon-swall12"; icon_state = "swall12"; dir = 2},/area/shuttle/constructionsite/site) -"dJy" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (WEST)"; icon_state = "propulsion"; dir = 8},/turf/simulated/floor/plating,/area/shuttle/constructionsite/site) -"dJz" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "engineering_station_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;48"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dJA" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"dJB" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/shuttle/constructionsite/site) -"dJC" = (/obj/machinery/computer/station_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/site) -"dJD" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/site) -"dJE" = (/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/site) -"dJF" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/embedded_controller/radio/simple_docking_controller{id_tag = "engineering_shuttle"; pixel_x = 0; pixel_y = 30; req_one_access_txt = "13;48"; tag_door = "engineering_shuttle_hatch"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/shuttle/constructionsite/site) -"dJG" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/shuttle/constructionsite/site) -"dJH" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (WEST)"; icon_state = "propulsion"; dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/shuttle/constructionsite/site) -"dJI" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_station_inner"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/djstation) -"dJJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/djstation) -"dJK" = (/obj/structure/grille,/obj/structure/window/full/shuttle,/turf/simulated/floor/plating,/area/shuttle/constructionsite/site) -"dJL" = (/obj/machinery/computer/shuttle_control/engineering,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/site) -"dJM" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_shuttle_hatch"; locked = 1; name = "Engineering Shuttle Hatch"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/shuttle/constructionsite/site) -"dJN" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "engineering_station_outer"; locked = 1; name = "Engineering Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/djstation) -"dJO" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "engineering_station_pump"},/turf/simulated/floor/plating,/area/djstation) -"dJP" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/djstation) -"dJQ" = (/turf/simulated/shuttle/wall{tag = "icon-swall2"; icon_state = "swall2"; dir = 2},/area/shuttle/constructionsite/site) -"dJR" = (/obj/machinery/computer/atmos_alert,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/shuttle/constructionsite/site) -"dJS" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/shuttle/constructionsite/site) -"dJT" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (WEST)"; icon_state = "propulsion"; dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/shuttle/constructionsite/site) -"dJU" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1379; id_tag = "engineering_station_airlock"; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;48"; tag_airpump = "engineering_station_pump"; tag_chamber_sensor = "engineering_station_sensor"; tag_exterior_door = "engineering_station_outer"; tag_interior_door = "engineering_station_inner"},/turf/simulated/floor/plating,/area/djstation) -"dJV" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "engineering_station_pump"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "engineering_station_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/plating,/area/djstation) -"dJW" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area/shuttle/constructionsite/site) -"dJX" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "engineering_station_airlock"; name = "exterior access button"; pixel_x = -8; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13;48"},/turf/space,/area) -"dJY" = (/turf/simulated/floor/airless{icon_state = "white"},/area/constructionsite/medical) -"dJZ" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/constructionsite/medical) -"dKa" = (/obj/machinery/sleeper,/turf/simulated/floor/airless{icon_state = "white"},/area/constructionsite/medical) -"dKb" = (/turf/simulated/floor/plating/airless,/area/constructionsite/atmospherics) -"dKc" = (/turf/simulated/floor/airless,/area/constructionsite/atmospherics) -"dKd" = (/turf/simulated/floor/plating/airless,/area/constructionsite/medical) -"dKe" = (/obj/machinery/door/airlock/glass_medical{id_tag = ""; name = "Medbay"; req_access_txt = "0"; req_one_access_txt = "65;5"},/turf/simulated/wall,/area/constructionsite/medical) -"dKf" = (/obj/structure/lattice,/turf/space,/area/constructionsite/medical) -"dKg" = (/turf/space,/area/constructionsite/medical) -"dKh" = (/obj/machinery/door/airlock/glass_medical{id_tag = ""; name = "Medbay"; req_access_txt = "0"; req_one_access_txt = "65;5"},/turf/simulated/wall,/area/constructionsite/hallway/aft) -"dKi" = (/obj/machinery/door/airlock/glass_atmos{name = "Atmospherics"; req_access_txt = "24"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft) -"dKj" = (/turf/space,/area/constructionsite/hallway/aft) -"dKk" = (/turf/simulated/wall,/area/constructionsite/atmospherics) -"dKl" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/plating/airless,/area/constructionsite/atmospherics) -"dKm" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "d_air_in"; name = "Mixed Air Supply Control"; output_tag = "d_air_out"; pressure_setting = 2000; sensors = list("d_air_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/plating/airless,/area/constructionsite/atmospherics) -"dKn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/plating,/area/constructionsite/atmospherics) -"dKo" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; external_pressure_bound = 0; frequency = 1443; icon_state = "in"; id_tag = "d_air_out"; internal_pressure_bound = 2000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/constructionsite/atmospherics) -"dKp" = (/obj/machinery/light/small{dir = 1},/obj/machinery/air_sensor{frequency = 1443; id_tag = "d_air_sensor"; output = 7},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/constructionsite/atmospherics) -"dKq" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 6},/turf/simulated/floor/plating/airless,/area/constructionsite/atmospherics) -"dKr" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/wall,/area/constructionsite/atmospherics) -"dKs" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1443; icon_state = "on"; id = "d_air_in"; on = 1},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/constructionsite/atmospherics) -"dKt" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/constructionsite/atmospherics) -"dKu" = (/obj/machinery/door/airlock/glass_medical{id_tag = ""; name = "Medbay"; req_access_txt = "0"; req_one_access_txt = "65;5"},/turf/simulated/floor/plating/airless,/area/constructionsite/hallway/aft) -"dKv" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/airless,/area/constructionsite/atmospherics) -"dKw" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "d_o2_in"; name = "Oxygen Supply Control"; output_tag = "d_o2_out"; sensors = list("d_o2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/airless,/area/constructionsite/atmospherics) -"dKx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "d_o2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/constructionsite/atmospherics) -"dKy" = (/obj/machinery/light/small{dir = 1},/obj/machinery/air_sensor{frequency = 1441; id_tag = "d_o2_sensor"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/constructionsite/atmospherics) -"dKz" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "d_o2_in"; on = 1},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/constructionsite/atmospherics) -"dKA" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 100000},/area/constructionsite/atmospherics) -"dKB" = (/turf/simulated/wall,/area/constructionsite) -"dKC" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/constructionsite) -"dKD" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "d_n2_in"; name = "Nitrogen Supply Control"; output_tag = "d_n2_out"; sensors = list("d_n2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/airless,/area/constructionsite/atmospherics) -"dKE" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; icon_state = "in"; id_tag = "d_n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/constructionsite/atmospherics) -"dKF" = (/obj/machinery/light/small{dir = 1},/obj/machinery/air_sensor{frequency = 1441; id_tag = "d_n2_sensor"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/constructionsite/atmospherics) -"dKG" = (/turf/simulated/floor/plating/airless,/area/constructionsite) -"dKH" = (/obj/structure/lattice,/turf/space,/area/constructionsite) -"dKI" = (/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/airless,/area/constructionsite/atmospherics) -"dKJ" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "d_n2_in"; on = 1},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/constructionsite/atmospherics) -"dKK" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 100000; oxygen = 0},/area/constructionsite/atmospherics) -"dKL" = (/turf/simulated/floor/airless,/area/constructionsite) -"dKM" = (/turf/space,/area/constructionsite) -"dKN" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite) -"dKO" = (/turf/simulated/wall,/area/constructionsite/engineering) -"dKP" = (/obj/machinery/door/airlock/maintenance_hatch{icon_state = "door_closed"; id_tag = null; locked = 0; name = "Engine Access"; req_access_txt = "0"; req_one_access_txt = "11;24"},/turf/simulated/floor/plating/airless,/area/constructionsite/engineering) -"dKQ" = (/turf/simulated/floor/plating/airless,/area/constructionsite/engineering) -"dKR" = (/obj/machinery/door/airlock/maintenance_hatch,/turf/simulated/floor/plating/airless,/area/constructionsite/engineering) -"dKS" = (/obj/structure/lattice,/turf/space,/area/constructionsite/engineering) -"dKT" = (/turf/space,/area/constructionsite/engineering) -"dKU" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/constructionsite/engineering) -"dKV" = (/turf/simulated/mineral,/area) -"dKW" = (/obj/machinery/floodlight{in_use = 1},/turf/simulated/floor/plating,/area/exploration/methlab) -"dKX" = (/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/exploration/methlab) -"dKY" = (/obj/structure/closet,/obj/item/clothing/head/bio_hood,/obj/item/clothing/suit/bio_suit,/obj/item/clothing/gloves/black,/turf/simulated/floor/plating,/area/exploration/methlab) -"dKZ" = (/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/plating,/area/exploration/methlab) -"dLa" = (/obj/effect/decal/cleanable/blood,/turf/simulated/floor/plating,/area/exploration/methlab) -"dLb" = (/obj/machinery/door/airlock/external{name = "Crackden Airlock"},/turf/simulated/floor/plating,/area/exploration/methlab) -"dLc" = (/obj/item/weapon/reagent_containers/drugs/baggie,/turf/simulated/floor/plating,/area/exploration/methlab) -"dLd" = (/turf/simulated/floor/plating,/area/exploration/methlab) -"dLe" = (/obj/machinery/door/airlock/external{name = "Plain Airlock"},/turf/simulated/floor/plating,/area/exploration/methlab) -"dLf" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/chips,/turf/simulated/floor/plating,/area/exploration/methlab) -"dLg" = (/obj/item/ammo_casing{pixel_y = 3},/turf/simulated/floor/plating,/area/exploration/methlab) -"dLh" = (/obj/effect/decal/cleanable/oil,/obj/item/ammo_casing{pixel_x = -4; pixel_y = -6},/turf/simulated/floor/plating,/area/exploration/methlab) -"dLi" = (/obj/structure/table,/obj/item/stack/sheet/mineral/plasma{amount = 10},/turf/simulated/floor/plating,/area/exploration/methlab) -"dLj" = (/obj/machinery/power/apc{pixel_x = 26},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/exploration/methlab) -"dLk" = (/obj/machinery/floodlight,/turf/simulated/floor/plating,/area/exploration/methlab) -"dLl" = (/obj/structure/table,/obj/item/weapon/reagent_containers/drugs/baggie/meth,/obj/item/weapon/reagent_containers/drugs/baggie/meth,/obj/item/weapon/reagent_containers/drugs/baggie/meth,/turf/simulated/floor/plating,/area/exploration/methlab) -"dLm" = (/obj/effect/decal/cleanable/oil,/turf/simulated/floor/plating,/area/exploration/methlab) -"dLn" = (/obj/machinery/power/port_gen/pacman,/obj/structure/cable,/turf/simulated/floor/plating,/area/exploration/methlab) -"dLo" = (/obj/machinery/chem_master,/turf/simulated/floor/plating,/area/exploration/methlab) -"dLp" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plating,/area/exploration/methlab) -"dLq" = (/obj/machinery/chem_dispenser,/turf/simulated/floor/plating,/area/exploration/methlab) -"dLr" = (/obj/structure/table,/obj/machinery/bunsen_burner,/turf/simulated/floor/plating,/area/exploration/methlab) -"dLs" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/exploration/methlab) -"dLt" = (/obj/machinery/door/airlock/maintenance_hatch{name = "SMES Access"; req_access_txt = "11"},/turf/simulated/floor/plating/airless,/area/constructionsite/engineering) -"dLu" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor/plating,/area/exploration/methlab) -"dLv" = (/obj/machinery/power/smes,/turf/simulated/floor/plating/airless,/area/constructionsite/engineering) -"dLw" = (/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor/plating/airless,/area/constructionsite/engineering) -"dLx" = (/obj/machinery/power/terminal{dir = 4},/turf/simulated/floor/plating/airless,/area/constructionsite/engineering) -"dLy" = (/obj/machinery/field_generator,/turf/simulated/floor/plating/airless,/area) -"dLz" = (/turf/simulated/mineral,/area/mine/unexplored) -"dLA" = (/turf/space,/area/syndicate_station/mining) -"dLB" = (/turf/simulated/floor/plating/airless/asteroid,/area) -"dLC" = (/obj/structure/transit_tube{icon_state = "D-SE"},/obj/structure/lattice,/turf/space,/area) -"dLD" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "E-SW"},/turf/space,/area) -"dLE" = (/obj/structure/lattice,/obj/structure/transit_tube,/turf/space,/area) -"dLF" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area) -"dLG" = (/obj/machinery/light/small,/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/maintstore1) -"dLH" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/maintstore1) -"dLI" = (/obj/structure/transit_tube{icon_state = "W-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/maintstore1) -"dLJ" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/mineral,/area/mine/unexplored) -"dLK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/research_outpost/hallway) -"dLL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) -"dLM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) -"dLN" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "NE-SW"},/turf/space,/area) -"dLO" = (/obj/structure/transit_tube{icon_state = "D-NW"},/obj/structure/lattice,/turf/space,/area) -"dLP" = (/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1) -"dLQ" = (/obj/structure/transit_tube{icon_state = "D-NE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1) -"dLR" = (/obj/structure/transit_tube{icon_state = "NW-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1) -"dLS" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/mineral,/area/mine/unexplored) -"dLT" = (/obj/structure/transit_tube{icon_state = "E-SW"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"dLU" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"dLV" = (/obj/structure/transit_tube,/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/hallway) -"dLW" = (/obj/structure/transit_tube/station,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/hallway) -"dLX" = (/obj/structure/transit_tube,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/hallway) -"dLY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/transit_tube,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) -"dLZ" = (/obj/structure/transit_tube,/obj/structure/lattice,/turf/space,/area) -"dMa" = (/obj/structure/transit_tube{icon_state = "W-SE"},/obj/structure/lattice,/turf/space,/area) -"dMb" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "D-SW"},/turf/space,/area) -"dMc" = (/obj/structure/transit_tube{icon_state = "S-NE"},/obj/structure/lattice,/turf/space,/area) -"dMd" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/research_outpost/maintstore1) -"dMe" = (/obj/structure/closet/hydrant{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/research_outpost/maintstore1) -"dMf" = (/obj/structure/table,/obj/item/device/analyzer/plant_analyzer,/obj/item/weapon/cell,/obj/item/stack/cable_coil/random,/obj/item/stack/cable_coil/random,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/maintstore1) -"dMg" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1) -"dMh" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1) -"dMi" = (/obj/structure/transit_tube{icon_state = "NE-SW"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1) -"dMj" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/simulated/wall/r_wall,/area/research_outpost/hallway) -"dMk" = (/turf/simulated/wall/r_wall,/area/research_outpost/hallway) -"dMl" = (/turf/simulated/floor,/area/research_outpost/hallway) -"dMm" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/research_outpost/hallway) -"dMn" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "D-NE"},/turf/space,/area) -"dMo" = (/obj/structure/transit_tube{icon_state = "NW-SE"},/obj/structure/lattice,/turf/space,/area) -"dMp" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "N-S"},/turf/space,/area) -"dMq" = (/turf/simulated/wall/r_wall,/area/research_outpost/spectro) -"dMr" = (/obj/structure/rack,/obj/item/stack/sheet/metal{pixel_x = 5; pixel_y = 5},/obj/item/stack/sheet/glass,/obj/item/weapon/storage/belt/utility{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/storage/toolbox/emergency{pixel_x = 5; pixel_y = 5},/turf/simulated/floor/plating,/area/research_outpost/maintstore1) -"dMs" = (/turf/simulated/floor/plating,/area/research_outpost/maintstore1) -"dMt" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/research_outpost/maintstore1) -"dMu" = (/turf/simulated/wall,/area/research_outpost/maintstore1) -"dMv" = (/obj/structure/transit_tube{icon_state = "D-NE"},/obj/structure/table,/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/maintstore1) -"dMw" = (/obj/structure/transit_tube{icon_state = "E-NW"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/maintstore1) -"dMx" = (/obj/structure/transit_tube/station,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/maintstore1) -"dMy" = (/obj/structure/transit_tube{icon_state = "W-NE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/maintstore1) -"dMz" = (/obj/structure/transit_tube{icon_state = "D-NW"},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/research_outpost/maintstore1) -"dMA" = (/turf/simulated/wall,/area/research_outpost/hallway) -"dMB" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/carpet,/area/research_outpost/hallway) -"dMC" = (/obj/machinery/door_control{id = "rdorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/carpet,/area/research_outpost/hallway) -"dMD" = (/obj/machinery/camera{c_tag = "Research Outpost Hallway Fore"; dir = 4; network = list("Research","SS13")},/turf/simulated/floor,/area/research_outpost/hallway) -"dME" = (/obj/machinery/door_control{id = "rdorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/carpet,/area/research_outpost/hallway) -"dMF" = (/obj/structure/transit_tube{icon_state = "D-NE"},/obj/structure/lattice,/turf/space,/area) -"dMG" = (/obj/structure/transit_tube{icon_state = "S-NW"},/obj/structure/lattice,/turf/space,/area) -"dMH" = (/obj/spacepod/random,/turf/space,/area) -"dMI" = (/turf/simulated/mineral/random,/area/mine/unexplored) -"dMJ" = (/obj/structure/transit_tube{icon_state = "N-SW"},/obj/structure/lattice,/turf/space,/area) -"dMK" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/minihoe,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weedkiller/triclopyr,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/turf/simulated/floor/plating,/area/research_outpost/maintstore1) -"dML" = (/obj/machinery/light/small,/obj/structure/closet/walllocker/emerglocker/north{dir = 1; pixel_y = -32},/turf/simulated/floor/plating,/area/research_outpost/maintstore1) -"dMM" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/maintenance{name = "Auxiliary Storage"; req_access_txt = "0"; req_one_access_txt = "65;12"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/maintstore1) -"dMN" = (/turf/simulated/floor,/area/research_outpost/maintstore1) -"dMO" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/research_outpost/maintstore1) -"dMP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/machinery/camera{c_tag = "Research Outpost Auxiliary Storage"; dir = 8; network = list("Research","SS13")},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/research_outpost/maintstore1) -"dMQ" = (/obj/structure/table,/turf/simulated/floor/carpet,/area/research_outpost/hallway) -"dMR" = (/turf/simulated/floor/carpet,/area/research_outpost/hallway) -"dMS" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "rminingdorm1"; name = "Dorm 1"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/research_outpost/hallway) -"dMT" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "rdorm2"; name = "Dorm 2"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/research_outpost/hallway) -"dMU" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/structure/lattice,/turf/space,/area) -"dMV" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "D-SE"},/turf/space,/area) -"dMW" = (/obj/structure/transit_tube{icon_state = "E-SW"},/obj/structure/lattice,/turf/space,/area) -"dMX" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "W-NE"},/turf/space,/area) -"dMY" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "D-NW"},/turf/space,/area) -"dMZ" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/spectro) -"dNa" = (/obj/structure/reagent_dispensers/coolanttank,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/research_outpost/spectro) -"dNb" = (/turf/simulated/wall/r_wall,/area/research_outpost/sample) -"dNc" = (/obj/machinery/power/apc{dir = 8; name = "Auxiliary Storage APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/research_outpost/maintstore1) -"dNd" = (/turf/simulated/floor{icon_state = "warning"},/area/research_outpost/maintstore1) -"dNe" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "warning"},/area/research_outpost/maintstore1) -"dNf" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sign/botany{pixel_x = 32},/turf/simulated/floor{icon_state = "warningcorner"; dir = 1},/area/research_outpost/maintstore1) -"dNg" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor,/area/research_outpost/hallway) -"dNh" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/research_outpost/hallway) -"dNi" = (/turf/simulated/wall/r_wall,/area/research_outpost/atmos) -"dNj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dNk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dNl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dNm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned) -"dNn" = (/obj/machinery/door/airlock/external,/turf/simulated/floor,/area/mine/abandoned) -"dNo" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "S-NE"},/turf/space,/area) -"dNp" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/obj/item/stack/nanopaste,/obj/item/stack/nanopaste,/obj/item/stack/nanopaste,/turf/simulated/floor{icon_state = "dark"},/area/research_outpost/spectro) -"dNq" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/spectro) -"dNr" = (/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/research_outpost/spectro) -"dNs" = (/obj/machinery/door/airlock/research{name = "Spectrometry Lab Sample Preparation"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/spectro) -"dNt" = (/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample) -"dNu" = (/obj/structure/sign/nosmoking_2{pixel_y = 32},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample) -"dNv" = (/obj/structure/table,/obj/machinery/light{dir = 1},/obj/machinery/reagentgrinder,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample) -"dNw" = (/obj/structure/table,/obj/item/weapon/storage/box/solution_trays,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/sample) -"dNx" = (/obj/machinery/door/window/westleft{dir = 1; name = "Sample Preparation Loading"; req_access_txt = "65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 1; icon_state = "whiteblue"},/area/research_outpost/sample) -"dNy" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "bluecorner"},/area/research_outpost/sample) -"dNz" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/grass,/area/research_outpost/maintstore1) -"dNA" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor/grass,/area/research_outpost/maintstore1) -"dNB" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/maintstore1) -"dNC" = (/obj/structure/sink{pixel_y = 30},/obj/structure/mirror{dir = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway) -"dND" = (/obj/structure/toilet{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway) -"dNE" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/closet/walllocker/emerglocker/west,/turf/simulated/floor{dir = 2; icon_state = "whitecorner"},/area/research_outpost/hallway) -"dNF" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway) -"dNG" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area/research_outpost/atmos) -"dNH" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 4; filter_type = 2; icon_state = "intact_on"; name = "Gas filter (N2 tank)"; on = 1},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dNI" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 4; filter_type = 1; icon_state = "intact_on"; name = "Gas filter (O2 tank)"; on = 1},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dNJ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r"; level = 2},/obj/machinery/meter,/obj/machinery/power/apc{dir = 1; name = "Outpost Atmospherics APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dNK" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dNL" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/research_outpost/atmos) -"dNM" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/atmos) -"dNN" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dNO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned) -"dNP" = (/turf/simulated/floor,/area/mine/abandoned) -"dNQ" = (/obj/machinery/radiocarbon_spectrometer,/turf/simulated/floor{icon_state = "dark"},/area/research_outpost/spectro) -"dNR" = (/turf/simulated/floor{icon_state = "white"},/area/research_outpost/spectro) -"dNS" = (/obj/machinery/power/apc{dir = 4; name = "Mass Spectrometry APC"; pixel_x = 24; pixel_y = 0; pixel_x = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/research_outpost/spectro) -"dNT" = (/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 3; pixel_x = 2; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample) -"dNU" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample) -"dNV" = (/obj/structure/table,/obj/machinery/bunsen_burner,/obj/item/stack/sheet/mineral/plasma,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample) -"dNW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample) -"dNX" = (/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/sample) -"dNY" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 2},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1) -"dNZ" = (/obj/machinery/portable_atmospherics/hydroponics/soil,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor/grass,/area/research_outpost/maintstore1) -"dOa" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/maintstore1) -"dOb" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall,/area/research_outpost/hallway) -"dOc" = (/obj/machinery/shower{icon_state = "shower"; dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway) -"dOd" = (/obj/machinery/door_control{id = "rbath"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway) -"dOe" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "rbath"; name = "Bathroom"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/research_outpost/hallway) -"dOf" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway) -"dOg" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway) -"dOh" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b"; initialize_directions = 6; level = 2; name = "pipe"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dOi" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b"; initialize_directions = 11; level = 2; name = "pipe manifold"},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dOj" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r"; level = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dOk" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 10; icon_state = "intact-r"; level = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dOl" = (/obj/machinery/door/window/westleft,/turf/simulated/floor,/area/research_outpost/atmos) -"dOm" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"},/turf/simulated/floor{icon_state = "bot"},/area/research_outpost/atmos) -"dOn" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating,/area/mine/abandoned) -"dOo" = (/obj/item/stack/rods,/obj/structure/door_assembly/door_assembly_ext{name = "Broken External Airlock"},/turf/simulated/floor,/area/mine/abandoned) -"dOp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned) -"dOq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) -"dOr" = (/obj/structure/sign/nosmoking_2{pixel_x = 32},/obj/machinery/camera{c_tag = "Research Outpost Mass Spectrometry"; dir = 8; network = list("Research","SS13")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/research_outpost/spectro) -"dOs" = (/obj/machinery/chem_dispenser{broken_on_spawn = 1; energy = 0; recharged = 300},/obj/item/weapon/paper{info = "Until I can get one of the repair crews in from Orion to look at it, no-one is to touch this thing. And when I find out who thought it would be a good idea to do that with the emitter from the lab, you're finished here!"; name = "Out of Order"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample) -"dOt" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample) -"dOu" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample) -"dOv" = (/obj/machinery/light/small{dir = 4},/obj/machinery/power/apc{dir = 4; name = "Sample Preparation APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample) -"dOw" = (/turf/simulated/wall/r_wall,/area/research_outpost/anomaly) -"dOx" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/research_outpost/anomaly) -"dOy" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Anomalous Materials Loading"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/anomaly) -"dOz" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway) -"dOA" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway) -"dOB" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 4},/obj/structure/sign/nosmoking_1{pixel_x = -32},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dOC" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 6; icon_state = "intact-b"; initialize_directions = 6; level = 2; name = "pipe"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dOD" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dOE" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor,/area/research_outpost/atmos) -"dOF" = (/turf/simulated/shuttle/wall{tag = "icon-pwall (NORTH)"; icon_state = "pwall"; dir = 1},/area) -"dOG" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{tag = "icon-pwall (SOUTHWEST)"; icon_state = "pwall"; dir = 10},/area) -"dOH" = (/obj/item/stack/rods,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) -"dOI" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) -"dOJ" = (/turf/space,/area/mine/unexplored) -"dOK" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"},/area/research_outpost/spectro) -"dOL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 2; layer = 2.4; on = 1},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor{dir = 6; icon_state = "whitegreen"},/area/research_outpost/spectro) -"dOM" = (/obj/machinery/chem_master,/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/research_outpost/sample) -"dON" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/beaker/large,/obj/item/weapon/reagent_containers/dropper{pixel_y = -4},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/research_outpost/sample) -"dOO" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/camera{c_tag = "Research Outpost Sample Preparation"; dir = 1; network = list("Research","SS13")},/obj/item/weapon/reagent_containers/glass/beaker/water,/obj/item/weapon/reagent_containers/glass/beaker/fuel,/obj/item/weapon/reagent_containers/glass/bottle/toxin,/obj/item/weapon/reagent_containers/glass/beaker/sulphuric{name = "beaker 'sulphuric acid'"},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/research_outpost/sample) -"dOP" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/research_outpost/sample) -"dOQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "whiteblue"},/area/research_outpost/sample) -"dOR" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Anomalous Materials Sample Preparation"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dOS" = (/obj/machinery/power/apc{dir = 1; name = "Anomalous Materials APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/research_outpost/anomaly) -"dOT" = (/obj/machinery/alarm{dir = 2; pixel_y = 25},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/anomaly) -"dOU" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/anomaly) -"dOV" = (/obj/structure/sign/nosmoking_2{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/anomaly) -"dOW" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 6; icon_state = "whitepurple"},/area/research_outpost/anomaly) -"dOX" = (/obj/machinery/conveyor{dir = 1; id = "anolaser"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/anomaly) -"dOY" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.6; name = "Firelock North"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway) -"dOZ" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.6; name = "Firelock North"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway) -"dPa" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dPb" = (/obj/machinery/atmospherics/pipe/manifold4w{_color = "blue"; icon_state = "manifold4w-b"; level = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dPc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b"; initialize_directions = 11; level = 2; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dPd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dPe" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area) -"dPf" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion (EAST)"; icon_state = "propulsion"; dir = 4},/obj/structure/window/reinforced/tinted{dir = 4; icon_state = "twindow"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"dPg" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area) -"dPh" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area) -"dPi" = (/obj/machinery/door/airlock/hatch,/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area) -"dPj" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) -"dPk" = (/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) -"dPl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned) -"dPm" = (/turf/simulated/mineral/random,/area/mine/explored) -"dPn" = (/turf/space,/area/mine/explored) -"dPo" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/hallway) -"dPp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Spectrometry Lab"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/spectro) -"dPq" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/sample) -"dPr" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Sample Preparation"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample) -"dPs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/research_outpost/sample) -"dPt" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/research_outpost/anomaly) -"dPu" = (/obj/structure/table,/obj/item/weapon/lighter/random,/obj/item/weapon/crowbar,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dPv" = (/obj/machinery/artifact_analyser,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/bluegrid,/area/research_outpost/anomaly) -"dPw" = (/obj/machinery/artifact_scanpad,/turf/simulated/floor/bluegrid,/area/research_outpost/anomaly) -"dPx" = (/obj/machinery/conveyor_switch{id = "anolaser"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dPy" = (/obj/machinery/conveyor{dir = 1; id = "anolaser"},/obj/structure/plasticflaps,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/anomaly) -"dPz" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/research_outpost/hallway) -"dPA" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/research_outpost/hallway) -"dPB" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/atmos{name = "Outpost Atmospherics"; req_access_txt = "0"; req_one_access_txt = "65;10;24"},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dPC" = (/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b"; initialize_directions = 6; level = 2; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dPD" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b"; level = 2; name = "pipe manifold"},/obj/machinery/light/small,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dPE" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b"; level = 2; name = "pipe manifold"},/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dPF" = (/obj/structure/sign/fire{pixel_x = 32},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r"; level = 2},/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dPG" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/atmos) -"dPH" = (/turf/simulated/mineral,/area/research_outpost/atmos) -"dPI" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-pwall (NORTHEAST)"; icon_state = "pwall"; dir = 5},/area) -"dPJ" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-pwall (NORTHWEST)"; icon_state = "pwall"; dir = 9},/area) -"dPK" = (/turf/simulated/floor/plating,/turf/simulated/shuttle/wall{tag = "icon-pwall (SOUTHEAST)"; icon_state = "pwall"; dir = 6},/area) -"dPL" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) -"dPM" = (/turf/simulated/wall,/area/mine/abandoned) -"dPN" = (/turf/space,/area/shuttle/research/outpost) -"dPO" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dPP" = (/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dPQ" = (/obj/machinery/power/apc{dir = 1; name = "Outpost Lobby APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dPR" = (/obj/machinery/camera{c_tag = "Research Outpost Lobby"; dir = 2; network = list("Research","SS13")},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/machinery/light{dir = 1},/obj/structure/noticeboard/anomaly{icon_state = "nboard05"; pixel_y = 32},/turf/simulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/research_outpost/hallway) -"dPS" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sign/science{desc = "A warning sign which reads 'MASS SPECTROMETRY'"; name = "\improper MASS SPECTROMETRY"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/research_outpost/hallway) -"dPT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/research_outpost/hallway) -"dPU" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/alarm{dir = 2; pixel_y = 25},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dPV" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dPW" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/closet/walllocker/emerglocker/north,/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/hallway) -"dPX" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock East"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/research_outpost/hallway) -"dPY" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/research_outpost/hallway) -"dPZ" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 10; icon_state = "intact-b-f"; initialize_directions = 10; level = 1; name = "pipe"},/obj/structure/sign/chemistry{desc = "A warning sign which reads 'SAMPLE PREPARATION'"; name = "\improper SAMPLE PREPARATION"; pixel_y = 32},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/research_outpost/hallway) -"dQa" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/research_outpost/anomaly) -"dQb" = (/obj/structure/stool,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dQc" = (/obj/structure/table,/obj/item/weapon/reagent_containers/dropper{pixel_y = -4},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dQd" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dQe" = (/obj/machinery/power/emitter{anchored = 1; dir = 4; state = 2},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor{icon_state = "delivery"},/area/research_outpost/anomaly) -"dQf" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/conveyor{dir = 1; id = "anolaser"},/obj/machinery/door/window/westleft{dir = 2; layer = 3.1; name = "laser testing"; req_access_txt = "65"},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/research_outpost/anomaly) -"dQg" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area/research_outpost/anomaly) -"dQh" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{dir = 8; icon_state = "whitepurplecorner"},/area/research_outpost/hallway) -"dQi" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/research_outpost/hallway) -"dQj" = (/turf/simulated/wall/r_wall,/area/research_outpost/power) -"dQk" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Outpost Atmospherics"; req_access_txt = "0"; req_one_access_txt = "65;10;24"},/turf/simulated/floor,/area/research_outpost/power) -"dQl" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r"; level = 2},/turf/simulated/wall/r_wall,/area/research_outpost/power) -"dQm" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/turf/simulated/wall/r_wall,/area/research_outpost/power) -"dQn" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/atmos) -"dQo" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r"; level = 2},/turf/simulated/mineral,/area/research_outpost/atmos) -"dQp" = (/obj/machinery/atmospherics/pipe/vent{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos) -"dQq" = (/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/mine/abandoned) -"dQr" = (/obj/item/stack/rods,/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) -"dQs" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) -"dQt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) -"dQu" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dQv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dQw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dQx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dQy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dQz" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dQA" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dQB" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dQC" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dQD" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock East"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/hallway) -"dQE" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 10; icon_state = "intact-r-f"; initialize_directions = 10; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/research_outpost/hallway) -"dQF" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/research_outpost/hallway) -"dQG" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/research{name = "Anomalous Materials"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dQH" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "whitepurplecorner"},/area/research_outpost/anomaly) -"dQI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/research_outpost/anomaly) -"dQJ" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/research_outpost/anomaly) -"dQK" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/research_outpost/anomaly) -"dQL" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/research_outpost/anomaly) -"dQM" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/research_outpost/anomaly) -"dQN" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/airlock/research{name = "Anomalous Materials"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dQO" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "whitepurple"},/area/research_outpost/hallway) -"dQP" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/research_outpost/hallway) -"dQQ" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/power) -"dQR" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/sign/nosmoking_1{pixel_y = 32},/turf/simulated/floor/plating,/area/research_outpost/power) -"dQS" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/research_outpost/power) -"dQT" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/sign/electricshock{pixel_x = 32},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/research_outpost/power) -"dQU" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/atmos) -"dQV" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area) -"dQW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/abandoned) -"dQX" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) -"dQY" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) -"dQZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) -"dRa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dRb" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dRc" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dRd" = (/obj/structure/table,/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dRe" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dRf" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dRg" = (/obj/machinery/vending/cola,/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dRh" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/hallway) -"dRi" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sign/science{desc = "A warning sign which reads 'ANOMALOUS MATERIALS'"; name = "\improper ANOMALOUS MATERIALS"; pixel_x = 32},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "barber"},/area/research_outpost/hallway) -"dRj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/hallway) -"dRk" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dRl" = (/obj/machinery/firealarm{pixel_y = -24},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dRm" = (/obj/structure/rack,/obj/item/clothing/head/welding,/obj/item/weapon/weldingtool,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dRn" = (/obj/structure/table,/obj/item/weapon/melee/baton/loaded,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dRo" = (/obj/machinery/light/small,/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dRp" = (/obj/machinery/camera{c_tag = "Research Outpost Anomalous Materials Lab"; dir = 8; network = list("Research","SS13")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dRq" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/sign/science{desc = "A warning sign which reads 'ANOMALOUS MATERIALS'"; name = "\improper ANOMALOUS MATERIALS"; pixel_x = -32},/turf/simulated/floor{dir = 1; icon_state = "whitepurplecorner"},/area/research_outpost/hallway) -"dRr" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whiteyellow"},/area/research_outpost/hallway) -"dRs" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/engineering{name = "Power substation"; req_access_txt = "0"; req_one_access_txt = "65;10;24"},/turf/simulated/floor/plating,/area/research_outpost/power) -"dRt" = (/turf/simulated/floor/plating,/area/research_outpost/power) -"dRu" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/research_outpost/power) -"dRv" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/power) -"dRw" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/research_outpost/power) -"dRx" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power) -"dRy" = (/obj/structure/disposaloutlet{dir = 2},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power) -"dRz" = (/turf/simulated/mineral,/area/research_outpost/power) -"dRA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"dRB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"dRC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"dRD" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) -"dRE" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) -"dRF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway) -"dRG" = (/obj/structure/table,/obj/item/weapon/folder,/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dRH" = (/obj/structure/table,/obj/item/device/camera,/obj/item/weapon/stamp,/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dRI" = (/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dRJ" = (/obj/machinery/vending/snack,/obj/machinery/light{dir = 4},/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dRK" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dRL" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/hallway) -"dRM" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/research{name = "Anomalous Materials Locker Room"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dRN" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Anomalous Materials"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dRO" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/camera{c_tag = "Research Outpost Hallway Engineering"; dir = 4; network = list("Research","SS13")},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dRP" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whiteyellowcorner"},/area/research_outpost/hallway) -"dRQ" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/power/apc{dir = 8; name = "Outpost Power APC"; pixel_x = -24; pixel_y = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/research_outpost/power) -"dRR" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/research_outpost/power) -"dRS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/research_outpost/power) -"dRT" = (/obj/machinery/portable_atmospherics/scrubber,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/research_outpost/power) -"dRU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/power) -"dRV" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power) -"dRW" = (/obj/machinery/mass_driver{dir = 4; id = "research"},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power) -"dRX" = (/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/power) -"dRY" = (/obj/item/stack/rods,/obj/structure/lattice,/turf/space,/area) -"dRZ" = (/obj/item/weapon/shard,/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"dSa" = (/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"dSb" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"dSc" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) -"dSd" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) -"dSe" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor,/area/mine/abandoned) -"dSf" = (/obj/effect/alien/weeds,/turf/simulated/floor/plating,/area/mine/abandoned) -"dSg" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating,/area/mine/abandoned) -"dSh" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dSi" = (/obj/structure/bookcase/manuals/xenoarchaeology,/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dSj" = (/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dSk" = (/obj/machinery/vending/coffee,/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dSl" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway) -"dSm" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dSn" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/research_outpost/hallway) -"dSo" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/research_outpost/hallway) -"dSp" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/research_outpost/anomaly) -"dSq" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/anomaly) -"dSr" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/obj/item/clothing/gloves/latex,/obj/machinery/alarm{dir = 8; pixel_x = 25; pixel_y = 0},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/anomaly) -"dSs" = (/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dSt" = (/obj/machinery/door/window/westleft{dir = 4; name = "Monkey Pen"; req_access_txt = "47"},/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dSu" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dSv" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/power/apc{dir = 4; name = "Outpost Hallways APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dSw" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/power) -"dSx" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor/plating,/area/research_outpost/power) -"dSy" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; layer = 2.4; level = 2; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/research_outpost/power) -"dSz" = (/obj/machinery/conveyor_switch{id = "archgunc"},/turf/simulated/floor/plating,/area/research_outpost/power) -"dSA" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating,/area/research_outpost/power) -"dSB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/power) -"dSC" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"dSD" = (/obj/item/weapon/shard{icon_state = "small"},/obj/item/clothing/suit/space/syndicate,/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"dSE" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) -"dSF" = (/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) -"dSG" = (/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) -"dSH" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) -"dSI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned) -"dSJ" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) -"dSK" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/plating,/area/mine/abandoned) -"dSL" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/wall,/area/research_outpost/entry) -"dSM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) -"dSN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) -"dSO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/research_outpost/entry) -"dSP" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "research_outpost_hatch"; locked = 1; name = "Research Outpost Dock Airlock"; req_access_txt = "13"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) -"dSQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/research_outpost/entry) -"dSR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) -"dSS" = (/obj/structure/sign/science,/turf/simulated/wall,/area/research_outpost/entry) -"dST" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/glass_research{name = "Outpost Primary Access"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/entry) -"dSU" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/glass_research{name = "Outpost Primary Access"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/entry) -"dSV" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dSW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/wood,/area/research_outpost/hallway) -"dSX" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway) -"dSY" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dSZ" = (/obj/machinery/door/window/westleft{dir = 8; name = "Locker room"; opacity = 0; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/hallway) -"dTa" = (/turf/simulated/floor,/area/research_outpost/anomaly) -"dTb" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/obj/item/clothing/gloves/latex,/obj/machinery/camera{c_tag = "Research Outpost Anomaly Lab Storage"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/anomaly) -"dTc" = (/obj/machinery/alarm{dir = 4; pixel_x = -25; pixel_y = 0},/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dTd" = (/obj/structure/window/reinforced{dir = 4},/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dTe" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dTf" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dTg" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area/research_outpost/power) -"dTh" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/light/small,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/power) -"dTi" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/research_outpost/power) -"dTj" = (/obj/machinery/driver_button{id = "research"; pixel_x = 6; pixel_y = -26},/obj/machinery/conveyor{dir = 4; id = "archgunc"},/turf/simulated/floor/plating,/area/research_outpost/power) -"dTk" = (/obj/structure/sign/deathsposal{pixel_x = 32},/obj/machinery/disposal/deliveryChute{dir = 8; name = "disposal inlet"},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/power) -"dTl" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/research_outpost/power) -"dTm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/transit_tube{icon_state = "N-SE"},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/hallway) -"dTn" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/research_outpost/hallway) -"dTo" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/hallway) -"dTp" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/space,/area) -"dTq" = (/obj/item/weapon/shard,/obj/structure/lattice,/turf/space,/area) -"dTr" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"dTs" = (/obj/effect/gibspawner/robot,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) -"dTt" = (/obj/effect/gibspawner/human,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) -"dTu" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/remains/xeno,/turf/simulated/floor/plating,/area/mine/abandoned) -"dTv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) -"dTw" = (/obj/machinery/computer/shuttle_control/research,/turf/simulated/floor{icon_state = "bot"},/area/research_outpost/entry) -"dTx" = (/turf/simulated/floor,/area/research_outpost/entry) -"dTy" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1380; id_tag = "research_outpost_dock"; pixel_y = 30; req_one_access_txt = "13;65"; tag_door = "research_outpost_hatch"},/turf/simulated/floor,/area/research_outpost/entry) -"dTz" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 6; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/research_outpost/entry) -"dTA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) -"dTB" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/research_outpost/entry) -"dTC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/research_outpost/entry) -"dTD" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/research_outpost/entry) -"dTE" = (/obj/machinery/door/firedoor/border_only{dir = 8; layer = 2.6; name = "Firelock West"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med) -"dTF" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/toxin,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med) -"dTG" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/fire,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med) -"dTH" = (/turf/simulated/wall/r_wall,/area/research_outpost/tempstorage) -"dTI" = (/obj/machinery/mineral/input,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/research_outpost/tempstorage) -"dTJ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/machinery/mineral/unloading_machine,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/research_outpost/tempstorage) -"dTK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/research_outpost/tempstorage) -"dTL" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area/research_outpost/tempstorage) -"dTM" = (/obj/machinery/camera{c_tag = "Research Outpost Hallway Central"; dir = 4; network = list("Research","SS13")},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway) -"dTN" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dTO" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/secure_closet/xenoarchaeologist{req_access_txt = "47"},/obj/structure/window/reinforced,/turf/simulated/floor,/area/research_outpost/hallway) -"dTP" = (/obj/structure/closet/secure_closet/xenoarchaeologist{req_access_txt = "47"},/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced,/turf/simulated/floor,/area/research_outpost/hallway) -"dTQ" = (/obj/structure/closet/secure_closet/scientist,/obj/structure/window/reinforced,/turf/simulated/floor,/area/research_outpost/anomaly) -"dTR" = (/obj/machinery/door/window/westleft{dir = 2; name = "Locker room"; opacity = 0; req_access_txt = "65"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/anomaly) -"dTS" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/mask/breath,/obj/item/clothing/glasses/science,/obj/item/clothing/gloves/latex,/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/anomaly) -"dTT" = (/obj/machinery/door/window/westleft{dir = 2; name = "Monkey Pen"; req_access_txt = "47"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dTU" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly) -"dTV" = (/obj/machinery/door/firedoor/border_only{layer = 2.6; name = "\improper Firelock South"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dTW" = (/obj/machinery/door/firedoor/border_only{layer = 2.6; name = "\improper Firelock South"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dTX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/engineering{name = "Power substation"; req_access_txt = "0"; req_one_access_txt = "65;10;24"},/turf/simulated/floor/plating,/area/research_outpost/power) -"dTY" = (/obj/structure/transit_tube{icon_state = "D-NE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/hallway) -"dTZ" = (/obj/structure/transit_tube{icon_state = "E-NW"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/hallway) -"dUa" = (/obj/structure/transit_tube/station,/obj/structure/sign/securearea{desc = "A warning sign which reads 'INTERNALS REQUIRED'."; name = "INTERNALS REQUIRED"; pixel_x = 32; pixel_y = 32},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/hallway) -"dUb" = (/obj/structure/transit_tube{icon_state = "W-NE"},/turf/simulated/wall/r_wall,/area/research_outpost/harvesting) -"dUc" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/simulated/wall/r_wall,/area/research_outpost/harvesting) -"dUd" = (/turf/simulated/wall/r_wall,/area/research_outpost/harvesting) -"dUe" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/harvesting) -"dUf" = (/obj/structure/transit_tube{icon_state = "D-NE"},/turf/simulated/wall/r_wall,/area/research_outpost/harvesting) -"dUg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"dUh" = (/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"dUi" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "small"},/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/space,/area/mine/abandoned) -"dUj" = (/obj/structure/lattice,/turf/space,/area/mine/abandoned) -"dUk" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) -"dUl" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/mine/abandoned) -"dUm" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) -"dUn" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) -"dUo" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/transit_tube{icon_state = "N-SE"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) -"dUp" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/floor{icon_state = "bot"},/area/research_outpost/entry) -"dUq" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/research_outpost/entry) -"dUr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/glass_research{name = "Research Shuttle Dock"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/entry) -"dUs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/entry) -"dUt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/research_outpost/entry) -"dUu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor,/area/research_outpost/entry) -"dUv" = (/obj/machinery/door/firedoor/border_only{dir = 8; layer = 2.6; name = "Firelock West"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/door/airlock/glass_medical{id_tag = ""; name = "Medbay"; req_access_txt = "0"; req_one_access_txt = "65;5"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med) -"dUw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med) -"dUx" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med) -"dUy" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 6; icon_state = "intact-b-f"; initialize_directions = 6; level = 1; name = "pipe"},/obj/machinery/conveyor_switch{id = "anotempload"; name = "conveyor switch"; pixel_x = 0; pixel_y = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/tempstorage) -"dUz" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/tempstorage) -"dUA" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/tempstorage) -"dUB" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Temporary Storage"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/tempstorage) -"dUC" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway) -"dUD" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dUE" = (/obj/machinery/door/firedoor/border_only{dir = 8; layer = 2.6; name = "Firelock West"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dUF" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dUG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dUH" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dUI" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dUJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dUK" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dUL" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dUM" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dUN" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dUO" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 4; icon_state = "whiteyellowcorner"},/area/research_outpost/hallway) -"dUP" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "whiteyellow"},/area/research_outpost/hallway) -"dUQ" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{dir = 1; icon_state = "whiteyellowcorner"},/area/research_outpost/hallway) -"dUR" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 8; layer = 2.6; name = "Firelock West"},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/camera{c_tag = "Research Outpost Hallway Starboard"; dir = 2; network = list("Research","SS13"); pixel_x = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dUS" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 32; pixel_y = 0},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{dir = 4; icon_state = "whitepurple"},/area/research_outpost/hallway) -"dUT" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/wall/r_wall,/area/research_outpost/harvesting) -"dUU" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor,/area/research_outpost/harvesting) -"dUV" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/power/apc{dir = 4; name = "Exotic Particles APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/harvesting) -"dUW" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/harvesting) -"dUX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/harvesting) -"dUY" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/research_outpost/harvesting) -"dUZ" = (/obj/machinery/artifact_scanpad,/turf/simulated/floor/bluegrid,/area/research_outpost/harvesting) -"dVa" = (/obj/machinery/artifact_harvester,/turf/simulated/floor/bluegrid,/area/research_outpost/harvesting) -"dVb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"dVc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"dVd" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/mine/abandoned) -"dVe" = (/obj/effect/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"dVf" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) -"dVg" = (/turf/simulated/floor/airless,/area/mine/abandoned) -"dVh" = (/obj/effect/alien/weeds,/turf/simulated/floor,/area/mine/abandoned) -"dVi" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) -"dVj" = (/obj/structure/table,/turf/simulated/floor,/area/mine/abandoned) -"dVk" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/abandoned) -"dVl" = (/obj/structure/rack,/turf/simulated/floor,/area/mine/abandoned) -"dVm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/transit_tube{icon_state = "D-NE"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) -"dVn" = (/obj/structure/transit_tube{icon_state = "S-NW"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/entry) -"dVo" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor,/area/research_outpost/entry) -"dVp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera{c_tag = "Research Outpost Shuttle Dock"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor{dir = 4; icon_state = "arrival"},/area/research_outpost/entry) -"dVq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) -"dVr" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/entry) -"dVs" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/research_outpost/entry) -"dVt" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 6; icon_state = "intact-b-f"; initialize_directions = 6; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/entry) -"dVu" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sign/greencross,/turf/simulated/wall,/area/research_outpost/med) -"dVv" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med) -"dVw" = (/obj/machinery/power/apc{dir = 4; name = "Outpost Medbay APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med) -"dVx" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/tempstorage) -"dVy" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/research_outpost/tempstorage) -"dVz" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/deliveryChute{dir = 8; name = "disposal inlet"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/research_outpost/tempstorage) -"dVA" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/research_outpost/tempstorage) -"dVB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway) -"dVC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway) -"dVD" = (/obj/machinery/door/firedoor/border_only{dir = 8; layer = 2.6; name = "Firelock West"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway) -"dVE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/research_outpost/hallway) -"dVF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1; pressure_checks = 1},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/research_outpost/hallway) -"dVG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sign/examroom{desc = "A guidance sign which reads 'ISOLATION ROOM ONE'"; name = "\improper ISOLATION ROOM ONE"; pixel_y = -32},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/hallway) -"dVH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/hallway) -"dVI" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/hallway) -"dVJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/firealarm{pixel_y = -24},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/hallway) -"dVK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sign/examroom{desc = "A guidance sign which reads 'ISOLATION ROOM TWO'"; name = "\improper ISOLATION ROOM TWO"; pixel_y = -32},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/hallway) -"dVL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/hallway) -"dVM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/sign/examroom{desc = "A guidance sign which reads 'ISOLATION ROOM THREE'"; name = "\improper ISOLATION ROOM THREE"; pixel_y = -32},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/research_outpost/hallway) -"dVN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor{dir = 8; icon_state = "whitepurplecorner"},/area/research_outpost/hallway) -"dVO" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/door/firedoor/border_only{dir = 8; layer = 2.6; name = "Firelock West"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dVP" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/machinery/firealarm{pixel_y = -24},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway) -"dVQ" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/sign/biohazard{pixel_y = -32},/turf/simulated/floor{dir = 2; icon_state = "whitepurplecorner"},/area/research_outpost/hallway) -"dVR" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 6; icon_state = "whitepurple"},/area/research_outpost/hallway) -"dVS" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Exotic Particles Collection"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/harvesting) -"dVT" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/research_outpost/harvesting) -"dVU" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/harvesting) -"dVV" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/external{name = "Access Airlock"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/harvesting) -"dVW" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/harvesting) -"dVX" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/harvesting) -"dVY" = (/obj/structure/table,/obj/item/weapon/anodevice{pixel_x = 3; pixel_y = 3},/obj/item/weapon/anodevice,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/harvesting) -"dVZ" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) -"dWa" = (/obj/effect/decal/remains/human,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) -"dWb" = (/obj/effect/alien/weeds,/turf/simulated/floor/plating/airless,/area/mine/abandoned) -"dWc" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) -"dWd" = (/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) -"dWe" = (/obj/structure/table,/turf/simulated/floor/airless,/area/mine/abandoned) -"dWf" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) -"dWg" = (/turf/simulated/mineral,/area/mine/explored) -"dWh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) -"dWi" = (/obj/structure/transit_tube/station{icon_state = "closed"; dir = 4},/obj/structure/transit_tube_pod,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/entry) -"dWj" = (/obj/machinery/hologram/holopad,/obj/machinery/light,/turf/simulated/floor{icon_state = "bluecorner"},/area/research_outpost/entry) -"dWk" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor{dir = 2; icon_state = "arrival"},/area/research_outpost/entry) -"dWl" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 2; icon_state = "arrival"},/area/research_outpost/entry) -"dWm" = (/obj/structure/cable,/obj/structure/table,/obj/machinery/power/apc{dir = 0; name = "Outpost Shuttle Dock APC"; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor{dir = 2; icon_state = "cmo"},/area/research_outpost/entry) -"dWn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) -"dWo" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/entry) -"dWp" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/research_outpost/entry) -"dWq" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/research_outpost/entry) -"dWr" = (/obj/machinery/door/firedoor/border_only{dir = 8; layer = 2.6; name = "Firelock West"},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/med) -"dWs" = (/obj/machinery/sleeper{dir = 1},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"},/area/research_outpost/med) -"dWt" = (/obj/machinery/sleep_console,/obj/machinery/light/small,/turf/simulated/floor{icon_state = "warnwhite"; dir = 5},/area/research_outpost/med) -"dWu" = (/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/research_outpost/tempstorage) -"dWv" = (/obj/machinery/conveyor{dir = 9; id = "anotempload"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/research_outpost/tempstorage) -"dWw" = (/turf/simulated/wall/r_wall,/area/research_outpost/maint) -"dWx" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/research_outpost/maint) -"dWy" = (/turf/simulated/wall/r_wall,/area/research_outpost/iso1) -"dWz" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/iso1) -"dWA" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{name = "Isolation room one"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/iso1) -"dWB" = (/turf/simulated/wall/r_wall,/area/research_outpost/iso2) -"dWC" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/iso2) -"dWD" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{name = "Isolation room two"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/iso2) -"dWE" = (/turf/simulated/wall/r_wall,/area/research_outpost/iso3) -"dWF" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/iso3) -"dWG" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{name = "Isolation Room Three"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/iso3) -"dWH" = (/obj/machinery/door/airlock/maintenance{name = "Maintenance Storage"; req_access_txt = "0"; req_one_access_txt = "12;65"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"dWI" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2) -"dWJ" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage) -"dWK" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Long Term Storage"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) -"dWL" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; level = 2; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor,/area/research_outpost/harvesting) -"dWM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/research_outpost/harvesting) -"dWN" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/harvesting) -"dWO" = (/obj/structure/table,/obj/item/weapon/anobattery{pixel_x = -6; pixel_y = 2},/obj/item/weapon/anobattery{pixel_x = -2; pixel_y = -2},/obj/item/weapon/anobattery{pixel_x = 2; pixel_y = 2},/obj/item/weapon/anobattery{pixel_x = 6; pixel_y = 6},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/harvesting) -"dWP" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) -"dWQ" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless,/area/mine/abandoned) -"dWR" = (/obj/effect/alien/weeds,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) -"dWS" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"dWT" = (/turf/simulated/wall,/area/mine/unexplored) -"dWU" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'INTERNALS REQUIRED'."; name = "INTERNALS REQUIRED"; pixel_x = -32; pixel_y = 0},/turf/space,/area) -"dWV" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall,/area/research_outpost/entry) -"dWW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/transit_tube{icon_state = "N-SW"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) -"dWX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry) -"dWY" = (/turf/simulated/wall,/area/research_outpost/entry) -"dWZ" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/research_outpost/entry) -"dXa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/glass_mining{name = "Expedition Prep"; req_access_txt = "65"},/turf/simulated/floor/plating,/area/research_outpost/entry) -"dXb" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/research_outpost/entry) -"dXc" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/research{name = "Temporary Storage Loading"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/tempstorage) -"dXd" = (/obj/structure/plasticflaps/mining,/obj/machinery/conveyor{dir = 2; id = "anotempload"},/turf/simulated/floor/plating,/area/research_outpost/maint) -"dXe" = (/obj/machinery/conveyor{dir = 5; id = "anosample"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/maint) -"dXf" = (/obj/machinery/conveyor{dir = 4; id = "anosample"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_y = 32},/turf/simulated/floor/plating,/area/research_outpost/maint) -"dXg" = (/obj/machinery/disposal/deliveryChute{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/maint) -"dXh" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "Maintenance APC"; pixel_x = 24; pixel_y = 0},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/research_outpost/maint) -"dXi" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light/small{dir = 1},/obj/structure/table,/turf/simulated/floor,/area/research_outpost/iso1) -"dXj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/research_outpost/iso1) -"dXk" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/alarm/isolation{locked = 0; pixel_y = 24},/turf/simulated/floor,/area/research_outpost/iso1) -"dXl" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light/small{dir = 1},/obj/structure/table,/turf/simulated/floor,/area/research_outpost/iso2) -"dXm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/research_outpost/iso2) -"dXn" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/alarm/isolation{locked = 0; pixel_y = 24},/turf/simulated/floor,/area/research_outpost/iso2) -"dXo" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light/small{dir = 1},/obj/structure/table,/turf/simulated/floor,/area/research_outpost/iso3) -"dXp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 5; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/research_outpost/iso3) -"dXq" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/alarm/isolation{locked = 0; pixel_y = 24},/turf/simulated/floor,/area/research_outpost/iso3) -"dXr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"dXs" = (/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/stool/bed,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"dXt" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) -"dXu" = (/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage) -"dXv" = (/obj/structure/sign/nosmoking_2{pixel_y = -32},/obj/machinery/camera{c_tag = "Research Outpost Exotic Particles Lab"; dir = 4; network = list("Research","SS13")},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/research_outpost/harvesting) -"dXw" = (/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/research_outpost/harvesting) -"dXx" = (/obj/machinery/artifact_scanpad,/obj/machinery/light/small,/turf/simulated/floor/bluegrid,/area/research_outpost/harvesting) -"dXy" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor{icon_state = "dark"},/area/mine/abandoned) -"dXz" = (/obj/structure/table,/obj/item/weapon/paper/crumpled,/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/mine/abandoned) -"dXA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) -"dXB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/mine/abandoned) -"dXC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned) -"dXD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned) -"dXE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) -"dXF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned) -"dXG" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor,/area/mine/abandoned) -"dXH" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) -"dXI" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"dXJ" = (/obj/structure/transit_tube{tag = "icon-E-SW"; icon_state = "E-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"dXK" = (/turf/simulated/wall,/area/research_outpost/gearstore) -"dXL" = (/obj/structure/closet/excavation,/turf/simulated/floor,/area/research_outpost/gearstore) -"dXM" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/research_outpost/gearstore) -"dXN" = (/obj/structure/rack,/obj/item/weapon/storage/belt/archaeology,/obj/item/clothing/suit/space/anomaly,/obj/item/clothing/head/helmet/space/anomaly,/obj/item/clothing/mask/breath,/turf/simulated/floor,/area/research_outpost/gearstore) -"dXO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{_color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/gearstore) -"dXP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor,/area/research_outpost/gearstore) -"dXQ" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor,/area/research_outpost/gearstore) -"dXR" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor,/area/research_outpost/gearstore) -"dXS" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/glass_mining{name = "Loading area"; req_access_txt = "65"},/turf/simulated/floor,/area/research_outpost/tempstorage) -"dXT" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/turf/simulated/floor,/area/research_outpost/tempstorage) -"dXU" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/power/apc{dir = 1; name = "Temporary Storage APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/tempstorage) -"dXV" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 9; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/research_outpost/tempstorage) -"dXW" = (/obj/machinery/door/firedoor/border_only{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;65"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/research_outpost/maint) -"dXX" = (/obj/machinery/conveyor{dir = 2; id = "anotempload"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/research_outpost/maint) -"dXY" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_y = 32},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/research_outpost/maint) -"dXZ" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/research_outpost/maint) -"dYa" = (/obj/machinery/conveyor_switch{id = "anosample"},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/maint) -"dYb" = (/turf/simulated/floor/plating,/area/research_outpost/maint) -"dYc" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/maint) -"dYd" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; initialize_directions = 6; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/iso1) -"dYe" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/research_outpost/iso1) -"dYf" = (/obj/machinery/power/apc{dir = 4; name = "Isolation Room One APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/iso1) -"dYg" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; initialize_directions = 6; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/iso2) -"dYh" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/research_outpost/iso2) -"dYi" = (/obj/machinery/power/apc{dir = 4; name = "Isolation Room Two APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/iso2) -"dYj" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 5; icon_state = "intact-b-f"; initialize_directions = 6; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/iso3) -"dYk" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 100; on = 1; pressure_checks = 1},/turf/simulated/floor,/area/research_outpost/iso3) -"dYl" = (/obj/machinery/power/apc{dir = 4; name = "Isolation Room Three APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/research_outpost/iso3) -"dYm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"dYn" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"dYo" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage) -"dYp" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) -"dYq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/power/apc{dir = 1; name = "Long Term Storage APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) -"dYr" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) -"dYs" = (/obj/structure/disposaloutlet{dir = 2},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor,/area/research_outpost/longtermstorage) -"dYt" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/harvesting) -"dYu" = (/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) -"dYv" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/mine/abandoned) -"dYw" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor,/area/mine/abandoned) -"dYx" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) -"dYy" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"dYz" = (/obj/structure/transit_tube{tag = "icon-NE-SW"; icon_state = "NE-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"dYA" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/mineral,/area/mine/unexplored) -"dYB" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/research_outpost/gearstore) -"dYC" = (/obj/structure/rack,/obj/item/weapon/storage/belt/archaeology,/obj/item/clothing/suit/space/anomaly,/obj/item/clothing/head/helmet/space/anomaly,/obj/item/clothing/mask/breath,/obj/machinery/atmospherics/pipe/simple{_color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1},/turf/simulated/floor,/area/research_outpost/gearstore) -"dYD" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/manifold{_color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/gearstore) -"dYE" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/turf/simulated/floor,/area/research_outpost/gearstore) -"dYF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple{_color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/gearstore) -"dYG" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; name = "Expedition Area APC"; pixel_x = 26; pixel_y = 0},/obj/machinery/camera{c_tag = "Research Outpost Expedition Prep"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor,/area/research_outpost/gearstore) -"dYH" = (/turf/simulated/wall,/area/research_outpost/tempstorage) -"dYI" = (/turf/simulated/floor,/area/research_outpost/tempstorage) -"dYJ" = (/obj/machinery/mineral/input,/obj/machinery/conveyor_switch/oneway{id = "anominerals"; pixel_y = 16},/turf/simulated/floor{dir = 2; icon_state = "loadingarea"},/area/research_outpost/tempstorage) -"dYK" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/research_outpost/maint) -"dYL" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor/plating,/area/research_outpost/maint) -"dYM" = (/obj/machinery/computer/security/telescreen{desc = "Used for watching the isolation room cameras."; layer = 4; name = "Isolation Room Telescreen"; network = list("Anomaly Isolation"); pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maint) -"dYN" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 4},/turf/simulated/floor,/area/research_outpost/iso1) -"dYO" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor,/area/research_outpost/iso1) -"dYP" = (/obj/machinery/conveyor_switch{id = "iso1"},/obj/machinery/camera{c_tag = "Research Outpost Isolation 1"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor,/area/research_outpost/iso1) -"dYQ" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 4},/turf/simulated/floor,/area/research_outpost/iso2) -"dYR" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor,/area/research_outpost/iso2) -"dYS" = (/obj/machinery/conveyor_switch{id = "iso2"},/obj/machinery/camera{c_tag = "Research Outpost Isolation 2"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor,/area/research_outpost/iso2) -"dYT" = (/obj/machinery/atmospherics/unary/heat_reservoir/heater{dir = 4},/turf/simulated/floor,/area/research_outpost/iso3) -"dYU" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor,/area/research_outpost/iso3) -"dYV" = (/obj/machinery/conveyor_switch{id = "iso3"},/obj/machinery/camera{c_tag = "Research Outpost Isolation 3"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor,/area/research_outpost/iso3) -"dYW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"dYX" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"dYY" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage) -"dYZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) -"dZa" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage) -"dZb" = (/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/research_outpost/longtermstorage) -"dZc" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"dZd" = (/obj/structure/transit_tube{icon_state = "W-NE"},/obj/structure/lattice,/turf/space,/area) -"dZe" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/space,/area) -"dZf" = (/turf/simulated/floor{icon_state = "green"; dir = 8},/area/mine/abandoned) -"dZg" = (/obj/effect/gibspawner/human,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) -"dZh" = (/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor,/area/mine/abandoned) -"dZi" = (/obj/effect/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/mine/abandoned) -"dZj" = (/turf/simulated/wall,/area/mine/explored) -"dZk" = (/obj/structure/ore_box,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"dZl" = (/obj/structure/transit_tube{tag = "icon-S-NE"; icon_state = "S-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"dZm" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/mineral,/area/mine/explored) -"dZn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/research_outpost/gearstore) -"dZo" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/floor,/area/research_outpost/gearstore) -"dZp" = (/obj/machinery/atmospherics/pipe/simple{_color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/airlock/glass_mining{name = "Equipment storage"; req_access_txt = "47"},/turf/simulated/floor,/area/research_outpost/gearstore) -"dZq" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/research_outpost/gearstore) -"dZr" = (/turf/simulated/floor,/area/research_outpost/gearstore) -"dZs" = (/obj/machinery/mineral/unloading_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/research_outpost/tempstorage) -"dZt" = (/obj/machinery/conveyor_switch{id = "anotempload"},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) -"dZu" = (/obj/machinery/conveyor{dir = 2; id = "anotempload"},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) -"dZv" = (/obj/machinery/conveyor_switch{id = "anosample"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) -"dZw" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) -"dZx" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/plating,/area/research_outpost/maint) -"dZy" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) -"dZz" = (/obj/machinery/conveyor{dir = 1; id = "iso1"},/obj/machinery/atmospherics/pipe/manifold4w/general/visible,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) -"dZA" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso1) -"dZB" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) -"dZC" = (/obj/machinery/conveyor{dir = 1; id = "iso2"},/obj/machinery/atmospherics/pipe/manifold4w/general/visible,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) -"dZD" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso2) -"dZE" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) -"dZF" = (/obj/machinery/conveyor{dir = 1; id = "iso3"},/obj/machinery/atmospherics/pipe/manifold4w/general/visible,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) -"dZG" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/light{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/research_outpost/iso3) -"dZH" = (/obj/structure/closet/walllocker/emerglocker/west,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"dZI" = (/obj/structure/dispenser,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"dZJ" = (/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/research_outpost/longtermstorage) -"dZK" = (/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/research_outpost/longtermstorage) -"dZL" = (/obj/structure/transit_tube{tag = "icon-S-NE"; icon_state = "S-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"dZM" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"dZN" = (/obj/effect/decal/remains/human,/turf/simulated/floor{icon_state = "green"; dir = 8},/area/mine/abandoned) -"dZO" = (/obj/effect/alien/resin,/turf/simulated/floor/airless{icon_state = "floorgrime"},/area/mine/abandoned) -"dZP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/abandoned) -"dZQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned) -"dZR" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/mine/abandoned) -"dZS" = (/obj/structure/ore_box,/obj/machinery/light_construct/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"dZT" = (/obj/machinery/light_construct/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"dZU" = (/obj/structure/transit_tube{tag = "icon-N-S"; icon_state = "N-S"},/turf/simulated/wall,/area/mine/explored) -"dZV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/gearstore) -"dZW" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor,/area/research_outpost/gearstore) -"dZX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/research_outpost/gearstore) -"dZY" = (/obj/structure/table,/obj/item/weapon/pickaxe,/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/obj/item/weapon/wrench,/obj/item/device/measuring_tape,/obj/item/weapon/storage/box/excavation,/obj/item/device/ano_scanner,/obj/item/weapon/storage/bag/fossils,/turf/simulated/floor,/area/research_outpost/gearstore) -"dZZ" = (/obj/machinery/conveyor{dir = 2; id = "anominerals"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/research_outpost/tempstorage) -"eaa" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"eab" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/maint) -"eac" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/research_outpost/iso1) -"ead" = (/obj/structure/plasticflaps/mining,/obj/machinery/conveyor{dir = 1; id = "iso1"},/obj/machinery/atmospherics/pipe/manifold/general/visible,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/research_outpost/iso1) -"eae" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor/plating,/area/research_outpost/iso1) -"eaf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/research_outpost/iso2) -"eag" = (/obj/structure/plasticflaps/mining,/obj/machinery/conveyor{dir = 1; id = "iso2"},/obj/machinery/atmospherics/pipe/manifold/general/visible,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/research_outpost/iso2) -"eah" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor/plating,/area/research_outpost/iso2) -"eai" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/research_outpost/iso3) -"eaj" = (/obj/structure/plasticflaps/mining,/obj/machinery/conveyor{dir = 1; id = "iso3"},/obj/machinery/atmospherics/pipe/manifold/general/visible,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/research_outpost/iso3) -"eak" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor/plating,/area/research_outpost/iso3) -"eal" = (/obj/structure/closet/hydrant{pixel_x = -32},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"eam" = (/obj/structure/rack,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/samplebags{pixel_x = 3; pixel_y = -3},/obj/machinery/power/apc{dir = 4; name = "Maintenance Storage APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"ean" = (/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2) -"eao" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage) -"eap" = (/obj/structure/transit_tube{tag = "icon-N-SW"; icon_state = "N-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"eaq" = (/obj/effect/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/mine/abandoned) -"ear" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/abandoned) -"eas" = (/obj/machinery/door/airlock/glass{name = "Glass Airlock"; req_access_txt = "0"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned) -"eat" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/abandoned) -"eau" = (/obj/machinery/door/window/westleft,/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"eav" = (/obj/structure/transit_tube{tag = "icon-N-S"; icon_state = "N-S"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored) -"eaw" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/mine/explored) -"eax" = (/obj/machinery/suspension_gen,/turf/simulated/floor,/area/research_outpost/gearstore) -"eay" = (/obj/machinery/floodlight,/turf/simulated/floor,/area/research_outpost/gearstore) -"eaz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/gearstore) -"eaA" = (/obj/machinery/atmospherics/portables_connector{dir = 2},/obj/machinery/portable_atmospherics/canister/air,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/window{dir = 4; name = "Air Tank Access"; req_access_txt = "0"; req_one_access_txt = "47;10;24"},/turf/simulated/floor,/area/research_outpost/gearstore) -"eaB" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "research_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor,/area/research_outpost/gearstore) -"eaC" = (/obj/structure/table,/obj/item/weapon/pickaxe,/obj/item/weapon/wrench,/obj/item/device/measuring_tape,/obj/item/weapon/storage/box/excavation,/obj/item/device/ano_scanner,/obj/item/weapon/storage/bag/fossils,/turf/simulated/floor,/area/research_outpost/gearstore) -"eaD" = (/obj/machinery/disposal/deliveryChute{dir = 1},/obj/structure/disposalpipe/trunk,/turf/simulated/floor{icon_state = "floorgrime"},/area/research_outpost/tempstorage) -"eaE" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/plating,/area/research_outpost/maint) -"eaF" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/research_outpost/maint) -"eaG" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso1) -"eaH" = (/obj/machinery/conveyor{dir = 1; id = "iso1"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso1) -"eaI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso1) -"eaJ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso2) -"eaK" = (/obj/machinery/conveyor{dir = 1; id = "iso2"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso2) -"eaL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso2) -"eaM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso3) -"eaN" = (/obj/machinery/conveyor{dir = 1; id = "iso3"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso3) -"eaO" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso3) -"eaP" = (/obj/structure/rack,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"eaQ" = (/obj/structure/rack,/obj/item/weapon/storage/box/lights/bulbs{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/box/lights/tubes{pixel_x = -5; pixel_y = 5},/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/research_outpost/maintstore2) -"eaR" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/mineral/random,/area/mine/unexplored) -"eaS" = (/obj/structure/transit_tube{tag = "icon-NE-SW"; icon_state = "NE-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"eaT" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"eaU" = (/obj/effect/decal/remains/human,/mob/living/carbon/alien/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor,/area/mine/abandoned) -"eaV" = (/obj/item/weapon/table_parts,/turf/simulated/floor,/area/mine/abandoned) -"eaW" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned) -"eaX" = (/obj/structure/rack,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned) -"eaY" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"eaZ" = (/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"eba" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"; tag = "icon-closed (EAST)"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/explored) -"ebb" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area) -"ebc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/gearstore) -"ebd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/research_outpost/gearstore) -"ebe" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 1; icon_state = "intact-c-f"; level = 1},/turf/simulated/wall,/area/research_outpost/gearstore) -"ebf" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area/research_outpost/gearstore) -"ebg" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "research_inner"; locked = 1; name = "Research Outpost External Access"; req_access = null; req_access_txt = null},/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; dir = 1; icon_state = "intact-c-f"; level = 1},/turf/simulated/floor,/area/research_outpost/gearstore) -"ebh" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/mine/explored) -"ebi" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2) -"ebj" = (/obj/structure/transit_tube{tag = "icon-E-SW"; icon_state = "E-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"ebk" = (/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"ebl" = (/obj/item/weapon/rack_parts,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned) -"ebm" = (/obj/structure/girder/displaced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/abandoned) -"ebn" = (/obj/machinery/door/window/westleft,/obj/machinery/light/small,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"ebo" = (/obj/structure/transit_tube{tag = "icon-N-SE"; icon_state = "N-SE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored) -"ebp" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/obj/structure/lattice,/turf/space,/area/mine/explored) -"ebq" = (/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/space,/area/mine/explored) -"ebr" = (/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-E-SW"; icon_state = "E-SW"},/turf/space,/area/mine/explored) -"ebs" = (/obj/structure/lattice,/obj/structure/transit_tube,/turf/space,/area/mine/explored) -"ebt" = (/obj/structure/transit_tube,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored) -"ebu" = (/obj/structure/transit_tube/station{dir = 2; icon_state = "closed"; tag = "icon-closed (EAST)"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/explored) -"ebv" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/research_outpost/gearstore) -"ebw" = (/turf/simulated/floor/mech_bay_recharge_floor{icon_state = "recharge_floor_asteroid"},/area/research_outpost/gearstore) -"ebx" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/research_outpost/gearstore) -"eby" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"},/turf/simulated/wall,/area/research_outpost/gearstore) -"ebz" = (/obj/machinery/light/small{dir = 8},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "research_pump"; tag_exterior_door = "research_outer"; frequency = 1379; id_tag = "research_airlock"; tag_interior_door = "research_inner"; pixel_x = -25; pixel_y = 0; req_access_txt = null; tag_chamber_sensor = "research_sensor"},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/research_outpost/gearstore) -"ebA" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "research_pump"},/turf/simulated/floor,/area/research_outpost/gearstore) -"ebB" = (/obj/structure/closet/emcloset,/turf/simulated/floor,/area/research_outpost/gearstore) -"ebC" = (/obj/machinery/door/window/westleft,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"ebD" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"; tag = "icon-opening (EAST)"},/obj/structure/transit_tube_pod,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/explored) -"ebE" = (/turf/simulated/wall/r_wall,/area/mine/explored) -"ebF" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/mineral,/area/mine/unexplored) -"ebG" = (/obj/structure/transit_tube{tag = "icon-NE-SW"; icon_state = "NE-SW"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/unexplored) -"ebH" = (/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"ebI" = (/obj/structure/girder,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/abandoned) -"ebJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/explored) -"ebK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/turf/simulated/floor/plating,/area/mine/explored) -"ebL" = (/obj/structure/window/reinforced,/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-E-NW"; icon_state = "E-NW"},/turf/space,/area/mine/explored) -"ebM" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/structure/transit_tube,/turf/space,/area/mine/explored) -"ebN" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/space,/area/mine/explored) -"ebO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/floor/plating,/area/mine/explored) -"ebP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/explored) -"ebQ" = (/obj/machinery/door/window/westleft{dir = 2},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"ebR" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/research_outpost/gearstore) -"ebS" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/research_outpost/gearstore) -"ebT" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "research_sensor"; pixel_x = -25; pixel_y = 0},/turf/simulated/floor{icon_state = "warning"},/area/research_outpost/gearstore) -"ebU" = (/turf/simulated/floor{icon_state = "warning"},/area/research_outpost/gearstore) -"ebV" = (/obj/structure/ore_box,/turf/simulated/floor{icon_state = "warning"},/area/research_outpost/gearstore) -"ebW" = (/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/mine/explored) -"ebX" = (/obj/effect/glowshroom,/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"ebY" = (/obj/machinery/door/airlock/external{name = "Mining Bridge"; req_access_txt = "65"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored) -"ebZ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/mine/explored) -"eca" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "research_outer"; locked = 1; name = "Research Outpost External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/research_outpost/gearstore) -"ecb" = (/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/explored) -"ecc" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = -32},/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"ecd" = (/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/explored) -"ece" = (/obj/structure/transit_tube{tag = "icon-E-NW"; icon_state = "E-NW"},/turf/simulated/wall/r_wall,/area/mine/explored) -"ecf" = (/obj/structure/transit_tube,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"ecg" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/unexplored) -"ech" = (/obj/structure/transit_tube,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/unexplored) -"eci" = (/obj/structure/transit_tube/station,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/mine/unexplored) -"ecj" = (/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/mine/unexplored) -"eck" = (/obj/machinery/door/airlock/external{name = "External Airlock"; req_access_txt = "0"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned) -"ecl" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/mine/abandoned) -"ecm" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/explored) -"ecn" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (SOUTHWEST)"; icon_state = "asteroidwarning"; dir = 10},/area/mine/explored) -"eco" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "research_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null},/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) -"ecp" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (SOUTHEAST)"; icon_state = "asteroidwarning"; dir = 6},/area/mine/explored) -"ecq" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTHWEST)"; icon_state = "asteroidwarning"; dir = 9},/area/mine/explored) -"ecr" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) -"ecs" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTHEAST)"; icon_state = "asteroidwarning"; dir = 5},/area/mine/explored) -"ect" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = -32; pixel_y = -32},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"ecu" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/unexplored) -"ecv" = (/obj/machinery/door/window/westleft{dir = 2},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/unexplored) -"ecw" = (/obj/machinery/door/window/westleft{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/unexplored) -"ecx" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) -"ecy" = (/obj/effect/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored) -"ecz" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned) -"ecA" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned) -"ecB" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"ecC" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/abandoned) -"ecD" = (/obj/machinery/light_construct/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"ecE" = (/turf/simulated/mineral/random/high_chance,/area/mine/unexplored) -"ecF" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (SOUTHWEST)"; icon_state = "asteroidwarning"; dir = 10},/area/mine/unexplored) -"ecG" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/unexplored) -"ecH" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (SOUTHEAST)"; icon_state = "asteroidwarning"; dir = 6},/area/mine/unexplored) -"ecI" = (/turf/simulated/mineral/random/labormineral,/area/mine/unexplored) -"ecJ" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/unexplored) -"ecK" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"ecL" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"ecM" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{name = "Medbay Maintenance Access"; req_access_txt = "5"},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/turf/simulated/floor/plating,/area/medical/iso_access{name = "\improper Patient Rooms"}) -"ecN" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"ecO" = (/turf/space,/area/shuttle/siberia/outpost) -"ecP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2) -"ecQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access_txt = "39"},/turf/simulated/floor{tag = "icon-whitebluefull"; icon_state = "whitebluefull"},/area/medical/medbay2) -"ecR" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/maintenance{name = "Surgery Maintenance"; req_access_txt = "45"},/turf/simulated/floor/plating,/area/medical/surgery) -"ecS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Biohazard_medi"; name = "Quarantine Lockdown"; opacity = 0},/obj/machinery/door/airlock/maintenance{name = "Surgery Maintenance"; req_access_txt = "45"},/turf/simulated/floor/plating,/area/medical/surgery) -"ecT" = (/obj/structure/table,/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor,/area/engine/break_room) -"ecU" = (/obj/machinery/camera{c_tag = "Supermatter Decontamination"; dir = 1; network = list("SS13")},/obj/machinery/light_switch{pixel_y = -25},/obj/structure/closet/radiation,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor,/area/engine/reactor_core) -"ecV" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"ecW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/closet/radiation,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/item/weapon/book/manual/supermatter_engine,/turf/simulated/floor,/area/engine/reactor_core) -"ecX" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored) -"ecY" = (/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored) -"ecZ" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored) -"eda" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/unexplored) -"edb" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor,/area/mine/explored) -"edc" = (/turf/simulated/floor,/area/mine/explored) -"edd" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/mine/explored) -"ede" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/explored) -"edf" = (/obj/machinery/camera{c_tag = "Labor Camp Bathroom"; dir = 8; network = list("SS13","Prison")},/obj/machinery/sleep_console,/turf/simulated/floor,/area/mine/explored) -"edg" = (/obj/machinery/sleeper{dir = 1},/turf/simulated/floor,/area/mine/explored) -"edh" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTHWEST)"; icon_state = "asteroidwarning"; dir = 9},/area/mine/explored) -"edi" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/mine/explored) -"edj" = (/obj/machinery/computer/shuttle_control/labor_camp/one_way,/turf/simulated/floor,/area/mine/explored) -"edk" = (/obj/structure/rack{dir = 1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/obj/item/clothing/glasses/meson,/obj/item/device/flashlight,/obj/item/weapon/storage/bag/ore,/turf/simulated/floor,/area/mine/explored) -"edl" = (/obj/machinery/embedded_controller/radio/simple_docking_controller{frequency = 1379; id_tag = "labor_camp_dock"; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13;1"; tag_door = "labor_camp_dock_hatch"},/turf/simulated/floor,/area/mine/explored) -"edm" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "labor_camp_dock_hatch"; locked = 1; name = "Labor Camp Shuttle Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor,/area/mine/explored) -"edn" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor,/area/mine/explored) -"edo" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/mine/explored) -"edp" = (/obj/machinery/door/airlock/external{name = "Labor Camp Shuttle Airlock"},/turf/simulated/floor,/area/mine/explored) -"edq" = (/obj/structure/rack{dir = 1},/obj/item/weapon/pickaxe{pixel_x = 5},/obj/item/weapon/shovel{pixel_x = -5},/obj/item/clothing/glasses/meson,/obj/item/device/flashlight,/obj/item/weapon/storage/bag/ore,/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/mine/explored) -"edr" = (/turf/simulated/floor{icon_state = "asteroidfloor"},/area/mine/explored) -"eds" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor,/area/mine/explored) -"edt" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/mine/explored) -"edu" = (/obj/item/device/radio/intercom{pixel_x = 26},/turf/simulated/floor,/area/mine/explored) -"edv" = (/turf/simulated/mineral/random/labormineral,/area/mine/explored) -"edw" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor,/area/mine/explored) -"edx" = (/obj/machinery/door/airlock,/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor,/area/mine/explored) -"edy" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/mine/explored) -"edz" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor,/area/mine/explored) -"edA" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/mine/explored) -"edB" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "Labor Camp APC"; pixel_x = 1; pixel_y = -23},/obj/machinery/atmospherics/pipe/simple{dir = 10},/turf/simulated/floor,/area/mine/explored) -"edC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/door/airlock/maintenance{name = "Labor Camp Maintenance"; req_access_txt = "0"},/turf/simulated/floor/plating,/area/mine/explored) -"edD" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall,/area/mine/explored) -"edE" = (/obj/machinery/camera{c_tag = "Labor Camp Lobby"; dir = 8; network = list("SS13","Prison")},/turf/simulated/floor,/area/mine/explored) -"edF" = (/obj/machinery/camera{c_tag = "Labor Camp Mine"; dir = 4; network = list("SS13","Prison")},/turf/simulated/floor{icon_state = "asteroidfloor"},/area/mine/explored) -"edG" = (/obj/machinery/conveyor{dir = 2; id = "gulag"},/turf/simulated/floor{icon_state = "loadingarea"},/area/mine/explored) -"edH" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/mine/explored) -"edI" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/mine/explored) -"edJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/light/small{dir = 1},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/mine/explored) -"edK" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "asteroidfloor"},/area/mine/explored) -"edL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor/plating,/area/mine/explored) -"edM" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/mine/explored) -"edN" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/floor/plating,/area/mine/explored) -"edO" = (/obj/machinery/conveyor{dir = 2; id = "gulag"},/obj/machinery/mineral/input,/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/structure/plasticflaps,/turf/simulated/floor,/area/mine/explored) -"edP" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/wall,/area/mine/explored) -"edQ" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/mine/explored) -"edR" = (/turf/simulated/floor/plating,/area/mine/explored) -"edS" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor,/area/mine/explored) -"edT" = (/obj/machinery/conveyor_switch/oneway{id = "gulag"},/turf/simulated/floor{icon_state = "asteroidfloor"},/area/mine/explored) -"edU" = (/obj/machinery/mineral/processing_unit_console{machinedir = 8},/turf/simulated/wall,/area/mine/explored) -"edV" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/mine/explored) -"edW" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating,/area/mine/explored) -"edX" = (/obj/machinery/conveyor{dir = 2; id = "gulag"},/obj/machinery/mineral/processing_unit,/turf/simulated/floor,/area/mine/explored) -"edY" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/mine/explored) -"edZ" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/mine/explored) -"eea" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/mine/explored) -"eeb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/explored) -"eec" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/mine/explored) -"eed" = (/turf/simulated/mineral/random/high_chance,/area/mine/explored) -"eee" = (/obj/machinery/conveyor{dir = 2; id = "gulag"},/obj/machinery/mineral/output,/obj/structure/plasticflaps,/turf/simulated/floor,/area/mine/explored) -"eef" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"eeg" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"eeh" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"eei" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (WEST)"; icon_state = "asteroidwarning"; dir = 8},/area/mine/explored) -"eej" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/explored) -"eek" = (/turf/simulated/floor/plating/airless,/area/mine/explored) -"eel" = (/turf/simulated/floor{dir = 2; icon_state = "asteroid"; tag = "icon-asteroid (NORTH)"},/area/mine/north_outpost) -"eem" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/mine/north_outpost) -"een" = (/obj/structure/ore_box,/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeo" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/plating,/area/mine/north_outpost) -"eep" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/mining,/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeq" = (/obj/structure/rack,/obj/item/weapon/storage/backpack/satchel,/obj/item/weapon/pickaxe,/obj/item/weapon/storage/belt/utility,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/mine/north_outpost) -"eer" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor/plating,/area/mine/north_outpost) -"ees" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating,/area/mine/north_outpost) -"eet" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeu" = (/obj/structure/closet/secure_closet/miner,/turf/simulated/floor/plating,/area/mine/north_outpost) -"eev" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "arrivals_pump"},/turf/simulated/floor/plating,/area/mine/north_outpost) -"eew" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/mine/north_outpost) -"eex" = (/obj/machinery/conveyor_switch/oneway{id = "nmining"; pixel_y = 16},/turf/simulated/floor/plating/airless,/area/mine/unexplored) -"eey" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/space,/area/mine/explored) -"eez" = (/obj/structure/lattice,/obj/structure/window/reinforced,/turf/space,/area/mine/explored) -"eeA" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored) -"eeB" = (/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeC" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1399; master_tag = "nmining_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null},/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeD" = (/obj/machinery/door/airlock/external{frequency = 1399; icon_state = "door_locked"; id_tag = "nmining_inner"; locked = 1; name = "North Mining External Access"; req_access = null; req_access_txt = "null"},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeE" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1399; id_tag = "nmining_pump"},/obj/machinery/airlock_sensor{frequency = 1399; id_tag = "nmining_sensor"; pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeF" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "nmining_pump"; tag_exterior_door = "NMining_outer"; frequency = 1399; id_tag = "nmining_airlock"; tag_interior_door = "nmining_inner"; pixel_x = 0; pixel_y = 25; req_access_txt = "null"; tag_chamber_sensor = "nmining_sensor"},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeG" = (/obj/machinery/door/airlock/external{frequency = 1399; icon_state = "door_locked"; id_tag = "NMining_outer"; locked = 1; name = "North Mining External"; req_access = null; req_access_txt = "null"},/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeH" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1399; master_tag = "nmining_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor/plating/airless,/area/mine/explored) -"eeI" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeJ" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeK" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/explored) -"eeL" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeM" = (/obj/structure/table,/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeN" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeO" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeP" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/mine/north_outpost) -"eeQ" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHWEST)"; icon_state = "warnplate"; dir = 9},/area/mine/unexplored) -"eeR" = (/obj/structure/stool,/turf/simulated/floor/plating{tag = "icon-warnplate (NORTHEAST)"; icon_state = "warnplate"; dir = 5},/area/mine/north_outpost) -"eeS" = (/obj/machinery/mineral/input,/obj/structure/window/reinforced,/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/mine/explored) -"eeT" = (/obj/machinery/mineral/unloading_machine,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/explored) -"eeU" = (/obj/machinery/conveyor{dir = 4; id = "nmining"},/obj/machinery/mineral/output,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/explored) -"eeV" = (/obj/machinery/conveyor{dir = 4; id = "nmining"},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/explored) -"eeW" = (/obj/structure/lattice,/obj/machinery/disposal/deliveryChute{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored) -"eeX" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced,/turf/space,/area/mine/explored) -"eeY" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"eeZ" = (/obj/machinery/light/small,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"efa" = (/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2 (EAST)"; icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"efb" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/mine/north_outpost) -"efc" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/mine/north_outpost) -"efd" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/mine/north_outpost) -"efe" = (/obj/machinery/light/small,/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plating,/area/mine/north_outpost) -"eff" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor/plating,/area/mine/north_outpost) -"efg" = (/obj/machinery/power/apc{dir = 2; name = "North Mining Outpost"; pixel_x = 1; pixel_y = -23; power_channel = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/mine/north_outpost) -"efh" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/mine/north_outpost) -"efi" = (/obj/machinery/alarm{dir = 8; frequency = 1440; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/plating,/area/mine/north_outpost) -"efj" = (/obj/machinery/power/smes{charge = 1e+006},/obj/structure/cable,/turf/simulated/floor/plating,/area/mine/north_outpost) -"efk" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/terminal{dir = 8},/turf/simulated/floor/plating,/area/mine/north_outpost) -"efl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light/small,/turf/simulated/floor/plating,/area/mine/north_outpost) -"efm" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/mine/north_outpost) -"efn" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/mine/north_outpost) -"efo" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"efp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/explored) -"efq" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/explored) -"efr" = (/obj/machinery/door/airlock/external{name = "Mining Bridge"; req_access_txt = "54"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored) -"efs" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored) -"eft" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/mine/explored) -"efu" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/turf/space,/area/mine/explored) -"efv" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/mine/explored) -"efw" = (/turf/simulated/wall/r_wall,/area/mine/maintenance) -"efx" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/airless,/area/mine/explored) -"efy" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/airless,/area/mine/explored) -"efz" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless,/area/mine/explored) -"efA" = (/turf/simulated/floor/bluegrid,/area/mine/maintenance) -"efB" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "Mining Communications APC"; pixel_x = 1; pixel_y = 25},/turf/simulated/floor{icon_state = "dark"},/area/mine/maintenance) -"efC" = (/obj/machinery/telecomms/relay/preset/mining,/obj/machinery/light/small{dir = 1},/turf/simulated/floor{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/mine/maintenance) -"efD" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "dark"},/area/mine/maintenance) -"efE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/explored) -"efF" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored) -"efG" = (/obj/structure/lattice,/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/explored) -"efH" = (/obj/structure/lattice,/turf/space,/area/mine/explored) -"efI" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/bluegrid,/area/mine/maintenance) -"efJ" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 6},/turf/simulated/floor{icon_state = "dark"},/area/mine/maintenance) -"efK" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/bluegrid,/area/mine/maintenance) -"efL" = (/obj/machinery/camera{c_tag = "Communications Relay"; dir = 8; network = list("MINE")},/turf/simulated/floor/bluegrid,/area/mine/maintenance) -"efM" = (/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"efN" = (/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"efO" = (/turf/simulated/wall,/area/mine/living_quarters) -"efP" = (/obj/machinery/door/airlock/maintenance{name = "Mining Station Communications"; req_access_txt = "48"},/obj/machinery/atmospherics/pipe/simple,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-vault"; icon_state = "vault"},/area/mine/maintenance) -"efQ" = (/obj/item/clothing/under/rank/miner,/obj/effect/decal/remains/human,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"efR" = (/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored) -"efS" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/carpet,/area/mine/living_quarters) -"efT" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters) -"efU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/living_quarters) -"efV" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/obj/machinery/light,/turf/space,/area/mine/explored) -"efW" = (/obj/structure/table,/turf/simulated/floor/carpet,/area/mine/living_quarters) -"efX" = (/turf/simulated/floor/carpet,/area/mine/living_quarters) -"efY" = (/obj/machinery/door/airlock{id_tag = "miningdorm1"; name = "Room 1"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/mine/living_quarters) -"efZ" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"ega" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple,/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/mine/living_quarters) -"egb" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral/random,/area/mine/unexplored) -"egc" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters) -"egd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/living_quarters) -"ege" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"egf" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/west_outpost) -"egg" = (/obj/machinery/door/airlock{id_tag = "miningdorm2"; name = "Room 2"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/mine/living_quarters) -"egh" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/living_quarters) -"egi" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/structure/table/reinforced,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/explored) -"egj" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) -"egk" = (/obj/machinery/mining/drill,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) -"egl" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 5},/area/mine/explored) -"egm" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/west_outpost) -"egn" = (/turf/simulated/floor/mech_bay_recharge_floor{icon_state = "recharge_floor_asteroid"},/area/mine/west_outpost) -"ego" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/west_outpost) -"egp" = (/obj/structure/disposalpipe/segment,/obj/structure/sign/deathsposal,/turf/simulated/wall,/area/mine/living_quarters) -"egq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/living_quarters) -"egr" = (/obj/structure/table/reinforced,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/explored) -"egs" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) -"egt" = (/obj/machinery/mining/brace,/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored) -"egu" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 4},/area/mine/explored) -"egv" = (/turf/simulated/wall,/area/mine/west_outpost) -"egw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/west_outpost) -"egx" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/west_outpost) -"egy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/west_outpost) -"egz" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) -"egA" = (/obj/machinery/vending/cigarette,/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) -"egB" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) -"egC" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters) -"egD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/living_quarters) -"egE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/living_quarters) -"egF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/living_quarters) -"egG" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/explored) -"egH" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) -"egI" = (/obj/machinery/mining/brace,/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) -"egJ" = (/turf/simulated/floor/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/explored) -"egK" = (/obj/structure/table,/obj/item/weapon/pickaxe,/turf/simulated/floor,/area/mine/west_outpost) -"egL" = (/turf/simulated/floor,/area/mine/west_outpost) -"egM" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor,/area/mine/west_outpost) -"egN" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/west_outpost) -"egO" = (/obj/machinery/recharge_station,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/mine/west_outpost) -"egP" = (/obj/structure/dispenser/oxygen,/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/mine/west_outpost) -"egQ" = (/obj/structure/rack,/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/west_outpost) -"egR" = (/obj/structure/rack,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/west_outpost) -"egS" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/west_outpost) -"egT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/west_outpost) -"egU" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "outpost_west_pump"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/west_outpost) -"egV" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/west_outpost) -"egW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/west_outpost) -"egX" = (/obj/structure/table,/obj/machinery/microwave{pixel_y = 6},/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) -"egY" = (/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) -"egZ" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) -"eha" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) -"ehb" = (/obj/machinery/door/airlock{id_tag = "miningdorm3"; name = "Room 3"},/turf/simulated/floor{dir = 2; icon_state = "carpet"},/area/mine/living_quarters) -"ehc" = (/obj/structure/ore_box,/turf/simulated/floor,/area/mine/living_quarters) -"ehd" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/mine/living_quarters) -"ehe" = (/obj/structure/closet/secure_closet/miner,/turf/simulated/floor,/area/mine/living_quarters) -"ehf" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/mine/eva) -"ehg" = (/turf/simulated/wall,/area/mine/eva) -"ehh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/eva) -"ehi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/eva) -"ehj" = (/obj/structure/table,/obj/item/weapon/shovel,/turf/simulated/floor,/area/mine/west_outpost) -"ehk" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor,/area/mine/west_outpost) -"ehl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/west_outpost) -"ehm" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/west_outpost) -"ehn" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "outpost_west_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null},/turf/simulated/floor,/area/mine/west_outpost) -"eho" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "outpost_west_inner"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor,/area/mine/west_outpost) -"ehp" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/west_outpost) -"ehq" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "outpost_west_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/mine/west_outpost) -"ehr" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "outpost_west_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/explored) -"ehs" = (/obj/structure/table,/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) -"eht" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) -"ehu" = (/obj/structure/table,/obj/item/toy/cards/deck,/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) -"ehv" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) -"ehw" = (/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) -"ehx" = (/turf/simulated/floor,/area/mine/living_quarters) -"ehy" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/mine/living_quarters) -"ehz" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/mining,/turf/simulated/floor,/area/mine/eva) -"ehA" = (/obj/structure/rack,/obj/item/weapon/storage/backpack/satchel,/obj/item/weapon/pickaxe,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor,/area/mine/eva) -"ehB" = (/obj/machinery/light,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"ehC" = (/obj/structure/table,/obj/item/weapon/storage/backpack/satchel,/obj/item/clothing/glasses/meson,/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/mine/west_outpost) -"ehD" = (/obj/machinery/door/airlock/glass_mining{name = "Break Room"; req_access_txt = "54"},/turf/simulated/floor,/area/mine/west_outpost) -"ehE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/west_outpost) -"ehF" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "outpost_west_pump"; tag_exterior_door = "outpost_west_outer"; frequency = 1379; id_tag = "outpost_west_airlock"; tag_interior_door = "outpost_west_inner"; pixel_x = 0; pixel_y = -25; req_access_txt = null; tag_chamber_sensor = "outpost_west_sensor"},/turf/simulated/floor,/area/mine/west_outpost) -"ehG" = (/obj/structure/ore_box,/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "outpost_west_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/west_outpost) -"ehH" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) -"ehI" = (/obj/machinery/camera{c_tag = "Crew Area"; dir = 1; network = list("MINE")},/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) -"ehJ" = (/obj/item/weapon/cigbutt,/turf/simulated/floor{icon_state = "bar"},/area/mine/living_quarters) -"ehK" = (/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor,/area/mine/living_quarters) -"ehL" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/mine/living_quarters) -"ehM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/mine/living_quarters) -"ehN" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/living_quarters) -"ehO" = (/obj/machinery/camera{c_tag = "Storage Room"; dir = 1; network = list("MINE")},/turf/simulated/floor,/area/mine/living_quarters) -"ehP" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/living_quarters) -"ehQ" = (/turf/simulated/wall,/area/mine/production) -"ehR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/production) -"ehS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/production) -"ehT" = (/obj/machinery/atmospherics/pipe/simple{dir = 6},/obj/machinery/camera{c_tag = "EVA"; dir = 4; network = list("MINE")},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor,/area/mine/eva) -"ehU" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/eva) -"ehV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/mine/eva) -"ehW" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor,/area/mine/eva) -"ehX" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor,/area/mine/west_outpost) -"ehY" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/mine/west_outpost) -"ehZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/west_outpost) -"eia" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1},/turf/simulated/floor,/area/mine/west_outpost) -"eib" = (/obj/machinery/atmospherics/pipe/manifold{dir = 2},/turf/simulated/floor,/area/mine/west_outpost) -"eic" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/mine/west_outpost) -"eid" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/living_quarters) -"eie" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/mine/living_quarters) -"eif" = (/obj/machinery/door/airlock/glass{name = "Crew Area"; req_access_txt = "48"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/mine/living_quarters) -"eig" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/door/airlock/mining{name = "Mining Station Storage"; req_access_txt = "48"},/turf/simulated/floor,/area/mine/living_quarters) -"eih" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/living_quarters) -"eii" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/living_quarters) -"eij" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/production) -"eik" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/mine/production) -"eil" = (/turf/simulated/floor,/area/mine/production) -"eim" = (/obj/machinery/atmospherics/pipe/simple{dir = 6},/turf/simulated/floor,/area/mine/production) -"ein" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/eva) -"eio" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"},/turf/simulated/floor,/area/mine/eva) -"eip" = (/turf/simulated/floor,/area/mine/eva) -"eiq" = (/obj/structure/dispenser/oxygen,/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"},/turf/simulated/floor,/area/mine/eva) -"eir" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/eva) -"eis" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "mining_east_pump"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/eva) -"eit" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/eva) -"eiu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/eva) -"eiv" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/mine/west_outpost) -"eiw" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/mine/west_outpost) -"eix" = (/obj/machinery/power/apc{dir = 2; name = "Mining West Outpost APC"; pixel_x = 1; pixel_y = -23},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/west_outpost) -"eiy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/camera{c_tag = "West Outpost"; dir = 1; network = list("MINE")},/turf/simulated/floor,/area/mine/west_outpost) -"eiz" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/mine/west_outpost) -"eiA" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor,/area/mine/west_outpost) -"eiB" = (/obj/machinery/mineral/input,/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/mine/west_outpost) -"eiC" = (/obj/machinery/mineral/unloading_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/west_outpost) -"eiD" = (/obj/machinery/conveyor{dir = 4; id = "mining_west"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/west_outpost) -"eiE" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal/deliveryChute{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/west_outpost) -"eiF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/mine/west_outpost) -"eiG" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor{icon_state = "showroomfloor"},/area/mine/living_quarters) -"eiH" = (/obj/structure/sink{pixel_y = 30},/obj/machinery/light/small,/obj/structure/mirror{pixel_y = -32},/turf/simulated/floor{icon_state = "showroomfloor"},/area/mine/living_quarters) -"eiI" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor{icon_state = "showroomfloor"},/area/mine/living_quarters) -"eiJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/mine/living_quarters) -"eiK" = (/obj/machinery/power/apc{dir = 1; name = "Mining Station Port Wing APC"; pixel_x = 1; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor,/area/mine/living_quarters) -"eiL" = (/obj/machinery/camera{c_tag = "Crew Area Hallway"; network = list("MINE")},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor,/area/mine/living_quarters) -"eiM" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/mine/living_quarters) -"eiN" = (/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/mine/living_quarters) -"eiO" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/living_quarters) -"eiP" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/mine/living_quarters) -"eiQ" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/mine/production) -"eiR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/production) -"eiS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/mine/production) -"eiT" = (/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/mine/production) -"eiU" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/mine/production) -"eiV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/production) -"eiW" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "Mining Station EVA"; req_access_txt = "54"},/turf/simulated/floor,/area/mine/eva) -"eiX" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/mine/eva) -"eiY" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_east_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null},/turf/simulated/floor,/area/mine/eva) -"eiZ" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_east_inner"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor,/area/mine/eva) -"eja" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "mining_east_pump"; tag_exterior_door = "mining_east_outer"; frequency = 1379; id_tag = "mining_east_airlock"; tag_interior_door = "mining_east_inner"; pixel_x = 0; pixel_y = -25; req_access_txt = null; tag_chamber_sensor = "mining_east_sensor"},/turf/simulated/floor,/area/mine/eva) -"ejb" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "mining_east_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/eva) -"ejc" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_east_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor/plating,/area/mine/eva) -"ejd" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_east_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/explored) -"eje" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/mine/west_outpost) -"ejf" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall,/area/mine/west_outpost) -"ejg" = (/obj/machinery/door/airlock/maintenance{name = "Mining Station Maintenance"; req_access_txt = "54"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/mine/west_outpost) -"ejh" = (/obj/machinery/conveyor{backwards = 2; dir = 2; forwards = 1; id = "mining_west"},/obj/structure/plasticflaps/mining,/turf/simulated/floor,/area/mine/west_outpost) -"eji" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/mine/living_quarters) -"ejj" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/mine/living_quarters) -"ejk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/living_quarters) -"ejl" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/mine/living_quarters) -"ejm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/mine/living_quarters) -"ejn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/living_quarters) -"ejo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/mine/living_quarters) -"ejp" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/living_quarters) -"ejq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "Mining Station Bridge"; req_access_txt = "48"},/turf/simulated/floor,/area/mine/living_quarters) -"ejr" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/mine/living_quarters) -"ejs" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/mine/production) -"ejt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "Mining Station Bridge"; req_access_txt = "48"},/turf/simulated/floor,/area/mine/production) -"eju" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/mine/production) -"ejv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/mine/production) -"ejw" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/mine/production) -"ejx" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/production) -"ejy" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/mine/eva) -"ejz" = (/obj/machinery/power/apc{dir = 2; name = "Mining EVA APC"; pixel_x = 1; pixel_y = -23},/obj/structure/cable,/turf/simulated/floor,/area/mine/eva) -"ejA" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/floor/plating,/area/mine/eva) -"ejB" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/mine/eva) -"ejC" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor,/area/mine/eva) -"ejD" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/meter,/turf/simulated/floor/plating,/area/mine/west_outpost) -"ejE" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/mine/west_outpost) -"ejF" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/mine/west_outpost) -"ejG" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/item/weapon/storage/box/lights/bulbs,/turf/simulated/floor/plating,/area/mine/west_outpost) -"ejH" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) -"ejI" = (/obj/machinery/conveyor_switch{id = "mining_west"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored) -"ejJ" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/floor,/area/mine/living_quarters) -"ejK" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/living_quarters) -"ejL" = (/obj/machinery/atmospherics/pipe/manifold,/turf/simulated/floor,/area/mine/living_quarters) -"ejM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/living_quarters) -"ejN" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1},/turf/simulated/floor,/area/mine/living_quarters) -"ejO" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/obj/machinery/light,/turf/simulated/floor,/area/mine/living_quarters) -"ejP" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_west_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor,/area/mine/living_quarters) -"ejQ" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/mine/living_quarters) -"ejR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/living_quarters) -"ejS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/living_quarters) -"ejT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/living_quarters) -"ejU" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/space,/area/mine/living_quarters) -"ejV" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/space,/area/mine/production) -"ejW" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/obj/machinery/light{dir = 4},/turf/space,/area/mine/production) -"ejX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/production) -"ejY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/production) -"ejZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/production) -"eka" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/mine/production) -"ekb" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/production) -"ekc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/production) -"ekd" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4},/turf/simulated/floor,/area/mine/production) -"eke" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/mine/production) -"ekf" = (/obj/machinery/camera{c_tag = "Production Line External"; dir = 4; network = list("MINE")},/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) -"ekg" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) -"ekh" = (/obj/machinery/conveyor_switch{id = "mining_external"},/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) -"eki" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 1; initialize_directions = 0; level = 1},/turf/simulated/floor/plating,/area/mine/west_outpost) -"ekj" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/mine/west_outpost) -"ekk" = (/obj/machinery/power/terminal{dir = 4},/obj/machinery/light/small,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/mine/west_outpost) -"ekl" = (/obj/machinery/power/smes,/obj/structure/cable,/turf/simulated/floor/plating,/area/mine/west_outpost) -"ekm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/living_quarters) -"ekn" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Infirmary"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "white"},/area/mine/living_quarters) -"eko" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall,/area/mine/living_quarters) -"ekp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/maintenance{name = "Mining Station Maintenance"; req_access_txt = "48"},/turf/simulated/floor/plating,/area/mine/living_quarters) -"ekq" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/mine/living_quarters) -"ekr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_west_inner"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor,/area/mine/living_quarters) -"eks" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/living_quarters) -"ekt" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/production) -"eku" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/mine/production) -"ekv" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/production) -"ekw" = (/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2 (EAST)"; icon_state = "pipe-j2"; dir = 4},/turf/simulated/wall,/area/mine/production) -"ekx" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"eky" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"ekz" = (/obj/machinery/conveyor{dir = 9; id = "mining_internal"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"ekA" = (/obj/machinery/mineral/unloading_machine{icon_state = "unloader-corner"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"ekB" = (/obj/machinery/conveyor{dir = 4; id = "mining_external"},/obj/machinery/mineral/input,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"ekC" = (/obj/machinery/conveyor{dir = 4; id = "mining_external"},/obj/structure/plasticflaps/mining,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"ekD" = (/obj/machinery/conveyor{dir = 4; id = "mining_external"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored) -"ekE" = (/obj/machinery/light/small{dir = 8},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor{icon_state = "white"},/area/mine/living_quarters) -"ekF" = (/turf/simulated/floor{icon_state = "white"},/area/mine/living_quarters) -"ekG" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor{icon_state = "white"},/area/mine/living_quarters) -"ekH" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/mine/living_quarters) -"ekI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 1},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/mine/living_quarters) -"ekJ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/mine/living_quarters) -"ekK" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/floor/plating,/area/mine/living_quarters) -"ekL" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/mine/living_quarters) -"ekM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/living_quarters) -"ekN" = (/obj/machinery/light/small{dir = 4},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "mining_west_sensor"; pixel_x = 25; pixel_y = -5},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{tag_airpump = "mining_west_pump"; tag_exterior_door = "mining_west_outer"; frequency = 1379; id_tag = "mining_west_airlock"; tag_interior_door = "mining_west_inner"; pixel_x = 25; pixel_y = 5; req_access_txt = null; tag_chamber_sensor = "mining_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "mining_west_pump"},/obj/structure/closet/emcloset,/turf/simulated/floor,/area/mine/living_quarters) -"ekO" = (/obj/machinery/status_display{layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor,/area/mine/production) -"ekP" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/mine/production) -"ekQ" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/obj/structure/plasticflaps/mining,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"ekR" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/obj/machinery/mineral/output,/obj/structure/plasticflaps/mining,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"ekS" = (/obj/machinery/sleeper,/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/mine/living_quarters) -"ekT" = (/obj/machinery/sleep_console,/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/mine/living_quarters) -"ekU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/camera{c_tag = "Sleeper Room"; dir = 1; network = list("MINE")},/turf/simulated/floor{icon_state = "white"},/area/mine/living_quarters) -"ekV" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor{icon_state = "white"},/area/mine/living_quarters) -"ekW" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/mine/living_quarters) -"ekX" = (/turf/simulated/floor/plating,/area/mine/living_quarters) -"ekY" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/obj/machinery/meter,/turf/simulated/floor/plating,/area/mine/living_quarters) -"ekZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/mine/living_quarters) -"ela" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{icon_state = "warning"},/area/mine/living_quarters) -"elb" = (/turf/space,/area/shuttle/mining/outpost) -"elc" = (/obj/machinery/power/apc{dir = 8; name = "Mining Station Starboard Wing APC"; pixel_x = -27; pixel_y = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/mine/production) -"eld" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/mine/production) -"ele" = (/obj/machinery/mineral/input,/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/mine/production) -"elf" = (/obj/machinery/mineral/unloading_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"elg" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"elh" = (/obj/machinery/conveyor{dir = 4; id = "mining_internal"},/obj/structure/plasticflaps/mining,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"eli" = (/obj/structure/cable,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/power/port_gen/pacman{anchored = 1},/turf/simulated/floor/plating,/area/mine/living_quarters) -"elj" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/mine/living_quarters) -"elk" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/mine/living_quarters) -"ell" = (/obj/machinery/atmospherics/pipe/manifold,/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/mine/living_quarters) -"elm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_west_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor/plating,/area/mine/living_quarters) -"eln" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production) -"elo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production) -"elp" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/mine/production) -"elq" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/production) -"elr" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4},/obj/machinery/camera{c_tag = "Shuttle Airlock"; dir = 8; network = list("MINE")},/obj/machinery/conveyor_switch/oneway{id = "mining_internal"; name = "mining conveyor"},/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/mine/production) -"els" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production) -"elt" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"elu" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored) -"elv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_west_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored) -"elw" = (/turf/simulated/floor/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/explored) -"elx" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) -"ely" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production) -"elz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production) -"elA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production) -"elB" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/mine/production) -"elC" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/mine/production) -"elD" = (/obj/structure/closet/crate,/obj/structure/noticeboard{pixel_y = 27},/turf/simulated/floor,/area/mine/production) -"elE" = (/obj/structure/closet/crate,/turf/simulated/floor,/area/mine/production) -"elF" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor,/area/mine/production) -"elG" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor,/area/mine/production) -"elH" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light/small{dir = 1},/obj/item/weapon/rcs,/turf/simulated/floor,/area/mine/production) -"elI" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/mine/production) -"elJ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production) -"elK" = (/obj/machinery/power/apc{dir = 1; name = "Mining Station External APC"; pixel_x = 1; pixel_y = 25},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) -"elL" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) -"elM" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored) -"elN" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_outpost_outer"; locked = 1; name = "Mining Dock Airlock"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/mine/production) -"elO" = (/obj/machinery/embedded_controller/radio/airlock/docking_port{frequency = 1379; id_tag = "mining_outpost_airlock"; pixel_x = 0; pixel_y = 30; req_access_txt = "0"; req_one_access_txt = "13;48"; tag_airpump = "mining_outpost_pump"; tag_chamber_sensor = "mining_outpost_sensor"; tag_exterior_door = "mining_outpost_outer"; tag_interior_door = "mining_outpost_inner"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "mining_outpost_sensor"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "mining_outpost_pump"},/turf/simulated/floor,/area/mine/production) -"elP" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_outpost_inner"; locked = 1; name = "Mining Dock Airlock"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact-f (EAST)"; icon_state = "intact-f"; dir = 4},/turf/simulated/floor,/area/mine/production) -"elQ" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_outpost_airlock"; name = "interior access button"; pixel_x = -30; pixel_y = -25; req_access_txt = "0"; req_one_access_txt = "13;48"},/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact-f (SOUTHWEST)"; icon_state = "intact-f"; dir = 10},/turf/simulated/floor,/area/mine/production) -"elR" = (/obj/machinery/door/window/westright{name = "Production Area"; req_access_txt = "48"},/turf/simulated/floor,/area/mine/production) -"elS" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/camera{c_tag = "Production Room"; dir = 8; network = list("MINE")},/turf/simulated/floor,/area/mine/production) -"elT" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production) -"elU" = (/obj/machinery/mineral/input,/turf/simulated/floor{icon_state = "loadingarea"; tag = "loading"},/area/mine/production) -"elV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production) -"elW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production) -"elX" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/mine/production) -"elY" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/obj/machinery/telepad_cargo,/turf/simulated/floor,/area/mine/production) -"elZ" = (/obj/machinery/door/window/westleft{name = "Production Area"; req_access_txt = "48"},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/production) -"ema" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"},/turf/simulated/floor,/area/mine/production) -"emb" = (/obj/machinery/mineral/processing_unit_console,/turf/simulated/wall/r_wall,/area/mine/production) -"emc" = (/obj/machinery/mineral/processing_unit,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"emd" = (/obj/structure/lattice,/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_outpost_airlock"; name = "exterior access button"; pixel_x = -8; pixel_y = 25; req_access_txt = "0"; req_one_access_txt = "13;48"},/turf/space,/area) -"eme" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/mine/production) -"emf" = (/obj/machinery/computer/shuttle_control/mining,/turf/simulated/floor,/area/mine/production) -"emg" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/closet/crate,/turf/simulated/floor,/area/mine/production) -"emh" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"emi" = (/turf/simulated/wall/r_wall,/area/mine/production) -"emj" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"},/turf/simulated/floor,/area/mine/production) -"emk" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/mine/production) -"eml" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production) -"emm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production) -"emn" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production) -"emo" = (/obj/machinery/mineral/stacking_unit_console,/turf/simulated/wall/r_wall,/area/mine/production) -"emp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/explored) -"emq" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/mine/explored) -"emr" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 4},/turf/space,/area) -"ems" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/mine/production) -"emt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production) -"emu" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/mine/production) -"emv" = (/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/mine/production) -"emw" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/structure/plasticflaps,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"emx" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"emy" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"emz" = (/obj/machinery/mineral/stacking_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) -"emA" = (/obj/machinery/conveyor{tag = "icon-conveyor0 (SOUTHWEST)"; icon_state = "conveyor0"; dir = 10; id = "mining_internal"},/obj/machinery/mineral/input,/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/mine/production) -"emB" = (/turf/space,/area/vox_station/mining) -"emC" = (/obj/machinery/power/solar/fake,/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) -"emD" = (/turf/simulated/floor/plating/airless,/area/djstation/solars) -"emE" = (/obj/machinery/light{dir = 1},/obj/machinery/media/transmitter/broadcast/dj,/turf/simulated/floor/plating,/area/djstation) -"emF" = (/obj/machinery/power/terminal,/turf/simulated/floor/plating,/area/djstation) -"emG" = (/obj/item/device/multitool,/turf/simulated/floor/plating,/area/djstation) -"emH" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor/plating,/area/djstation) -"emI" = (/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/djstation) -"emJ" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/smes/magical{desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit"},/turf/simulated/floor/plating,/area/djstation) -"emK" = (/obj/machinery/telecomms/relay/preset/ruskie,/turf/simulated/floor/plating,/area/djstation) -"emL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/djstation) -"emM" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/simulated/floor/plating,/area/djstation) -"emN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/item/weapon/storage/box/lights/mixed,/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/djstation) -"emO" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/djstation) -"emP" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/breath,/obj/item/weapon/tank/jetpack/oxygen,/turf/simulated/floor/plating,/area/djstation) -"emQ" = (/obj/structure/closet/emcloset,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"emR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/hallway/secondary/entry) -"emS" = (/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"emT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"emU" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/media/jukebox/dj,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"emV" = (/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{icon_state = "bar"},/area/djstation) -"emW" = (/obj/structure/table,/turf/simulated/floor{icon_state = "grimy"},/area/djstation) -"emX" = (/obj/machinery/door/airlock/glass{name = "Kitchen"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"emY" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 0; dir = 8; freerange = 1; listening = 1; name = "Pirate Radio Listening Channel"; pixel_x = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"emZ" = (/obj/structure/stool/bed/chair/office/light,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"ena" = (/obj/machinery/door/airlock/glass{name = "Cabin"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"enb" = (/obj/structure/girder/reinforced,/turf/simulated/floor/plating/airless,/area) -"enc" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/obj/item/weapon/lighter/zippo/fluff/naples_1,/obj/item/ashtray/glass{pixel_y = 7},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"end" = (/obj/structure/table,/obj/item/device/radio/intercom{broadcasting = 1; dir = 8; freerange = 1; listening = 0; name = "Pirate Radio Broadcast Channel"; pixel_x = 0},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"ene" = (/obj/structure/table,/obj/item/weapon/paper/djstation{info = "Welcome new owner!

    You have purchased the latest in listening equipment. The telecommunication setup we created is the best in listening to common and private radio fequencies. Here is a step by step guide to start listening in on those saucy radio channels:
    1. Equip yourself with a multi-tool
    2. Use the multitool on each machine, that is the broadcaster, receiver and the relay.
    3. Turn all the machines on, it has already been configured for you to listen on.
    Simple as that. Now to listen to the private channels, you'll have to configure the intercoms, located on the front desk. Here is a list of frequencies for you to listen on.
    • 145.7 - Common Channel
    • 144.7 - Private AI Channel
    • 135.9 - Security Channel
    • 135.7 - Engineering Channel
    • 135.5 - Medical Channel
    • 135.3 - Command Channel
    • 135.1 - Science Channel
    • 134.7 - Supply Channel
    • "},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"enf" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "grimy"},/area/djstation) -"eng" = (/obj/machinery/light/small,/obj/machinery/sleeper,/turf/simulated/floor{icon_state = "grimy"},/area/djstation) -"enh" = (/obj/machinery/sleep_console,/turf/simulated/floor{icon_state = "grimy"},/area/djstation) -"eni" = (/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/light{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"enj" = (/turf/simulated/wall/r_wall,/area/derelict/solar_control) -"enk" = (/obj/machinery/door/airlock/engineering{name = "Turbine Maintenance"; req_access_txt = "10"},/turf/simulated/floor/plating,/area/derelict/solar_control) -"enl" = (/obj/structure/mirror{dir = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor{icon_state = "freezerfloor"},/area/djstation) -"enm" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"enn" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/space_heater,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"eno" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/rack{dir = 4},/obj/item/clothing/under/soviet,/obj/item/clothing/head/ushanka,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"enp" = (/turf/simulated/wall,/area/derelict/solar_control) -"enq" = (/turf/simulated/floor,/area/derelict/solar_control) -"enr" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/derelict/solar_control) -"ens" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"ent" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"enu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor/plating,/area/derelict/solar_control) -"env" = (/turf/simulated/floor/plating,/area/derelict/solar_control) -"enw" = (/obj/machinery/door/airlock/external{name = "Ruskie DJ Station"; req_access = null; req_access_txt = "0"},/turf/simulated/floor/plating,/area/djstation) -"enx" = (/obj/machinery/door/airlock/external{name = "Air Bridge Access"},/turf/simulated/floor/plating,/area/derelict/solar_control) -"eny" = (/obj/machinery/door/airlock/external{name = "External Engineering"},/turf/simulated/floor/plating,/area/derelict/solar_control) -"enz" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/derelict/solar_control) -"enA" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "derelictsolar"; name = "Derelict Solar Array"},/turf/simulated/floor/airless,/area/solar/derelict_starboard) -"enB" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) -"enC" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar{id = "derelictsolar"; name = "Derelict Solar Array"},/turf/simulated/floor/airless,/area/solar/derelict_starboard) -"enD" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{dir = 1; environ = 0; equipment = 0; lighting = 0; locked = 0; name = "Starboard Solar APC"; pixel_y = 24},/turf/simulated/floor,/area/derelict/solar_control) -"enE" = (/obj/machinery/power/smes,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/derelict/solar_control) -"enF" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar_control{id = "derelictsolar"; name = "Primary Solar Control"; track = 0},/turf/simulated/floor,/area/derelict/solar_control) -"enG" = (/obj/machinery/light/small{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/solar_control) -"enH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/solar_control) -"enI" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) -"enJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/solar_control) -"enK" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/derelict/solar_control) -"enL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/solar_control) -"enM" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/solar_control) -"enN" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/power/monitor,/turf/simulated/floor,/area/derelict/solar_control) -"enO" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/derelict/solar_control) -"enP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/window/eastleft,/turf/simulated/floor,/area/derelict/solar_control) -"enQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor,/area/derelict/solar_control) -"enR" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/solar_control) -"enS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/solar_control) -"enT" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) -"enU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/window/reinforced,/turf/simulated/floor,/area/derelict/solar_control) -"enV" = (/obj/structure/window/reinforced,/turf/simulated/floor,/area/derelict/solar_control) -"enW" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor,/area/derelict/solar_control) -"enX" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/derelict/solar_control) -"enY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock/external{name = "External Engineering"},/turf/simulated/floor/plating,/area/derelict/solar_control) -"enZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) -"eoa" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) -"eob" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) -"eoc" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) -"eod" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) -"eoe" = (/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) -"eof" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/solar_control) -"eog" = (/turf/simulated/wall,/area/derelict/bridge/access) -"eoh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall,/area/derelict/bridge/access) -"eoi" = (/obj/machinery/door/airlock/engineering{name = "Starboard Solar Access"; req_access_txt = "10"},/turf/simulated/floor,/area/derelict/bridge/access) -"eoj" = (/turf/simulated/floor,/area/derelict/bridge/access) -"eok" = (/obj/structure/rack,/obj/item/weapon/melee/classic_baton,/turf/simulated/floor,/area/derelict/bridge/access) -"eol" = (/obj/structure/rack,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/derelict/bridge/access) -"eom" = (/obj/structure/rack,/turf/simulated/floor,/area/derelict/bridge/access) -"eon" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access) -"eoo" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/derelict/bridge/access) -"eop" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access) -"eoq" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/derelict/bridge/access) -"eor" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/wall,/area/derelict/bridge/access) -"eos" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access) -"eot" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) -"eou" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/simulated/floor,/area/derelict/bridge/access) -"eov" = (/turf/simulated/floor/plating,/area/derelict/bridge/access) -"eow" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/derelict/bridge/access) -"eox" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/bridge/access) -"eoy" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/bridge/access) -"eoz" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/bridge/access) -"eoA" = (/obj/machinery/door/airlock/command{name = "E.V.A."; req_access = null; req_access_txt = "18"},/turf/simulated/floor,/area/derelict/bridge/access) -"eoB" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/derelict/bridge/access) -"eoC" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area) -"eoD" = (/turf/simulated/floor/airless{icon_state = "solarpanel"},/area) -"eoE" = (/obj/item/stack/cable_coil/cut,/turf/space,/area) -"eoF" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/bridge/access) -"eoG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/derelict/bridge/access) -"eoH" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/turf/simulated/floor,/area/derelict/bridge/access) -"eoI" = (/obj/machinery/door/airlock/glass,/turf/simulated/floor,/area/derelict/bridge/access) -"eoJ" = (/turf/simulated/wall/r_wall,/area/derelict/singularity_engine) -"eoK" = (/obj/structure/window/reinforced,/turf/simulated/floor,/area/derelict/bridge/access) -"eoL" = (/obj/machinery/door/window,/turf/simulated/floor,/area/derelict/bridge/access) -"eoM" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/window/reinforced,/turf/simulated/floor,/area/derelict/bridge/access) -"eoN" = (/turf/simulated/wall,/area/derelict/bridge) -"eoO" = (/obj/structure/sign/electricshock,/turf/simulated/wall/r_wall,/area/derelict/singularity_engine) -"eoP" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/derelict/singularity_engine) -"eoQ" = (/obj/machinery/door/airlock/engineering{name = "Engineering Access"; req_access_txt = "10"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eoR" = (/obj/machinery/door/airlock/engineering{name = "Engineering Access"; req_access_txt = "10"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/derelict/singularity_engine) -"eoS" = (/obj/structure/sign/securearea{name = "ENGINEERING ACCESS"},/turf/simulated/wall/r_wall,/area/derelict/singularity_engine) -"eoT" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge/access) -"eoU" = (/obj/structure/computerframe,/turf/simulated/floor,/area/derelict/bridge) -"eoV" = (/obj/structure/computerframe,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/bridge) -"eoW" = (/obj/structure/table,/turf/simulated/floor,/area/derelict/bridge) -"eoX" = (/obj/machinery/computer/security,/turf/simulated/floor,/area/derelict/bridge) -"eoY" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor,/area/derelict/bridge) -"eoZ" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/derelict/bridge) -"epa" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor,/area/derelict/bridge) -"epb" = (/obj/item/weapon/grenade/empgrenade,/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge) -"epc" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine) -"epd" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/singularity_engine) -"epe" = (/turf/simulated/floor/airless{icon_state = "damaged5"},/area/derelict/singularity_engine) -"epf" = (/obj/item/stack/cable_coil/cut,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine) -"epg" = (/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eph" = (/turf/simulated/wall,/area/derelict/singularity_engine) -"epi" = (/turf/simulated/floor,/area/derelict/bridge) -"epj" = (/turf/simulated/floor/plating,/area/derelict/bridge) -"epk" = (/obj/structure/table,/obj/item/weapon/paper/crumpled,/turf/simulated/floor,/area/derelict/bridge) -"epl" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge) -"epm" = (/obj/structure/window/reinforced,/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine) -"epn" = (/obj/structure/window/reinforced,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/derelict/singularity_engine) -"epo" = (/obj/structure/window/reinforced,/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/singularity_engine) -"epp" = (/obj/structure/window/reinforced,/obj/item/weapon/table_parts/reinforced,/obj/item/weapon/table_parts/reinforced,/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/singularity_engine) -"epq" = (/obj/structure/window/reinforced,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine) -"epr" = (/obj/item/weapon/disk/data/demo,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eps" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"ept" = (/obj/machinery/power/emitter{dir = 1; icon_state = "emitter"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"epu" = (/obj/machinery/field_generator,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"epv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/window/reinforced,/turf/simulated/floor,/area/derelict/bridge/access) -"epw" = (/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor,/area/derelict/bridge/access) -"epx" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge) -"epy" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area) -"epz" = (/obj/structure/grille,/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"epA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"epB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"epC" = (/obj/structure/noticeboard{pixel_y = 28},/turf/simulated/wall,/area/derelict/singularity_engine) -"epD" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"epE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access) -"epF" = (/obj/machinery/door/window/eastleft{name = "Heads of Staff"; req_access_txt = "19"},/turf/simulated/floor,/area/derelict/bridge/access) -"epG" = (/obj/structure/table,/obj/item/device/paicard,/turf/simulated/floor,/area/derelict/bridge) -"epH" = (/obj/structure/stool,/turf/simulated/floor,/area/derelict/bridge) -"epI" = (/obj/structure/table,/obj/item/weapon/cell,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge) -"epJ" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"epK" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/singularity_engine) -"epL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access) -"epM" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access) -"epN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/derelict/bridge/access) -"epO" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access) -"epP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge) -"epQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor,/area/derelict/bridge) -"epR" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/bridge) -"epS" = (/obj/item/weapon/paper{info = "Objective #1: Destroy the station with a nuclear device."; name = "Objectives of a Nuclear Operative"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"epT" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/bridge/access) -"epU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge) -"epV" = (/obj/structure/stool/bed/chair,/turf/simulated/floor,/area/derelict/bridge) -"epW" = (/obj/structure/table,/obj/item/weapon/screwdriver,/turf/simulated/floor,/area/derelict/bridge) -"epX" = (/obj/item/stack/rods,/turf/space,/area) -"epY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"epZ" = (/obj/item/weapon/shard,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"eqa" = (/obj/item/clothing/suit/space/syndicate,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eqb" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eqc" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/derelict/singularity_engine) -"eqd" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eqe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eqf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eqg" = (/obj/structure/table,/obj/item/weapon/rack_parts,/turf/simulated/floor,/area/derelict/bridge) -"eqh" = (/obj/structure/table,/obj/structure/window/basic,/turf/simulated/floor,/area/derelict/bridge) -"eqi" = (/obj/structure/window/basic,/turf/simulated/floor,/area/derelict/bridge) -"eqj" = (/obj/structure/table,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor,/area/derelict/bridge) -"eqk" = (/obj/structure/table,/obj/machinery/light/small,/turf/simulated/floor,/area/derelict/bridge) -"eql" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"eqm" = (/obj/item/clothing/head/helmet/swat,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eqn" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eqo" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eqp" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eqq" = (/obj/machinery/door/window,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/bridge/access) -"eqr" = (/turf/simulated/wall/r_wall,/area/derelict/bridge) -"eqs" = (/obj/machinery/door/window{dir = 2; name = "Captain's Quarters"; req_access_txt = "20"},/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/derelict/bridge) -"eqt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"equ" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"eqv" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eqw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eqx" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{icon_state = "damaged5"},/area/derelict/singularity_engine) -"eqy" = (/turf/simulated/floor/airless,/area/derelict/bridge/access) -"eqz" = (/obj/structure/table,/obj/item/device/aicard,/turf/simulated/floor/airless,/area/derelict/bridge/access) -"eqA" = (/obj/structure/table,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/derelict/bridge/access) -"eqB" = (/obj/structure/table,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor/airless,/area/derelict/bridge/access) -"eqC" = (/obj/structure/table,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor/airless,/area/derelict/bridge/access) -"eqD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/access) -"eqE" = (/obj/structure/girder,/turf/simulated/floor/plating/airless,/area) -"eqF" = (/turf/simulated/floor/airless{icon_state = "circuit"},/area/derelict/singularity_engine) -"eqG" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eqH" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/access) -"eqI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/access) -"eqJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/derelict/bridge/access) -"eqK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/access) -"eqL" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless,/area/derelict/bridge/access) -"eqM" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine) -"eqN" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"eqO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"eqP" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine) -"eqQ" = (/obj/item/stack/rods,/turf/simulated/floor/airless{icon_state = "circuit"},/area/derelict/singularity_engine) -"eqR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/access) -"eqS" = (/turf/simulated/floor/plating/airless,/area/derelict/bridge/access) -"eqT" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"eqU" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eqV" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless{icon_state = "damaged5"},/area/derelict/singularity_engine) -"eqW" = (/obj/structure/grille,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine) -"eqX" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/singularity_engine) -"eqY" = (/obj/machinery/door/airlock/maintenance{name = "Tech Storage"; req_access_txt = "23"},/turf/simulated/floor/airless,/area/derelict/bridge/access) -"eqZ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/derelict/bridge/access) -"era" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/simulated/floor/airless,/area/derelict/bridge/access) -"erb" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine) -"erc" = (/obj/item/weapon/screwdriver,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"erd" = (/obj/item/stack/rods,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"ere" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"erf" = (/obj/structure/table,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"erg" = (/turf/simulated/wall,/area/derelict/hallway/primary) -"erh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/hallway/primary) -"eri" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/hallway/primary) -"erj" = (/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"erk" = (/obj/item/weapon/table_parts/reinforced,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"erl" = (/obj/item/weapon/ore/slag,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"erm" = (/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"ern" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"ero" = (/turf/simulated/wall/r_wall,/area/derelict/hallway/primary) -"erp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) -"erq" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/hallway/primary) -"err" = (/obj/structure/window/basic{dir = 4},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"ers" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"ert" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"eru" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"erv" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) -"erw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) -"erx" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/hallway/primary) -"ery" = (/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/derelict/hallway/primary) -"erz" = (/obj/machinery/light/small,/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"erA" = (/obj/structure/grille,/obj/structure/window/basic{dir = 8},/turf/simulated/floor/plating/airless,/area) -"erB" = (/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area) -"erC" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area) -"erD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"erE" = (/obj/machinery/door/window,/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) -"erF" = (/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area) -"erG" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"erH" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"erI" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/singularity_engine) -"erJ" = (/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) -"erK" = (/obj/item/weapon/crowbar,/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"erL" = (/obj/structure/grille,/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"erM" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area) -"erN" = (/obj/item/weapon/shard{icon_state = "small"},/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"erO" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"erP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"erQ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) -"erR" = (/turf/simulated/wall/r_wall,/area/derelict/arrival) -"erS" = (/turf/simulated/wall,/area/derelict/arrival) -"erT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"erU" = (/obj/machinery/light/small,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/hallway/primary) -"erV" = (/obj/structure/window/basic{dir = 5},/turf/space,/area) -"erW" = (/obj/structure/table,/turf/simulated/floor,/area/derelict/arrival) -"erX" = (/obj/structure/stool/bed/chair,/turf/simulated/floor,/area/derelict/arrival) -"erY" = (/turf/simulated/floor,/area/derelict/arrival) -"erZ" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor,/area/derelict/arrival) -"esa" = (/obj/structure/stool/bed/chair{dir = 8},/obj/item/weapon/pen,/turf/simulated/floor,/area/derelict/arrival) -"esb" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor,/area/derelict/arrival) -"esc" = (/turf/simulated/wall,/area/derelict/medical/chapel) -"esd" = (/obj/item/weapon/shard,/turf/space,/area) -"ese" = (/obj/structure/grille,/turf/space,/area/derelict/singularity_engine) -"esf" = (/obj/item/weapon/shard,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/singularity_engine) -"esg" = (/obj/structure/lattice,/obj/structure/window/basic,/turf/space,/area) -"esh" = (/turf/simulated/floor/airless{icon_state = "floorscorched2"},/area/derelict/arrival) -"esi" = (/turf/simulated/floor/plating/airless,/area/derelict/arrival) -"esj" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/arrival) -"esk" = (/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/chapel) -"esl" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/chapel) -"esm" = (/obj/structure/closet/coffin,/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/chapel) -"esn" = (/turf/simulated/wall,/area/derelict/medical) -"eso" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/medical) -"esp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/medical) -"esq" = (/obj/item/weapon/shard,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/derelict/medical) -"esr" = (/turf/simulated/floor/plating/airless,/area/derelict/medical) -"ess" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/derelict/medical) -"est" = (/obj/machinery/door/airlock/external{name = "External Engineering"},/turf/simulated/floor/plating/airless,/area) -"esu" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/hallway/primary) -"esv" = (/obj/machinery/door/window{dir = 8},/turf/simulated/floor,/area/derelict/arrival) -"esw" = (/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"esx" = (/obj/item/weapon/firstaid_arm_assembly,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"esy" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical) -"esz" = (/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical) -"esA" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/medical) -"esB" = (/obj/machinery/light/small,/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/singularity_engine) -"esC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) -"esD" = (/obj/structure/window/basic{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) -"esE" = (/obj/structure/lattice,/obj/structure/window/basic{dir = 1},/turf/space,/area) -"esF" = (/obj/structure/lattice,/obj/structure/lattice,/obj/structure/window/basic{dir = 1},/turf/space,/area) -"esG" = (/turf/simulated/floor/plating,/area/derelict/arrival) -"esH" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "6"},/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/chapel) -"esI" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"esJ" = (/turf/simulated/floor/airless{icon_state = "damaged5"},/area) -"esK" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/arrival) -"esL" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/derelict/arrival) -"esM" = (/obj/machinery/light/small,/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/chapel) -"esN" = (/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating/airless,/area/derelict/singularity_engine) -"esO" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area) -"esP" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/derelict/arrival) -"esQ" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/arrival) -"esR" = (/obj/machinery/door/morgue{name = "coffin storage"; req_access_txt = "22"},/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/chapel) -"esS" = (/obj/structure/morgue,/turf/simulated/floor{icon_state = "dark"},/area/derelict/medical/chapel) -"esT" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"esU" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area) -"esV" = (/obj/structure/window/reinforced,/turf/simulated/floor/airless{icon_state = "white"},/area) -"esW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/hallway/primary) -"esX" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/arrival) -"esY" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area) -"esZ" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel) -"eta" = (/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel) -"etb" = (/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel) -"etc" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"etd" = (/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical) -"ete" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/medical) -"etf" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/medical) -"etg" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area) -"eth" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area) -"eti" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/derelict/medical/chapel) -"etj" = (/turf/simulated/floor{icon_state = "chapel"},/area/derelict/medical/chapel) -"etk" = (/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/derelict/medical/chapel) -"etl" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"etm" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"etn" = (/obj/machinery/door/airlock/glass{name = "Med-Sci"; req_access_txt = "9"},/turf/simulated/floor/plating/airless,/area/derelict/medical) -"eto" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"etp" = (/obj/structure/closet/emcloset,/turf/simulated/floor,/area/derelict/arrival) -"etq" = (/obj/structure/window/reinforced,/turf/space,/area) -"etr" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/space,/area) -"ets" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel) -"ett" = (/obj/structure/window/reinforced,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel) -"etu" = (/obj/structure/window/reinforced,/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel) -"etv" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/wall,/area/derelict/medical/chapel) -"etw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/wall,/area/derelict/medical/chapel) -"etx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"ety" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"etz" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"etA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"etB" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/medical) -"etC" = (/obj/structure/closet/wardrobe/genetics_white,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"etD" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area) -"etE" = (/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area) -"etF" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area) -"etG" = (/turf/simulated/floor/airless{icon_state = "white"},/area) -"etH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"etI" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"etJ" = (/obj/item/weapon/pen,/turf/simulated/floor,/area/derelict/arrival) -"etK" = (/obj/machinery/door/poddoor{id = "derelict_gun"; name = "Derelict Mass Driver"},/turf/simulated/floor/plating,/area/derelict/medical/chapel) -"etL" = (/turf/simulated/floor/plating,/area/derelict/medical/chapel) -"etM" = (/obj/machinery/mass_driver{dir = 8; icon_state = "mass_driver"; id = "derelict_gun"},/obj/machinery/door/window{dir = 4; req_access_txt = "25"},/obj/structure/closet/coffin,/turf/simulated/floor/plating,/area/derelict/medical/chapel) -"etN" = (/obj/machinery/door/window{dir = 8},/turf/simulated/floor/airless,/area/derelict/medical/chapel) -"etO" = (/turf/simulated/floor/airless,/area/derelict/medical/chapel) -"etP" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/derelict/medical/chapel) -"etQ" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; name = "Worn-out APC"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/airless,/area/derelict/medical/chapel) -"etR" = (/obj/machinery/sleeper,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"etS" = (/obj/machinery/sleep_console,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"etT" = (/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"etU" = (/obj/item/stack/medical/ointment,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"etV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"etW" = (/obj/structure/closet/l3closet/general,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"etX" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area) -"etY" = (/obj/structure/window/basic,/turf/space,/area) -"etZ" = (/obj/structure/window/basic{dir = 8},/turf/space,/area) -"eua" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/derelict/arrival) -"eub" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/arrival) -"euc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/arrival) -"eud" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/space,/area) -"eue" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel) -"euf" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel) -"eug" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/derelict/medical/chapel) -"euh" = (/obj/machinery/door/window,/turf/simulated/floor/airless,/area/derelict/medical/chapel) -"eui" = (/obj/machinery/door/window/southleft,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"euj" = (/obj/machinery/door/window/southright,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) -"euk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"eul" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"eum" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/hallway/primary) -"eun" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock/research{name = "Toxins Research"; req_access_txt = "7"},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"euo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"eup" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"euq" = (/obj/structure/window/basic{dir = 8},/obj/structure/window/basic,/turf/space,/area) -"eur" = (/obj/machinery/door/airlock/external{name = "Arrival Airlock"},/turf/simulated/floor/plating,/area/derelict/arrival) -"eus" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"eut" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/airless,/area) -"euu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless,/area) -"euv" = (/obj/structure/window/basic{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless,/area) -"euw" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"eux" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless,/area) -"euy" = (/obj/structure/window/basic,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"euz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/door/airlock/research{name = "Toxins Research"; req_access_txt = "7"},/turf/simulated/floor/airless,/area/derelict/arrival) -"euA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor,/area/derelict/arrival) -"euB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/plating,/area/derelict/arrival) -"euC" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/arrival) -"euD" = (/obj/machinery/light/small,/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/derelict/medical/chapel) -"euE" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"euF" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"euG" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"euH" = (/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"euI" = (/obj/structure/window/basic{dir = 1},/turf/space,/area) -"euJ" = (/obj/structure/window/basic{dir = 5},/turf/simulated/floor/plating/airless,/area) -"euK" = (/obj/structure/grille,/obj/structure/window/basic{dir = 1},/turf/space,/area) -"euL" = (/obj/structure/window/basic{dir = 1},/turf/simulated/floor/plating/airless,/area) -"euM" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/simulated/floor,/area/derelict/arrival) -"euN" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/derelict/arrival) -"euO" = (/obj/structure/table,/obj/machinery/computer/pod/old{name = "ProComp IIe"; pixel_y = 7; id = "derelict_gun"},/turf/simulated/floor{icon_state = "chapel"},/area/derelict/medical/chapel) -"euP" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"euQ" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"euR" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"euS" = (/obj/structure/girder,/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"euT" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor,/area/derelict/arrival) -"euU" = (/obj/machinery/door/window,/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"euV" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"euW" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"euX" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"euY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall/r_wall,/area/derelict/hallway/primary) -"euZ" = (/obj/machinery/door/airlock/security{name = "Gas Storage"; req_access = null; req_access_txt = "3"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) -"eva" = (/obj/structure/lattice,/obj/structure/window/basic{dir = 4},/turf/space,/area) -"evb" = (/obj/structure/girder,/obj/structure/window/basic,/turf/simulated/floor/plating/airless,/area/derelict/arrival) -"evc" = (/obj/structure/stool/bed,/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"evd" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) -"eve" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) -"evf" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) -"evg" = (/obj/machinery/door/airlock/security{name = "Security"; req_access = null; req_access_txt = "1"},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"evh" = (/obj/item/weapon/cigbutt,/turf/space,/area) -"evi" = (/obj/structure/window/basic{dir = 1},/turf/simulated/floor/plating,/area/derelict/arrival) -"evj" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/arrival) -"evk" = (/obj/structure/table,/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"evl" = (/obj/structure/table,/obj/item/weapon/cell,/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"evm" = (/obj/machinery/vending/sovietsoda,/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"evn" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"evo" = (/obj/structure/table,/turf/simulated/floor/airless,/area) -"evp" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area) -"evq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area) -"evr" = (/obj/structure/lattice,/obj/item/stack/cable_coil/cut,/turf/space,/area) -"evs" = (/obj/structure/girder,/turf/simulated/floor/plating,/area/derelict/arrival) -"evt" = (/obj/structure/stool,/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"evu" = (/obj/machinery/door/airlock/maintenance{name = "Atmospherics Access"; req_access_txt = "24"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) -"evv" = (/obj/structure/closet/wardrobe/orange,/turf/simulated/floor/airless,/area) -"evw" = (/obj/structure/window/basic{dir = 4},/turf/space,/area) -"evx" = (/obj/structure/grille,/turf/simulated/floor/plating,/area/derelict/arrival) -"evy" = (/obj/structure/closet/wardrobe,/turf/simulated/floor,/area/derelict/arrival) -"evz" = (/turf/simulated/floor/airless{icon_state = "floorscorched1"},/area/derelict/hallway/primary) -"evA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/window/reinforced,/turf/simulated/floor/airless,/area) -"evB" = (/obj/structure/window/reinforced,/turf/simulated/floor/airless,/area) -"evC" = (/obj/structure/grille,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area) -"evD" = (/obj/structure/stool/bed,/turf/simulated/floor/airless,/area) -"evE" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/arrival) -"evF" = (/turf/simulated/floor/airless{icon_state = "floorgrime"},/area/derelict/hallway/primary) -"evG" = (/turf/simulated/floor/airless{icon_state = "damaged5"},/area/derelict/hallway/primary) -"evH" = (/obj/structure/table,/obj/item/device/healthanalyzer,/turf/simulated/floor/airless,/area/derelict/hallway/primary) -"evI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area) -"evJ" = (/obj/structure/closet/wardrobe/mixed,/turf/simulated/floor,/area/derelict/arrival) -"evK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area) -"evL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor/plating,/area/derelict/arrival) -"evM" = (/obj/machinery/door/airlock/external{name = "Escape Airlock"},/turf/simulated/floor/plating,/area/derelict/arrival) -"evN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"evO" = (/turf/simulated/wall,/area/derelict/hallway/secondary) -"evP" = (/obj/structure/girder,/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"evQ" = (/turf/simulated/wall/r_wall,/area/derelict/hallway/secondary) -"evR" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area) -"evS" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless,/area) -"evT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/wall/r_wall,/area) -"evU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/wall/r_wall,/area/derelict/hallway/secondary) -"evV" = (/obj/structure/window/basic{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"evW" = (/obj/structure/grille,/obj/item/weapon/shard,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area) -"evX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/simulated/floor/plating/airless,/area) -"evY" = (/obj/structure/girder,/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) -"evZ" = (/obj/item/stack/rods,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/secondary) -"ewa" = (/obj/item/weapon/shard{icon_state = "small"},/turf/space,/area) -"ewb" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/item/weapon/wirecutters,/turf/simulated/floor/airless,/area/derelict/hallway/secondary) -"ewc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"ewd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/secondary) -"ewe" = (/obj/item/stack/cable_coil/cut,/turf/simulated/floor/plating/airless,/area/derelict/hallway/primary) -"ewf" = (/turf/simulated/floor/airless,/area/derelict/hallway/secondary) -"ewg" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/airless,/area/derelict/hallway/secondary) -"ewh" = (/obj/machinery/door/airlock/maintenance{name = "Aux Storage"; req_access_txt = "23"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"ewi" = (/obj/structure/falsewall,/turf/simulated/floor{icon_state = "bar"},/area/derelict/hallway/secondary) -"ewj" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/power/apc{dir = 8; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/airless,/area/derelict/hallway/secondary) -"ewk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"ewl" = (/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"ewm" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless,/area/derelict/hallway/secondary) -"ewn" = (/turf/simulated/floor/airless{icon_state = "derelict9"},/area/derelict/hallway/secondary) -"ewo" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{icon_state = "derelict10"},/area/derelict/hallway/secondary) -"ewp" = (/turf/simulated/floor/airless{icon_state = "derelict11"},/area/derelict/hallway/secondary) -"ewq" = (/turf/simulated/floor/airless{icon_state = "derelict12"},/area/derelict/hallway/secondary) -"ewr" = (/turf/simulated/floor/airless{icon_state = "derelict13"},/area/derelict/hallway/secondary) -"ews" = (/turf/simulated/floor/airless{icon_state = "derelict14"},/area/derelict/hallway/secondary) -"ewt" = (/turf/simulated/floor/airless{icon_state = "derelict15"},/area/derelict/hallway/secondary) -"ewu" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/airless{icon_state = "derelict16"},/area/derelict/hallway/secondary) -"ewv" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/secondary) -"eww" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/secondary) -"ewx" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/hallway/secondary) -"ewy" = (/turf/simulated/floor/airless{icon_state = "derelict1"},/area/derelict/hallway/secondary) -"ewz" = (/turf/simulated/floor/airless{icon_state = "derelict2"},/area/derelict/hallway/secondary) -"ewA" = (/turf/simulated/floor/airless{icon_state = "derelict3"},/area/derelict/hallway/secondary) -"ewB" = (/turf/simulated/floor/airless{icon_state = "derelict4"},/area/derelict/hallway/secondary) -"ewC" = (/turf/simulated/floor/airless{icon_state = "derelict5"},/area/derelict/hallway/secondary) -"ewD" = (/turf/simulated/floor/airless{icon_state = "derelict6"},/area/derelict/hallway/secondary) -"ewE" = (/turf/simulated/floor/airless{icon_state = "derelict7"},/area/derelict/hallway/secondary) -"ewF" = (/turf/simulated/floor/airless{icon_state = "derelict8"},/area/derelict/hallway/secondary) -"ewG" = (/obj/structure/lattice,/turf/space,/area/derelict/hallway/secondary) -"ewH" = (/obj/structure/grille,/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"ewI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"ewJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"ewK" = (/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) -"ewL" = (/obj/machinery/door/airlock/command{name = "AI Upload"; req_access_txt = "16"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) -"ewM" = (/obj/machinery/door/airlock/external{name = "Escape Airlock"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"ewN" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"ewO" = (/obj/structure/window/basic{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"ewP" = (/obj/structure/window/basic{dir = 8},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"ewQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) -"ewR" = (/obj/structure/closet/emcloset,/turf/simulated/floor/airless,/area/derelict/hallway/secondary) -"ewS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"ewT" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) -"ewU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) -"ewV" = (/obj/machinery/door/airlock/command{name = "AI Upload"; req_access_txt = "16"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) -"ewW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/derelict/bridge/ai_upload) -"ewX" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"ewY" = (/obj/machinery/power/smes,/obj/structure/cable,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) -"ewZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) -"exa" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/bridge/ai_upload) -"exb" = (/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) -"exc" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) -"exd" = (/turf/simulated/floor/plating/airless,/area/derelict/bridge/ai_upload) -"exe" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) -"exf" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/power/solar_control{id = "derelictsolar"; name = "Primary Solar Control"; track = 0},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) -"exg" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 8; environ = 0; equipment = 0; lighting = 0; locked = 0; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/derelict/bridge/ai_upload) -"exh" = (/obj/item/weapon/paper{desc = ""; info = "The Syndicate have cunningly disguised a Syndicate Uplink as your PDA. Simply enter the code \"678 Bravo\" into the ringtone select to unlock its hidden features.

      Objective #1. Kill the God damn AI in a fire blast that it rocks the station. Success!
      Objective #2. Escape alive. Failed."; name = "Mission Objectives"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/bridge/ai_upload) -"exi" = (/obj/machinery/light/small{dir = 4},/obj/item/clothing/head/helmet/space/syndicate,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) -"exj" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/derelict/hallway/secondary) -"exk" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/airless,/area) -"exl" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light/small,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) -"exm" = (/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) -"exn" = (/obj/item/clothing/suit/space/syndicate,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) -"exo" = (/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) -"exp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) -"exq" = (/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) -"exr" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) -"exs" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "derelictsolar"; name = "Derelict Solar Array"},/turf/simulated/floor/airless,/area/solar/derelict_aft) -"ext" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) -"exu" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar{id = "derelictsolar"; name = "Derelict Solar Array"},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) -"exv" = (/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) -"exw" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) -"exx" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) -"exy" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) -"exz" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) -"exA" = (/obj/structure/cable,/obj/machinery/power/solar{id = "derelictsolar"; name = "Derelict Solar Array"},/turf/simulated/floor/airless,/area/solar/derelict_aft) -"exB" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) -"exC" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) -"exD" = (/turf/simulated/wall/r_wall,/area/derelict/teleporter) -"exE" = (/turf/simulated/floor/plating/airless,/area/derelict/teleporter) -"exF" = (/turf/simulated/floor/airless,/area/derelict/teleporter) -"exG" = (/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/teleporter) -"exH" = (/obj/machinery/light_construct/small{dir = 1},/turf/simulated/floor/airless{icon_state = "damaged3"},/area/derelict/teleporter) -"exI" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/airless,/area/derelict/teleporter) -"exJ" = (/obj/machinery/teleport/station,/turf/simulated/floor/airless,/area/derelict/teleporter) -"exK" = (/obj/machinery/teleport/hub,/turf/simulated/floor/airless,/area/derelict/teleporter) -"exL" = (/obj/machinery/light_construct/small{dir = 4},/turf/simulated/floor/plating/airless,/area/derelict/teleporter) -"exM" = (/obj/structure/table,/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor/airless,/area/derelict/teleporter) -"exN" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/derelict/teleporter) -"exO" = (/obj/machinery/power/apc{dir = 0; name = "Worn-out APC"; pixel_y = -24},/turf/simulated/floor/airless,/area/derelict/teleporter) -"exP" = (/turf/simulated/wall/r_wall,/area/derelict/secret) -"exQ" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/derelict/secret) -"exR" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/plating,/area/derelict/secret) -"exS" = (/turf/simulated/floor,/area/derelict/secret) -"exT" = (/obj/structure/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/suit/space/syndicate/black/blue,/obj/item/clothing/mask/gas,/obj/item/clothing/head/helmet/space/syndicate/blue,/turf/simulated/floor,/area/derelict/secret) -"exU" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/floor,/area/derelict/secret) -"exV" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/derelict/secret) -"exW" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor,/area/derelict/secret) -"exX" = (/turf/simulated/wall,/area/derelict/secret) -"exY" = (/obj/machinery/power/apc{cell_type = 5000; dir = 8; environ = 1; equipment = 1; lighting = 1; locked = 0; name = "Worn-out APC"; pixel_x = -24; pixel_y = 0},/obj/machinery/power/terminal{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/derelict/secret) -"exZ" = (/obj/machinery/power/smes/magical{capacity = 1e+007; charge = 1e+007; desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/derelict/secret) -"eya" = (/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/derelict/secret) -"eyb" = (/obj/machinery/door/airlock,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/secret) -"eyc" = (/obj/structure/closet/gimmick/russian,/turf/simulated/floor,/area/derelict/secret) -"eyd" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/secret) -"eye" = (/turf/simulated/floor/plating,/area/derelict/secret) -"eyf" = (/obj/machinery/mecha_part_fabricator,/turf/simulated/floor,/area/derelict/secret) -"eyg" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/derelict/secret) -"eyh" = (/obj/structure/dispenser,/turf/simulated/floor,/area/derelict/secret) -"eyi" = (/obj/structure/largecrate,/turf/simulated/floor,/area/derelict/secret) -"eyj" = (/obj/item/weapon/storage/box/survival,/turf/simulated/floor,/area/derelict/secret) -"eyk" = (/obj/structure/closet/crate/secure/gear,/obj/machinery/light,/turf/simulated/floor,/area/derelict/secret) -"eyl" = (/obj/machinery/iv_drip,/turf/simulated/floor,/area/derelict/secret) -"eym" = (/obj/machinery/shieldwallgen,/turf/simulated/floor,/area/derelict/secret) -"eyn" = (/obj/structure/closet/crate,/obj/machinery/light,/turf/simulated/floor,/area/derelict/secret) -"eyo" = (/obj/structure/computerframe,/turf/simulated/floor,/area/derelict/secret) -"eyp" = (/obj/structure/closet/crate,/turf/simulated/floor,/area/derelict/secret) -"eyq" = (/obj/machinery/door/airlock,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/derelict/secret) -"eyr" = (/obj/structure/closet,/turf/simulated/floor,/area/derelict/secret) -"eys" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor,/area/derelict/secret) -"eyt" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/mineral,/area) -"eyu" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/mineral,/area) -"eyv" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/derelict/secret) -"eyw" = (/obj/machinery/light{dir = 4},/obj/structure/table,/turf/simulated/floor,/area/derelict/secret) -"eyx" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral,/area) -"eyy" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/derelict/secret) -"eyz" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor{icon_state = "freezerfloor"},/area/derelict/secret) -"eyA" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/turf/simulated/floor,/area/derelict/secret) -"eyB" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/derelict/secret) -"eyC" = (/obj/structure/disposalpipe/junction,/turf/simulated/mineral,/area) -"eyD" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor{icon_state = "freezerfloor"},/area/derelict/secret) -"eyE" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "freezerfloor"},/area/derelict/secret) -"eyF" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/derelict/secret) -"eyG" = (/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret) -"eyH" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret) -"eyI" = (/obj/structure/table,/obj/machinery/microwave,/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret) -"eyJ" = (/obj/structure/table,/obj/structure/table,/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret) -"eyK" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/secret) -"eyL" = (/obj/machinery/door/airlock,/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret) -"eyM" = (/obj/structure/table,/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret) -"eyN" = (/obj/structure/stool/bed/chair,/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret) -"eyO" = (/obj/machinery/light{dir = 4},/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/disposal,/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret) -"eyP" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/derelict/secret) -"eyQ" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret) -"eyR" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/derelict/secret) -"eyS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/secret) -"eyT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/secret) -"eyU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/secret) -"eyV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/secret) -"eyW" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/floor/airless,/area) -"eyX" = (/turf/simulated/floor/plating/airless/asteroid,/turf/simulated/shuttle/wall{tag = "icon-swall_f9"; icon_state = "swall_f9"; dir = 2},/area) -"eyY" = (/obj/effect/landmark/corpse/clown,/turf/simulated/floor/airless,/area) -"eyZ" = (/obj/structure/closet/crate,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/turf/simulated/floor/airless,/area) -"eza" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/item/weapon/ore/clown,/turf/simulated/floor/airless,/area) -"ezb" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area) -"ezc" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (WEST)"; icon_state = "propulsion_l"; dir = 8},/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_r (WEST)"; icon_state = "burst_r"; dir = 8},/turf/space,/area) -"ezd" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless/asteroid,/area) -"eze" = (/obj/item/weapon/ore/clown,/turf/simulated/floor/airless,/area) -"ezf" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (WEST)"; icon_state = "propulsion_l"; dir = 8},/turf/space,/area) -"ezg" = (/obj/item/weapon/shard{icon_state = "medium"},/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area) -"ezh" = (/obj/effect/landmark/corpse/clown{name = "Clown Pilot"},/turf/simulated/floor/airless,/area) -"ezi" = (/obj/item/weapon/paper{info = "The call has gone out! Our ancestral home has been rediscovered! Not a small patch of land, but a true clown nation, a true Clown Planet! We're on our way home at last!"},/turf/simulated/floor/airless,/area) -"ezj" = (/obj/item/weapon/shard,/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/airless,/area) -"ezk" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/airless,/area) -"ezl" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-swall_f5"; icon_state = "swall_f5"; dir = 2},/area) -"ezm" = (/turf/simulated/floor/airless,/turf/simulated/shuttle/wall{tag = "icon-swall_f10"; icon_state = "swall_f10"; dir = 2},/area) -"ezn" = (/obj/item/weapon/pickaxe,/turf/simulated/floor/airless,/area) -"ezo" = (/obj/structure/closet/crate,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/turf/simulated/floor/airless,/area) -"ezp" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (WEST)"; icon_state = "propulsion_l"; dir = 8},/obj/structure/shuttle/engine/propulsion{tag = "icon-propulsion_l (WEST)"; icon_state = "propulsion_l"; dir = 8},/turf/space,/area) -"ezq" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/flashbangs,/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/range) -"ezr" = (/obj/machinery/power/apc{cell_type = 2500; name = "Firing Range APC"; pixel_y = -28},/obj/structure/cable,/obj/machinery/light,/obj/structure/table/reinforced,/turf/simulated/floor{icon_state = "red"; dir = 4},/area/security/range) -"ezs" = (/obj/machinery/door/airlock/clown{name = "Clown Office"; req_access_txt = "46"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/security/vacantoffice2) -"ezt" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{tag = "icon-intact-g (SOUTHEAST)"; icon_state = "intact-g"; dir = 6; level = 2; _color = "green"},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"ezu" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"ezv" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "yellow"; icon_state = "intact-y"; level = 2},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"ezw" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"ezx" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple{_color = "green"; icon_state = "intact-g"; level = 2},/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"ezy" = (/obj/machinery/atmospherics/pipe/simple{_color = "cyan"; icon_state = "intact-c"},/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"ezz" = (/obj/structure/grille,/obj/structure/window/plasmareinforced,/obj/structure/window/plasmareinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area) -"ezA" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light,/obj/structure/closet/radiation,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/telesci) -"ezB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/command{name = "Representative Office"; req_access_txt = "57"},/turf/simulated/floor/wood,/area/ntrep) -"ezC" = (/obj/machinery/atmospherics/pipe/manifold{_color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area) -"ezD" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/item/weapon/cautery,/obj/item/weapon/bonegel,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/specops) -"ezE" = (/obj/machinery/vending/snack,/obj/machinery/light/small{dir = 1},/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "cafeteria"; dir = 5},/area/djstation) -"ezF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutral"},/area/crew_quarters/fitness) -"ezG" = (/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/camera{c_tag = "Toxins Launch Room"; dir = 4; network = list("RD"); pixel_y = -22},/obj/machinery/atmospherics/pipe/vent{dir = 8},/obj/machinery/light{dir = 8},/turf/simulated/floor,/area/toxins/mixing) -"ezH" = (/obj/machinery/light,/turf/simulated/floor/plating,/area/toxins/mixing) -"ezI" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24; target_temperature = 313.15},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"ezJ" = (/obj/machinery/vending/sustenance,/turf/simulated/floor,/area/mine/explored) -"ezK" = (/obj/machinery/conveyor{dir = 2; id = "gulag"},/turf/simulated/floor,/area/mine/explored) -"ezL" = (/obj/machinery/door/airlock/glass_security{frequency = 1379; icon_state = "door_locked"; id_tag = "labor_camp_dock_hatch"; locked = 1; name = "Labor Camp Shuttle Airlock"; req_access_txt = "13"; req_one_access_txt = "0"},/turf/simulated/floor,/area/mine/explored) -"ezM" = (/obj/effect/decal/remains/human,/turf/simulated/floor,/area/mine/explored) -"ezN" = (/obj/machinery/door/airlock/glass_security{name = "Labor Camp Shuttle Airlock"; req_access_txt = "2"},/turf/simulated/floor,/area/mine/explored) -"ezO" = (/obj/machinery/light/small,/turf/simulated/floor,/area/mine/explored) -"ezP" = (/obj/structure/closet/crate,/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored) -"ezQ" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored) -"ezR" = (/obj/structure/closet/crate,/turf/simulated/floor{icon_state = "asteroidfloor"},/area/mine/explored) -"ezS" = (/obj/effect/decal/remains/human,/turf/simulated/floor{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored) -"ezT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area) -"ezU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area) -"ezV" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area) -"ezW" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'BOMB RANGE"; name = "BOMB RANGE"},/turf/simulated/wall/r_wall,/area) -"ezX" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'BOMB RANGE"; name = "BOMB RANGE"},/turf/simulated/wall,/area) -"ezY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area) -"ezZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area) -"eAa" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/wall,/area/mine/unexplored) -"eAb" = (/obj/machinery/light_switch{pixel_y = 28},/obj/structure/closet/radiation,/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) -"eAc" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation) - -(1,1,1) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaabaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaadaadaadaadaaeaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaajaakaalaamaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaanaaoaapaaqaaraasaataaoaaoaaoaauaavaawaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaxaayaazaaAaaoaaoaataasaaBaaoaauaauaaCaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaanaaoaaDaaEaaFaaoaaGaaHaasaaIaaqaaqaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaqaaqaaqaaJaaKaaLaataasaaBaaoaaMaaNaaOaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaQaaRaaSaaTaaUaaVaaWaaXaaYaaoaaZabaaaOaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabbabcabdabeabfabgabhabiaataaBaaqaaqabjaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabkaaiablabmabnabnaaiaaiaboaalaaiaaiabpaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabqaaqabrabsabtabuaaaaaaaaaaaaaaaaaiabvaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabqaaqabrabwaaiaaaaaaaaaaaaaaaaaaaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiabxaaqabyabzaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabAabBabCabDabEabFabGabOabNabMaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabHabIabJabKabLabPabSabQabUabUaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiabRaccabTaceacfaaiabVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiabWabXabYabZacaacbabSaaiaeCaeCaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiacgachaciachacjackaclaaiacuaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiacmacnaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiacoacpacqacracsactaclaaianeaaiacvacwacxaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiacyaczacAacBacCacDaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiacEacFaaiaaiacGacHacHacHacIaaiaaiaaiaaiaaiaaiaaiaaiaaiacJacKacLacKacKacKaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiacNacOacPacQaaiacRabSaaiacSacTacUacVacWacXacYaaiaaiacZadaadbacZaaiaaiadcaddadeadfadgadhaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiadiadjadkaaIaaiabRabSaaiadlacHadmadnadoacHadpaaiaaiadqadradsadtaaiaaiaduadvadwadxacKadyaaiadzadAadBadCadCadCadDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiadEadFadGaaiadHadIadJadJacsactaclaaiadKacHadLacHadMacHadNaaiaaiadOadPadQadRaaiaaiadSadTadUadVadWadXaaiadYadZadCadCadCadCadDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaaPaaPaaPaaPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaiacpacqacqaeaadJadIadJaebacsactaclaaiaaiaecaedaeeaefacHaaiaaiaaiaegaehadQaeiaaiaaiahzadvaejadxacKaekaaiaeladCadCadCaemadCadDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaenaeoaepaaiaenaeoaepaaiaaaaaiaeqachachaaiaaiaeraaiaaiaaiaesaetaaiaaiaeuaevaewaexaeyaaiaaiaaiaezaeAaeBaiZaaiaaiaeDaeEaeFacKaeGaeHaaiaeIadCadCadCadCadCadDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaeJaeJaeKaeJaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeLaeMaeNaaiaeLaeMaeNaaiaaaaaiadGaeOaePacaaeQaeRaeSaeTaeUaeVaeWaeXaaiaaiabnaeYaeZaaiaaiaaiafaafbafcaaiaaiaaiaaiafdafeaffafgacnaaiaaiaaiafhadCadCadCadCadDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeJaaaaabaaaafiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiafjaeNafkaaiafjaeNafkaaiaaaaaiaaiaaiaaiaaiafladHafmafnafoafpafqafraaqafsaftafuahBafwafxaaqafyafzafAafBafCafDafEafFafAafGafHafHafIafJafKafLafMadCafMafMaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeKaabafNaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeNaeLaeNaaiaeNaeLaeNaaiaaaaaiafOafPafPafQafPaayafRafSafTafUafVafWaaqafXaftafuafvafYafYafZagaagbagcagdageagfaggaghagiagjagdagdagdagkaglagmadCagnadCadCaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaeJaeJaeJaeKaeKaaaaaaaaaagoaaaaaaaaaaeKaeKaeJaeJaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeLaeNaeLaaiaeLaeNaeLaaiaaaaaiagpagqagracsagsadJagtaguagvaeSagwagxaaqagyagzagAagBagCagDaaqaaJagEagFagGagHaaqagIagJagKagLagGagHaaqaaqaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaeJaaaaaaaabaabaaaaaaaaaagoaabaabaaaaabaabaaaaaaaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeLaeLaeNaaiaeLaeLaeNaaiaaaaaiagNagOagPaaiagQagRaeQabOagSagTagUagVaaqagWagXafuagYagZahaaaqahbahcahdaheahfahgahhahiahjahkahlahmahlahmaaiahnahnahnahnahnahnahnahnaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaeJaabahoahoahoahoahoaabahpaabahoahoahoahoahoaabaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaeNaeLahqaaiaeNaeLahqaaiaaiaaiahrahsahtaaiaaqaaqaaqaaqahuahvahwahxaaqahyajGahAakoahCahDaaqahEahFahGahHahIahJahKahLahjahkahMahmahMahmaaiahnahnahnahnahnahnahnahnaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaeJaabahNahOahOahOahOahPahQahRahSahSahSahSahTaabaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiahVahWahXahUahVahWahXahYaaiaaqaaqaaqaaJaaqaaqaaqaaqahZaiaaibaicaidaaiaieaifaigaihaiiaaqaaqaijaikaikailahIaimailahLainahkahiahiaioaipafaahnahnahnahnahnahnahnahnaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaeJaabaiqaiqaiqaiqaiqaabairaabaiqaiqaiqaiqaiqaabaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaisajHajKaeLaitaiuaivaiwaaiaixaiyaizaiAaizaizaizaaqaiBaiCaiDaiEaiFaiGaiHaiIaiJaiKaiLaiMaiNaiOaikaikailaiPaiQaiRaiSaiTaiUaiVaiWaiXahiaiYahnahnahnahnahnahnahnahnaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaeJaaaaaaaaaaabaaaaaaaabairaaaaaaaaaaabaaaaaaaaaaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiauEaeLdlSaeLajaajbajcajdaaiajeajfajgajhajiajjajkaaqajlajmajnajoaiFajpajqajrajsajtajuajvajwajxaikajyajzajAajBajCajDajEajFahiahiahiaqaafaahnahnahnahnahnahnahnahnaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeKaeKaeKaeJaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMacMacMaaaaaaaaaaaaaaaaeJaabahoahoahoahoahoaabairaabahoahoahoahoahoaabaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiezqaeLdlSaeLajIajbajJezraaiajLajMajNajOajPajQajkaaqajRajSajTajUajVaiGajWajXaiJajYajZaiMakaakbakcakcakdahIakeakfakgakhahiahlahmahiaqmaaiahnahnahnahnahnahnahnahnaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeKaaaaabaaaafiaaaaaaaaaaaaaaaaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMacMacMaaaaagaaaaaaaaaaaaaeJaabahNahOahOahOahOahPahQahRahSahSahSahSahTaabaeJaaaaeJakiakjakjakjakkaaaaaaaaiaaiaaiaaiaaqaaqaklakmaknaaqaaqaqFakpakqakraksaktakuaaqakvaiCakwajoakxaaqakyakzakAakBakCaaqakDakEakFakGakHakIakJakKakLakMahiahMakNahiakOaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeKaabakPaabaeKaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQaaaaaaaaaakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMacMacMacMacMaaaaaaaaaaaaaaaaaaaaaaeJaabaiqaiqaiqaiqaiqaabairaabaiqaiqaiqaiqaiqaabaeJaaaaeJakRakSakTakUakRaaiaaiaaiakVakWakXakYakZalaalbalcaldaaqaaqalealfaaqaaqaaqaaqaaqalgalhalialjalgaaqaieaifalkaihaiiaaqallalmalgalnaaqaaqaaqaaqaloalpalqalgaaqaaialraaialsaltalualualvaaaaaaaaaaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaaeKaeKaeKaeKaeKaaaaaaaaaalwaaaaaaaaaaeKaeKaeJaeJaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalxaaaaaaaaaaabaaaaaaaaaairaaaaaaaaaaabaaaaaaaabaeJaaaaeKakRalyalyalyalzalAalBalCalDalDalEalFalGalHalIalJalKalLalMalNalOalPalQalPalPalRalSalTalUalValPalWalXalYalZamaambamcamdamealPamfamgamhamhamiamjamkamlammamnamoampamqamramsamtamuamvaaaaaaaaaaaaaaaaaaagMagMagMagMagMaaaaaaaaaaaaaaaaaaafiaaaaaaaabaabaabaaaaaaalwaabaabaaaaabaabaaaaaaaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQaaaakQaaaaaaakQakQakQakQakQakQakQaaaaaaakQaaaakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaaaaaaaaaaeJaabahoahoahoahoahoaabairaabahoahoahoahoahoaabaeJaaaaeKakRamxamxamxakRaaiaaiaaiamyamzamAamBamCalDalDalDamDamEamFamGamHamIamJamKamLamMamNamLamOamPamIamQamIamRamIamIamRamSamIamRamIamIamTamUamKamSamVamWamXamYamZanaanbaaqamrancalualuandaaaaneaneaneanfaaaaaaagMagMagMaaaaaaaaaaaaaaaaaaaaaaeKaabangangangangangaabanhaabangangangangangaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQaaaakQakQakQakQakQakQakQakQakQaaaakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaaaaeJaabahNahOahOahOahOahPahQahRahSahSahSahSahTaaaaeJaaaaeKakRamxamxamxakRaaaaaaaaiaaqanianjaaJaaJankalDaaqaaqaaqaaqanlanmaaqaaqaaqannanoanpannaaqaaqaaqanqanraaqaaqansaaqantanraaqaaqaaqanuanvaaqaaJanwanxanyanzaaqalnanbanAaaiaaiaaianBanCanDaaianEaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeKaabanFanGanGanGanGanHanIanJanKanKanKanKanLaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQaaaakQakQakQakQakQakQakQakQakQaaaakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaeJaabaiqaiqaiqaiqaiqaabanMaabaiqaiqaiqaiqaiqaabaeJaaaafianNanOamxamxakRaaaaaaaaianPanQanRanSanTankalDaaqanUanVanWanXanYanZaoaaobaocaodaoeaofaogaohanZaoiaojaokaolaomaonaooaojaaqaopaoqaoraosaaqaotaouaovaowaoxaoyalnanbaozaoAaoBaoCaoDaoDaoEaaiaoFaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeKaabaoGaoGaoGaoGaoGaabaoHaabaoGaoGaoGaoGaoGaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQaaaakQakQakQakQakQakQakQakQakQaaaakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaeJaaaaabaabaabaabaabaaaaoIaoJaoJaoJaoJaoJaoKaabaeJaaaaeKakRaoLaoMaoNaoOaaaaaaaaiaoPaoQaoRaoSaaJaoTalDaaqaoUaoVaoWaoXaoYaoZapaapbapcapdapeapfapbapgaphapiapjapkaplapmapnapoappapqaprapsaptapuaaqapvapwapwapxapwapyalnanbamramramramrapzamrapAapBapCaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaeJaaaaaaaaaaabaaaaaaaabaoHaaaaaaaaaaabaaaaaaaaaaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaeJaeJaeJaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapDaaaaeJaaaaeKapEapFapGapGakRaaaaaaaaiaoPaoQapHapIapJankapKaaqapLapMapNapOapPapQapRapSapTapUapVapWapXapYapQapZappaqGaqbaqcaqGapoappaaqaqdaqeaqfaqgaaqaqhaqiapwapxapwaqjalnaqkaqlaqIaqnaqoaqlaqpacaaqqaaqaaiaqraqsaqtaquaqvaqwaqxaqwaqwaaiaaaaaaaaaaeKaabangangangangangaabaoHaabangangangangangaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapDaaaaaaaaaaeKakRapGapGapGakRaaaaaaaaiaaiabnaaiaaiaeZaaiaqyaaiaaqaaqaaqaqzaqAaaqaaqaaqaaqaqBaqCaaqaaqaaqaaiaqDaqEauIatPaqHaAfapoaqJaaqaqKaqLaqMaqNabOaqOaqPaqQapxapwaqRalnaqSaqTaqUaqVaqWaqXamraaiaqYaqZaaiaraarbarcardardardardardareaaiaaaaaaaaaaeKaabanFanGanGanGanGanHanIanJanKanKanKanKanLaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaapDaaaaaaaaaaeJakRapGapGapGakRaaiaaiaaiarfargarhariarjarkarlaaiarmanVanWanXanYanZarnaobaroarparqarrarsartanZaruarvarwarxaryaryarzarAaaqarBarCarDarEaaqarFarGarHapxapwarIalnaqSapzaqTaqTaqTarJarKarLarMarNaaiarOarParQarRarSarTarUarUarVaaiaaaaaaaaaaeKaabaoGaoGaoGaoGaoGaabaoHaabaoGaoGaoGaoGaoGaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiarWarXarYarZasaaaiaaaaaaaaaaaaaaaapDaaaaaaaabaeKakRapGapGapGasbascasdaseasfasgashashasiashasjaaiaoUaskaslasmasnasoaspasqasrassastasuasvaswasxasyaszaszasAaszaszasBasCasDasEasFasGasHaaqasIasJasKasLasMasNalnaqSasOasPasPasPasQasRasSasTasUaaiasVasWasXarRarRarRarRarRarRaaiaaaaaaaaaalxaaaaaaaaaaabaaaaaaaaaaoHaaaaaaaaaaabaaaaaaaaaaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiarWasYasZataarWaaiaaaaaaaaaaaaaaaapDaaaaaaaabaeKakRatbatbatbakRaaiaaiaaiatcatdatdateatfatgathaaiapLatiatjatkatlapQapRatmatnatoatpatnatqapYapQatratsattatsatsattatsatuaaqaqKatvasGatwaaqatxatyatzatAatBatBatCatDanjaaqaaqaaqaaJaaqabnaaiaaiaaiatEatFatGarRatHatIatIatIatIaaiaaaaaaaaaaeKaabangangangangangaabaoHaabangangangangangaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaaaaaaaaaaaaaaaaaaaaaaiarWatJatKatLarWaaiaaaaaaaaaaaaaaaapDaaaaaaaaaaeKakRatMatMatMakRaaqaaqaaqaaqaaqaaqaaiatNatOaaiaaiaaiaaiatQacsatRacsacsatRacsatRacsacsabuaaiaaiatSatTatUatVatTatUatVatWaaiaaiaaiaaiaaiaaqatXatYatZatZauaaubaucaudaaqaueaufaugaaJauhauiaujaukaaqaaqaulaaJaaqaaqaaqaaqaaqaaqaaiaaaaaaaaaaeJaabanFanGanGanGanGanHanIanJanKanKanKanKanLaabaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaumaunauoaaaaupauqauraaiausautauuautauvaaiaaaaaaaaaaaaaaaapDaaaaaaaaaaeKauwauxauxauxauyaaqauzauAauBauCauDezsauFauGauHauHauHauHauHauHauHauHauHauHauJauKauLauHauHauHauHauMauHauHauHauHauNauOauPauQauRauSauTauUaaqauVauWauXauYauZavaavbavcaaqavdaveavfaaJavgavhavgaviaaqavjavkavlavmavnavoavpavqavraaiaaaaaaaaaaeJaaaaoGaoGaoGaoGaoGaabaoHaabaoGaoGaoGaoGaoGaaaafiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQaaaakQakQakQakQakQakQakQakQakQaaaakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaiavsavtavsaaiavuavvavuaaiavwavxavyavzavAaaiaaaaaaaaaaaaaaaapDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqavBavCavDavDavDavEavFavGauNauNauNauNauNauNauNauNauNauNavHauNauNauNauNauNauNavIauNauNauNauNavJauNavKauNavLauNauNavMaaqavNavOavPavQauXavRavbavSaaqavTaveavUavVavgavWavXaukaaqavYavZawaawbawcawdawcaweawcaaiaaaaaaaaaaeJaaaaabaaaaaaaaaaaaaabaoHaaaaaaaaaaaaaaaaabaaaaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQaaaaaaakQakQakQakQakQakQakQakQakQaaaaaaakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaiavsawfavsaaqavuawgavuaaiawhawiawjawkawlaaiaaaaaaaaaaaaaaaapDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqauBauBauBawmawnaaqawoawpawqawqawrawsawqawqazDawqawqawqawtawqawqawqawqawqawqawuawvawwawwawwawxawyawzawyawAawBawyawCaaqaaiaaiaaiaaiaaiaaiavbavcaaqawDaveawEaaJavgavWavgaviaaqawFawGawHawcawcawcawcaweawIaaiaaaaaaaaaaeJaeJaeKaaaaaaaaaaabaabaoHaabaaaaaaaaaaaaaeKaeKaeKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwamwamwamwaaaaaiawJawKawLaaqawMawNawOaaiawPawQawRawSawTaaiaaaaaaaaaaaaaaaapDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaqaaqaaqaaqaaqaaiannawUaaqawVawWawXaaqawYaaqdirbMqaaqawZaaqaaqaaqaaqaaqaaqaaqaxaaaqaaqaxbaxcaxdalnaaqannaaqaxeaaqaaqaoCamramramramramraxfavcaaqaxgaveaxhaaJavgavWavXaukaaqaxiaxjaxkaxlaxlaxmaxlaxnaxoaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamwamwamwamwamwamwamwamwamwamwamwamwaaiaaiaaiaaiaxqaxraxsaaqaxqaxraxsaaiaxtaxuaxvaxwaxxaaiaaaaaaaaaaaaaaaaoIaoJaoJaoJaoJaoJaoJaxyaaaaaaaaaaaaaaaaaaaaaaaaaaiaxzaxAaaqaxBaxCaxDaaqaxEaaqaxGaxFaxIaxHaxJaxKaAgaxMaxNaxOaxPaxQaxRaxSaxTauNauOaxUaxVaxWaxXaxXaxXaxXaxXaxYaxXaxXaxXaxXaxZayaaybaycaydayeayfaygayhavgaviaaqaxiayiayjaykaylaymaynayoaxoaaiaypayqayqayqayqayqayraaaaaaaaaaaaaysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakQakQakQakQakQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaytayuayvayvayuaaiaaiaaiaaiaaiaywayxaaiaaqayyaaqaaiaaqayzaaqaaiayAayBayCayAayDaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayEayFayEaaaaaaaaaaaaaaaaaaaaaaaiayGayHacdayIauBaxDaaqaxEaaqayKayJayLaxHayMayNaxLaxLaxLaxLaxLaxQaxLayOauHauNauOaaqayPayQabOabOabOabOayRayQabOabOabOabOabOabOaySabOayTayUayVabOayWayXaaqaaqaaqayYayZaaqaaqalnaaqaaqaaqaaiazaazbazbazbazbazbazaaaiaaaaaaaaaaysaaaaaaaaianBanCanDaaianBanCanDaaianBanCanDaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAvazdazeazfazgazhaziazhazhazjazkazlazmaznazlazoazpazqazrazsaztazuazvazuazwazxaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazyazzazAaaaaaaaaaaaaaaaaaaaaaaaiaxEaxAaaqazBazCaxDaaqaxEaaqaARaARaxHaxHdIyaxLaxLazEaxLazFazFaxQaxLayOauHauNazGaaqazHayQazIazJazKaaqazLazMazNazOazPazQazRazSazTazUazVazWazXazYazZaAaaAbaAcaAdaAeaBpaAhaCnaAiaAjaAkaAlaAmazaazbazbazbazbazbazaaaiaabaaaaaaaysaaaaaaaaiaAnaAoaApaAqaAraAsaAtaAsaAsaAsaAsaAraaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAwaAzaAxaACaABaAEaAEaAEaAFaAEaJLbtpaHNaJLbtpbtrbtqbKabIqbNdbNcbNcbNcbNcbNebNfaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaAJaAKaALaAManCanCanCanCanCanDaaiaaiaxEaxAaaqaANaAOaAPabOaAQabOaASaASaBKaATaAUaAVaxLaAWaAXaAYaAZaBaaBbayOauHauNauOaaqaqSaBcaBdazJazKaaqaBeaBfaBfaBfaBfaBfaBfaBfaBfaBfaBfaBgaBhaBiaBjaBkaBlaBmaBnaBoaCTaBnaBqaBraBsaBnaBnaBtaBuazbazbazbazbazbaBuaaiaaiaaiaaaaysaaaaaaazcaBvaAraApaApaAraAsaAsaAsaAsaAsaAsaArazcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayuaaiaaiayuaaiaaiaaiaIxbNhaaiaIxbNhaaiaIxbNhaaiaIxbNhaaiaBwaBxaBxaBxaBxaByaAIaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaBzaBAaBBaaiaBCaBDaBDaBDaBDaBDaBEaBFaBGaaqaBHaBIaBJaaqaxAaaqaBMaBLaCXaBNaBOaAYaFBaBPaBQaBRaBSaBTaBUaBVaBWaBXaBYacdaBZaCaaCbazJazKaaqaCcaBfaBfaCdaCdaCdaBfaBfaBfaBfaCeaCfaCgaChaCiaCjaCkaClaCmaCmaXwaCmaCoaCmaCmaCmaCmaCpaCqazbazbazbazbazbaCraCsaCtaCuaaaaysaaaaaaazyaCvaAraCwaApaAraAsaAsaAsaAsaAsaAsaArazyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCxaCxaCxaCxaCxaCxaCxaCxaCxaaaazcaCyaCzaBxaBxaBxaByaAIaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaCAaCBaCCaaiaCDaaiaaiaaiaaiaaiaaiaaiaCEaaqaCFacdacdacdaCGacdaCHacdacdaCIaCJacdacdaaEacdacdacdacdabtanjaCKauNaCLaaqaqSannaCMazJazKaaqaBeaBfaCdaCNaCNaCOaCdaBfaBfaBfaCPaCQaCRaCSbkUaCUaCVaCWaCUaCUbnLaCUbuuaCYaCZaDaaDbaDcaCuazbazbazbazbazbaCuaDdaDeaDfaaaaysaaaaaaaDgaDhaAraAraDiaAraAsaAsaAsaAsaAsaAsaAraDgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCxaCxaCxaCxaCxaCxaCxaCxaCxaDjaDkaDlaDmaBxaBxaBxaByaDnaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaiaDoaDpaDqaaiaCDaaiaDraDsaDtaDuaDvaaiaCEaxEaxEaxEaxEaDwaDxaDyaDzaDzaDzaDzaDAaDzaDBaDCaDDaDzaDzaDEaDEaDFaDGaDHaDIabOaDJannaCMaCMaCMaaqaBeaBfaCdaDKaDLaDMaCdaBfaBfaDNaDOaCQaDPaDQaBfaBfaDRaDSaBfaBfaBfaBfaDTaDUaDVaDWaBfaDXaDYazbazbazbazbazbaDYaDZaDeaDfaaaaEaaaaaaaaaiaEbaAraEcaApaAraAsaAsaAsaAsaAsaAsaAraaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCxaCxaCxaCxaCxaCxaCxaCxaCxaEdaEeaEfaEgaBxaBxaBxaByaDnaaiaEhaEiaEjaEkaElaaiaaiaaiaaiaaiaaiaEmaamaaiaCDaaiaDvaEnaEoaDvaDvaaiaEpaEqaEqaEqaEqaEraEsaaiaaiaaiaaiafaabnaaiaEtaaiaeZafaaaiaaiaaiaaiaEvaEwaExaEyaEzaCaaEAaCMaCMaEBaBeaBfaCdaECaCNaCNaCdaBfaBfaBfaEDaEEaEFaEGaBfaBfaDRaEHaEIaEJaEJaEJaEKaBfaBfaCiaBfaELaEMazbazbazbazbazbaENaEOaEPaDYaEQaERaEQaaaaaiaESaAraApaApaAraAsaAsaAsaAsaAsaAsaETaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCxaCxaCxaCxaCxaCxaCxaCxaCxaEUaEVaDlaDmaBxaBxaBxaByaDnaaiaEWaEXaEYaEZaFaaaiaFbaFcaFdaFdaFdaFeaFdaFdaCDaaiaFfaFgaFhaFiaDvaaiaFjaFkaFjaFjaxEaxEaxAaaiaFlaFmaFnaFoaFpaFqaFraFsaFtaFuaFvaFmaFwaaiaFxauNaFyaaqaFzannbUZaFAaFAbUsezFconbvPaFCaFCaFDaFEaCUaFFaFEaFEaFGaFHaFIaBfaBfaFJaFKaFLaFMaFMaFMaFNaDUaDVaCiaBfaFOaFPazbazbazbazbazbaFQaaiaaiaaiazyaFRazyaaaaaiaFSaFTaApaFUaAraAsaAsaAsaAsaAsaAsaArazcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCxaCxaCxaCxaCxaCxaCxaCxaCxaFVaFWaFXaFYaBxaBxaBxaByaDnaaiaFZaGaaGbaGcaGdaaqaGeaGfaGgaGhaGhaGiaBDaBDaGjaaiaDvaEnaGkaDvaDvaaiaGlaxEaGmaFjaxEaxEaxAaaiaGnaGnaGoaGpaGqaGraGsaGraGtaGuaGvaGwaGwaaiaFxauNaGxaaqaFzannaCMazJazKaaqaBeaGyaGzaGAaGBaGCaGCaGDaGEaGCaGEaGFaGGaGHaGIaGJaGKaGLaGMaGNaGOaGPaGQaaqaGRaGSaGRaaqaGTazbazbazbazbazbaGUaaiaabanBaAKaGVaGWaGXaaiaGYaGZaHaaAraAraAraAraAraAraAraAraArazyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayuaaiaaiaaiaaiaaiaaiaaiaIxbScbOZaaiaIxbScbOZaaiaaiaaiaaiaHbaBxaBxaBxaBxaByaDnaaiaHcaHdaHeaHfaHgaaqaHhaFdaCDaHiaFdaFdaFdaHjaHkaaiaDvaHlaHmaDvaDvaaiaxEaxEaHnaFjaxEaxEaxAaaiaaiaaiaaiaHoaHpaFmaHqaFmaHpaHraaiaaiaaiaaiaFxauNaHsaaqaFzannaCbazJazKaaqaHtaHuaaqaaqaaqaaqaaqaaqaaqaHvaaqaaqaaqaaqaaqaaqaHwaaqaHxaHyaHyaHyaHzaaqaHAaHBaHCaaqaGTazbazbazbazbazbaGUaaiaaaaaiaHDaHEaHFaaiaaiaHGaHHaHIaAraAraAraAraAraAraHJaAraAraDgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaHKaHLaHMazlazlciOazlazlazlcjAaHOaHPaaiazcaHQaCzaBxaBxaBxaByaDnaaiaaqaaqannaHRaaqaaqaHhaFdaCDaaiaaiaaiaaiaaiaaiaaiaaiabnaHSaaiaaiaaiaaiaaiaaiaaiaaiaaiaxAaaiaHTaHTaGoaHUaHVaGraGsaGraHVaHWaHXaHYaHZaaiaFxauNaFyaaqaIaayQazIazJazKaaqaIbaHuaaqaIcaIdaIeaIeaaqaIfaIdaIgaaqaIhaIiaIjaaqaIkaaqaHxaHyaHyaHyaHzaaqaIlaImaInaaqaIoaIpaIpaIpaIpaIpaIqaaaaaaaaiaIraIsaItaaiaaiaIuaIvaIwaaqaaqaaqaaqaaqaaqaaqaaqaaqaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIxaIyaIzaBxaBxaBxaBxemRaBxaBxaBxemRaBxaIAaIBaICaIDaIEaAGaAGaAGaAHaDnaaiaIFaIGaIHaIIaaqaaqaIJaFdaCDaaiaIKaILaIMaILaINaaiaIOaIPaIQaIRaISaaiaITaITaIUaITaIVaaiaxAaaiaFlaFmaIWaIXaHpaFmaIYaFmaHpaIZaJaaFmaFwaaiaFxauNaFyaaqaFzaBcaBdazJazKaaqaJbaJcaaqaJdaIdaIdaIdaHvaJeaJfaJgaaqaJhaJiaJjaJkaJlaaqaJmaJnaJoaJnaJpaaqaJqaJraJsaaiaaaaaaaaaaaaaabaaaaaaaaaaaaaaiaJtaJuaJvaaiaaiaJwaJxaJyaaqaJzaJAaJBaJBaJBaJBaJBaJCaJDaJEaJEaJFaJEaJEaJEaJEaJGaJHaJIaaiaJJaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaJKaJLaJLaJLaJLemTaJLaJLaJLemTaJMaJNaJOaJPaJOaJQaJRaJRaJRaJSaJTaaiaJUaJVaJWaJXaJYaaqaHhaFdaCDaaiaJZaINaINaINaINaaiaKaaKbaKcaKdaKeacsaKfaKfaKgaKfaKhaaiaxAaaiaHTaHTaGoaKiaHVaGraKjaGraHVaKkaGvaKlaKmaaiaKnaxcaKoaaqaFzaBcacdacdacdacdaKpaKqaKraKsaKtacdacdacdaaEacdabtaKuaKvaKwaKxacdaKyaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaiaaiaaiaaianBanDaaiaaiaaiaaiaaiaaiaKzaamaaiaaiaKAaKBaKCaKDaKEaKFacdacdacdacdacdaKGaKHacdacdaKIacdaKJacdacdaaEaKKaaqaaqaKLaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKNaKOaKOaKPaKOaKOaKQaKRaKOaKOaKPaKSaDmaKTaKUaKVaKWaKXaKYaKYaKYaKZaLaaaiaLbaLcaLdaLeaLfaLgaLhaLiaGjaaiaLjaLkaLlaLmaLnaLoaLpaLqaLraLsaLtaLuaLvaLwaLxaLyaLzacaaLAaaiaaiaaiaaiaLBaHpaFmaHqaFmaHpaLCaaiaaiaaiaaiaLDaLEaLFaaqaIaaLGarKarKarKaLHaLIaLJabOaLKaLLabOaLMabOaLNabOaLOayXaLPaLQaLRaaqaLSaLTaLUaLVaLVaLTaLWaLXaLXaLXaLXaLXaLYaLZaLXaMaaMbaMcaMdaMeaMfaMfaMgaMhaMiaMjaMkaMlaJxaMmaMnaMoaMpaaqaMqaMraMsaaqaMtaMuaaqaMvaMwaMxaMyaMzaMAaMBaMCaMDaMEaMFaaiaMGaMGaMHaMIaMJaMIaMIaMIaMKaaaaaaaaaaaaaaaaaaaaaaaaaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMLaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKNaMMaMNaMNaMNaMOaMPaMQaMRaMSaMOaMNaMTaMUaMVaaiaDgaHKaMWaBxaBxaBxaMXaMYaaiaMZaNaaNbaNcaNdaaqaNeaNfaFdaaiaNgaNhaNiaNjaNkacsaNlaNmaNnaNoaNpaaiaNqaNraNsaITaNtaaiaxEaaiaFlaFmaNuaIXaHpaFmaHqaFmaHpaIZaNvaaiaaiaaiaNwaNxaNyaNzaNAabnaaiaaiaaiaaqaNBaNCaaqaNDaIdaaqaNEaaqaNFaaqaNGaNHaNIaNJaNKaNLaNMaNNaNOaNPaNQaySaNRaNQaNQaNSaNQaNNaNTaNNaNUaNNaNNaNVaNWaNXaNYaNYaNZaOaaObaOcaOdaOeaOfaOfaOgaOhaOiaOjaOkaOlaOmaaqaOnaOoaaqaOpaOqaOraOsaMzaOtaMBaMCaMDaOuaOvaaiaMGaMIaMIaMIaMIaMIaMIaMIaMKaaaaaaaaaaaaaaaaaaaaaaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaOwaMTaOxaOyaOzaOxaOzaMNaOzaOxaOzaOyaOAaKOaKSaaiaaiaOBaBxaBxaBxaBxaOCaODaaiaOEaOFaOGaOHaOIacdaOJaOKaaqaaiaINaOLaOMaINaINaaiaONaNmaNnaNoaOOaaiaOPaNraOQaORaITaaiaxEaaiaOSaOTaGoaOUaOVaGraOWaGraOXaOYaOZaaiaPaaPbaPcaPdaPeaPfaPgaPhaaaaaaaaiaPiaPjaPkaaqaPlaIdaIdaIdaPmaIdaIdaIdaaJaPnaPoaaqaMtannaaqaPpaaqaaqaPqaPraPsaPtaPuaaqaPvaPwaaqaMtaaqaaqaaqaaqaPxaaqaaqannaaqaaqaaqaaqaPyaPzaPzaaJaOiaPAaPBaPCaPDaPEaaqaPFaPGaaqaPHaPIaPJaOsaPKaOtaMBaMCaMDaPLaPMaaiaPNaMIaMIaMIaMIaMIaMIaMIaMKaaaaaaaaaaaaaaaaaaaaaaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPOaPPaOxaOyaOzaOxaOzaMNaOzaOxaOzaPQaMTaMNaPRaKSaaiaPSaBxaBxaBxaBxaPTaPUazraPVaPWaPXaPWaPYaPZaQaaQbaQcaaiaaiaeZaaiaaiaaiaaiaQdaQeaQfaQdaQgaaiaaiaeZaaiaaiaaiaaiaQhaaiaaiaaiaaiaQiaQjaQkaQlaQkaQmaQnaaiaaiaQoaPdaPdaPdaPdaQpaQqaQraQsaQtaaiaQuaPjaQvaaqaaqaaqaaqaaqaaqaaqaaqaaqaaJaQwaQxaQyaQzaQAaQBaQCaQDaaqaQEaQFaQGaQHaQIaaqaQJaQKaQLaQMaQLaQNaQOaQPaQQaQRaQSaQTaQUaQVaQWaaqaQXaQYaQZaRaaRbaPAaRcaPCaPDaRdaaqaReaRfaRgaRhaRiaOsaOsaaqaOvaMBaMCaMDaRjaRkaaiaMIaMIaRlaMIaRmaMIaMIaMIaMKaaaaaaaaaaaaaaaaaaaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPOaPPaRnaOyaOzaOxaOzaRoaOzaOxaOzaOyaKPaMNaRpaRqaaiaRraBxaBxaBxaBxaByaRsaBxaRtaRuaRvaRwaRxaQcaRyaRzaQcaRAaRBaRCaQcaQcaQcaRDaQcaRyaREaQcaRFaRGaQcaRHaQcaRIaRBaRJaRKaRLaRMaRNaROaRPaRQaRQaRQaRQaRQaRQaRRaRSaRTaRUaRVaRWaRXaRYaRZaSaaPdaPdaSbaScaSdaScaSeaSfaSgaShaSiaSjaSkaaqaSlaSmaSnaSoaSpaSpaSqaSraSsaStaaqaSuaSvaSwaSwaSxaaqaSyaSzaSAaSBaSCaSCaSDaSEaSFaSEaSGaSHaSIaSJaSKaaqaPyaPzaSLaSMaSNaSNaSOaSPaSNaSQaaqaSRaSSaaqaSTaSUaOsaOsaaqaSVaSWaSXaMDaOvaOvaaiaSYaSYabnaaiaSZanCanCanCaTaaaaaaaaaaaaaaaaaaaaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPOaPPaOxaOyaOzaOxaOzaMNaOzaOxaOzaOyaMTaMNaTbaTcaaiaTdaBxaBxaBxaBxaByaTeaJRaTfaTgaThaTgaTiaTjaRyaTkaTlaTmaTnaToaTlaTlaTlaTpaTlaQaaTqaTlaTraTlaTlaTsaQcaRIaRBaRJaRKaRKaRKaRKaTtaRKaRKaRKaRKaRKaRKaTuaTvaTwaTxaTyaTzaTAaTBaTCaTDaTEaTEaTEaTFaTGaTGaTGaTHaSkaSkaSkaTIaTJaSkaaqaTKaTLaSpaTMaSpaSpaTNaTOaSsaTPaaqaTQaTRaTSaTTaTUaaqaTVaTWaTXaTYaTZaUaaaqaUbaUcaUbaaqaaqaaqannaaqaaqaPyaPzaPzaaJaUdaOiaOiaUeaOiaUfaaqaaqaaqaaqaaqaaqaaqaUgaaqaMDaMDaMCaMDaUhaUiaaqaUjaUkaUlaUkaUmaUnaUoaUpazyaaaaaaaaaaaaaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaUqaMTaOxaOyaOzaOxaOzaMNaOzaOxaOzaOyaOAaKOaTcaaiaaiaUraBxaBxaBxaBxaByaUsaBxaRtaUtaUuaUvaRxaQcaUwaUxaUyaUzaUAaUBaUCaUCaUDaUEaUFaUGaUHaUCaUIaUCaUCaUJaUKaULaUAaUMaUNaUOaUPaUQaURaUQaUQaUQaUQaUQaUQaUSaUTaUUaUUaUUaUUaUVaUUaUWaUXaUUaUUaUUaUYaUZaUZaUZaUZaUZaUZaUZaVaaSkaSkaaqaVbaVcaVdaVeaVeaVfaVgaTOaSsaVhaaqaaqaaqaaqaaqaViaaqaVjaVkaVlaVmaQLaQLaaqaVnaVoaVpaVqaVraVsaVtaVuaaqaPyaPzaVvaaJaVwaVwaVxaVyaVzaVzaVAaaqaVBaVCaVDaaqaVEaVFaVGaMDaMDaVHaVIaOvaVJaaqaVKaUkaUlaUkaVLaUkaUkaVMazyaaaaaaaaaaaaaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVNaMMaMNaMNaMNaMNaVOaMNaMNaVPaMNaMNaMTaVQaVRaaiazcaHQaVSaBxaBxaBxaVTaVUaADaVVaVWaVXaVWaVYaVZaRyaWaaWbaaiaaiaaiaaiaaiaaiaaiaQdaWcaWdaQdaWeaaiaaiaeZaaiaaiaaiaaiaWfaWgaWfaWhaQsaQsaQsaQsaQsaQsaQsaQtaaiaWiaWjaWkaWlaWlaWmaWnaWoaWpaWjaWqaaiaEUaQsaQsaQsaQsaQsaWraWsaWsaWsaaqaWtaWuaWvaWvaWvaWvaWwaKvaWxaWyaWzaWAaWBaWCaWDaWEaaqaaqaWFaQdaWGaWHaWIaaqaVnaWJaWKaWKaWKaWKaWLaWMaaqaWNaPzaPzaaJaWOaOiaVxaVyaOiaOiaWPaaqaWQaWRaWSaaqaMDaWTaWUaWVaWVaWWaWXaWYaWZacdaXaaXbaXcaXdaVLaUkaUkaXeazyaaaaaaaaaaaaaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaVNaKOaKOaKPaKOaKOaKQaKRaKOaKOaKPaTcaDmaKTaXfaXgaKWaXhaKYaKYaKYaXiaXjaaiaXkaXlaXmaXnaXoaaiaXpaXqaXraaiaXsaXtaXuaXvaXvaaiaONaKdbvQaXxaXyaaiaXzaXAaXBaXCaXDaaiaXEaXFaRPaXGaaaaaaaaaaaaaaaaaaaaaaaiaXHaXIaXJaXKaXLaXMaXLaXNaXOaXPaXQaXRaaiaaaaaaaaaaaaaaaaaaazyaXSaSkaXTaXUaWyaXVaWyaWyaWyaWyaWyaXWaXXaWyaWyaWyaWBaXYaXYaXZaYaaYbaYcaYdaYeaYfaYgaaqaYhaYiaYjaYkaYkaYjaYlaYmaaqaPyaPzaPzaaJaYnaYnaVxaVyaYoaYoaYpaaqaaqaYqaaqaaqaYraVFaVIaYsaYsaYtaVIaOvaaqaaqaYuaUkaYvaYvaYwaYvaUkaXeazyaaaaaaaaaaYxaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaYyaYzaYzaYzaYzaYzaYzaYzaYzaYzaYAaJNaJOaJPaJOaYBaJRaJRaJRaYCaYDaaiaYEaYFaYGaYHaYIaaiaRyaWaaQcaaiaYJaXtaYKaXtaXtaaiaYLaNoaYMaNoaYNaaiaYOaYPaYQaYRaYSaaiaXEaXFaRPaXGaaaaaaaaaaaaaaiaaiaaiaaiaYTaYUaYVaYWaYXaYYaYZaZaaZbaZcaZdaZeaaiaaiaaiaaaaaaaaaaaaazyaXSaSkaSkaZfaWyaZgaZhaZiaWyaZjaZkaJjaZlaZmaZiaWyaWBaXYaXYaZnaZoaXYaZpaZqaZraZsaXYaZtaZuaZvaYjaYkaYkaYjaZwaZxaaqaZyaPzaPzaaJaWOaOiaVxaVyaOiaOiaOiaZzaZAaOiaZBaaqaZCaZDaZEaYsaYsaZFaZEaZGaaqaZHaUkaUkaZIaZIaZJaZIaUkaXeaGWaZKanCanCaZLaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIxaIyaZMaBxaBxaBxaBxaBxaBxaBxaBxaBxaBxaIAaZNaZOaIDaZPaAGaAGaAGaAHaZQaaiaZRaZSaZTaZUaZVaZWaZXaZYaQcaaiaZZbaababbacbadbaeaUCbafbagbafaUJbahbaibajbakbalbamaaibanbaoaRPbapanDaaiaaiaaiaaibaqbarbasbatbaubaubavbawbaubavbawbaxbaybaubazbaAbaBaaiaaiaaiaaiaEUbaCaXSaSkaSkaaqbaDaZgaZmaZiaWybaEbaFaWybaGbaHaZiaWyaWBaXYaXYbaIbaJbaKbaLbaMbaNbaOaXYbaPaZubaQaYjaYkaYkaYjbaRaZxaaqaPyaPzaPzaaJbaSbaSaVxaVybaTaOiaOibaUaOibaVbaWaaqbaXbaYbaZaYsaYsbbabaZbbbaaqbbcaUkaUkaUkaUkaVLaUkaUkbbdbbebbfbbgbbhbbiaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaHQbbjbbkaAAaAAaAAaAAaAAaAAbblbbmbbnaaiaDgaHKaFYaBxaBxaBxaBybboaaibbpbbqbbrbbsbbtacsbbubbvbbwaaibbxbbybbzbbybbyacabbAaNoaYMaNobbBaaibbCaXAbbDaXzbbEaaiaXEaXFaRPaRQaRQbbFbbGbbHaaibbIaYYbaubbJbaubaubaubaubbKbaubbLbaxbbMbbNbbNbbObbPaaibbQbbGbbRbbSbbTaXSaSkaSkaZfaWyaXVaWyaWyaWybbUbbVaWybaGbbWaZiaWyaWBaXYaXYbbXbbYbbZbcabcbbaNbaObccaaqbcdbaQaYjaYkaYkaYjbaRbceaaqbcfbcgbcgaaJaaqaaqbchaVybcibcjaOibckbclaRcbcmacdbcnbcobcpbcqbcqbcrbcsbctacdbcuaXdaUkbcvaUkaVLaUkaUkbcwbcxaZKanCanCbcyaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayuaaiaaiaaianBanDayuanBanDaaianBanDaaiaaiaaiaaiaHbaBxaBxaBxaBxaBybboaaibczbcAbcBbcCaaqaaiaRybbvaQcaaiaXtbcDbcEaXtaXtaaiaRHaNoaYMaNoaRHaaiaXzaXAbcFbcGbcHaaiaXEaXFaRKaRKaRKbcIbcJbcKbcLbcMbcNbaubvTbcPbcQbcRbcSbcTbcUbcVbcWbcXbcYbcMbcZbdabdbbdcbddbdebdfbdgbdhaSkbdiaaqaWyaZgbdjaZiaWybdkbdlaWybdmbdnaZiaWybdoaXYaXYaXYaXZaXYbdpaXYbaNbaObdqaaqaZxbaQaYjaYkaYkaYjbaRaZxaaqbdrbdsbdsbdtbdubdvbdwbdxbdybdybdybdybdybdybdzbdAbdBaYsaYsaYsaYsaYsaYsbdCbdDbdEaUkaUkaUkaUkaVLaUkaUkbdFazybdGbdGbdGazyaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHbdIbdIbdJbdIbdIbdIbdIbdJbdKbdLbdMbdNaKYaKYaKYaKYaKZbdOaaiaaiaaiaaiaaiaaiaaiaRybbvaQcaaiaaiaaiaaiaaiaaiaaibdPaNoaYMaNobdQaaiaaiaeZaaiaaiaaiaaiaXEbdRbdSbdTbdUbdVbdWbdXacsbdYbdZbeabebaXHaXHaXHaXHaXHaXHbecbedbeebefbcPbegbehaaibeibejbekbelbembenaSkaSkaZfaWybeoaWyaWyaWyaLQaWyaWybepbepbeqbeqberaXYaXYbesbetaXYaXYaXYbeubevbewaaqaZxbaQaYjaYjaYjaYjbaRaWMaaqbexaPzaPzbeyaPzbezaVxaVxaVxaVxbeAaVxaVxaVxbeBbdDaYsaYsaYsaYsaYsaYsaYsbdCbdDbdEaUkaUkaYvaYvaYwaYvaUkbeCazybeDbeEbeFazyaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHbdIbdIbdIbdIbdIbdIbdIbdIbdIbdIbeGaDmaBxaBxaBxaBxaBybboaaibeHbeIbeJbeKbeLaaqbeMbbvaQcaaibeNbeObePbeQbeQacaaTrbeRbeSbeRaTracabeTbeUbeVbeWbeXaaibeYbeZbfaaaiaaiaaiaaiaaiaaiaaqbfbaaqaaiaaiaaiaaiaaiaaiaaiaaiaaiaeZaaiaaibfcaaiaaiaaiaaiaaiaaiaaibenaSkaSkaaqbfdbfeaWybffaWybfgaWybfhbfibfjbfkbflaaqbfmbfnaaqaaqbfobfpbfpbfpaaqaaqaaqbfqbfrbfsbfsbfsbfsbfrbftaaqaPyaPzaPzbeybfuaaqbfvbfwbfxbcjbfybfwbfzbcjbfAaaqbfBaMDbfCaYsaYsbfCaMDbfDaaqbfEaUkaUkaZIaZIaZJaZIaUkbdFazybdGbdGbdGazyaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHbdIbdIbdIbdIbdIbdIbdIbdIbdIbfFbfGbfHaAGaAGaAGbfIaAHbboaaibfJbfKbfLbfLbfLbfLbbubbvaQcaaibfMbfNbfObfPbfQaaibfRaNoaYMaNobfSaaibeWbfTbfUbeTbfVaaibfWbfXbfYaaibfZbgabgbbgcbgdbgebgfbggaaiaaibghbgibgjbgkbglbgmbgnaeZaaibgobgpbgqbgrbgsbgtbgubgvaaibgwbgxbgxbgyaaqaaqaaqaaqbgzaZfbgzbgAaaqannaXUaaqaaqaaqaaqaaqbgBbgBbgBbgBbgBbgCbgDaaqbgEbgFbgEbgGbgGbgEbgFbgEaaqaPyaPzaPzaJxbfuaaqaaqaaqaaqaaqaaJaaqaaqaaqaaqaaqaaJbgHbgIbgIbgIbgIbgJaaqaaqbgKaUkaUkaUkaUkaVLaUkaUkbcwaGWbgLanCanCbgMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayuaaiaaiaaianBanDayuanBanDaaianBanDaaiaaiaaiaaiaDmaBxaBxaBxaByaBybboaaibgObgPbgQbgQbgQbgQaQabgRbbwaaibgSbgTbgUbgVbgWbgXaUCbgYbgZbafaUCbhabhbbhcbhdbhebhfaaibhgbhhbfYbhibhjbhkbhlbhmbhmbhlbhnbhoaaiaaibhpbhqbhrbhsbhtbhubhvbhwbhxbhybhzbhAbhBbhCbhDbhAbhEaaibhFbhGbhHbhIbhJbhKbhLbhMbhMbhMbhMbhMbhMbhNbhMbhMbhObhMbhPbhMbhMbhMbhMbhMbhMbhMbhMbhQbhRbhSbhSbhSbhSbhSbhSbhTbhKbhUbhVbhVbhWbhXbhYbhXbhZbhXbiabibbicbhXbidbiebifbigbihbihbihbihbihbihbihbiibijbikbikbikbikbilbikbimbinbiobipbiqbbhbiraKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabisbisbisbisbisbisbisbisbisbisaaaaaaazcaAyaCzbitbiuaBybivbiwaaibfJbixbixbixbiyaaqbeMbbvaQcaaibizbfPbfObfPbfPaaibfRbiAbiBaaibfSaaibiCbiDbiEbeWbiFaaibhgbhhbfYbiGbiHbiIbiJbiKbiLbiMbhnbiNaaiaaibiObiPaaqaaqaaqbiQbiRaaiaeZbiSbhAbhAbhBbiTbhDbhAbiUaaibiVbhHbhHbhIbhJbhKbhMbhMbhMbhMbhMbhMbhMbiWbhMbhMbhMbhMbhMbhMbiXbiYbiYbiYbiYbiYbiYbiYbiYbiYbiYbiYbiYbiYbiYbiZbjabjbbihbihbjcaPzaPzaPzaPzaPzbeyaPzaPzaPzaPzaPzaPzaPzaPzaPzaPzaPzaPzbjdaPzbjebjfaUkaUkaUkaUkaUkaUkaUkbjgbcxaZKanCanCaZLaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabisbisbisbisbisbisbisbisbisbisbisaDjaDkaDlaaiaaiaaibjhaaiaaiaaibfJbixbixbixbixaaqaRybbvaQcaaibfPbjibjjbfPbfPaaibjkbiAbjlaaibjkaaibeWbiDbjmbjnbeWaaibjobhhbfYbjpbjqbiIbiJbjrbjsbiMbhnbjtaaibjubjvbjwaaqbjxaaqbhqbjybjzaeZbjAbjBbjCbjDbjDbjEbhAbjFaaibjGbjHbhHbhIbhJbhKbhMbjIbhMbhMbhMbhMbjJbjKbjKbjKbjKbjLbhMbhMbhMbhMbjMbhMbjIbjNbhMbjObjPbjQbhMbjRbjSbjSbjTbjUbjVbjWaPzaPzaPzaPzaPzaPzaPzbjXbjYbjZaPzaPzaPzaPzaPzaPzaPzaPzaPzaPzbkabkbbkbbkcbkdbkebkfbkgbkgbkgbkhbkibkjaDgaaaaaaaaabkkaKMaKMaKMaKMaKMaKMaaaaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabisbisbisbisbisbisbisbisbisbisbisbklbkmbknbkobkpbkqbkrbksbkpaaibeHbktbktbkubkvaaqaRybbvaQcaaiaaiaaiaaiaaiaaiaaiaaibiAbkwaaiaaiaaiaaiaeZaaiaaiaaiaaibkxbhhbkyaaibkzbkAbhlbhlbhlbhlbhnbkBaaiaaibkCbkDbkEbkFbkGbkDbkHaaiaeZaaibkIbkJbkKbkLbkMbkNbkOaaibkPbkQbkQaaiaaiaaiaaiaaiaaiaaiaaqaaqbkRbkSbkTbkTbkSbkRaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqbvUbkVaaqaaqaaqaaqaaibkWannbkXaPzaPzbkYbkYaaiaaiaaiaaiaaibkZbkbbkbbkabkbaPzbkbbkbbkbbkbblaaaiblbaaiaaiblcaaiaaibldbleblfaaiaaiaaiaaiaaiaaaaaaaaaaKMaKMaKMaKMaKMaKMaaaaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabisbisbisbisbisbisbisbisbisbisbisaEUaEVaDlblgblhblhblibljblhaaiblkblkblkbllblmaaqaRybbvaQcaaqblnbloblpblqblraaiblsbiAbltaaibluaaiblvblwblxblyblzaaqblAbhhblBaaiblCblDblEblFblGblHblIaaiaaiaaiblJblKblLblMblNblOblPaaiaeZaaiblQblRblSblTbkMbhAblUaaiblVblWblXaaiblYblZbmabmbbmcbmdbmebmfbmgbmhbmibmibmhbmjbmkbmlaaqbmmbmnbmobmpaaqbmqbmrbmsbmtbmubmvbmvbmwbmxbmyabnaaibmzaaibmAbmAaaibmBbmCbmDaaibmEbmFbmGaaibkZbkbblaaaiaaibmHbmIaaibmJbmKaaibmLbmMaaibmNbmObmPbmQbmRbmSbmTaaiaaaaaabvVaKMaKMaKMaKMaKMaKMaaaaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabisbisbisbisbisbisbisbisbisbisaaabmUaFWbmVbmWbkpbkpbmXbmYbmZaaiblmblmblmblmblmaaqaRybbvbcOaaqbnabnbbncbnbbndaaibnebnfbngbnhbnhaaibnibnjbnkbnkbnlbnmbnnbhhbnoaaibnpaeZaaiaaiaaiaaibnqaaibnracsbnsbntbghbnubghbnvbnwacabnxaaibnybhAbnzbnAbkMbnBbnCaaibnDbnEbnFaaibnGbnHbnIbnJbnKbxMbnMbmibmibmibmibmibmibmibnNbnObnPbnQbnRbnSbnTaaqbnUbnVbnWbnXbnYbnZbnVbmwbmxbmyabnboabobbocbodboeaaqbofbogbofbohboibojbokaaiaaqbolalgbombonboobopbooboqborbosbotboubosbovbowboxboybozboAboBaaiaaaaaaaaaaKMaKMaKMaKMaKMaKMaaaaKMaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboCayuaaiaaiaaianBanDayuanBanDaaianBanDaaiaaiaaiaaiblgbkpblhblhblibljblhaaiboDboEblkblkbllaaqbeMbbvboFaaqboGboHboIboJboKaaibnhboLboMbnhbnhaaiboNboOboPboQboRboSboTboUboVabOboWboXboYboZabObpabpbabObpcacaacaacaacabpdacaacaacaacabpeacabpfbpgbphbpibpjbpkbplacabpmblWblWaaibpnbpobppbpqbpraaibnMbmibmibmibmibmibmibmibpsbptbpubpvbpwbpxbpyaaqbpzbpAbpBbnXbmwbnZbnVbmwbmxbpCbpDbpEbpFbpFbpGbpHbpIbpJbpJbpJbpKbpLbpMbpNbpObpPbpQbpRbpSbpTbpUbpVbpWbpXbpYaaibpZbqaaaibqbbqcboxboybowboAbqdaaiaaaaaaaaaaaaaKMaKMaKMaKMaKMaaaaKMaKMaKMaKMaKMaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaMLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqebqebqebqebqebqebqebqebqebqebqebqebqeaaaazcblgbkpbkpbkpbmXbmYbqfaaiblmblmbqgbixbixbqhaRybbvaQcaaqbqibqjbqkbqlbqmaaibqnbqobqpbqqbqraaibqsbqtbqubqvbqwbqxbqybqzbqAbqBbqCbqCbqDbqEacdbqFbqGacdbqHbqIbqJbqKbqLbqMbqNbqKbqObqIbqPaaiabnbqQaaiaaiaaiaaibqRaaibqSblWbqTacsbqUbqVbqWbqXbqYaaibqZbrabrbbrcbrdbrebrfbrgbnNbrhaaqbribpwbrjbrkaaqbrlbrmbnWbnXbmwbnZbnVbmwbmxbmyabnbrnbrobrpbrqbrrbrsbrtbrubrvbrvbrwbofbrxaaibrybrzbrAaaibrBbrCbrDbrEbrFbpYaaibpZbrGaaibrHbrIboxbrJbrKbrLbrMaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqebqebqebqebqebqebqebqebqebqebqebqebqeaaaazybrNbrOblhblhblibljblhaaiaaqbrPbrQbrRaaqaaqbeMbbvaQcaaqbrSbrTbrUbrVbrWaaibnhboLbrXbnhbnhaaibrYbrZbsabsbbscaaqbsdbsebsfaaqbsgaaiaaiabnaaiaeZbshaaibsibsjbskbqKbslbqMbslbqKbsmbsjbqPaaqbsnbjDbsobspbsqabObsrabObssblWbstaaiblYblZbsubsvbswbsxbsybszbsAbsBbsCbsDbsEbsFbsGbsHbkSbsIbsJbsKbsLaaqbsMbsNbsObsPbsQbsRbsQbmwbmxbsSbsTbsUbsVbsVbsWbsXbsYbsZbtabtbbtbbtcbtdbteaaibtfbrzbtgaaibthbrCbtibtjbrFbtkaaibtlbtmaaibtnbrIbtoaaqaaqaaqaaqaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqebqebqebqebqebqebqebqebqebqebqebqebqeaDjaDkbtsbttbkpbkpbmXbmYbmZaaibtubixbtvbixbtwaaqaRybbvaQcaaqaQdbtxbtybtzbtAaaibnebtBbtCbtDbtEaaibtFbtGbtHbtIbtFaaqbtJbtKbtLaaqaaqaaibtMbtNbtObtPbtQaaibtRbtSbtTbtUbtVbtWbtVbtXbtYbtZbuaaaqbubbjDbucaaqbudaaqbueaaqbufblWbugaaiaQdbuhbtxbuibujaaqbukbulbumbunbuobuobupbuqburbusaaqbutbCRannaaqaaqaaqaaJbuvannaaqaaiaaiaaibuwbuxabnbrnbrobrpbuybsVbuzbuAbuBbuBbuBbuCbuDbuEbuFaaibolbuGaaibuHbuIbuJbuKbuLbuMaaibpZbuNaaibuObuPbuQbuRbuSbuTbuUaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqebqebqebqebqebqebqebqebqebqebqebqebqebuVbuWbuXbuYblhblhblibljblhaaibuZbixbvabixbvbaaqaRybbvaQcbvcbvdbvebvfbvgbvhaaiaaiaaiaaibviaaiaaibvjbvkbvlbvmbvnaaqbvobvpbvqbvrbvsbvtbvubvvbvwbvxbvyaaibsibvzbvAbqKbtVbvBbtVbqKbvCaaibqPaaqbvDbvEbvFaaqbvGaaqbvHaaqbvIblWbvJaaibvKbvLbvMbvNbvOabObEybDrbvRabObvSbETabObvRbNMbLWaySayVbvWbvXbvYbvZbwabwbbwcbwdbweaaibwfbwgbwhbwiabnbwjbwkbwlbwmbwnaaqbwobuBbuBbwpbwqbuDbwraaibwsbwsbwtaaibwubwvbwwbwxbwwbwyaaibpZbwzaaibwAbwBbwCbwDbwEbwFbwGaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqebqebqebqebqebqebqebqebqebqebqebqebqeaEUaEVbtsblgbkpbkpbmXbmYbkpaaibwHbgPbgQbgQbwIabOaQabgRbbwaaqbwJbnjbwKbwLbwMbwNbwObwPbwQbwPbwRbwSbwTbwUbwLbwVbwWaaqbtJblWbwXbwYbwZbxabxbbxcbxdbxebxfaaibsiaaiaaibxgbxhbxibqKbxjbxkacabxlaaiabnaaiaaiaaiaaiaaibxmaaibxnblWbvJaaibxobxpbxpbxqbxraaqbxsbxtbxubxvbxwbxxbxybxubxzbxAbxBbxCbxDbxEbxFbxGbxHbxIbxJbxKbxLbOobxNbxObxPbxQbxRbxSbxSbxTbxUbxVaaqbxWbofbofbxXbxYbuDbxZaaqbyabybbycaaqaQdbuhbtAbydbgEaaiaaibyeaaiaaibyfbygaaibyhbyibyjbykboAboAbylbymbynaaiaaaaaaaabbyobypbyqbypbyqbypbyraaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqebqebqebqebqebqebqebqebqebqebqebqebqebytbyubmVbmWblhblhblibljblhaaibyvbfKbfLbywbyxbyybyzbyAaQcaaqbyBbnjbwKbwLbnlaaqbyCbyDbnkbnkbyEbyFbyGbwUbwLbyHbyIbyJbtJblWbyKbyLbwZbyMbyNbyObyPbyQbyRbySabubxkacaaqqbyTbvBbyTbxkbyUaaiaaiaaibyVbyWbyXbyYbyZbzabzbacabzcblWbvJbsxbzdbzebzfbzgbzhaaqbzibzjbzkbzlbzmbznbzobzpbzqbzrbzsbztbzubzvbzwbzxbzybzzbzAbzBbzCaaibzDbzEbzFbzGaaibzHbzIbzJbzKbzKaaqbzLbzMbzNaaqbzObuDbzPbzQbzRbzSbzTbzUbzVbzWbzXbzYbzZbAabAbbAcbAdbAebAfbAgbAhbAibyibAjboAboAboAbAkbAlbAmaaiaaaaaaaabbAnbAobApbAqbAqbArbAnaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqebqebqebqebqebqebqebqebqebqebqebqebqeaaaaAublgbkpbkpbkpbAsbAtbAuaaibAvbixbAwbAxbAyamZbAzbAAaQcaaqbABbACbADbAEbAFbAGbAHbAIbAJbAJbAKbAGbALbAMbwLbANbAOaaqbAPblWbyKbyLbwZaaibAQbARbASbATbAUabnbAVbAWbAXbAYacabAZbBabAYbBbbBcbBdaaibBebBfbBgbBhbBibBibBjbBkbBlblWbBmaaiaaqbBnbgEbBobBpbkVbBqbBraaqbBsbBtbznbBuaaqbBqbBvbBwaaqaaqaaqannaaqaaqaaqbBxalnaaqaaiaaibByaaqaaqaaiaaiaaqaaJaaqaaqaaqaaqaaqaaqaaqbBzbBAbBBbBCbBDbBEbBFbBGbBGbBHbBIbBJbBKbBLbBMbBNbBObBPbBQbBRaaibBSbBTbBUboAboAboAbBVbAmbBWaaiaaaaaaaabbBXbBYbApbAqbApbBZbyqaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayuaaiaaiaaianBanDayuanBanDaaianBanDaaiaaibCaaeZaaibviaaqaaqaaqaaqaxUbCbamZamZbCcamZbCdbCebCfbCgbChbCibCjbnkbCkbnkbClbwSbCmbnkbwLbnkbCnbgEbtJblWbCobCpbCqaaibCrbCsbCtbCubCvabnbCwbCxbCybCzbCAbCBbCCbCDbCEbCFbCGaaibCHbCIbCJbCKbCLbCMbCNaaibCObCPbvJbCQbPTbCSbCTbCUbCVbCWbCXbzjbgEbCYbCZbDabDbbgEbBqbBvbBwbDcbDdbDebDfbDgbDhbDibDjbDkaaqbDlbDmbDnbDobDpbDqbQAbAabDsbBGbBGbDtbDubBGbDvbDwbDxbDybDzbBGbDAbDBbDCbDDaakbDEaaiabnaaiaaiaaibyeaaiaaibDFbDGaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaibAnbAqbApbAqbAqbDHbAnaaaaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIaaaaaabDJbDKbDLbDLbDLbDMbDNbDObDObDObDObDPbDObDObDQbDObDObDObDObDObDRbDSbDTbDOalnbDUbnkbnkbnkbClbDVbDWbDXbwLbDYbDZbEabtJblWbEbbEcbwZaaibEdbEebEfbARbEgabnbEhbEibEjaaibEkbElbEmacsbEnbEobEpaaibEqbErbEsbEtbCLbCMbCNaaibEubEvbEwbExbQObEzbEAbEBbECbEDbEEbEFaaqaaqbEGbEHaaqaaqbBqbBvbBwbgEbEIbEJbEJbEJbEKbEJbELbEMbENbEObEPbEQbEQbERbESbRmbEUbEVbzVbzVbEWbzVbEXbzVbEYbzVbEZbFabFabFbbFcbFdbFebFfbFgbFhbFibFjbFkaaibFlaaibFmbFnbFobFpbFqbFpbFpbFpbFpbFpbFqbFpbFpbFpbFpbFrbFsbFtbypbyqbFubyqbypbFvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgNbgNbgNbgNbgNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIaaaaaaaXGbFwbFxbFxbFxbFybFzbDObDObDObDObDObDObDObDQbDObDObDObDObDObDRbDSbDTbDOalnbFAbFBbFCbFDbFEbFFbFGbFHbFIbFJbFKbgEbtJblWbFLbFMaaqaaiaaiaaiaaiaaibshabnaaibFNabnacsabnbFOaaiaaiaaiaaiaaiaaiabnaaiaaiaaiaaiaaiaaiaaibFPblWbFQbkSaaqbFRbFSaaqbFMbBqbFTbFUbCVbFVbFWbFXbFYbFZbCXbGabGbbGcbGdbGebGebGebGfbGebGgbGhbGibGjbGkbGlbDnbGmaaiaaiaaiaaiaaiaaibGnaaiaaiaaiaaJbGoaaqaaqbGpbGqbGrbGsbFebGtbGubGvbGwbGxbGyaaibFlaaibFmbGzbGAbGBbGCbFpbFpbFpbFpbFpbFpbFpbFpbFpbFpbGDaaibGEbGFbGGbGHaaibGIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIbGJanCaAKbGKbGLbGLbGLbGMbGNbGLbFxbFxbFxbFxbFxbGObGPbFxbFxbGObFxbFxbFzbGQbGRbDOaxUamZamZbCcamZamZamZbGSbCiaaqbwNaaqaaqbtJblWbGTbGUbGVbGWbGXbGYbGZbHabHbbHcbHdbHebHfbHgbHhbHibHjbHkbHlbHmbHnbHmbHobHpbHqbkQbHrblWbHsbHtbHublWbHvaaqbHwbHxbHybHzbHAbBqbHBbHCbHDbHEbHFbHGbHHbHIbHJbHKbHLaaqbHMbHNbHObHPbHQbEJbHRbHSaaqbHTbDnbDnbDnbHUaaibHVbHWbHXbHYbHZbIabIbbIcaaibIdbIebIfaaqaaqbIgbGrbIhbIibIjbIkbIlbImbInbIoaaibIpaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaibIrbFrbIsbItbIubIvbIwbIxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMLaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIbIybIzbIybIAbIAbIAbIAbIBbICbIAbIAbIAbIAbIAbIAbIAbIDbIAbIAbIAbIAbIAbICbIEbIFbIAbIGbIHbIIbIJbIKbILbIMbINbIObIPbIQbIQaaqbtJbIRbISblWblWbvJbITbkQbHqbHpbIUbIVbIUbIWbIXbIXbIYbIZbJabIXbIXbJbbIXbJcbIXbHpbHqbkQbJdbJebJfbJgbJhbJiblWaaqbJjbHxbJkbJlbFSbBqbJmbJnbJobJpbJqbJrbJsbJtbBqbJubJvaaqaaqbJwbJxbJybJzbJAbJBbJCaaqbJDbJEbDnbJFbJGaaibHVbJHbJIbJJbJKbJLbJMbJNaaibJObJPbJQbJQaaqbJRbJSbJTbJUbJVbJWbInbJXbJYbJZaaibFlaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibKbbKcbKdbKdbKebKfbKgaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIbKhbKibKhbDKbDLbKjbKkbKlbKmbKkbKnbKnbKobKnbKnbKkbKpbKnbKnbKkbKnbKnbKqbKrbKsbKtabObKubKvbKwbKxbKwbKybKzbKAbKBbKCbKDaaqbtJbKEbKFbKGbKHbKIbKJbKKbKLbKMbKNbKObKPbKQbKRbKRbKSbKTbKTbKTbKTbKTbKTbKUbKVbKWbKXbKYbKZbLabLbbLcbLdblWbLeaaqbLfbHxbHybLgbFSbBqbJmbJnbLhbLibLjbLkbLlbLmbzqbLnbLoaaqbLpbLqbLraaqbLsaaqbLtavVaaqbLubLvbLwbLxbLyaaibHVbLzbLAbHYbLBbLCbLDbLEaaibLFbJPbJQbJQaaqbLGbLHbLIacsbLJbLKbLLbLMbLNbLOaaibFlaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaibLPaaibFsaaiaaibFsaaiaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIbGJanCaZLbLQbFxbFzbFxbLRbLSbLTbLTbLTbLUbLTbLTbLTbLVbLTbLTbSnbLTbLTbLXbLYbLZbLTbMabMbbMcbMdbMebMdbMfbMgbMhbMibMjbMkaaqbMlaaqbMmaaqaaqbMnbMobMnaaqaaqaaqbMpezBbMraaqaaqbMsbHpbHpbMtaaqaaqaaqannbMuaaqaaqaaqbMvbMwaaqbMxaaqbMyannaaqbMzbMAbMBaaqbMCbBqbJmbMDaaibMEbMFbMGbMHaaibzibJubMIaaqbMJbMKbMLbMMbMNbMOabObMPbMQbMRbMSbMTbMUbMVaaiaaiaaiaaiaaiaaiaaiaaiaaiaaibMWbMXbMYbMYaaqbMZbNabNbaaiaaiaaiaaiaaiaaiaaiaaibFlaaiaaaaEuaEuaEuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaabezUezTezTezVaaqaaqaaiaaiaaiaaiezWaabaabaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIbKhbKibKhbNibGLbGNbGLbNjbNkbNlbNmbNmbNnbNmbNmbNobNpbNmbNmbNqbNmbNmbNmbNmbNrbNsacdbNtbNubNvbNwbNvbNxbNybNzbNAbNBbKDaaqaaqaaqbNCacdbNDbNEbNFbNGbNHaaqbNIbNJbNKbNLbSoaaqbNNbNObNPaaqbNQbNRbNSbNTbNUbNVbNWbNXbNYbNZbOabObbOcbOdbOeacdbOfbOgbOhbOibOjbOkbOlbJnbOmbOnbTFbOpbOqbOrbzqbOsbOtbOubOvbOwbOwbOxbOybOzaaqbOAbOBbOCbODbOEbOFbOGaaibOHbOIbOJaaibOKbOLbOMbONaaibOObOPbOQbOQaaqbORbOSbGsaaibOTbOUbOVbOWbOWbOVbOWbOXaaiaaaaEubOYaEuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabcpWbPabPbbPaaaqaaiaaibPcbPdbPcbNgaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIbPebPfbPebPgbPgbPhbPgbPgbPibPgbPgbPgbPjbPgbPgbPgbPkbPgbPgbPlbPgbPgbPgbPgbPgbPgbPmbPnbPobMibMibMibMibMibPpbPqbPrbPsbCianeaaqbPtaaqbPubPvbPvbPvbPuaaqbPwbPxbPxbPxbPybPzbPAbPBbPCacdbPDbPEbPFbPGbPHbPIaaqaaqbPJaaqbzEbPKbzEbPLbPMaaqbPNbHybJkbJlbPObPPbPQbPRacsbPSbXFbPUbPVaaibPWbPXbPYbPZbQabQbbQcbQdbQebQfaaqaaqaaqaaqaaqaaJaBcanjaaibQgbQhbQhbQibONbQjbQkbQlaaibQmbJPbQnbQnaaqbGqbQobGsaaiaaibQpaaiaaiaaiaaiaaiaaiaaiaaiaaibQqaaiaaiaaiaaiaaiaaiaaiaaiaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacbQrbPabPabQsaaiaaibPcbPcbQtbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIbGJanCaDlbDKbDLbQubDLbQvbQwbQxbFxbFxbQybFxbFxbDLbQzbFxbFxbYObFxbFxbFxbFxbFxbDOaaqbQBbQCbQDbQEbQFbQGbQHbQIbQJbQKbQLbQMbCiaaqbPtaaqbPubPvbQNbPvbPuaaqcadbPxbQPbPxbPwaaqbQQbQRbQSaaqbQTbQUbQVbQWbQXbQYabObQZbRaabObRbbRcbRdbPLbReaaqbRfbHybHybRgbPObPPbRhbRibRjbOnbRkbRlcaTbRnbRobRpbRqaaqbRrbRsbRtbRubRvbRwaaqbRxbRybRzaaqbRAbRBbRCaaibQhbQhbQhbRDbONbREbONbRFaaibRGbJPbRHbRHaaqbRIbRJbGsaaibRKbRLbRMacsbRNbRObRPbRQbRRbRSbRTbRUbRVbTebRYbSabRZbThbSbaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaezXaaibQraaiaaibPcbPcbPcbPcbPcbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIaaaaaiaaiaaqayAbSdayBbwNbSeaaqaaqayAbSfayBaaqaaqbSgaaqaaqaaqaaqbwNaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqbShaaqaaqaaqbSibSjbSkbSlaaqbPubSmbPvbPvcbXaaqcmkbSpbPxbSqbSrabObSsbStbSuaaqaaqaaqaaqaaqbSvaaqaaqbSwbSxaaqaaqaaJaaqannaaqaaqbSybSzbSzaaqaaqbSAbSBbMwbSCbSDbSEbSFbSGbSHaaqbSIbSJaaqaaqaBcacdaOJaaqaaqaaqbSKbSLbSMaaqbSNbSObSPaaibQhbQhbQhbSQbONbQjbSRbSSacsbSTbSUbSVbSVacdbSWbSXbLIbSYbSZbTabTbbTcbTdbTebTebTfbTgbTebTmbTebTnbTibRXbTjbTkbTlbTpacaezGbTobVcazcaabaabaabaabaabaabaabaabaabaabaabaabaabaaqaaibTqbTrbTrbPcbPcbPcbPcbPcbPcbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIbDIbDIaaaaaibTsbTtbTubTvbTwbTxbTybTzaaibTAbTBbTCbTDbTEcodbTGbTHbTIbTHbTHbTHbTHbTHbTHbTHbTHbTHbTHbTHbTHbTHbTHbTJbTHbTHbTHbTKbTLbTMbTNaaqbTObTPbTQbTRbTSabObTTbTUbTVbTWbTXaaqbTYbTZbUabUbbUcbUcbUcbUcbUdbUebUfbUgbUgbUhbUhbUibUjbPLaaqaaqbUkbUlbUmbUnbUobPPbUpbMwbUqbUrbUsbUtbJsbUubUsbUvbUwbUxbUybUzbUAbUBbUCbUDaaqbUEbUFbUGaaqbUHbUIbUJaaibUKbQhbQhaaibULbUMbUNaaiaaqbUObUPbIfaaqaaqbUQbQobURaaibUSbUTbUUaaibUVbRWbRWbUWbUXbUYbWxbRWbVabVbbRWbRWbWzcbhbWybYfbWAbZDbVdazyaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaiaaibVebPcbPcbPcbPcbPcbPcbPcbPcbPcbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabDIbDIbDIbDIbDIaaaaaaaaibVfbVgbVgbVhbVgbVgbVibVjaaibVkbVlbVmbVlbVlcoeaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaqbVoaaqaaqbVpaaqbVqbVrbVsbVtbVuaaqbVvbVwbVxbVybVzaMnbVAbVBbVCabOacaacaacaacaezCatNbySacdbVDacdacdbVEbOabVFbVGbVHbVIbVJbVKbVLbVMbVNbVObVPbVQbVRbVSbVTbVUbVVbVWbVXbVYbVZbWabWbbWcbWdbWbbWeaaqbWfbWgbWfaaqbWhbWibWjaaibWkbQhbQhbWlbWmbWnbWobWpaaqaaqbWqaaqaaqbWrbWsbQobrzaaiaaibWtaaiaaibWubWvbWvbWwcctbRWccubWyccvbWybWybWyccwbRUbRWaaibWBbWCbWDaDgaabaabaabaabaabaabaabaabaabaabaabaabaabaaibPcbPcbPcbPcbPcbPcbWEbPcbWFbPcbPcbPcbPcbPcaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWGbWHbWIbWHbWJaaaaaaaaaaaibWKbVgbVgbVhbVgbVgbVibWLaaibVkbWMbWNbWObWNcoeaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibWPbWQbWRaaqbWSaaqbWTbWUbWVbWWbWXaaqbWYbWZbXabXbbXcaMobXdbXebXfaaiaaibXgbXhbXibXjbXkabnbXlbzEbXmaaqbXnbzEbzEbXoacdbXpbXqbVKbVLbXrbXsbXtbXubXvbXwbXxbXybXzbXwbXAbXBbXCbMCbXDbXEbXHbXGbWbbXIbXJbXKbXLbXMbXNbXObXPbXQaaibXRbXSbXTbXUbXVbXWbXXbXYbXZbYabYbbrzbYcbrzbWsbQobrzaaibOTbYdbYeaaiaaiaaqaaqaaqcdRbRWcdSbRWbRWbYgbYhbYibYjbYkbYlaaibYmbYobYnaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaibYpbYpbYpbYpbYpbYpbYqbPcbYrbYpbWFbPcbPcbPcbPcaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabysbysbysbysbysaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYsbYtbYubYvbYsbcxanCaZLaaibYwbYxbVgbVhbVgbVgbVibYyaaibVkbYzbWNbWNbWNcoeaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibYAbYBbYCaaqbWSaaiaaiaaiaaiaaiaaiaaqaaqaaqaaqaaqaaqaaqbYDbYEbYFbYGbYHbYIbYJbYJbYKbYLabnbzEbzEbYMaaqbYNbzEbzEbzEcCwbYPbYQbVJbYRbUsbYSbYTbYUbYVbYWbJmbYVbYXbYYbYZaaqbZaaaqaaqaaqaaibZbcbbbZcbZdbZebZfbZgbZhbZibZjbZkaaibZlbZmbZmbZnbQhbZobZpbZqbZrbZsbZtbZubrzbZvbWsbQobZwaaibOTbZxbZybZzaaibZAbZBbZCbRWbRWbZEbRWbRWbZFbZGbZHbZIbZJbZKaaibZLezHbZMbZNaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZObPabPabPabPabPabPabPabZPbPdbPcbPcbPcbPcbZQbPdaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWIbZRbZSbZRbWIbZTbZUbZVaaibZWbVgbVgbZXbVgbZYbZZcaaaaicabbVlcacbWNbWNcCxaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaibWSaaiaaaaaaaaaaaaaaicaecafcagcahcaicajaaqcakcalcamcancaocapcaqcaqcarcasabnaaiaaiaaiafacataaibzEbzEaaqcaucavcawcaxcaycazcaAcaBcaCcaDcaEcaFcaGcaHcaIanicaJcaKcaLcaMacscaNcaOcaPcaQcaRcaScaRaaqaaqecMcaUaaicaVcaWcaXcaYcaZcbaezAaaiaaiaaiabnaaiaaiaaicbccbdcbeaaibOTbZxcbfbZzaaicbgbRWbRWbRWbYgcbicbjcbkaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaibTrbTrbTrbTrbTrbTrcblbPcbTqbTrcbmbPcbPcbPcbPcaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYsbZRbZRbZRcbncbocbpcbqcbrcbsbVgbVgbVgbVgbVgbVgcbtaaicbubVlcbvbWNbWNbVnaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbwaaaaabaabaaiaaiaaiaaiaaiaaiaaiaaiaaqbVpazcaaacbxcbycbzcbAcbBcajcbCcbDcbEcbFacdcbGcbHcbIcbJcbKbYJcbLcbMcbNcbOabncbPcbQcbRcbScbTaaibzEbzEaaqaaqaaqaaqaaJaaqcbUcbUcbVaaqaaqannaaqaNHcbWecPcbYcbZccaccbcccacaccdcceccfaaiccgcchcciaaqccjcckbPLaaiaaiaaiabncclaaiccmbyUaaiccnccoccpbzEccqaaiabnccraeZaaibOTbZxccsbOTaaicdUcdTcdVbYgccxccycbjcczaaiaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaibPcbPcbPcbPcbPcbPcbWEbPccbmbPcbPcbPcbPcbPcaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWIbZSbZSbZSbWIccAccBccCacaccDccEccFccFccFccFccEccGaaibVkccHccIbWNbWNbVnaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccJccKccKccKccLccMccNccOccPccQccRaaqccSbVpazyaaaccTccUccVccWccXcajccYccZcdacdbaaqcdcbXebStcancddbYJbYJbYJcdecdfcdgcdhcdicbPcdicdjaaibzEbzEaaqcdkcdlcdmcdncdocdpcdpcdqcdrcdscdtcducdvacdcdwaCacdxcdycdycdzaaicdAcdBcdCacacdDcdEcdFabOcdGcdHcdIcdJcdJcdJcdKcdLcdMcdNcdOcdMcdMcdMcdPcdMcdMcdQcdWcdYcdXcrnbOWcsDcrSbOTaaicdZceacebceccdZcedceecefaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaiaaibVebPcbPcbPcbPcbPcbPcbPcbPcbPcbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYscegcehceibYsaGWanCaZLaaiaaiaaianBanCanCanDaaiaaiaaicejcekbWNbWNcelcemaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiavbcenceocepceqceqceraaqcesbWSazyaaaccTcetceucevcewcexceycezcewcewceAceBceCceDacsacsceEceFbYJceGceHceIcbPcbSceJcbQceKaaibzEbzEaaqceLceMceNceOcePceQceQceRceSceTceUceVceWaaqceXabtceYceZcfacfbaaicfccfdcfeaaicffcfgcfhaaqbzFcficfjcfjcfjcfjcfjcfjcfkcflcfmcfnacaacacfocfpacaacacfqcfrcfsabOcftcfucfvbOTaaicfwbRWbYgcfxcfycfxcfzcfAaaiaEuaEuaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaqaaibYrbYpbYpbPcbPcbPcbPcbPcbPcbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfBbWHcfCbWHcfDcfEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicfFaWhaQsaGXaaiaaiaaiaaaaaaaaaaaaaaaaaaaagaaaaaaaaacfGcfHcfIcfJcfKcfLcfMcfNcfOcfOcfPaaqbWRbVpazyaaaccTcfQcfRafacfScajcfTcfUcfVcfWaaqcdcbXebXfcfXaaicfYaaqcfZcgacgbcgccgdcbPcbPcgecgfaaibzEcggaaqceLcghcgicgjcgjcgjcgkcglcgjcgjcgmcgiceWaaicgnaaqcgocgpcgqcgraaicgscgtcguaaiaaqaaqaaqaaqcgvbzEcggaaiaaiaaiaaiaaianBanCanDaaiaaiaabaaaaaaaaaaaicgwcgxallaaiaaiaaicgyaamaaibUYcbjcgzcgAcgBcgCcgDcfycgEcgFaEuaaaaaaaaaaaaaaaaabaaaaaaaaaaaqaaqaaqaabaaaaaaaabaaaaaaaabaaaaaaezXaaibQraaiaaibPcbPcbPcbPcbPcbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgGaDgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfGcgHcgIcgJcgKcepcgLcepcgMcepcgNcgOcgPcgQaDgaaacgRcbycgScbAcgTcajcajcgUcgVcgWabOcgXcgYcgZchaaaibYJchbchcchdcheabnchfchgchhchichjaaibzEbzEaaqaaqaaJchkchlchmchnaaqchochpchqchrbMwaaJaaicgnaaqaaqaaqaaqaaqaaichschtchuaaibzEbzEbzEbzEbzEbzEbzEaaiaabaaaaaaaabaaaaabaaaaaaaaaaabaaaaaaaaaazcchvchwchxaaiaaichychzchAaaibUYchBchCchDchEchFchGbRWaaiaEuaEuaaachHchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchIchJchKchLchLchMaaiaaibPcbPcchNbPcbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOaaaaaaaaachOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachPchPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfGchQchRchSchTchUchVchWchXchYchZaaqbWRciaaaiaaaaaaaaaaaaaaicibciccidciecifcigaaqcihbXebStciicijcikcilcikcikcikcimcinbYJbYJciocipaaibzEbzEaaqciqcirciscitciucivaaqciucivcitciwcixciyaaicizciAciAciAciBciCaaiaaiaaiaaiaaibzEaaiaaiaaianBanCanDaaiaabaaiaaiaaiaaiaaiaabaabaabciDaabaabaabazyciEciFciGaaiaaiciHciIciJaaiaaiaaiciKciLanCciLciMaaiaaiaaaaaaaaaciNaaaaaaaaaaabaaaaaaaaaaaqaaqaaqaabaaaaaaaabaaaaaaaabaabaabezYciPciQbQsaaqaaiaaibPcbPdbPcaaiaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaciRbosbosbosbosbosbosbosbosbosbosbosbosciSaaiaaqaaqaaqaaqaaqaaqciTciUaaiaaiaaiaaiaaiaaiaaqaaqaaqaaqaaqaaqaaqciVbXebStciWciXciYciZcjacjbcjccjdcjecjfcjgcjhcjiaaibzEbzEaaqcjjcjkciscitcitcjlaaqcjmcitcitciwciscjnaaqaaqaaqaaqaaqcjocgncjoaaibzEbzEbzEbzEaaiaabaabaaaaaaaaaaaaaabaaicjpcjqcjraaiaaaaaaaaaaabaaaaaaaaaaDgcjscjtcjuaaiaaicjvcjwcjxaaiaaaaaacjycjycjzcjycjyaaaaaaaaaaaaaaaciNaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabezZezTezTezVaaqaaqaaiaaiaaiaaiezWaabaabaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOaaachOaaaaaachOchOchOchOchOchOchOaaaaaachOaaachOaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjBcjCcjDcjEcjEcjFcjEcjGcjHcjIcjJcjKcjLcjMcjNcjNcjOcjPcjQcjQcjQcjRcjScjTcjUcjVcjUcjUcjUcjTcjUcjUcjUcjWcjXcjYbXebStcjZckackbaeZaaicgcacsatRckcckdacsasScataaibzEbzEaaqckeckfckgckhcitckiaaqckjcitckkcklckgckmaaqbzEbzEbzEckncjocgncjocknbzEbzEbzEbzEaaiaabbcxaQsaQsaQsaQsaDlaaiciEciEckobxkacaacaacaacaacaacaaqqcaQaaickpaeZcaQckqaTackrbcxaGXaaackscktckuckvckucktcksaaachHchIchIckwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOaaachOchOchOchOchOchOchOchOchOaaachOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjBckxckyckzckyckAckyckxckyckBckzckyckCckDbSuckDckDckEbSubSubSubSuckFckDckDckDckDckDckDckDckDckDckDckGckHckIckJckKckLckMckNckOaaickPckQckRckSckTckUckVckWacacfjckXabOckYckZclaclbcitclcaaqclccitclbcldciscleaaiclfacaacaclgclhcgnclicaQckqanCanCaZLaaiaaaazycljclkclkclkcllclmciEciEciEclncloclpciEcloclqclrbAYaqqclscltcluaaiaabazyclvazyaabaaacksclwclxclyclxclwcksaaaciNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOaaachOchOchOchOchOchOchOchOchOaaachOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjBckyckyclzclAclBclAclCclDclEclFclGclHckHclIclJclJclKabOclLabOclMclNclMclMclMclMclMclMclMclMclMclMclOckDclPclQclRclSclTclUclVclWclXclYceFclZcmacmbcmccmdacsbOacmeaOJcmfcitciscitcitcmgacdcmhcitcitciwciscmiaaqcmjaaiaaaaeZaaiecQaaiaaiaaaaaaaaaaabaabaaaazyciEcmlcmmcmmcmncmocmpcmpcmqcmracsatRacsacsacscmsaaiaeZcmtcmucmvaaiaabaDgcmwaDgaabaaackscmxcmycmzcmAcmxcksaaaciNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOaaachOchOchOchOchOchOchOchOchOaaachOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicmBaaqaaqcmCaaqcmDaaqaaqcmEanDaaqaaqanBanCanDaaqaaqaaqaaqcmFcmGcmHcmIcmJcmKcmLcaqcmMcaqcaqcmNcaqcmOcmPcmQcmRcmScmTbzEcmjanncmUcmVcmWcmXcmYcmZaaqcnacmYcnbciwcnccndaaicmjaaiaaaaeZcnecnfcngaaiaaaaaaaaaaaaaabaabazyciEcnhcnicnicnjcnkciEciEcnlaeZcnmcnncnocnpcnqcnrcnsaaJcntcnucnvacscnwaaacnxaaaaaaaaackscnycnzcnzcnzcnAcksaaaciNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeJaeJaeJaeKaeKaeJaeKaeKaeKafiaeKaeKaeKaeJaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazccnBcnCcnDcnEcnFcnGcnHcnIcnJcnKcnLcnMcnKcnNcnOcnPcnPcnQaaqcnRcnScnTcnUbStcnVcnWcnXbYKbYJcbLbYJchbcnYcnZcoacobcocaaiaaicmjannaaiaaiecRaaiaaiabnbxkacaacaacaecSacabAYacacofaaiaaacogcohcoicojazcaaaaaaaaaaaaaaaaabazycokcolcolcolcolcolcomcloezIbyUcoocopcoocoqcorcoscotbLtcoucovaaJaaiaaiaaacowaaaaabaaackscksckscoxcksckscksaaaciNaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeJaaaaaaaabaabaaaaabaabaaaaaaaabaabaabaaaaeJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazycnBcoycozcoAcoBcoCcoCcoCcoCcoDcoEcoFcnPcoGcnPcnPcoHcnPcoIbSucoJcoKcnUbStcoLaaqcoMbYKcoNecTcoPbYKcoQcoRcoScoTcoUcoVcoWcoXcoYcoZcoZcpabQZcfjcpbcpcbzEcpdbOacpebzEbzEbUjbzEaaiaaacpfcohcoicojazyaaaaaaaaaaaaaabaabaGWaQsaQsaQsaQsaQsaQsaQsaQsaDlaaicoocoocoocpgcphcpicpjcpkcplcpmcpncpoaaiaaacowaabaabaaaaaaaaaaeJaaaaeJaaaaaaaaaciNaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeJaaacppcpqcpraaacppcpqcpraaacppcpqcpraabcpsaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazycnBcoycptcnPcoHcpucnPcnPcnPcnPcnPcptcptcnPcnPcnPcnPcpvcpwbSucpxckDcpycpzaaqaaqcpAbYKcpBcpCcpDbYKcpEckTcpFcpGcpHcpIcpJcpdbVFcpKcpKcmebOabOabVFcpLbOaabuanBanCanCanCanDaaiaaiaaacpMcohcoicojaDgaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaiaaqaaqaaqaaqcpNciEcpOcpPcpQcpRcpScpTaaiaaacowaaaaabaabaaaaaaaeJaeJaeJaaaaaaaaaciNaaaaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaeJaaacppcpVcpraaacppcpVcpraaacppcpVcpraabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabazycnBcpWcptcpXcnPcpYcpZcqacqacoGcnPcptcqbcnPcnPcnPcnPcqccqdcjXcqebQRcqfcqgcqhcqicqjbYKcpBcoOcqkbYKcqlckTaaiatQacscqmcqnabuaaiabnabnaeZaaiaaiaaiaeZaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaeZcqocqpcqqaaiaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaicnmcnncnocqrcqscpicqtcqucqvcqwciEcqxaaiaaacqycqzcqzcqzcqzcqzcqzcqzcqzcqzcqzcqzcqAaaaaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaagaaaaaaaaaaeKaabcppcpVcpraaacppcpVcpraabcppcpVcpraabaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaDgcnBaaqcqBcnPcqCcqDcqEcqFcqGcqFcqHcqFcqIcqJcnKcqKcptcptcpwcqLcqMcqNcqOcqPcqQcqRcqScqTcqUcqVcqWcqXcqYckTcqZcracrbcrccrdcrecrfcrgcrhcricrjcrkcrlcrmcsRaabaaaaaaaaaaaaaaaaaaaaaaaaaeZaaicroaaicaQaaaaabaabaaaaaaaaaaaaaaianBanCanDaaiaabaabaaaaaaaaicoocoocoocrpcorciEcrqcrrcrscrtciEcruaaiaaiaaiaaiaaaaaacrvcrvcrvcrwaabaabaabaabcrxaabaabaabaabaabaficrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaabaaacppcpVcpraabcppcpVcpraaacppcpVcpraaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabaabaaaaaaaaicryaaqcrzcrAcrAcrBaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqcrCaaqaaJaaqaaicrDcrEcrFcrGcrHcrIcrJcrKckTcrLcracrbcrmcrdcrMcrNcrOcrPcmRcrQcmRcrRcoSctSaabcrTcrTcrTcrTcrTaaaaaaaaaaeZcrUcrVcrWaaiaaiaaicrXanBanCanCanDaaicrYcrZcsaaaiaaiaaicaQaaaaaicoocoocoocqrcsbcpicsccsdcsecsfclrclrcsgcshcsiaaiaaaaaacrvaaaaabaaaaabaaaaaaaaacsjaaaaabaabaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaeJaeJaeKaabaaacppcpVcpraabcppcpVcpraaacppcpVcpraabaaaaaaaaaaaaaaaaaaaaaaaaaabcskaaiaaiaaiaaiaaiaaicnBaaqcslcsmcsmcsnabOcsocspcspcspcspcspcspcsqcspcspcsrcsrcspcsscstcsucsvaaicswcsxcsycszcsAcsBbYJcsCcvqcsEcsFcsGcsHcsIcsJcrNcsKcsLcsMcsNcsOcsPcsQcwwcsScsTcsUcsVcsWcrTaaaaaaaaaaeZcsXcsYcsZaaqctactbctcctdctectfctgaaicthcsYctiacactjctkaaiaaaaaiaaqaaqaaqaaqctlciEcrqctmctnctociEciEctpciEctqaaiaaaaaacrvaaactrctrctrctrctraabctsaabctrctrctrctrctraaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOaaachOchOchOchOchOchOchOchOchOaaachOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaeJaaaaabaaaaabaabcttaabaabaabcttaabaaaaabcttaabaaaaaaaaaaaaaaaaaaaaaaaactuctvctwctxctyctzctActBctCctDaaqaaqctEctFaaqaaqbWSaaiaaiaaiaaiaaiaaiaeZaaiaaiaaiaaiaaiabnaeZaaiaaiccWctGcsxctHbYJbYJbYJbYJctIckTctJctKcmRctLctMcsJctNcsKcsLctOctPctPctQctRcxGaabctTctUcsWctVcrTaaaaaaaaaccmctWcsYctXaaqctYctZcuacubcuccubcubayAayBcudcueacscufcugaaiaaaaaicnmcnncnocuhcqscpicuicujcukculculcumcuncuocupaaiaabaabcrvaabcuqcurcurcurcurcuscutcuucuvcuvcuvcuvcuwaabcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOaaaaaachOchOchOchOchOchOchOchOchOaaaaaachOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaeKaabcuxcuycuycuzcuAcuBcuBcuBcuAcuBcuBcuBcuAcuBcuBcuCcuycuycuycuycuycuDcuEcuFcuGcuHcuIcuJcuKcuLbWRcnBcuMaaqaaqaaqaaqbWRbWSaaicuNcuOcuPcuQcuRcuScuTcuUcuVcuWcuXcuYcuZcvacvbbxactGcvcctHbYJbYJbYJbYJcvdckTcvecvfcmRcmScvgcvhcvicvjcvkcvlcvmcvncvocvpcyrcvrcsTcvscsWcsWcrTaaaaaaaaaaeZaaqcvtaaqaaqcvucvvcvwcvxcvxcvycvxcvzcvAcvBcvCcvDcvEcvFaaiaaaaaicoocopcoocvGcorciEciFcujcvHcvIciEcvJaaqaaqaaqaaiaaaaaacrvaabcvKcvKcvKcvKcvKaaactsaaacvKcvKcvKcvKcvKaabcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaeJaaaaabaaaaabaabcvLaabaaaaabcvLaabaaaaabcvLaabaaaaaaaaaaaaaaaaaaaaaaaactuctvcvMcvNcvOcvPaaicvQbWRcvRctCctCctCctCctCctCcvSaaicvTcvUcvVcvWcvXcvYcvZcvWcwacwbcwccwdcwecwfcwgcwhcwicqjctHcwjcwkbYJbYJcwlckTcwmcwncmRcmScvgcwocwpcwqcwrcwscwtcwucwvcwuczKaabcrTcrTcrTcrTcrTaaaaaaaaaaeZcwxcwycwzcwAcwBcwCcvEcwDcubcwEcubcubcwFcwBcwGcwHaeZcwIaaiaaaaaicoocoocoocuhcwJcwKcwLcwMcwNciEciEcwOciEcwPcwQazcaaaaaacrvaaaaabaaaaabaabaabaaactsaaaaabaaaaabaaaaabaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaeJaeJaeKaabaabcppcwRcpraaacppcwRcpraaacppcwRcpraabaaaaaaaaaaaaaaaaaaaaaaabaabcwSaaiaaiaaiaaiaaicwTcwUbWRcwVbWRbWRbWRcwWbVpaaicwXcvVcvVcvWcwYcwZcxacxbcxccxdcxecxfcxgcxhcxicxjcxkcxlcxmcxncxocxpcxqcxrcxscxtcxucxvcxwcxxcxycxzcxAcxBcxCcxDcsMcxEcxFcAMcsScsTcxHcxIcxIcrTaaaaaaaaaaeZcxJcxKcxLcaQcxMcsYcuacubcubcsYcubcubcxNayBcxObgEaeZaaiaaiaaacaQaaibombosboscxPcxQcxRcxScxTcxUcxVcxWcxXcpicxYaDgaaaaaacrvaaactrctrctrctrctraabctsaabctrctrctrctrctraabcrvaaaaaaaaaaaaaaaaaaaaacxZaaaaaaaaacxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachOchOchOchOchOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaaaaaacppcwRcpraabcppcwRcpraaacppcwRcpraaaaaaaaaaabaaaaaaaaaaaaaabaabaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicyaboscybcvVcvVcvWcyccydcyecyfcygaaicyhcyicyjcykcylaaicymbYJctHcyncyocypbYJcyqcGkcoScyscytcyucyvcywcyxcyycyzcyAcmRcyBcyCcyDcxGaabcyEcyFcyGcyHcrTaaaaaaaaaaeZcyIcyJcyKacscyLcugcyMcubcrYcugcubcubcyNcyOcwCcubaeZaaaaaaaaaaaaaaacyPaaaaaicyQcyRcyScyTcyUcyVcyWcyXcyUcyVcyYaaiaabaabcrvaabcuqcurcurcurcurcuscutcuucuvcuvcuvcuvcyZaabcrvaaaaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMLaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaeKaabcppcwRcpraaacppcwRcpraaacppcwRcpraabaaaaaaaaaaaaaaaaaaaaaaabaabaaiczaczbczbczcczbczbczbczdczeczfczbczgczhcziczjczkczkczkczlczmcznczoczpcvVaaiczqczrczscztczubosamZczvciSczwczxczyaaiaaiczzczAczBczCcmScvgczDczEczFczGczHcmRcyBczIczJcGXcvrcsTczLcxIcxIcrTaabaaaaaaaeZczMczNczOaaiczPczQczRczSczTczUcubczVczWcubczXczYaeZaaaaaaaaaaaaaaaczZaabaaicAacAbcAcaaqcAdcAecAfaaqcAgcAhcAiaaiaaaaaacrvaabcvKcvKcvKcvKcvKaaactsaabcvKcvKcvKcvKcvKaaacrvaaacxZaaacxZaaaaaacxZcxZcxZcxZcxZcxZcxZaaaaaacxZaaacxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaeKaabcppcwRcpraaacppcwRcpraabcppcwRcpraabaabaabaaaaaaaaaaaaaabaabaaaaaicAjcAkcAlaaicAmcAncAocAocAocApcAocAocAocAqacscArcAscAtcAucAucAvcAwcAucAucAucAxcAycvVcvVcvVcAzcAAcABaaqcACcADcAEcAFaaiaaiaaiaaicAGcmScvgcsKcAHcAIcAJcAKcmRcyBcyCcALcGYcANcrTcrTcrTcrTcrTaaaaaaaaacAOcAPcAQcARacaacaacabAYacacAPcAQcAQcARauccAPcAScARcATaabaabaabaaaaaaaaaaaaaaicAUcoocooaaqcAVcoocooaaqcAVcoocooaaiaaaaaacrwaaaaabaaaaabaaaaabaaacAWaaaaabaaaaabaabaabaabcrvaaacxZcxZcxZaaacxZcxZcxZcxZcxZcxZcxZcxZcxZaaacxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaafiaabcppcAXcpraaacppcAXcpraaacppcAXcpraabaeKaabaabaaaaaaaaaaabaaaaaaaaicAYcAkcAZaaiaaicBaaaiaaiaaicBbaaiaaiaaiaaiaaiaaiaaiaaicBccBdcBecBfczmczmczmcBgcBhcBicBjczmczmcBhcBkcBlcBmcADcBncBoaaicBpcBqacscBrcBscBtcBucBvczFcwncBwcBxcBycBzcBAcAMcBBcsTcBCcBDcBEcrTaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaabaabaaaaaacBFaaccBGcnwaaaaaaaaaaaaaaaaaaaaaaaaaaicBHcoocooaaqcBIcoocooaaqcBIcoocooaaiaaaaaacrvaaactrctrctrctrctraabcrxaabctrctrctrctrctraabcrvaaacxZcxZcxZaaacxZcxZcxZcxZcxZcxZcxZcxZcxZaaacxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaeKaaaaabaaaaaaaaaaabaabaabaaaaaaaabaabaaaaeKaabaabaaaaaaaaaaaaaaaaaaaaicBJcAkcAZaaicBKcBLcBMaaicBNcBOcBPcBQaaicBRcBScBTcBUaaicBVcvVcBWcvWcvVcvVcBXcBYcBZcCacCbcCccCdcCeafacCfcBmcADcCgcChaaiaaicCiaaicCjcCkcmRcBucBvcClcwncBwcBxcyBcyCcCmcxGcCnctTcCocCpcCqcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicoocoocooaaqcCrcoocooaaqcCrcoocooaaiaabaabcrvaabcuqcurcurcurcurcqzcCscqzcuvcuvcuvcuvcyZaabcrvaaacxZcxZcxZaaacxZcxZcxZcxZcxZcxZcxZcxZcxZaaacxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaeJaeJaeKaeJaeJafiaeKaeKaeKaeKaeJaeKaeKaeJcCtaabaaaaaaaaaaaaaaaaaaaaaaaicAmcCucCvczccAZecWecUaaicCycCzcCAaaiaaicCBcCBcCCcCCcCDcvWcvVcBWcvWcvVcCEcCFacscCGcCHcCIcCJcCKatRcCLcBWcvWcCMcCNaaqcCOaaiabnaaicCPcCQcmRcBucBvczFcwncCRcBxcyBcCScCTcGXcCUcsTcCVcBDcBDcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaQaaiaaiaaiaaiaaiaaiaaiaaicCWcCWcCWcaQaaaaaacrvaabcvKcvKcvKcvKcvKaaacrxaaacvKcvKcvKcvKcvKaaacrvaaacxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBYaaiaaiaaiaaiaaiaaicCXaaiaaiaaiaaiaaiaaicBYaaicCYcCYcCCcCCcCDcCZcDacDbcDccDdcDecDecDfcDgcDhcDicDjcDkcDfcDlcDmcDncvVcvVcvVcDocDpcCiaaicDqcDrcmRcBucmRcDscmRcDtcBxcyBcyCcDucxGcCncrTcrTcrTcrTcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDvcDvcDvaaaaaaaaacrvaaaaaaaabaabaabaaaaaacrxaabaaaaaaaabaabaaaaaacrvaaacxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUcpUcpUaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicDwcDxcDycDzcDAcDBcDCcDDcDEcDFcDGcDHcDHaaiaaicDIcDJcCCcDKaaicDLcDMcDNcDOcDPcDQcDRaaicDScDTcDUcvVcDVaaicDWcDXcDYcDZcEacEbcEcaaicCiaaicEdcEecmRcBucmRcsKcAHcEfcEgcBycEhcEicAMcEjcsTcEkcElcElcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvaaaaaaaaacrxaaaaaaaaacrvcrvcrvcrwcrvaaacxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacpUcpUcpUcpUcpUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaicEmcEncEocEpcEpcEqcErcEscEtcEtcEucEvcEwaaiaaicExcExcEycDKaaicEzcEAaaicEBcECcECcECaaicEDcEEcEFcEGcDoaaicECcECcECcEBaaicEHcEIaaicCiaaicEJcEKcELcEMcENcvjcEOcEPcsMcvlcyCcEQcxGcCncyEcERcEScETcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaabcEUaabcrvaaaaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVaaaaaaaaacEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicEWcEXcEYcEZcEZcDCcDGcDGcEZcEZcEZcEvcFaaaiaaicExcExcDKcDKaaicFbcFcaaicFdcFecFfcFgaEQcFhcFicFjcFkcDoaEQcFecFecFecFlcFmcFncFoaaicCicFpcFqcFrcFscEOcoScFtcoTcFucFvcrlcFwcFxcGXcCUcsTcFycElcElcrTaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaabaaacrvaaaaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicFzcEXcDGcDGcDGcFAcDGcDGcDGcDGcFBcFCcFaaaiaaiaaiaaiaaiaaiaaicBpcFDaaiaaickqanCcFEcFFcFGcDOcFHcDOcFIcFJcFEanCaGXaaiaaicFKcFLaaicCiaaicFMcFNcFscFOcmRcmRcmRcrRcyxcFOcyCcFPcxGcCncrTcrTcrTcrTcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaacrvcrvcrvcrvcrvaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVaaacEVaaaaaacEVcEVcEVcEVcEVcEVcEVaaaaaacEVaaacEVaaaaaaaaaaaaaaaaaaaaaaaicDGcEmcFRcFRcFScFTcFUcDGcDGcDGcEvcFVcFWaaiaaaaabaaaaabaacaaiaaicFXaaicFYcFZcFZaGWaDkanCanCanCanCanCaDkaAKcFZcFZcGaaaicGbaaiaaicCiaaicGccGdcGecGfcGgcGhcGgcGfcGicGfcGjcEOcGZcCnaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVaaacEVcEVcEVcEVcEVcEVcEVcEVcEVaaacEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaicGlcGmcGncGocGpcGqcGrcGscGscGncGtcGucGvaaiaaaaaaaaaaaaaabaaicGwcGxcGycGzaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaabaaaaaacGAcGBcGCcGDaaicGEacscGFcGGcGHcGIcGJcGKcGLcGMcmRcGNcGOcGPcHacCnaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxZcxZcxZaaacxZcxZcxZcxZcxZcxZcxZcxZcxZaaacxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVaaacEVcEVcEVcEVcEVcEVcEVcEVcEVaaacEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaicGQcGRcDGcGSckqanCanCanCanDcGTcGUcDGcGQaaiaaaaaaaaaaaaaaaaaicGVcGWcGWaaaaaaaabaabaabaabaabaabaabaabaabaabaabaaaaaacGWcGWcGVaaicBpaaicHbeztcHcezvezuezxezwezvezwezyezwezyezzcCnaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaacxZaaaaaacxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaacxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVaaacEVcEVcEVcEVcEVcEVcEVcEVcEVaaacEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaicGQcHdcFRcHecHfcHgcHhcHicHjcHkcHlcHmcHnaaiaaaaaaaaaaaaaaaaaicHocHpcGWaabaabaabcHqaaaaaaaaaaaacHqaaaaaacHqaabaabaabcGWcHrcHsaaicBpaaiaabcHtaabcHucHvcHwcHxcHycHxcHzcHxcHzcHAcHBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaicHCcHDcHEcGSayEcGTcHFcHGayEcGTcHHcHDcHIaaiaaaaaaaaaaaaaaaaaicHJcGWcHKaaaaaaaabaaaaaaaaaaaaaaacHLaaaaaaaaaaabaaaaaacGWcGWcHJaaicBpaaicrTcHMctTcHMcrTcHMctTcHMcrTcHNctTcHOcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaicHPcDGcHQcHRaDgcHScHTcHUaDgcGTcHQcDGcDGaaiaaaaaaaaaaaaaaaaaicHVcHWcGWaaaaaaaabaaaaaaaabaabaabaabaabaaaaaaaabaaaaaacGWcHXcHYaaicBpaaicrTcHZcIacIbcrTcIccIdcIecrTcIfcIgcIhcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxZcxZcxZcxZcxZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaicIiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaabaaiaaicGVcGWaaaaaaaabcHqaabaabaacaacaacaabcIjaaaaabaaaaaacGWcGVaaiaaicBpaaicrTcIkcIlcIkcrTcImcIncImcrTcIocIpcIqcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaicIraaiaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaiaaicIscGWaaaaaaaabaaaaaaaabcItcIuaacaabaaaaaaaabaaaaaacGWcIvaaiaaicBpaaicrTcIkcIwcIkcrTcImcIxcImcrTcIqcIycIqcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicIiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaicGVcGWaaaaaaaabaaacIzaabaacaacaacaabaabcHqaabaaaaaacGWcGVaaiaaicBpaaicrTcrTcrTcrTcrTcrTcrTcrTcrTcrTcrTcrTcrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicHXcHYcGWaaaaaaaabaaaaaaaabaabaabaabaabaaaaaaaabaaaaaacGWcHVcHWaaicBpaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaicHJcGWcIBaaaaaacICaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaacGWcGWcHJaaicIDaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaacEVcEVcEVaaacEVcEVcEVcEVcEVcEVcEVcEVcEVaaacEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicIFcIGcGWaabaabaabcHqaaaaaacHqaaaaaaaaaaaacHqaabcIHaabcGWcIIcIJaaicIKaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaacEVaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaacEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaicILcIMcGaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaaaaaacFYcIMcINaaicBpcIOcIPcIPcIQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBYaaiccWcGAcGaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaabaaaaaacFYcGzccWaaiaaicIRcIScITcIUcIVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaiaaicGAcFZcFZcFZcFZcFZcFZcFZcFZcFZcFZcFZcFZcFZcGzaaiaaiaabcBYcIWcIXcIPcIPcIYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEVcEVcEVcEVcEVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFQcFQcFQcFQcFQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAaaacIAcIAcIAcIAcIAaaacIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEaaacIEcIEcIEcIEcIEaaacIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAaaacIAcIAcIAcIAcIAaaacIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEaaacIEcIEcIEcIEcIEaaacIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaacIAcIAcIAcIAcIAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaacIEcIEcIEcIEcIEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZaaacIZcIZcIZcIZcIZaaacIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZaaacIZcIZcIZcIZcIZaaacIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaacIZcIZcIZcIZcIZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -"} - -(1,1,2) = {" -cJacJbcJccJdcJecJfcJgcJhcJacJicJjcJkcJlcJmcJncJocJgcJfcJjcJccJdcJhcJkcJecJmcJicJocJpcJqcJrcJscJtcJucJvcJwcJxcJycJzcJAcJBcJCcJDcJEcJFcJGcJHcJIcJJcJKcJwcJxcJycJzcJAcJBcJCcJDcJEcJFcJLcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacJNcJOcJOcJOcJOcJOcJPcJOcJOcJOcJOcJOcJPcJOcJOcJOcJOcJOcJPcJOcJOcJOcJOcJOcJPcJOcJOcJOcJOcJOcJPcJOcJOcJOcJOcJOcJPcJOcJOcJOcJOcJOcJQ -cJjcJRcJScJTcJUcJVcJWcJXcJYcJZcKacKbcKccKdcKecKfcJWcJVcKacJScJTcJXcKbcJUcKdcJZcJbcJtcJucJvcKgcKhcKicKjcJAcKkcKlcKmcJpcJqcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJJcJLcJMcJRcJScJTcJUcJVcJWcJXcJYcJZcKacKbcKccKdcKecKfcJWcJVcKacJScJTcJXcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcKpcKqcKpcKpcKrcKscKtcKscKtcKscKrcKucKvcKvcKvcKvcKrcKwcKwcKwcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcKzcKAcKAcKAcKBcKC -cJmcJUcJZcKccJXcKecJScJWcKacJVcKdcJYcKfcJTcKbcJRcJScKecKdcJZcKccJWcJYcJXcJTcJVcJecJqcJrcJscJtcJucJvcKgcJxcKicKjcKncKkcKlcKmcJpcJqcJrcJrcJscJtcJucKgcKhcKicKjcKncKkcKlcKmcJpcJqcJGcJLcJMcJUcJZcKccJXcKecJScJWcKacJVcKdcJYcKfcJTcKbcJRcJScKecKdcJZcKccJWcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcKDcKpcKpcKEcKrcKFcKGcKFcKGcKFcKrcKHcKHcKHcKHcKHcKrcKwcKIcKwcKIcKwcKrcKxcKxcKxcKxcKxcKrcKycKJcKycKJcKycKrcKKcKLcKLcKLcKMcKC -cJdcJXcJVcKfcJWcKbcJZcJScKdcKecJTcKacJRcKccJYcJUcJZcKbcJTcJVcKfcJScKacJWcKccKecJhcKgcKhcKicKjcKncKkcKlcJDcJpcJqcJrcJscJtcJucJvcKgcKhcJvcKgcKhcKicKlcKmcJpcJqcJrcJscJtcJucJvcKgcJxcJLcJMcJXcJVcKfcJWcKbcJZcJScKdcKecJTcKacJRcKccJYcJUcJZcKbcJTcJVcKfcJScJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcKNcKpcKpcKpcKrcKOcKPcKOcKPcKOcKrcKHcKHcKHcKHcKHcKrcKwcKwcKwcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcKKcKLcKLcKLcKMcKC -cJlcJWcKecJRcJScJYcJVcJZcJTcKbcKccKdcJUcKfcKacJXcJVcJYcKccKecJRcJZcKdcJScKfcKbcJgcKlcKmcJpcJqcJrcJscJtcJJcJvcKgcKhcKicKjcKncKkcKlcKmcJscJtcJucJvcJtcJucJvcKgcKhcKicKjcKncKkcKlcJDcJLcJMcJWcKecJRcJScJYcKQcKRcKScKTcKUcKVcKWcKXcKYcKZcKQcJYcKccKecJRcJZcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcKpcLacLbcKpcKrcLccLccLccLccLccKrcLdcLdcLdcLdcLecKrcKwcKwcKwcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcKKcKLcKLcKLcKMcKC -cJocJScKbcJUcJZcKacKecJVcKccJYcKfcLfcLgcLhcLfcLfcKecKacKfcKbcJUcJVcJTcJZcJRcJYcJccKgcKhcKicKjcKncKkcKlcJDcJpcJqcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJucJvcKgcJxcJLcJMcJScKbcJUcJZcKacLicLjcLjcLjcLjcLjcLjcLjcLjcLjcLicKacKfcKbcJUcJVcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocLkcKpcKpcKpcKpcKrcLlcLmcLncLmcLocKrcLpcLqcLrcLscLpcKrcKwcKwcKIcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcKKcKLcKLcKLcKMcKC -cJbcJZcJYcJXcJVcKdcKbcKecKfcKacLtcLgcLucLvcLwcLxcLfcKdcJRcJYcJXcKecKccJVcJUcKacJicJrcJscJtcJucJvcKgcKhcJycKjcKncKkcKlcKmcJpcJqcJrcJscJpcJqcJrcJscKhcKicKjcKncKkcKlcKmcJpcJqcJrcJHcJLcJMcJZcJYcJXcJVcKdcKTcLjcLjcLjcLjcLjcLjcLjcLjcLjcKTcKdcJRcJYcJXcKecJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLycLycLycLycLycLycLycLycLycLycLycLycLycLycLycLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcLkcKpcKpcLzcKrcLAcLmcLncLmcLBcKrcLpcLCcLDcLEcLpcKrcKwcKwcKIcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcLFcKLcKLcKLcLGcKC -cJecJVcKacJWcKecJTcJYcKbcJRcKVcLHcLucLvcLwcLIcLIcLJcKYcJUcKacJWcKbcKfcKecJXcKdcJfcKncKkcKlcKmcJpcJqcJrcJHcJtcJucJvcKgcKhcKicKjcKncLKcLLcLMcLNcLOcLPcJscJtcJucJvcKgcKhcKicKjcKncJBcJLcJMcJVcKacJWcKecJTcLJcLjcLjcLjcLjcLjcLjcLjcLjcLjcLJcJTcJUcKacJWcKbcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLQcLRcLScLycLRcLTcLycLRcLUcLycLVcLWcLycLRcLTcLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcKDcLkcKpcLacKrcLccLccLccLccLccKrcLXcLCcLDcLEcLXcKrcKwcKwcKwcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcLFcKLcKLcKLcLGcKC -cJhcKecKdcJScKbcKccKacJYaaacKScLYcLYcLZcMacLucMbcMbcKYcJXcKdcJScJYcJRcKbcJWcJTcJncKmcJpcJqcJrcJscJtcJucJKcKgcKhcKicKjcKncKkcKlcKmcLMcMccMdcMecMfcMgcJvcKgcKhcKicKjcKncKkcKlcKmcJEcJLcJMcKecKdcJScKbcKccKYcLjcLjcLjcLjcLjcLjcLjcLjcLjcKYcKccJXcKdcJScJYcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLycMhcMicLycMhcLWcLycMhcMjcLycMhcLTcLycMhcLScLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcKpcKpcLkcKpcKrcMkcMlcMkcMlcMkcKrcMmcLCcLDcLEcMmcKrcKwcKwcKwcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcLFcKLcKLcKLcLGcKC -cJgcKbcJTcJZcJYcKfcKdcKaaaacMncLZcLZcMocMpcMqcLvcLvcMrcJWcJTcJZcKacJUcJYcJScKccJkcKicKjcKncKkcKlcKmcJpcJFcJrcJscJtcJucJvcKgcKhcKicMscMtcMucMvcMccMwcJqcJrcJscJtcJucJvcKgcKhcKicJzcJLcJMcKbcJTcJZcJYcKfcKVcLjcLjcLjcLjcLjcLjcLjcLjcLjcKUcKecJWcJTcJZcKacJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLycLycLycLycLycLycLycLycLycLycLycLycLycLycLycLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocKpcMxcKpcKpcLkcKrcKFcKGcKFcKGcKFcKrcMmcLCcLDcLEcMmcKrcKwcKIcKwcKIcKwcKrcKxcKxcKxcKxcKxcKrcKycKJcKycKJcKycKrcLFcKLcKLcKLcLGcKC -cJccJYcKccJVcKacJRcJTcKdcMycLIcMbcMbcMzcLwcMocLZcLZcMbcMAcKccJVcKdcJXcKacJZcKfcJacJscJtcJucJvcKgcKhcKicJzcKncKkcKlcKmcJpcJqcJrcJscLLcMucMvcMccMdcMBcKjcKncKkcKlcKmcJpcJqcJrcJscJIcJLcJMcJYcKccJVcKacJRcKScLjcLjcLjcLjcLjcLjcLjcLjcLjcKXcKbcJScKccJVcKdcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLycLRcMicLycMCcLScLycLRcLScLycMDcLTcLycLRcLWcLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocLacKpcMEcKpcKDcKrcKscKtcKscKtcKscKrcMFcMGcMHcMIcMFcKrcKwcKwcKwcKwcKwcKrcKxcKxcKxcKxcKxcKrcKycKycKycKycKycKrcMJcMKcMKcMKcMLcKC -cJicKacKfcKecKdcJUcMycMycMMcLucMNcMNcMOcMacMzcLZcLZcMbcMAcMAcKRcJTcJWcKdcJVcJRcJjcKhcKicKjcKncKkcKlcKmcJEcJqcJrcJscJtcJucJvcKgcKhcMPcMQcMRcMScLLcMRcJpcJqcJrcJscJtcJucJvcKgcKhcJycJLcJMcKacKfcKecKdcJUcKUcLjcLjcLjcLjcLjcLjcLjcLjcLjcLtcJYcJZcKfcKecJTcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLycMhcLScLycMhcLTcLycMhcLTcLycMhcMTcLycMhcMUcLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMVcMWcMWcMWcMWcMWcMXcMWcMWcMWcMWcMWcMXcMWcMWcMWcMWcMWcMXcMYcMYcMYcMYcMYcMXcMYcMYcMYcMYcMYcMXcMYcMYcMYcMYcMYcMXcMYcMYcMYcMYcMYcMZ -cJfcKdcJRcKbcJTcJXcKRcMbcLYcNacMbcLYcNacLvcMOcLvcMOcMNcMpcMocKQcKccJScJTcKecJUcJmcJqcJrcJscJtcJucJvcKgcJxcKicKjcKncKkcKlcKmcJpcJqcJucJscJtcJucJvcKjcKhcKicKjcKncKkcKlcKmcJpcJqcJGcJLcJMcKdcJRcKbcJTcJXcKXcLjcLjcLjcLjcLjcLjcLjcLjcLjcKWcKacJVcJRcKbcKccJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacLycLycLycLycLycLycLycLycLycLycLycLycLycLycLycLyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNbcNccNdcNbcNccKrcNecNecNecNecNecKrcNfcNfcNfcNfcNfcKrcNgcNgcNhcNicNicKrcNjcNjcNjcNjcNjcKrcNkcNlcNlcNlcNmcKrcNncNocNocNocNpcKC -cJncJTcJUcJYcKccJWcKQcMNcMpcMqcMNcMpcMqcLZcLIcLZcLIcNacLwcMzcLicKfcJZcKccKbcJXcJdcJucJvcKgcKhcKicKjcKncJBcKlcKmcJpcJqcJrcJscJtcJucJrcKicKjcKncKkcKgcKkcKlcKmcJpcJqcJrcJscJtcJucJKcJLcJMcJTcJUcJYcKccJWcLtcLjcLjcLjcLjcLjcLjcLjcLjcLjcKZcKdcKecJUcJYcKfcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNccNdcNbcNccNdcKrcNecNqcNecNecNecKrcNfcNrcNscNtcNfcKrcNucNucNvcNwcNwcKrcNjcNxcNjcNycNjcKrcNzcNAcNAcNAcNBcKrcNCcNDcNDcNDcNEcKC -cJkcKccJXcKacKfcJScLicNacLwcMocNacLwcMocMbcLucMbcLucMqcMacMOcKTcJRcJVcKfcJYcJWcJlcKjcKncKkcKlcKmcJpcJqcJGcJscJtcJucJvcKgcKhcKicKjcMQcLKcNFcMPcNGcLNcJrcJscJtcJucJvcKgcKhcKicKjcJAcJLcJMcKccJXcKacKfcJScKWcLjcLjcLjcLjcLjcLjcLjcLjcLjcMncJTcKbcJXcKacJRcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNdcNbcNccNdcNbcKrcNecNecNecNHcNecKrcNfcNIcNIcNIcNfcKrcNucNJcNJcNJcNwcKrcNjcNjcNjcNjcNjcKrcNzcNAcNAcNAcNBcKrcNCcNDcNDcNDcNEcKC -cJacKfcJWcKdcJRcJZcKTcMqcMacMzcMqcMacMzcMNcLYcMNcLYcMocLvcLIcLJcJUcKecJRcKacJScJocKkcKlcKmcJpcJqcJrcJscJIcJucJvcKgcKhcKicKjcKncKkcLNcNKcNLcNMcNNcNOcJtcJucJvcKgcKhcKicKjcKncKkcJCcJLcJMcKfcJWcKdcJRcJZcKZcLjcLjcLjcLjcLjcLjcLjcLjcLjcMycKccJYcJWcKdcJUcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNPcNPcNPcNPcNPcNQcNQcNRcNScNScNTcNQcNQcNQcNQcNQcNQcNQcNQcNQcNUcNQcNQcNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNbcNccNdcNbcNccKrcNecNecNecNecNecKrcNfcNfcNfcNfcNfcKrcNucNvcNvcNvcNwcKrcNjcNjcNjcNjcNjcKrcNzcNAcNAcNAcNBcKrcNCcNDcNDcNDcNEcKC -cJjcJRcJScJTcJUcJVcLJcMocLvcMOcMocLvcMOcNacMpcNacMpcMzcLZcLucKYcJXcKbcJUcKdcJZcJbcJvcKgcKhcKicKjcKncKkcJCcKmcJpcJqcJrcJscJtcJucJvcNVcNWcNXcNYcNZcOacKlcKmcJpcJqcJrcJscJtcJucJvcJwcJLcJMcJRcJScJTcJUcJVcMncLjcLjcLjcLjcLjcLjcLjcLjcLjcKRcKfcKacJScJTcJXcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacObcOccOdcOccNPcNQcOecOfcOgcOhcOhcOicOjcOkcOlcOmcOncOocOpcOocOocOocOqcNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNccNdcNbcNccNdcKrcNecNecNecOrcNecKrcNfcOscOtcOucNfcKrcOvcOwcOwcOwcOxcKrcNjcOycNjcNjcNjcKrcOzcOAcOAcOAcOBcKrcNCcNDcNDcNDcNEcKC -cJmcJUcJZcKccJXcKecKYcMzcLZcLIcMzcLZcLIcMqcLwcMqcLwcMOcMbcLYcKVcJWcJYcJXcJTcJVcJecKncKkcKlcKmcJpcJqcJrcJHcJtcJucJvcKgcKhcKicKjcKncMRcOCcODcOEcNWcOFcJscJtcJucJvcKgcKhcKicKjcKncJBcJLcJMcJUcJZcKccJXcKecMycLjcLjcLjcLjcLjcLjcLjcLjcLjcKQcJRcKdcJZcKccJWcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNPcNPcNPcOccOccOccNPcNQcOecOfcOfcOfcOfcOfcOGcOHcOHcOHcOIcOocOocOocOJcOocOocNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNdcNbcNccNdcNbcKrcNecOKcNecNecNecKrcNfcOLcOMcONcNfcKrcOOcOPcOPcOPcOQcKrcNjcNjcNjcORcNjcKrcOScOTcOTcOTcOUcKrcOVcNDcNDcNDcOWcKC -cJdcJXcJVcKfcJWcKbcKVcMOcMbcLucMOcMbcLucMocMacMocMacLIcMNcMpcKScJScKacJWcKccKecJhcJrcJscJtcJucJvcKgcKhcJycKjcKncKkcKlcKmcJpcJqcJrcLOcNVcOXcLKcNFcMPcKicKjcKncKkcKlcKmcJpcJqcJrcJHcJLcJMcJXcJVcKfcJWcKbcKRcLjcLjcLjcLjcLjcLjcLjcLjcLjcLicJUcJTcJVcKfcJScJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOYcOZcPacOccOccOccNPcNQcPbcOfcPccPbcPdcPecPfcOHcOHcOHcOHcOocOocPgcOocPhcOpcNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNbcNccNdcNbcNccKrcNecNecNecNecNqcKrcNfcOLcOMcONcNfcKrcPicNvcPjcNvcPkcKrcNjcNjcNjcNjcNjcKrcPlcNAcNAcNAcPmcKrcOVcNDcNDcNDcOWcKC -cJlcJWcKecJRcJScJYcKScLIcMNcLYcLIcMNcLYcMzcLvcMzcLvcLucNacLwcKUcJZcKdcJScKfcKbcJgcKicKjcKncKkcKlcKmcJpcJFcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJucJvcKgcKhcKicJzcJLcJMcJWcKecJRcJScJYcKQcLjcLjcLjcLjcLjcLjcLjcLjcLjcKTcJXcKccKecJRcJZcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacPncPocOZcOccOccOccNPcNQcPpcOHcOIcOIcOIcOIcOIcOHcOHcOHcOHcOocOocOocPqcOocOocNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNccNdcNbcNccNdcKrcPrcNecNecNecNecKrcNfcOLcOMcONcNfcKrcPicPscPscPscPkcKrcPtcPtcPtcPtcPtcKrcPlcNAcNAcNAcPmcKrcOVcNDcNDcNDcOWcKC -cJocJScKbcJUcJZcKacKUcLucNacMpcLucNacMpcMOcLZcMOcLZcLYcMqcMacKXcJVcJTcJZcJRcJYcJccJtcJucJvcKgcKhcKicKjcJAcKkcKlcKmcJpcJqcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJJcJLcJMcJScKbcJUcJZcKacLicKQcLjcLjcLjcLjcLjcLjcLjcLtcLJcJWcKfcKbcJUcJVcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNPcNPcNPcNPcNPcNPcNPcNQcPucOHcOHcOHcOHcOHcOHcOHcOHcOHcOHcPvcOocOocOocOocOocNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNdcNbcNccNdcNbcKrcNecOrcNecOKcNecKrcNfcPwcPxcPycNfcKrcPicPicNvcPkcPkcKrcPzcPzcPzcPzcPzcKrcPlcNAcNAcNAcPmcKrcOVcNDcNDcNDcOWcKC -cJbcJZcJYcJXcJVcKdcKXcLYcMqcLwcLYcMqcLwcLIcMbcLIcMbcMpcMocLvcLtcKecKccJVcJUcKacJicKmcJpcJqcJrcJscJtcJucJKcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcKlcKmcJEcJLcJMcJZcJYcJXcJVcKdcKbcLicKXcPAcLjcLjcLjcLjcKQcKWcKacJScJRcJYcJXcKecJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNQcPucOHcOHcOHcOHcOHcPBcOHcOHcPBcOHcPCcPDcPDcPDcPEcPDcNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocNbcNccNdcNbcNccKrcNecNecNecNecPrcKrcNfcNfcNfcNfcNfcKrcPFcPFcPGcPHcPHcKrcPIcPIcPIcPIcPIcKrcPJcPKcPKcPKcPLcKrcPMcPNcPNcPNcPOcKC -cJecJVcKacJWcKecJTcLtcMpcMocMacMpcMocMacLucMNcLucMNcLwcMzcLZcKWcKbcKfcKecJXcKdcJfcKkcKlcKmcJpcJqcJrcJscJIcJucJvcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcJCcJLcJMcJVcKacJWcKecJTcJYcKbcLtcKWcKYcMncKTcKXcLicJXcKdcJZcJUcKacJWcKbcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNQcPPcOHcOHcOHcOHcOIcPQcOIcOIcPQcOIcPRcPScPScPScPScPScNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacPTcPUcPUcPUcPUcPUcPVcPUcPUcPUcPUcPUcPVcPUcPUcPUcPUcPUcPVcPUcPUcPUcPUcPUcPVcPUcPUcPUcPUcPUcPVcPUcPUcPUcPUcPUcPVcPUcPUcPUcPUcPUcPW -cJhcKecKdcJScKbcKccKWcLwcMzcLvcLwcMzcLvcLYcNacLYcNacMacMOcMbcKZcJYcJRcKbcJWcJTcJncJucJvcKgcKhcKicKjcKncJBcKlcKmcJpcJqcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJucJKcJLcJMcKecKdcJScKbcKccKacJYcJUcJXcKdcJScJYcJRcKbcJWcJTcJVcJXcKdcJScJYcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNQcNQcPXcPYcPYcPZcNQcNQcNQcNQcNQcNQcNQcNQcNQcNQcNQcNQcNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cJgcKbcJTcJZcJYcKfcKZcMacMOcLZcMacMOcLZcMpcMqcMpcMqcLvcLIcMNcMncKacJUcJYcJScKccJkcKhcKicKjcKncKkcKlcKmcJEcJqcJrcJscJtcJucJvcKgcKhcKicKjcKncKkcKlcKmcJpcJqcJrcJscJtcJucJvcKgcKhcJycJLcJMcKbcJTcJZcJYcKfcKdcKacJXcJWcJTcJZcKacJUcJYcJScKccKecJWcJTcJZcKacJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNQcQacQacQacQacNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcJOcJOcJOcJOcJOcMXcJOcJOcJOcJOcJOcMXcJOcJOcJOcJOcJOcMX -cJccJYcKccJVcKacJRcMncLvcLIcMbcLvcLIcMbcQbcMocLwcMocLZcLucNacMycKdcJXcKacJZcKfcJacJscJtcJucJvcKgcKhcKicJzcJAcJBcJCcJDcJEcJFcJGcJHcJIcJJcJKcJwcJxcJycJzcJAcJBcJCcJDcJEcJFcJGcJHcJIcJLcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNQcQacQacQacQacNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocQccQdcQecQfcQgcKrcQhcQicQjcQkcQlcKrcQmcQncQocQpcQqcKC -cJicKacKfcKecKdcJUcMycLZcLucMNcLZcLucMNcQbcMzcMacMzcMbcLYcMqcKRcJTcJWcKdcJVcJRcJjcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacNQcNQcNQcNQcNQcNQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocQrcQrcQscQrcQrcKrcQtcQucQucQucQtcKrcQvcQvcQvcQvcQvcKC -cJfcKdcJRcKbcJTcJXcKRcMbcLYcNacMbcLYcNacQbcMOcLvcMOcMNcMpcMocKQcKccJScJTcKecJUcJmcJLcJacJbcJccJdcJecJfcJgcJhcJacJicJjcJkcJlcJmcJncJocJgcJfcJjcJccJdcJhcJkcJecJmcJicJocJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocQrcQrcQrcQrcQrcKrcQtcQucQucQucQtcKrcQvcQvcQvcQvcQvcKC -cJncJTcJUcJYcKccJWcKQcMNcMpcMqcMNcMpcMqcQbcLIcLZcLIcNacLwcMzcLicKfcJZcKccKbcJXcJdcJLcJjcJRcJScJTcJUcJVcJWcJXcJYcJZcKacKbcKccKdcKecKfcJWcJVcKacJScJTcJXcKbcJUcKdcJZcJbcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacKocQwcQxcQrcQxcQwcKrcQtcQycQucQycQtcKrcQzcQAcQvcQBcQzcKC -cJkcKccJXcKacKfcJScLicMncNacMbcMzcMqcLZcMncNacMbcMzcMqcLZcKScKacJRcJVcKfcJYcJWcJlcJLcJmcJUcJZcKccJXcKecJScJWcKacJVcKdcJYcKfcJTcKbcJRcJScKecKdcJZcKccJWcJYcJXcJTcJVcJecJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcPUcPUcPUcPUcPUcMXcPUcPUcPUcPUcPUcMXcPUcPUcPUcPUcPUcMX -cJacKfcJWcKdcJRcJZcJXcMycLJcLicKScKYcKQcMycLJcLicKScKYcKQcKUcKdcJUcKecJRcKacJScJocJLcJdcJXcJVcKfcJWcKbcJZcJScKdcKecJTcKacJRcKccJYcJUcJZcKbcJTcJVcKfcJScKacJWcKccKecJhcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcQCcQCcQCcQCcQCcQCcQCcQCcQCcQCcQCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cJjcJRcJScJTcJUcJVcJWcJXcJYcJZcKacKbcKccKdcKecKfcJWcJVcKacJScJTcJXcKbcJUcKdcJZcJbcJLcJlcJWcKecJRcJScJYcJVcJZcJTcKbcKccKdcJUcKfcKacJXcJVcJYcKccKecJRcJZcKdcJScKfcKbcJgcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcQDcQEcQFcQGcQHcQIcQCcQJcQKcQLcQCaaaaaacQMcQNcQNcQNcQNcQNcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cJmcJUcJZcKccJXcKecJScJWcKacJVcKdcJYcKfcJTcKbcJRcJScKecKdcJZcKccJWcJYcJXcJTcJVcJecJLcJocJScKbcJUcJZcKacKecJVcKccJYcKfcJTcJXcJRcKdcJWcKecKacKfcKbcJUcJVcJTcJZcJRcJYcJccJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcQFcQFcQFcQFcQFcQFcQFcQPcQQcQRcQCaaaaaacQNcQScQTcQUcQVcQWcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcMXcMXcMXcMXcMXcMXcMXcMXcMXcMX -cJdcJXcJVcKfcJWcKbcJZcJScKdcKecJTcKacJRcKccJYcJUcJZcKbcJTcJVcKfcJScKacJWcKccKecJhcJLcJbcJZcJYcJXcJVcKdcKbcKecKfcKacJRcKccJWcJUcJTcJScKbcKdcJRcJYcJXcKecKccJVcJUcKacJicJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcQXcQXcQFcQFcQFcQYcQCcQZcRacRbcQCaaaaaacQNcRccRdcRdcRdcRccQOcQOcQOcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcRecRfcRfcRfcRfcRfcRfcRfcRgcMX -cJlcJWcKecJRcJScJYcJVcJZcJTcKbcKccKdcJUcKfcKacJXcJVcJYcKccKecJRcJZcKdcJScKfcKbcJgcJLcJecJVcKacJWcKecJTcJYcKbcJRcKdcJUcKfcJScJXcKccJZcJYcJTcJUcKacJWcKbcKfcKecJXcKdcJfcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcQFcQFcQFcQFcRhcRhcQCcQCcRicQCcQCaaaaaacQNcRccRjcRjcRjcRccQOcRkcRlcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcRmcRncRncRncRncRncRncRncRmcMX -cJocJScKbcJUcJZcKacKecJVcKccJYcKfcJTcJXcJRcKdcJWcKecKacKfcKbcJUcJVcJTcJZcJRcJYcJccJLcJhcKecKdcJScKbcKccKacJYcRocRpcRqcRrcMMcLhcMrcRscRtcRucRvcKdcJScJYcJRcKbcJWcJTcJncJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcRwcRwcQFcRxcRycRzcQCcRAcRicRBcQCaaaaaacQNcRccRCcRDcREcRccQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcRmcRFcRFcRFcRGcRFcRFcRFcRmcMX -cJbcJZcJYcJXcJVcKdcKbcKecKfcKacJRcKccJWcJUcJTcJScKbcKdcJRcJYcJXcKecKccJVcJUcKacJicJLcJgcKbcJTcJZcJYcKfcKdcKacRvcRHcRIcRJcRKcRLcRMcRNcROcRPcRQcJTcJZcKacJUcJYcJScKccJkcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcQFcQFcQFcRxcRRcRScQCcRTcRicRUcQCaaaaaacQNcRccRCcRDcREcRccRVcRWcRXcRYcRZcSacRWcSbcSccSdcSdcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcRmcSecSfcSgcRmcShcShcShcRmcMX -cJecJncJmcJccJkcJlcJjcJacJecJdcJhcJbcJicJgcJocJfcJjcJlcJhcJmcJccJacJbcJkcJgcJdcJfcJLcJccJYcKccJVcKacJRcJTcKdcRQcRNcROcSicSjcSkcRKcRJcSlcSmcSncKccJVcKdcJXcKacJZcKfcJacJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcSocQFcQFcQFcQFcQCcQCcQCcQCcQCcQCaaaaaacQNcRccRCcRDcREcRccSpcRWcSacSacRZcSacRWcSacSdcSdcSdcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcRmcSqcSfcSgcRmcSrcSscStcRmcMX -cJhcKecKdcJScKbcKccKacJYcJUcJTcJXcJRcJZcJWcKfcJVcKacKccJXcKdcJScJYcJRcKbcJWcJTcJncJLcJicKacKfcKecKdcJUcKccJTcSncRJcSlcRPcRIcRHcSjcSicSucRMcSvcKfcKecJTcJWcKdcJVcJRcJjcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcSwcSxcSycSzcQFcSAcSBcSCcSDcSEcQCaaaaaacQNcRccRDcRDcRDcSFcSGcSHcSacSacRZcSacRWcSbcSccSdcSdcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcRmcSecSfcSgcRmcShcShcShcRmcMX -cJgcKbcJTcJZcJYcKfcKdcKacJXcKccJWcJUcJVcJScJRcKecKdcKfcJWcJTcJZcKacJUcJYcJScKccJkcJLcJfcKdcJRcKbcJTcJXcKfcKccSvcSicSucSmcROcRNcRIcRPcRLcRKcSIcJRcKbcKccJScJTcKecJUcJmcJLaaaaaaaaaaaacJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcSJcSKcSLcQFcQFcQFcSMcSNcSOcSPcQCaaaaaacQNcRccRDcRDcRDcSFcSGcSHcSacSacSacSacSQcSacSdcSdcSdcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacMXcRmcSecSfcSgcRmcSScShcShcRmcMX -cJccJYcKccJVcKacJRcJTcKdcJWcKfcJScJXcKecJZcJUcKbcJTcJRcJScKccJVcKdcJXcKacJZcKfcJacJLcJncJTcJUcJYcKccJWcJRcKfcSIcRPcRLcRMcSlcRJcROcSmcSkcSjcSTcJUcJYcKfcJZcKccKbcJXcJdcJLaaaaaaaaaaaacJMcKecJXcKdcKecJXcKdcKecJXcKdcKecJXcKdcKecJXcKdcKecJXcKdcKecJXcKdcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcSUcSKcSLcQFcQFcQFcSVcSWcSVcSWcQCaaaaaacQNcRccSXcRDcSYcRccSpcRWcSacSacRZcSacRWcSbcSccSdcSdcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSZcTacTacTacTacTacTacTacTacTacTacTacTaaaaaaacMXcRmcSecSfcSgcRmcTbcTbcTbcRmcMX -cJicKacKfcKecKdcJUcKccJTcJScJRcJZcJWcKbcJVcJXcJYcKccJUcJZcKfcKecJTcJWcKdcJVcJRcJjcJLcJkcKccJXcKacKfcJScJUcJRcSTcKbcJXcRKcSucSicSlcRMcJWcJTcTccJXcKacJRcJVcKfcJYcJWcJlcJLaaaaaaaaaaaacJMcKbcJWcJTcKbcJWcJTcKbcJWcTdcKbcJWcJTcTecJWcJTcKbcJWcJTcKbcJWcJTcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcSJcTfcTgcSocThcSAcTicSPcTjcTkcQCaaaaaacQNcTlcRccTmcRccTncRVcRWcSacSacRZcSacRWcSacSdcSdcSdcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSZcTocTocTpcTacTocTocTqcTacTocTocTpcTaaaaaaacMXcRmcTbcTbcTrcRmcTbcTbcTbcRmcMX -cJfcKdcJRcKbcJTcJXcKfcKccJZcJUcJVcJScJYcKecJWcKacKfcJXcJVcJRcKbcKccJScJTcKecJUcJmcJLcJacKfcJWcKdcJRcMMcRqcLHcTscTtcLhcSjcRLcRPcSucRKcJScKccTucJWcKdcJUcKecJRcKacJScJocJLaaaaaaaaaaaacJMcJYcJScKccJYcJScKccJYcJScTvcTwcTxcTvcTwcJScKccJYcJScKccJYcJScKccJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQCcQCcQCcQCcQCcQCcQCcQCcQCcQCcQCcQCaaaaaacQNaaacTlcTycTnaaacRVcRWcSacSacRZcSacRWcSbcSccSdcSdcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacSZcTzcTAcTocTacTocTAcTocTacTocTBcTocTaaaaaaacMXcRmcTbcTbcTCcTDcTbcTbcTbcRmcMX -cJncJTcJUcJYcKccJWcJRcKfcJVcJXcKecJZcKacKbcJScKdcJRcJWcKecJUcJYcKfcJZcKccKbcJXcJdcJLcJjcJRcJScJTcJUcSIcRHcSkcRMcRKcRNcRIcSkcSmcRLcSjcJZcKfcTEcJScJTcJXcKbcJUcKdcJZcJbcJLaaaaaaaaaaaacJMcKacJZcTFcKacTGcKfcKacTGcTFcTHcTGcTFcTHcTGcKfcKacTGcKfcTHcJZcKfcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOcQOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTacTacTacTacTacTacTacTacTacTacTacTacSZcTJcTKcTLcTacTJcTKcTLcTacTJcTMcTLcTaaaaaaacMXcRmcTNcTbcTbcTbcTbcTbcTOcRmcMX -cJkcKccJXcKacKfcJScJUcJRcKecJWcKbcJVcKdcJYcJZcJTcJUcJScKbcJXcKacJRcJVcKfcJYcJWcJlcJLcJmcJUcJZcKccJXcSTcRNcRHcRKcSjcRJcROcRHcRMcSkcRIcRucRucRucRucTPcJWcJYcJXcJTcJVcJecJLaaaaaaaaaaaacJMcKdcJVcTQcTRcTScJRcTRcTScTQcTRcTScTQcTRcTScTQcKdcTScTQcTRcJVcJRcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTTcTUcTVcTWcTXcTTcTacTYcTocTocTZcTacSZcTocTAcTocUacTocTAcTocUacUbcUccUdcTaaaaaaacMXcRmcUecTbcTbcUfcTbcTbcUgcRmcMX -cJacKfcJWcKdcJRcJZcJXcJUcUhcUicTtcUjcUkcKacUlcLgcRqcUmcUncJWcKdcJUcKecJRcKacJScJocJLcJdcJXcJVcKfcJWcTccRJcRNcSjcRIcSicSlcRNcRKcRHcROcRPcRLcRIcSicUocJScKacJWcKccKecJhcJLaaaaaaaaaaaacJMcJTcKecUpcTdcUqcJUcTdcUqcUpcTdcUqcUpcTdcUqcUpcJTcUqcUpcTdcKecJUcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTTcUscUtcUucUscTTcTacUvcTAcTAcUwcTacSZcTocTAcTAcTAcTAcUxcTAcTAcTAcUycUzcTaaaaaaacMXcUAcTbcTbcTbcTbcTbcTbcTbcUAcMX -cJjcJRcJScJTcJUcJVcJWcJXcUBcUCcUDcUEcUFcJXcUGcUHcUIcUJcUKcKacJTcJXcKbcJUcKdcJZcJbcJLcJlcJWcKecJRcJScTucSicRJcRIcROcRPcSucRJcSjcRNcSlcSmcSkcROcRPcULcJZcKdcJScKfcKbcJgcJLaaaaaaaaaaaacJMcKccKbcUMcTvcTecJXcTvcTecUMcTvcTecUMcTvcTecUMcKccTecUMcTvcKbcJXcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcUNcUNcUNcUNcUNcUNcUNcUOcUNcUNcUNcUPcUQcUNcUNcUNcUPcUNcUNcUNcUNcUNcUNcUPcUNcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTTcUscTAcTAcUscTTcTacURcTAcTAcUScTacSZcTocTAcUTcTAcUTcTAcTAcTAcTAcUUcUVcTaaaaaaacMXcRmcTbcTbcTbcTbcTbcTbcTbcRmcMX -cJmcJUcJZcKccJXcKecJScJWcUKcUWcUXcUYcUZcJWcVacVbcVccVdcVecKdcKccJWcJYcJXcJTcJVcJecJLcJocJScKbcJUcJZcTEcRPcSicROcSlcSmcRLcSicRIcRJcSucRMcRHcSlcSmcRocJVcJTcJZcJRcJYcJccJLaaaaaaaaaaaacJMcKfcJYcVfcTFcTwcVfcTFcTwcVfcTFcTwcVfcTFcTwcVfcTFcTwcVfcTFcJYcJWcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcUNcUNcUOcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUPcUNcUNcUNcUNcUNcUPcUNcUNcUNcUNcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTTcUscTAcTAcVgcTTcTIcVhcTAcTAcVicTacSZcTocTAcTocVjcVkcVlcVmcVncVocTocVpcTaaaaaaacMXcVqcRgcTbcTbcTbcTbcTbcRecTDcMX -cJdcJXcJVcKfcJWcKbcJZcJScVecVrcVscUDcUlcJScUBcVtcVucVvcVwcJTcKfcJScKacJWcKccKecJhcJLcJbcJZcJYcJXcSIcVxcSmcRPcSlcSucRMcSkcRPcROcSicRLcRKcRNcSucRMcVycUjcTPcJVcJUcKacJicJLaaaaaaaaaaaacJMcJRcKacTxcTQcTHcTxcTQcTHcTxcTQcTHcTxcTQcTHcTxcTQcTHcTxcTQcKacJScJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcUNcUNcUNcUNcUNcVzcUNcUNcUNcUNcUNcUOcUNcUNcUQcUPcUNcUNcUPcUNcUNcUPcUQcUNcUPcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTTcUscTAcTAcUscTTcTacTacVAcTacTacTacSZcTacVBcTacTacTacTacTacTacTacTacTacTaaaaaaaaaacMXcVqcRgcTbcVCcTbcRecTDcMXaaa -cJlcJWcKecJRcJScJYcJVcJZcVwcUEcVDcUXcVEcJZcUKcVFcUJcVGcUFcKccJRcJZcKdcJScKfcKbcJgcJLcJecJVcKacJWcSTcRIcRMcSmcSucRLcRKcRHcSmcSlcRPcSkcSjcRJcRLcRKcRHcSmcUocKecJXcKdcJfcJLaaaaaaaaaaaacJMcJUcKdcTGcUpcTRcTGcUpcTRcTGcUpcTRcTGcUpcTRcTGcUpcTRcTGcUpcKdcJZcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUOcUNcUNcUPcUQcUNcUNcUPcUNcUQcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTTcVgcTAcTAcUscTTcTacTocTAcVHcVIcVJcVKcVHcTAcVHcVLcVMcUbcTocVNcVOcTaaaaaaaaaaaaaaaaaaacMXcVqcVPcVQcVRcTDcMXaaaaaa -cJocJScKbcJUcJZcKacKecJVcUFcUBcUZcVwcUhcJVcVecUncUGcUKcUZcKfcJUcJVcJTcJZcJRcJYcJccJLcJhcKecKdcJScTccROcRKcRMcRLcSkcSjcRNcRMcSucSmcRHcRIcSicSkcSjcRNcRMcULcKbcJWcJTcJncJLaaaaaaaaaaaacJMcJXcJTcTScUMcTdcTScUMcTdcTScUMcTdcTScUMcTdcTScUMcTdcTScUMcJTcJVcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUrcUrcUrcUrcUrcUrcUrcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUOcUNcUNcUNcUNcUNcUQcUNcUPcUQcUNcUPcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTLcVScVScVScVScTJcTIcVTcTIcVTcTTcUscTAcTAcUscTTcTacTocTAcVUcVVcVWcVXcVUcTAcVUcVYcVZcTAcWacTAcTocTaaaaaaaaaaaaaaaaaaaaaacMXcMXcMXcMXcMXaaaaaaaaa -cJbcJZcJYcJXcJVcKdcKbcKecJZcJUcJVcJScJYcKecJWcKacKfcJXcJVcJRcJXcKecKccJVcJUcKacJicJLcJgcKbcJTcJZcTucSlcSjcRKcSkcRHcRIcRJcRKcRLcRMcRNcROcRPcRHcRIcRJcRKcRocJYcJScKccJkcJLaaaaaaaaaaaacJMcJWcKccUqcVfcTvcUqcVfcTvcUqcVfcTvcUqcVfcTvcUqcVfcTvcUqcVfcKccKecJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcWbcWccWdcWecWfcWgcUrcUNcUNcUNcUNcUNcUNcWhcWhcWhcWhcWhcWhcWhcUNcUNcUNcUNcUNcUNcUNcUPcUNcUNcVzcUQcUNcUNcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacWicWjcWjcWjcVgcWkcWlcWlcWlcWlcTIcTIcWmcWncWncWmcTIcTIcTocTAcWocWpcTAcWqcWocTAcWocWrcWscTAcTocWtcWucTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cJecJVcKacJWcKecJTcJYcKbcJRcKdcJUcKfcJScJXcKccJZcJYcJTcJUcKacJWcKbcKfcKecJXcKdcJfcJLcJccJYcKccJVcTEcSucRIcSjcRHcRNcROcSicSjcSkcRKcRJcSlcSmcRNcROcSicSjcRvcKacJZcKfcJacJLaaaaaaaaaaaacJMcJScTFcTecTxcTFcTecTxcTFcTecTxcTFcTecTxcTFcTecTxcTFcTecTxcTFcKbcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcWvcWwcWwcWwcWwcWwcUrcUNcUNcUNcUNcUNcWxcWycWzcWAcWAcWAcWBcWycWCcUNcUNcUNcUNcVzcUNcUNcUOcUNcUOcUNcUPcUNcUPcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacWDcWjcWEcWEcUscWkcWFcWGcTAcWHcTIcWEcWlcTAcTAcWlcWEcWmcTAcTAcTacWmcWncWmcTacWIcTacWJcWKcWncWJcWLcWKcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cJhcKecKdcJScKbcKccKacJYcJUcJTcJXcJRcJZcJWcKfcJVcKacKccJXcKdcJScJYcJRcKbcJWcJTcJncJLcJicKacKfcKecWMcRLcROcRIcRNcRJcSlcRPcRIcRHcSjcSicSucRMcRJcSlcRPcRIcRQcKdcJVcJRcJjcJLaaaaaaaaaaaacJMcJZcTQcTwcTGcTQcTwcTGcTQcTwcTGcTQcTwcTGcTQcTwcTGcTQcTwcTGcTQcJYcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUrcUrcUrcUrcUrcWNcWNcWNcWOcWwcWPcWQcUNcUNcUNcUNcUNcWycWRcWScWTcWUcWVcWWcWWcWycWXcUNcUNcWhcWhcWhcWhcWhcWhcWhcWhcWYcWZcWhcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVTcXacTUcUscUscUscWFcWGcTAcTAcXbcTAcTAcTAcTAcTAcXccWncTAcTAcTAcTAcTAcTAcTAcTAcTAcTAcTAcTAcTAcUxcTAcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cJgcKbcJTcJZcJYcKfcKdcKacJXcKccJWcJUcJVcJScJRcKecKdcKfcJWcJTcJZcKacJUcJYcJScKccJkcJLcJfcKdcJRcKbcXdcSkcSlcROcRJcSicSucSmcROcRNcRIcRPcRLcRKcSicSucSmcROcSncJTcKecJUcJmcJLaaaaaaaaaaaacJMcJVcJUcTHcTScUpcKacTScUpcTHcTScUpcTHcTScUpcTHcJVcUpcTHcTScJUcKacJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcXecWwcWwcXecUrcXfcXfcXfcXfcWwcWwcXgcUNcUNcUNcUNcUNcWycXhcXicXicXjcXicXicXicWycWXcUNcXkcXlcXmcXmcXncUrcUrcUrcUrcUrcUrcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacWicWjcWEcWEcUscWkcWFcWGcTAcXocTIcWlcTUcWlcWlcTUcWlcWmcTAcTocTocTocTocTocTocTocTocTocTocTocTocTocTAcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cJccJYcKccJVcKacJRcJTcKdcJWcKfcJScJXcKecJZcJUcKbcJTcJRcJScKccJVcKdcJXcKacJZcKfcJacJLcJncJTcJUcJYcTPcRHcSucSlcSicRPcJUcRMcSlcRJcROcSmcJXcSjcRPcRLcRMcSlcSvcKccKbcJXcJdcJLaaaaaaaaaaaacJMcKecJXcKdcUqcJXcKdcUqcUMcTRcUqcUMcTRcUqcUMcTRcKecJXcTRcKecJXcKdcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcWwcWwcWwcWwcXpcWwcWwcWwcWwcWwcWwcXgcUNcUNcUNcUNcUNcWycXqcXicXicXicXrcXicXscWycWXcVzcXkcXgcXtcXtcXtcXtcXtcUrcXucXvcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacWDcWjcWjcWjcVgcWkcWlcWlcWlcWlcTIcTIcTIcTIcTIcTIcTIcTacWncTacXwcXwcXxcXycXzcXAcXBcXycXxcXwcXwcTacWncTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cJicKacKfcKecKdcJUcKccJTcJScJRcJZcJWcKbcJVcJXcJYcKccJUcJZcKfcKecJTcJWcKdcJVcJRcJjcJLcJkcKccJXcKacUocRNcRLcSucRPcRHcKbcSicSjcRMcRJcRIcJUcRNcSmcSkcRKcSucSIcKfcJYcJWcJlcJLaaaaaaaaaaaacJMcKbcJWcJTcKbcJWcJTcTecVfcTdcTecVfcTdcTecVfcTdcKbcJWcJTcKbcJWcJTcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcWwcXCcWwcWwcUrcXDcWwcXCcXCcWwcWwcXgcUNcUNcUNcUNcUNcXEcWycWycWycXFcWycWycWycXGcUNcUNcXHcXgcXtcXtcXIcXtcXtcXJcXKcXKcXLcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTIcTLcVScVScVScVScTJcTIcVTcTIcVTaaaaaaaaaaaaaaacXMcTacTAcTacTacWJcWLcWKcTacTacTacWJcWLcWKcTacTacTAcTacXNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cJfcKdcJRcKbcJTcJXcKfcKccJZcJUcJVcJScJYcKecJWcKacKfcJXcJVcJRcKbcKccJScJTcKecJUcJmcJLcJacKfcJWcKdcULcRJcSkcRLcSmcRNcJYcKecJTcKacJVcKccJXcRJcRMcRHcSjcRLcSTcJRcKacJScJocJLaaaaaaaaaaaacJMcJYcJScKccJYcJScKccTwcTxcTvcTwcTxcTvcTwcTxcTvcJYcJScKccJYcJScKccJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcXOcWNcXPcWwcUrcWwcXQcXRcXScXTcWwcXUcUNcUNcUNcUNcUNcUNcUNcWycXVcXicXWcWycXXcWhcWhcWhcXYcXUcXtcXZcYacYbcXtcUrcXKcYccYccUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYdcTacYecTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacTacYecTacYdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cJncJlcJhcJjcJocJccJecJbcJncJgcJkcJfcJmcJacJicJdcJecJccJkcJhcJjcJbcJfcJocJacJgcJdcJLcJjcJRcJScJTcKWcKQcMncKZcLJcKRcKYcKTcKUcKVcLicKXcMncKQcKYcMycKScKZcKTcJUcKdcJZcJbcJLaaaaaaaaaaaacJMcKacJZcKfcKacJZcKfcKacJZcTFcTHcTGcTFcTHcJZcKfcKacJZcKfcKacJZcKfcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcYfcYgcYhcWwcUrcWwcXQcYicWNcXTcWwcUrcUNcUNcUNcUNcUNcUNcUNcWycXicXicXicWycXlcXmcXmcXmcXncUrcYjcXZcYkcYbcXtcUrcUrcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYdcVHcTocVHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacVHcTocVHcYdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cKecKccJXcKacKfcJScJUcJRcKecJWcKbcJVcKdcJYcJZcJTcJUcJScKbcJXcKacJRcJVcKfcJYcJWcJTcJLcJmcJUcJZcKccJXcKecJScJWcKacJVcKdcJYcKfcJTcKbcJRcJScKecKdcJZcKccJWcJYcJXcJTcJVcJecJLaaaaaaaaaaaacJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMcJMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcYlcWwcWwcWwcUrcWwcWwcYmcYmcWwcWwcUrcUNcUNcWxcWycWycWycWycWycXicXicXicWycXgcYncYncYncYncYocXtcXtcXtcXtcXtcYpcYqcYrcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYdcVUcTocVUaaaaaaaaacYsaaaaaaaaacYtaaaaaaaaacVUcTocVUcYdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cKbcKfcJWcKdcJRcJZcJXcJUcKbcJScJYcKecJTcKacJVcKccJXcJZcJYcJWcKdcJUcKecJRcKacJScKccJLcJdcJXcJVcKfcJWcKbcJZcJScKdcKecJTcKacJRcKccJYcJUcJZcKbcJTcJVcKfcJScKacJWcKccKecJhcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUNcUNcWycXscXicXicYucWycXicXicXicWycXUcYvcYwcXmcXncUrcYjcXtcXtcXtcXtcUrcYxcYxcYycUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYdcWocTocWoaaaaaaaaacYzcYAcYBcYCcYzaaaaaaaaacWocTocWocYdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cJYcJRcJScJTcJUcJVcJWcJXcJYcJZcKacKbcKccKdcKecKfcJWcJVcKacJScJTcJXcKbcJUcKdcJZcKfcJLcJlcJWcKecJRcJScJYcJVcJZcJTcKbcKccKdcJUcKfcKacJXcJVcJYcKccKecJRcJZcKdcJScKfcKbcJgcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcWycXscXicYDcYEcWycXicXicXicWycWycYFcYGcYHcYIcUrcUrcUrcUrcUrcYJcUrcYKcYxcYycUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYdcYscTocYtaaaaaacYscYzcYLcYMcYLcYzcYtaaaaaacYscTocYtcYdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cKacJUcJZcKccJXcKecJScJWcKacJVcKdcJYcKfcJTcKbcJRcJScKecKdcJZcKccJWcJYcJXcJTcJVcJRcJLcJocJScKbcJUcJZcKacKecJVcKccJYcKfcJTcJXcJRcKdcJWcKecKacKfcKbcJUcJVcJTcJZcJRcJYcJccJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcYNcUNcWycXscXicYDcYOcWycXicXicXicWycYPcXicXicWycYQcYRcYIcUrcYScYTcYUcUrcUrcUrcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYVcYzcYWcYzaaacYscYzcYXcYYcYZcYYcZacYzcYtaaacYzcYWcYzcZbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cKdcJXcJVcKfcJWcKbcJZcJScKdcKecJTcKacJRcKccJYcJUcJZcKbcJTcJVcKfcJScKacJWcKccKecJUcJLcJbcJZcJYcJXcJVcKdcKbcKecKfcKacJRcKccJWcJUcJTcJScKbcKdcJRcJYcJXcKecKccJVcJUcKacJicJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcWycXscXicXicXicZccXicXicZdcZecXicXicZfcWycWXcUNcXkcWQcZgcYTcWwcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYzcYYcYzaaacZhcZicZjcZkcZkcZkcZjcZicZhaaacYzcYYcYzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cJTcJWcKecJRcJScJYcJVcJZcJTcKbcKccKdcJUcKfcKacJXcJVcJYcKccKecJRcJZcKdcJScKfcKbcJXcJLcJecJncJmcJccJkcJlcJjcJacJecJdcJhcJbcJicJgcJocJfcJjcJlcJhcJmcJccJacJbcJkcJgcJdcJfcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcWycXscXicXicXicZlcXicXicXicZmcXicZncZocWycZpcUNcXkcXgcYScZqcWwcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYzcYWcYzaaacZrcZicZjcZscZkcZscZjcZicZraaacYzcYWcYzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cKccJScKbcJUcJZcKacKecJVcKccJYcKfcJTcJXcJRcKdcJWcKecKacKfcKbcJUcJVcJTcJZcJRcJYcJWcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWxcWycWycWycWycWycWycZtcXicXicWycWycWycWycWycWycWCcXkcXUcYScYTcWwcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYzcYYcYzcYzcYzcYzcYzcYzcYWcYzcYzcYzcYzcYzcYzcYYcYzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLcJLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWycZucZvcZwcZxcZycWycXicXicXicWycZzcZAcZBcZCcZDcWycZEcUrcYScYTcZFcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYzcYYcYYcYYcYYcYYcYYcYYcZkcYYcYYcYYcYYcYYcYYcYYcYzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWycZGcZGcZGcZGcZGcZHcXicXicXicZIcXicXicXicXicZJcWycZEcUrcUrcUrcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYzcYzcYzcYzcYzcYzcYzcYzcYWcYzcYzcYzcYzcYzcYzcYzcYzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWycZucZvcZGcZGcZGcZKcXicXicXicZLcXicXicXicXicZJcWycWXcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZhcZMcZNcZOcZPcZQcYYcZRcZkcYYcYYcYYcYYcZQcZScZTcZhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWycZUcZGcZGcZVcZWcWycZXcZYcZZcWydaacWydabcWycWycWydaccUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZrcYYcZkcZkdadcZkcZkdaecZkdaecZkcZkcZkcZkdafcYYcZraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWycZGcZGcZGcWycWycWydagdahdaicWycWycWycXicXicXicWycWXcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYscYzdajdakdaldamdancZkdaecZkdaecZkdaodapdaqcZScYYcYzcYtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWycZucZvdarcWycUNcWydasdasdascWycUNcWycWWdatdaucWycWXcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadavcYzcZhcYzcYzcYzdawcZkdaedaxdaecZkdaycYzcYzcYzcZhcYzdazaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcWydasdasdascWycUNcXEdaBdaCdaDcXGcUNcWydasdasdascWycWXcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadavdaEdazaaacYzdaFcZkdaGdaHdaIcZkdaJcYzaaadavdaEdazaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcXEdaBdaCdaDcXGcUNcUNcUNcUNcUNcUNcUNcXEdaBdaCdaDcXGcUNcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaKaaaaaacYzdaLcZkcZkdaMcZkcZkdaNcYzaaaaaadaKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUNcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacYzdaOcZkcZkcZkcZkcZkdaNcYzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUrcUraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadavcYzdaPdaQdaQdaQdaRcYzdazaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadavcYzcYzcYzdazaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaSdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -daTdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAdaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdaUdaUdaUdaUdaUdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdaUdaUdaUdaUdaVdaWdaXdaYdaZdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbadaZdbbdaUdbcdbcdbcdbcdbddaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbedbfdbgdaUdbhdbidbjdbcdbcdaUdbkdbkdbldbkdbkdbkdbmdbkdbkdbkdbndbkdbkdbkdbodbkdbkdbkdbpdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbqdbrdbsdaUdbtdbudbvdbcdbcdaUdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbpdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbqdbcdbgdaUdbcdbwdbcdbcdbcdaUdbkdbkdbkdbkdbxdbkdbkdbkdbydbkdbkdbkdbzdbkdbkdbkdbAdbkdbpdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbBdbCdbDdaUdbcdbcdbcdbcdbcdaUdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbkdbpdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdaUdaUdaUdaUdaUdaUdbEdbFdbEdaUdaUdaUdbGdaUdaUdaUdaUdbHdaUdaUdbIdbJdbJdbJdbJdbJdbKdaUdaUdaUdaUdaUdaUdaUdaUdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbLdbMdbNdbOdbPdbQdbRdbRdbRdbRdbRdbRdbRdbRdbRdbRdbRdbRdaUdbSdbTdbTdbTdbTdbTdbUdbVdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbbdbWdbrdbXdbgdbFdbRdbRdbRdbRdbRdbRdbRdbRdbRdbRdbRdbRdaUdbTdbTdbYdbZdcadbYdcbdcbdaUdccdcddcddcedaUdcfdcgdchdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdcidcjdbCdbCdckdcldbRdbRdbRdbRdbRdcmdcmdbRdbRdbRdbRdbRdaUdbTdbTdbYdcndcodbYdcpdcqdaUdcrdcrdcrdcrdaUdcsdcgdctdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdaUdaUdaUdaUdaUdaUdbRdbRdbRdbRdcudcvdcwdcxdbRdbRdbRdbRdbTdbTdbTdbTdbTdbTdbTdcbdcbdaUdcrdcydczdczdaUdaUdcAdaUdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbLdcBdbNdbOdbPdbQdbRdbRdbRdbRdcudcCdcDdcxdbRdbRdbRdbRdbTdbTdbTdbTdbTdbTdbTdbTdbTdcEdcrdcFdcFdcrdcrdcrdcrdcGdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdbbdbWdbrdbXdbgdbFdbRdbRdbRdbRdcudcHdcDdcxdbRdbRdbRdbRdaUdbTdbTdbYdcndcadbYdbTdbTdbTdcrdcrdcrdcrdcIdcrdcrdczdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdcidcjdbCdbCdckdcldbRdbRdbRdbRdcudcJdcDdcxdbRdbRdbRdbRdaUdbTdbTdbYdcndcKdbYdbTdbTdcEdcLdcrdcrdcrdcMdcrdcrdcNdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaadcOdcOdcOdcOdcOdcOdcOdcOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdcPdcQdcPdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUdaUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaadcOdcRdcSdcTdcUdcVdcWdcOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcYdaWdaXdaYdaZdaUdcZddaddaddaddadaUddbdbRddcdddddeddeddfddgddhdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaadcOddiddjddjddjddjddkdcOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdbcdbcdbcdbcdbddaUddlddlddlddlddldaUddmdbRddndddddgddgddgddoddpdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaddqddjddjddjddjddjddrdcOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddsddtddtddsdcXdduddtddtddvdcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddwddxddydcXddwddzddydcXdbhdbidbjdbcdbcdaUdaUdaUddAdaUdaUdaUddmdbRddndddddgddgddBddBddCdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaadcOddjddjddjddDddEddFdcOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddsddtddtddsdcXddGddtddtddHdcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddIddJddIdcXddIddJddIdcXdbtdbudbvdbcdbcdaUdbRdbRdbRddKddKdaUddmdbRddndddddgddgddgddLddgdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaadcOdcOdcOdcOdcOdcOdcOdcOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddsddtddtddsdcXddMddtddtddNdcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddOddOddIdcXddPddQddIdcXdbcdbwdbcdbcdbcddRdbRdbRddKddSddSdaUddmdbRddndddddgddgddgddgddgdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddtddtdcXdcXdcXddtddtdcXdcXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddIddIddIdcXddIddIddIdcXdbcdbcdbcdbcdbcddTdbRdbRddKddSddSdaUddmdbRddndddddddddddUdddddddddddddddddddddddddddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddVddWddXddYddZddZddZdcXdeaddtddtddtddtddtddtddtdebdcXaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdecdcXdcXdecdcXdcXdaZdaZdaZdbcdbcddRdbRdbRdbRddKddKdaUddmdbRddndddddpddoddgddgddBdddddpddoddgdddddgddoddpdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadeddeedeedeedeedeedeedeedeedeedeedeedeedeedefdegdeedeedeedefdehdeidejddZddZddZddZdcXdekddtddtddtddtddtddtddtdeldcXaaaaaaaaaaaaaaaaaaaaaaaadcXddwddIdemddIdenddtddtddtddtddtdcXdaUdaUdaUdaUdaUdaUdeodbRdbRdbRdbRdaUddmdbRddndddddCdepddgddgdeqdddddCddBddgdddddgddBddCdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaderdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddVdesddXddZddZddZddZdcXdetddtddtddtddtddtddtddtdeudcXaaaaaaaaaaaaaaaaaaaaaaaadcXdevdewddOddIdecddtddtddtddtddtdcXdexddtdcXddtdexdaUdeydbRdbRdbRdezdaUddmdbRddndddddgddgddgddgdeqdddddgddgddgdddddgddgddgdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadeddeedeedeedeedeedeedeedeedeedeedeedeedeedeAdegdeedeedeedeAdehdeidejddZddZddZddZdcXdeBddtddtddtddtddtddtddtdeCdcXaaaaaaaaaaaaaaaaaaaaaaaadcXdeDddIddIdeEdenddtddtddtddtddtdcXddtddtdcXddtddtdaUdeFdbRdbRdbRdeGdaUddmdbRddnddddeHddgddgddgdeqdddddddeIddddddddddeIddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaderdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddVdesddXddZddZddZddZdcXdcXdcXdeJdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddtddtddtddtddtdcXdeKdeLdcXdeLdeKdddddddeMdeNdeMddddddddmdbRddnddddddddddeOddddddddddePdePdePdePdePdePdePdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadeddeedeedeedeedeedeedeedeedeedeedeedeedeedeQdegdeedeedeedeQdehdeidejddZddZddZddZdcXdcXdeRdeSdeTdcXdcXdcXdeUdeVdeUdcXdcXdcXdeWdeXdeYdcXdcXdeSdeSdeSdeSdeSdcXddtddtddtddtddtdcXddtddtddtddtdfaddddfbdfcdfddfcdfcdfcdfedfddffdfcdfcdfcdfddfcdfgddddfhdfhdePdePdePdePdePdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaderdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddVdesddXddZddZddZddZdcXdfideSdeSdeSdfjdcXdfkdeSdeSdeSdfldcXdfmdeSdeSdeSdfndcXdeSdeSdeSdeSdeSdcXddtddtddtddtddtdcXddtdfoddtddtdfaddddfpdfddfddfddfddfddfddfddfddfddfddfddfddfddfqddddfrddCdfsdePdePdePdftdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadeddeedeedeedeedeedeedeedeedeedeedeedeedeedfudegdeedeedeedfudehdfvdejddZddZddZddZdcXdfideSdeSdeSdfwdcXdfkdeSdeSdeSdfldcXdfmdeSdeSdeSdfxdcXdeSdeSdeSdeSdeSdcXddtddtddtddtddtdcXdfydfzddtddtdfaddddfpdfddfAdfBdfBdfBdfBdfBdfBdfBdfBdfBdfCdfddfqddddfrdfDdfsdePdePdePdfEdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdfFdcXdcXdcXdfGdeSdeSdeSdfHdcXdfGdeSdeSdeSdfIdcXdfGdeSdeSdeSdfJdcXdcXdcXdfKdcXdcXdcXdcXdeKdfLdeKdcXdcXdcXdeKdeLdeKdcXddddfpdfddfMdfNdfOdfOdfOdfOdfOdfOdfOdfPdfQdfddfqdddddddddddddeIdddddddddddddddddddddddddddddddddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddVdfRddtddVdfRdcXddVdfSddtddVdfTdcXdcXdcXdfUdcXdcXdcXdcXdcXdfVdcXdcXdcXdcXdcXdfWdcXdcXdcXdfXdfYdfZdgadfXdcXdfXdfYdfZdgadfXdcXdfXdfYdfZdgadfXddddfpdfddfMdgbdgcdgddgedgfdggdghdgidgbdfQdfddfqddddgjdePdePdePdePdePdgjddddgkddgddgddgddgddgddgddgdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdgldgmddtdgldgmdcXdgnddtddtdgnddtdcXddtdgoddtdgoddtdgpddtdgqddtdgqddtdgpddtdgoddtdgodgrdcXdgsdgtdfZdgudgsdcXdgsdgtdfZdgudgsdcXdgsdgtdfZdgudgsddddgvdfddffdgwdgxdfddgydgzdgAdfddfddgwdfedfddgBddddePdePdePdePdePdePdePdddddgddgddgddgdgCdgDddgddgdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddtddtddtddtddtdgEddtddtddtddtddtdgFddtddtddtddtddtddtddtddtddtddtddtddtddtddtddtddtdgGdgHdfZdfZdfZdfZdfZdgIdfZdfZdfZdfZdfZdgJdfZdfZdfZdfZdfZdgKdfddfddfddgLdgMdfddfddfddfddfddfddgLdfddfddfddeIdePdePdePdePdePdePdePdgNddgddgddgdgOddBdgPddgdgQdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdgldgmddtdgldgmdcXdgnddtddtdgnddtdcXddtddtddtddtddtddtddtddtddtddtddtddtddtddtddtddtdgrdcXdgRdgSdfZdgTdgRdcXdgRdgSdfZdgTdgRdcXdgRdgSdfZdgTdgRddddgUdfddfAdgVdfddfddfddfddfddfddfddgVdfCdfddgWddddePdePdePdePdePdePdePdddddgddgddgddgddCddgddgddgdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddVdfRddtdgXdgYdcXddVdfTddtddVdfTdcXddtddtddtddtddtddtddtddtddtddtdgZdgZdgZddtddtddtddtdcXdfXdfYdfZdgadfXdcXdfXdfYdfZdgadfXdcXdfXdfYdfZdgadfXddddfpdfddfMdgwdhadhbdhcdhcdhcdhddhedgwdfQdfddfqddddgjdePdePdePdePdePdgjddddgkddgddgddgddBddpddfddgdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdhfdcXdcXdcXdcXdcXdcXdcXdcXddtddtddtddtdfydfzdhgdhhdhiddtddtddtdcXdcXdhjdhkdhldcXdcXdcXdeKdhmdeKdcXdcXdcXdeKdhndeKdcXddddfpdfddfMdddddddhodhpdhqdhrdhsdddddddfQdfddfqdddddddddddddhtddddddddddddddddddddddddddddddddddhuddddddddddddddddddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddVdhvddtddVdhvdcXdhwdhxdhwdhxdcXddtddtddtddtdfydfzdfzdfzdhiddtddtddtdcXdhydhydhydhydhydcXdhzdhAdhBdhCdhydcXdhydhydhydhydhyddddfpdfddfMdddddddhDdfOdfOdfOdhEdddddddfQdfddfqddddhFdePdePdePdePdePdhGddddhHdhIdhJdhKdhKdhKddddhKdhKdhLdhMdhNdhOdhPdhQdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdhRddtddtdhRddtdcXdhSdhTdhSdhUdhVddtddtddtddtddtdhWdhWdhWddtddtddtddtdcXdhXdhAdhBdhCdhydcXdhXdhYddIdhZdhydcXdhXdhydhydhydhyddddfpdfddffdiadiadiadiadiadiadiadiadiadfedfddfqddddibdePdePdePdePdePdibddddhKdhKdhKdhKdhKdhKddddhKdhKdhKdhKdhKdhKdhKdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddtddtddtddtddtdcXdhSdhTdhTdhTdicddtddtddtddtddtddtddtddtddtddtddtdiddcXdhydhYddIdhZdhydcXdhydhYddIdhZdhydcXdhydhydhydhydhyddddfpdfddfddfddfddfddfddfddfddfddfddfddfddfddfqddddhGdiedePdePdePdifdhGddddhKdhKdhKdhKdhKdhKdigdhKdhKdhKdhKdhKdhKdhKdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddtddtddtddtddtdcXdihdiidhTdhTdhVddtddtddtddtddtddtddtdijdikddtddtdildcXdhydhYddIdhZdhydcXdhydhYddIdhZdhydcXdhydhydhydhydhyddddimdfBdfBdfBdfBdfBdfCdfddfAdfBdfBdfBdfBdfBdinddddiodePdePdePdePdePdioddddipdhKdhKdhKdhKdiqddddhKdhKdhKdhKdhKdhKdhKdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdhRddtddtdhRddtdcXezDdhTdhTdhTdcXddtddtddtddtddtddtddtdijdikddtddtdisdcXdhyditdiudivdiwdcXdhydhYddIdixdhydcXdhydiydhydhydhydddddddddddddddddddddddddizddddddddddiAdddddddddddddibdePdePdePdePdePdibddddiBdhKdhKdhKdhKdiCddddhKdhKdhKdhKdhKdhKdhKdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddVdhvddtddVdhvdcXdiDdiEdiFdiGdcXdgrdiHddtddtddtdgrddtdijdikddtddtdiIdcXdhydiJdiKdiLdiMdcXdhydiNdiOdiPdhydcXdiQdiRdiSdhBdiTdcXdiUdiVdiWdiXddddiYdiZdiZdiZdjaddddjbdjbdjcdjdddddhGdiedePdePdePdifdhGddddddddddhKdhKddddddddddddddddjedddddddjedddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdjfdjfdcXdcXdcXdcXdcXdjgdjgdcXdcXdhydjhdjidjjdjkdcXdhydhYdiKdhZdhydcXdjldiKddIddIdhZdjmdjndjndjndjnddddjodfddfddfddjpddddjbdjbddddddddddiodePdjqdjrdjsdePdioddddhKdhKdhKdhKdhKdhKddddhKdhKdhKdhKdhKdhKdhKdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXaaaaaaaaaaaadjtdjudjvdjtaaaaaaaaadcXddtddtdjwdcXdjxdhydhydjydjzdcXdhydjhdjidjjdjAdcXdjBdjCddIddIdhZdcXdjDdjEdjFdjGddddjodfddfddfddjpddddjHdjbdjcdjdddddibdePdePdjIdePdePdibddddhKdhKdhKdhKdhKdhKddddjJdhKdhKdjJdhKdhKdjJdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXaaaaaaaaaaaadjtdjKdjLdjtaaaaaaaaadcXddtddtdjMdcXdcXdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNddddjodfddfddfddjpddddjHdjbddddddddddhGdiedePdePdePdifdhGddddhKdhKdhKdhKdhKdhKddddhKdhKdhKdhKdhKdhKdhKdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdjOdjPdjPdjPdjPdjQdjQdjPdjPdjRaaadcXddtddtdjSdcXaaadjTdjUdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjWddddjodfddfddfddjpddddjHdjbdjcdjdddddiodePdjXdjYdjZdePdioddddkadkadkadkadkadkaddddjJdhKdhKdjJdhKdhKdjJdhKdddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdkbdkcdkddkedkfdkgdkgdkhdkidjPdjRdcXddtddtdkjdcXaaadjTdjUdjVdjVdjVdkkdkldkldkldkldkmdkmdkldkldkldkldkndjVdjVdjVdjWddddkodgzdgzdgzdkpddddkqdkqdkqdkqdkqdkqdkqdkqdkqdkqdjNdjNdjNddddddddddddddddddddddddddddddddddddddddddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdkbdkcdkrdkgdkgdkgdkgdkgdkgdksdktdjNddtddtdkudcXaaadjTdjUdjVdjVdkkdkvdkwdkxdkydkldkzdkAdkldkBdkCdkDdkldkldkndjVdjWddddddddddkEddddddddddkFdkGdkGdkGdkGdkGdkGdkGdkHdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdkbdkcdkgdkJdkJdkJdkJdkJdkJdjPdkKdjNddtddtdkLdcXaaadjTdjUdjVdkkdkldkzdkzdkzdkzdkldkMdkMdkldkzdkzdkzdkzdkzdkldkndjWdaUdkNdkOdkPdkQdkRdaUdkFdkSdkTdkTdkTdkTdkTdkUdkHdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdkVdjPdjPdjPdjPdjPdjPdjPdjPdkKaaadjNddtddtdkWdcXaaadjTdjUdkkdkldkXdkYdkZdladlbdkldkzdkzdkMdkzdkzdkzdkzdkzdkzdkldjWdaUdlcdlddledlddlfdaUdkFdlgdlhdlhdlhdlhdlhdlgdkHdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddtddtdlidcXaaadjTdjUdljdlkdkzdkzdlldlldlldkldkzdkzdkldkzdkzdkzdkzdkzdlmdkldjWdlndlodlpdkPdlqdlrdlsdkFdlgdlhdlhdlhdlhdlhdlgdkqdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdltdludlvdlwdhlddtddtdeZdcXaaadjTdjUdlydlkdkzdkzdkzdkzdkzdlzdkzdkzdkldkldkldkldkldkldkldlAdjWdlndlBdlCdlDdlCdlEdlsdkFdlgdlhdlhdlhdlhdlhdlFdkqdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdlGdlHdlHdlHdlIddtddtdeZdcXaaadjTdjUdlJdkldkzdkzdkzdkzdkzdkldkzdkzdkldkzdlKdlKdlLdjVdjVdjVdlMdaUdlNdlOdlPdlOdlQdkqdkFdlgdlhdlhdlhdlhdlhdlRdkqdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdlxdlTdlUdlVdhlddtddtdeZdcXaaadjTdjUdjVdkldkldkldkldkldkldkldkzdkzdlzdkzdlWdlXdlYdjVdjVdjVdjWdaUdkNdlZdmadmbdmcdkqdkFdlgdlhdlhdlhdlhdmddlgdkqdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXddtddtdeZdcXaaadjTdjUdkkdkldmedmfdmgdmhdmidkldkzdkzdkldkzdlKdlKdmjdjVdjVdjVdjWdaUdmkdkQdmldkOdmmdmndkFdlgdlhdlhdlhdlhdlhdlRdkqdkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdmodmpdmqdmrdmrdmsdmtdcXdkLdkjdkjdkLdcXddtddtdeZdcXaaadjTdjUdljdlkdmudmvdmudmudmudlzdkzdkzdkldkldkldkldkldkldkldkndjWdaUdmkdkPdkPdkPdmmdmndkFdlgdlhdlhdlhdlhdlhdmwdkqdkIaaaaaaaaaaaadmxdmydmzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdmodmpdmpdmpdmpdmpdmAdcXdliddtddtdlidcXddtddtdcXdcXaaadjTdjUdlydlkdmudmudmudmudmudkldkzdkzdkldkzdkzdkzdkzdkzdkzdkldjWdaUdmkdkPdkPdkPdmmdmndkFdlgdlhdlhdlhdlhdlhdlgdkqdkIaaaaaaaaadmxdmBdmCdmDdmzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdmEdmpdmFdmEdmGdmHdmIdcXdliddtddtdlidcXddtddtdcXaaaaaadjTdjUdlJdkldmJdmKdmudmLdmMdkldkzdkzdkMdkzdkzdkzdkzdkzdkzdkldjWdaUdmkdkPdkPdkPdmmdmndkFdmNdmOdlhdlhdlhdmPdmQdkHdkIaaaaaadmxdmBdmRdmSdmTdmDdmzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdmpdmpdmUdmUdmUdmUdmUdcXdkjddtddtdkjdcXddtddtdcXaaaaaadjTdjUdjVdlJdkldmVdmudmWdmudkldkMdkMdkldkzdkzdkzdkzdkzdkldlAdjWdaUdmkdkPdkPdkPdmmdmndkFdmXdmYdmZdmZdmZdmYdnadkHdkIaaaaaadmydnbdncdnddncdnedmyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdmpdmpdmpdmpdmpdmpdmpdcXdeKddtddtdeKdcXddtddtdcXaaaaaadjTdjUdjVdjVdlJdkldnfdngdnhdkldkzdnidkldkzdkzdkzdkldkldlAdjVdjWdaUdmkdkPdkPdkPdmmdmndkFdkGdnjdnkdnkdnkdnldkGdkHdkIaaadmxdmBdnmdnddnddnddnndmDdmzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddtddtddtddtddtddtddtddtddtddtddtddtddtddtddtdcXaaaaaadjTdjUdjVdjVdjVdlJdkldkldkldkldnodnodkldkldkldkldlAdjVdjVdjVdjWdaUdmkdkPdkPdkPdmmdmndkFdkGdkGdkGdkGdkGdkGdkGdkqdkIaaadnpdnqdnrdnddnddnddnsdnddnpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadntdntdntaaadnudnudnuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXddtddtddtddtddtddtddtddtddtddtddtddtddtddtddtdcXaaaaaadjTdnvdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjVdjWdaUdmkdkPdkPdkPdmmdnwdjNdjNdjNdjNdjNdjNdjNdjNdjNdmxdnxdnydnxdnxdnxdnzdnxdnAdnxdnydnxdmzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadntdntdntaaadnudnudnuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXdcXaaaaaacMXdnBdnBdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnCdnBdnBdnBdnBdnCdnCdmkdkPdkPdkPdmmdnDdnEdnEdnFdnGdnGdnFcMXaaaaaadnpdnHdnIdnJdnKdnHdnddnJdnKdnHdnIdnJdnpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadntdntdntaaadnudnudnuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnBdnLdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnLdnMdnMdnBdnEdnDdmkdkPdkPdkPdmmdnDdnEdnCdnNdnOdnOdnPdnCaaaaaadnpdnQdnddnJdnRdnHdnddnJdnRdnHdnddnSdnpaaaaaaaaaaaaaaadnTdnUdnVdnWdnXdntdntdntaaadnudnudnudnTdnUdnVdnWdnXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnBdnLdnYdnZdoadobdnZdoadoadoadocdoadoadoddoednLdnMdnMdnBdnEdnDdofdkPdkPdkPdogdnDdnEdnCdohdohdohdohdnCaaaaaadmydnHdnddnJdnRdnHdnddnJdnRdnHdnddnJdmyaaaaaaaaaaaaaaadoidojdojdojdokdoldomdoldoldoldondoldoodojdojdojdoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnBdnLdnZdopdoqdordosdotdotdotdotdotdotdoudovdnMdnMdnMdnBdnEdlOdmkdkPdkPdkPdmmdlOdnEdnCdkPdkPdkPdkPdowdnOdnPdnpdnHdnddnJdoxdnHdnddnJdoxdnHdnddnJdnpaaaaaaaaaaaaaaadoidoydoydozdoAdoBdoCdoDdoEdoFdoGdoBdoHdoIdoydoydoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnBdnLdoJdoqdoqdoqdoJdoqdoqdoqdoqdoqdoqdoKdoJdnLdnMdoLdnBdoMdoNdoOdkPdkPdkPdoPdoNdlddnCdoQdkPdkPdkPdoRdnMdoRdoSdnddnddnddnddnddnddnddnddnddnddnJdnpaaaaaaaaaaaaaaadoidoydoydoTdoUdoVdoWdoVdoXdoVdoWdoVdoYdoTdoydoydoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnBdnLdoZdpadpbdoqdpcdoqdoqdoqdoqdoqdoqdoqdpddnLdnMdoLdpedpfdpgdoOdkPdkPdkPdoPdpgdnMdpgdkPdkPdkPdkPdowdnOdnPdnpdphdnddnJdnKdnHdnddnJdnKdnHdnddnSdnpaaaaaaaaaaaaaaadpidoIdoydpjdoVdoWdoWdoWdoWdoWdoWdoWdoVdpjdoydozdpkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnBdnLdoJdpldoqdoqdoJdoqdoqdoqdoqdoqdoqdoqdoJdnLdnMdoLdnBdlddoNdoOdkPdkPdkPdoPdoNdlddnCdoQdkPdkPdkPdnCaaaaaadnKdnHdnddnJdnRdnHdnddnJdnRdnHdnddnJdnKaaaaaaaaaaaaaaaaaadpidoldoodpmdpndpodpndoWdppdpqdoWdprdokdoldpkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdnLdptdpudoqdpvdosdpwdpwdpwdpwdpwdpwdpxdpydnLdnMdoLdpsdnEdpzdmkdkPdkPdkPdmmdlddnEdnCdkPdkPdkPdpAdnCaaaaaadnRdnHdnddnJdnRdnHdnddnJdnRdnHdnddnJdnRaaaaaaaaaaaaaaaaaaaaaaaadoidpBdpCdpDdpEdoWdppdpqdoWdoBdoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdnLdnYdptdoadpFdptdoadoadoadocdoadoadpGdoednLdnMdoLdpsdnEdpHdmkdkPdkPdkPdoPdoNdlddnCdoQdkPdkPdkPdnCaaaaaadoxdnHdnddnJdoxdnHdnddnJdoxdnHdnddnJdoxaaaaaaaaaaaaaaaaaaaaaaaadoidpIdpJdpJdpndoWdppdpqdoWdoVdoidpKdpKdpKdpKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdnLdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnMdnLdnMdoLdpsdnEdpLdmkdkPdkPdkPdoPdpgdnMdpgdkPdkPdkPdkPdowdnOdnPdnpdpMdnddnddnddnddnddnddnddnddnddpNdnpaaaaaaaaaaaaaaaaaaaaaaaadoidpOdpJdpJdpPdoWdoVdoVdoWdpQdpRdpKdpKdpKdpKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdnCdnCdpzdmkdkPdkPdkPdoPdnCdnCdnCdoQdkPdkPdkPdoRdnMdoRdoSdnddnddnddnddpSdnddpSdnddnddnddpNdmyaaaaaaaaaaaaaaaaaaaaaaaadokdoldoldoldoodoWdppdpqdoWdpTdoidpKdpKdpKdpKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdpUdpVdpWdpXdpXdpYdpZdqadqbdqcdqddqedqfdqedqedqedqgdqedqedpHdmkdkPdkPdkPdmmdnDdnEdnCdkPdkPdkPdkPdowdnOdnPdnpdqhdqidqjdmydqkdmydqkdmydqldqhdqidnpaaaaaaaaaaaaaaaaaaaaaaaadoidqmdqmdqndqodoWdppdpqdoWdqpdoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdpUdpVdpVdpVdpVdpVdqqdqrdqrdqrdqsdqedqedqedqtdqedqedqedqedpzdmkdkPdkPdkPdmmdnDdnEdnCdohdohdohdohdnCaaaaaadnpdqudqvdqwdqxdnpaaadnpdqydqzdqydqydnpaaaaaaaaaaaaaaaaaaaaaaaadqAdqBdqBdqBdqCdoWdppdpqdoWdoVdoidqDdqDdqDdqDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdqEdpVdqFdqEdqGdqHdqIdqrdqrdqrdqrdqedqedqJdqedqKdqfdqedqedpHdkPdkPdkPdkPdmmdnDdnEdnCdqLdqMdqMdnPdnCaaaaaadmydqwdqwdqwdqNdnpaaadnpdqOdqzdqzdqPdnpaaaaaaaaaaaaaaaaaaaaaaaadoidqQdqRdqBdqSdoWdoWdoWdoWdqTdqUdqDdqDdqDdqDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdqVdqrdqsdqsdqsdqsdqsdqrdqrdqrdqrdqedqedqedqWdqedqedqedqedqXdkPdkPdkPdkPdmmdlOdnEdnEdnGdnGdnGdnGcMXaaaaaadnpdqudqvdqwdqYdnpaaadnpdqZdqZdqZdqZdnpaaaaaaaaaaaaaaaaaaaaaaaadoidradqBdqBdqodoWdoVdoVdoVdoYdoidqDdqDdqDdqDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdrbdqrdqrdqrdqrdqrdqrdqrdqrdqrdqrdrcdqedqedqedqedqedqedqedpzdkPdkPdkPdkPdmmdnDdnEdnCcMXcMXcMXcMXcMXaaaaaadrddnAdredredredrfaaadrgdrhdrhdrhdnAdriaaaaaaaaaaaaaaaaaaaaaaaadoidqQdqRdqBdrjdoWdrkdrldrmdoBdoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdrbdqrdqrdqrdqrdqrdrndqrdqrdrndqrdrodrpdrpdrpdrqdrpdrpdrpdrrdrsdrtdrtdkPdmmdnDdnEdnCaaaaaaaaaaaaaaaaaaaaaaaadrddrudrudrudriaaadrddrudrudrudriaaaaaaaaaaaaaaaaaaaaaaaaaaadpidrvdrvdoldoldrwdoldoldrvdrvdpkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdrxdqrdqrdqrdqrdqsdrydqsdqsdrydqsdrzdrAdrAdrAdrAdrAdrAdrAdrrdrBdrCdrtdrDdrEdnDdnEdnCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpidoodrFdppdoWdpqdrGdokdpkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpsdpsdrHdrIdrIdrJdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdpsdrKdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoidrkdoVdrLdoVdrMdoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdrNdrNdrNdrNdrNdrNdrOdjNdrPdrPdrPdrPdrPdrPdrQdrPdrPdrPdrPdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoidrRdrSdrTdrUdrVdoiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdrNdrNdrNdrNdrNdrNdrWdjNdrXdrPdrXdrPdrXdrPdrYdrPdrPdrPdrZdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpidsadsbdsbdsbdscdpkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdrNdrNdrNdrNdrNdrNdsddjNdrXdrPdrXdrPdrXdrPdrYdrPdsedrPdrZdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsfdrNdsgdshdrNdrNdrNdjNdrXdrPdrXdrPdrPdrPdrYdrPdrPdrPdrZdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsidrNdshdshdrNdrNdrNdjNdjNdjNdjNdjNdrQdjNdjNdjNdjNdjNdjNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsidrNdshdshdrNdrNdrNdjNdsjdsjdskdrPdrPdrPdskdsldsldsldsldjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsmdrNdsndsndrNdrNdrNdjNdsodsjdjNdrPdrPdrPdjNdsldspdsldsldjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsqdrNdrNdrNdrNdrNdsrdjNdsjdsjdjNdrPdrPdrPdjNdssdssdssdsldjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdjNdjNdjNdjNdstdskdjNdjNdsjdsjdjNdrPdrPdrPdjNdssdsudssdsldjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdjNdswdsxdjNdrPdrPdrPdjNdsydsldsldsldjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdjNdjNdjNdjNdrPdrPdrPdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdszdsAdsBdjNdrPdrPdrPdjNdrPdrPdrPdrPdrPdrPdrPdrPdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdrNdrNdrNdsCdrPdrPdrPdsDdrPdsEdsFdsEdrPdsGdsHdsIdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdjNdjNdjNdjNdrPdrPdrPdjNdsJdsKdsEdsLdsJdsMdsNdsNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdsOdrNdszdjNdrPdrPdrPdjNdsPdsPdsQdsPdsPdsMdsNdsNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdsRdrNdsAdjNdrPdrPdrPdjNdshdshdrNdshdshdsMdsNdsNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdsRdrNdsAdjNdrPdrPdrPdjNdsSdsSdrNdsSdsSdsMdsNdsNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdjNdjNdsDdjNdjNdjNdsDdjNdjNdrNdrNdrNdrNdrNdsMdsNdsNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdsTdrPdrPdrPdrPdrPdrPdrPdsUdsSdsSdsSdsSdsSdsMdsNdsNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsvdrPdrPdsTdrPdrPdrPdrPdrPdrPdrPdsUdsSdsSdsSdsSdsSdjNdsVdsVdjNdjNdjNdjNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdsWdsXdsXdjNdjNdsYdjNdjNdjNdsYdjNdjNdjNdjNdjNdjNdjNdjNdrPdrPdrPdsZdrPdtadjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdrNdrNdrNdrNdrNdrNdrNdrNdtbdtbdtbdtbdtbdjNdrPdrPdsFdsFdrPdrPdtcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdrNdrNdrNdrNdrNdrNdrNdrNdshdshdshdshdshdjNdrPdrXdsEdsEdsedrPdtdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdjNdtedtedtedjNdjNdrNdrNdtfdtfdtfdtfdtfdjNdrPdrXdsEdsEdsedrPdtdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdtedtgdtgdtgdtgdthdrNdrNdtbdtbdtbdtbdtbdjNdrPdrXdsEdsEdsedrPdtdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdtidtgdtgdtgdtjdjNdrNdrNdshdshdshdshdshdjNdrPdrXdsEdsEdsedrPdtdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdtedtgdtgdtgdtkdjNdrNdrNdtfdtfdtfdtfdtfdjNdrPdrPdtldtldrPdrPdtmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdjNdtndrPdrPdrPdrPdtodjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjNdjNdjNdjNdjNdjNdjNdjNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtpaaaaaaaaaaaaaaadtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtrdtpdtsdttdttdttdttdttdtsdtqdtraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtpdtsdtudtvdtwdtxdtydtzdtAdtBdtqaaaaaaaaaaaaaaaaaadtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtDdtEdtEdtEdtEdtEdtFdtBdtsdttdtsdttdtsdttdtsdtsdtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtGdtEdtHdtIdtJdtEdtKdtBdtLdtEdtMdtEdtNdtOdtEdtPdtBdtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtQdtEdtEdtEdtEdtEdtRdtBdtEdtEdtEdtEdtEdtEdtEdtEdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtSdtTdtEdtEdtEdtTdtUdtBdtVdtEdtWdtEdtXdtOdtEdtPdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtBdtsdtsdtEdtEdtEdtsdtsdtBdtEdtEdtEdtEdtEdtEdtEdtEdtBdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtqaaadtBdtsdtsdttdtZdttdtsdtsdtsdtsdtsdttduadttdtsdtsdtsdtYaaadtpdtsdttdttdttdttdtsdtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtsdtsdtsdubdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEducdtBdtYaaadtpdtBduddtEduedufdtEdugdtBduhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduidtEdujdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtBaaaaaaaaadtCdukduldtEdtEdtEdumdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtsdtsdtsdtsdtsdtsdttdundttdtsdtsdtsdtsdtsduodtEdtEdtBaaaaaaaaadtCdufdtEdtEdtEdtEdupdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtYaaaduqdtBdurdusdutdtEdtEduuduvduwduxducdtBdtEdtEdtBaaaaaadtpdtBduyduzduAduBdtEdtEdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtCdtEdtEdtBdtsdttdtsdtsdtsdtsdtsdtsduCdtsdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtBduDduEduFdtEdtEdtEduGduGduGdtEdundtEdtEdtBduHdtEdtEduIdtBduJduzduKdtEduLdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEdtEduMdtsdtsdtsdtsdtBdtEdtEdtBdtEdtEduNduOdtBduPdtEdtEdtEduQdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtBduRduSduTdtEduUdtsduVduWduXduYdtBdtEdtEdtBduZdtEdtEdvadtBdvbdtEdtEdtEdvcdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEduUdtsdvdduWduWduWdvedtEdtEdtBdvfdtEdtEdvgdtBdvhdtEdtEdtEdvidtCaaaaaaaaaaaadtpdtsdvjdvjdvjdtsdtqaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtBdvkdvldvmdtEduUdtsdvnduWdvodvpdtBdtEdtEdtBdvqdvrdtEdtEdvsdtEdtEdtEdtEdtEdtBaaaaaaaaadtpdtsdvtdvudvudvudvvdtsdtqaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtpdtsdtsdtsdtsdtsdtsdtsdtsdtsdtsdtsdvwdtEdtEdvxdtsdtsdtsdtsdtsdtsdtsdtsdvydtsdtBdtqaaadtpdtsdvtdvudvudvudvudvudvvdtsdtqaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtpdtBdvzdvAdvBdvCdvDdvEdvFdvxdtBdvwdtEdtEdtEdtEdtEdtEdvxdtsdtsdtsdtsdvGdvwdtEdvxdtBdtsdvjdtsdvtdvudvudvudvHdvudvudvudvvdtBaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdvIdtEdtEdvJdtEdtEdtEdtEdtEdvKdtEdtEdvLdvLdvLdvLdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdvMdvudvudvudvudvudvudvNdvOdvPdvudvudvudvQaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdvRdvSdtEdtEdtEdtEdtEdtEdtEdvKdtEdtEdvLdvLdvLdvLdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdvMdvudvudvudvudvudvTdvUdvNdvNdvTdvudvudvQaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdvVdtEdtEdvWdtEdtEdtEdtEdtEdvKdtEdtEdvLdvLdvLdvLdtEdtEdtEdtEdtEdtEdtEdtEdtEduMdtBdtsdvjdtsdvXdvudvudvTdvTdvTdvudvudvYdtBaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqdtBdvZdwadwbdwcdwddwedwfduMdtBduodtEdtEdtEdtEdtEdtEduMdtsdtsduodwgduMdtsdtsdtsdtBdtYaaaduqdtsdvXdvudvudvudvudvudvYdtsdtYaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqdtsdtsdtsdtsdtsdtsdtsdtsdtsdtsdtsduodtEdtEduMdtsdtsdtsdtsdtsdwhdtsdtsdtsdtsdtBaaaaaaaaaduqdtsdvXdvudvudvudvYdtsdtYaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwidwidwjdwkdwldwmdwndwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqaaaaaaaaaaaaaaaaaaaaaaaaaaadtBdtsdwodwodtBaaadtBduWdwpduWduWduWdwpduWdtBdtBaaaaaaaaaaaaduqdtsdvjdvjdvjdtsdtYaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwqdwrdwsdwtdwudwvdwwdwrdwqdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtpdtsdtsdtsdtsdtsdtsdtsdtsdtsdvwdtEdtEdtBaaadtBdwyduWduWdwzduWduWdwAdtBdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwrdwBdwCdwtdwudwvdwDdwEdwrdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtBaaadtBduWdwzduWduWduWdwzduWdtBdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwGdwrdwGdwtdwudwvdwGdwrdwGdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtBaaadtBdwHduWduWdwzduWduWdwIdtBdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwJdwrdwrdwtdwudwvdwrdwrdwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqdttdttdttdttdttdttdttdttdttduodtEdtEdtBaaadtBdwLduWduWduWduWduWdwMdtBdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwNdwOdwOdwtdwudwvdwPdwPdwQdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtBaaaduqdtsdwRdwSdwTdwSdwUdtsdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaadwidwudwudwudwudwudwudwudwudwudwudwudwidwidwldwidwidwudwidwidwldwidwidwidwidwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtBaaaaaaduqdtsdwVdwWdwXdtsdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaadwidwudwidwidwidwidwYdwidwidwidwudwudwudwudwudwudwidwudwidwudwudwudwudwudwudwudwudwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtBaaaaaaaaadwZdxadxbdxcdwZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaadwidwudwidxddxedxedxedxedxfdwidwidwidwidwidwidwidwidxgdwidwidwidwidwidwidwidwidwudwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtBaaaaaaduqdtsdtsdxhdtsdtsdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaadwidwudwidxddxedxedxedxedxfdwidxidxjdxkdxjdxldxmdxmdxmdxmdxmdxldxmdxldxmdxndwidwudwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtBaaaaaaaaaduqaaaaaaaaadtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaadwidwudwidxodxedxedxedxedxpdwidxmdxqdxqdxqdxqdxqdxmdxmdxmdxqdxqdxqdxqdxrdxsdwidwudwidwidwidwidwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaadwidwudwidxodxtdxudxudxedxedxvdxmdxmdxwdxxdxwdxmdxmdxmdxmdxmdxwdxxdxwdxydxmdwidwudwudwudwudwudwudwudwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadwidwidwudwidwidwidwidwidwidwidwidxmdxqdxqdxqdxqdxqdxmdxmdxmdxqdxqdxqdxqdxzdxmdwidwidwidwidwidwidwidwudwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtpdttdtsdxAdtsdttdtsdxBdtsdttdvwdtEdtEdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadwidwJdwudwidwidxCdxCdxCdxCdxCdwidxDdxDdxDdxDdxDdxDdxDdxDdxDdxDdxDdxDdxDdxEdxDdwidxFdxFdxFdxFdxFdwidwudwudwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadwidwJdwidwidwidxGdxGdxGdxGdxGdwidxHdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxJdxHdwidxGdxGdxGdxGdxGdwidwidwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEdtEduMdtBdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadwidwJdwidxKdxLdxMdxMdxMdxMdxMdxNdxOdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxJdxPdxNdxQdxQdxQdxQdxQdxLdxRdwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqdtsdtsdtsdtsdtsdtsdtsdttdxSdttdtsdtsdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadwidwJdwidxKdxLdxMdxTdxMdxTdxMdxNdxOdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxIdxJdxPdxNdxQdxUdxQdxUdxQdxLdxRdwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtBdxVdtEdtEdtEdxWdtBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadwidwJdwidxKdxLdxMdxMdxXdxMdxMdxNdxOdxIdxIdxIdxIdxIdxYdxZdxYdxIdxIdxIdxIdxJdxPdxNdxQdxQdyadxQdxQdxLdxRdwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdtEdtEdtEdtEdtEdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadwidwJdwidxKdxLdxMdxMdxMdxMdxMdxNdxOdxIdxIdxIdxIdxIdybdycdybdxIdxIdxIdxIdxJdxPdxNdxQdxQdxQdxQdxQdxLdxRdwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdyddtEdtEdtEdyedtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadwidwJdwidxKdxLdxMdxTdxMdxTdxMdxNdxOdxIdxIdxIdxIdxIdyfdygdyhdxIdxIdxIdxIdxJdxPdxNdxQdxUdxQdxUdxQdxLdxRdwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtCdyidtEdtEdtEdyjdtCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadwidwJdwidwrdykdxMdxMdxMdxMdxMdxNdxOdxIdxIdxIdxIdxIdxIdyldxIdxIdxIdxIdxIdxJdxPdxNdxQdxQdxQdxQdxQdykdwrdwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqdtBdymdyndyodypdyqdtBdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadwidwJdwidyrdwidysdysdysdysdysdwidxHdxIdxIdxIdxIdxIdxIdyldxIdxIdxIdxIdxIdxJdxHdwidysdysdysdysdysdwidyrdwidwKdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwFdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqdtsdttdttdttdtsdtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadwidwNdytdwrdwidyudyudyudyudyudwidxDdxDdxDdxDdxDdxDdyvdywdyvdxDdxDdxDdxDdxEdxDdwidyxdyxdyxdyxdyxdwidwrdyydwQdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxdwxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduqaaaaaaaaadtYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaadwidwidwidwrdwidwidwidwidwidwidwidyzdyAdyAdyAdyAdyAdyBdyCdyzdyAdyAdyAdyAdyDdyzdwidwidwidwidwidwidwidwrdwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaadwidwrdwrdwudwudwudwudwudwidyzdyzdyEdyzdyEdyzdyzdyFdyGdyzdyEdyzdyEdyHdyzdwidwudwudwudwudwudwrdwrdwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaadwidwidwidwidwidwidwidwudwldyzdyzdyzdyIdyIdyIdyzdyzdyzdyIdyIdyIdyIdyIdyzdwldwudwidwidwidwidwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwidwidyJdyJdyJdyKdyLdyMdyNdyzdyOdyPdyQdyRdySdyTdyUdwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwidwidwidwidwidwidwidwidwidwidwidwidwidwidwidwidwiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -"} - -(1,1,3) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyWdyXdyXdyXdyXdyYdyZaaaaaaaaaaaaaaaaaaaaadyWdyZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyWdyXdzadzbdzbdzcdzddzedzfdyYdyZaaaaaaaaaaaadyWdzfdzgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyWdzhdzidzbdzbdzbdzbdzbdzbdzjdzedzkdyZaaaaaadyWdzldzmdznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyWdzkdzfdzodzbdzbdzbdzbdzpdzbdzbdzbdzqdzkdyZdyWdzldzrdzmdznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadyWdzkdzadzsdzedyXdyYdztdzudzvdyXdyXdzwdzfdzfdzfdzhdzrdzrdzmdznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzqdzadzbdzxdzbdzydzzdzAdzbdzBdzbdzbdzbdzbdzbdzbdzCdzrdzDdyXdzEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzzdzbdzbdzbdzbdzydzzdzbdzbdzbdzbdzbdzbdzbdzbdzbdzqdyXdzkdyZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzFdzbdzbdzbdzbdzGdzzdzbdzbdzHdzIdyXdyXdzodzbdzJdzzdzKdzedzfdyYdyZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzLdzbdzbdzbdzbdzbdzzdzbdzbdzzdzbdzMdzNdzzdzbdzbdzzdzbdzbdzbdzedzkdyZaaadyWdyYdyXdyXdyXdyXdyXdyXdyXdyYdyZaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzLdzOdzydzbdzbdzbdzPdzbdzbdzzdzQdzRdzJdzzdzbdzbdzSdzbdzbdzbdzbdzedzkdyXdzkdzadzbdzbdzbdzTdzbdzbdzbdzedzhaabaaaaaadzUdzVdzWdzWdzWdzWdzWdzWdzWdzVdzXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzLdzYdzZdzbdzbdzbdzIdzbdzbdzzdzbdzbdzbdzzdzbdzbdAadzbdzbdzbdzbdzbdAbdzbdAbdzbdzbdzbdzbdzbdzbdzbdzbdzbdAbaabaaaaabdAcdAddAedAedAedAedAedAedAedAfdAgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzLdzydzydzbdzbdzbdzPdzbdzbdzzdAhdAidzbdzzdzbdzbdzSdzbdzbdzbdzbdzHdzkdyXdzkdzodzbdzbdzbdzbdzbdzbdAjdzHdzhaabaabaabdAkdAedAedAedAedAedAedAedAedAedAkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzLdzbdzbdzbdzbdzbdzzdzbdzbdzedyXdyXdzIdzadzbdzbdzzdzbdzbdzbdzHdzkdAlaaadAmdzfdyXdyXdyXdyXdyXdyXdyXdzfdAlaaaaaaaabdAcdAndAedAedAedAedAodAedAedApdAgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAqdzbdzbdzbdzbdArdzqdzodzbdzbdzbdzbdzbdzbdzbdzbdzzdzbdzbdyYdzfdAlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaadAsdAtdzWdzWdzWdzWdzWdzWdzWdAtdAuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzzdAvdAwdAxdzbdzHdzkdzfdyXdyXdyYdzodzbdzbdzbdzbdzqdyXdzkdAlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzqdzodAydAzdzHdzkdzadAAdABdACdzedzhdADdzbdzBdAEdzCdzrdAFdyXdzgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAmdzfdyYdyXdzkdzadzbdzbdzbdzbdzbdzzdzbdzbdzHdyYdzhdzrdzrdzmdznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAGdAHdAIdzbdzbdzbdzbdzbdzbdAJdAKdzHdzkdAldAmdALdzrdzmdznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAmdyXdzhdAMdzbdzbdzbdzbdzbdzqdyYdzkdAlaaaaaadAmdALdzmdznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAmdyYdzodzbdANdAOdzHdzkdzfdAlaaaaaaaaaaaadAmdyYdzEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAmdzfdyXdyXdyXdzfdAlaaaaaaaaaaaaaaaaaaaaadAmdAlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaabaabaabdAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaabaabaabdAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPdAQcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaabaabaacaacaacaacaacaacaacaabaabcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaabaaaaaaaacaaaaaaaabaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvdARcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvaaiaaidASdASdASdASdASdASdASdASdASaaiaaiaaiaaiaaiaaiaaiaaiaaidATdATdATdATdATdATdATdATaaicrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaiaaidASdAUdAVdAWdAXdAYdAZdBadBbdASdATdATdATdATdATdATdATdATdBcdATdBddBedBfdBgdBhdBidATaaiaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdAUdAUdAUdBjdBkdBldBmdBndBodBpdATdBidBqdBrdBsdBidBtdATdBudATdBvdBidBidBidBidBidATaaiaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdAVdAUdAVdBwdBxdBydBmdBzdBAdBBdATdBCdBidBDdBidBidBEdATdBudATdBFdBidBidBidBidBidATaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdAVdAUdAVdAVdBGdBHdBIdBJdBKdBLdBMdBNdBOdBidBidBPdBQdATdBRdATdBSdBTdBidBUdBVdBWdATaaiaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdAVdAUdAVdBwdBXdBYdBZdCadCadCadCbdCcdCddCedCfdCgdChdChdChdATdCidCjdBidCkdCldCmdCnbosbosdCodCpdCqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvcrvcrvcrvcrvcrwcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvaaidASdAVdAUdAVdBwdCrdCsdCtdCudCudCudATdCvdCwdCxdBidCydCzdCAdChdATdATdCBdCCdATdATdATdATaaiaaicrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrwcrvcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcrvaaidASdAUdCDdAUdCEdCrdBpdChdChdChdChdChdCFdCGdCHdCGdCIdCJdCKdCLdChdChdCMdCNdCOdAUdCDdAUdASaaicrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaabdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaaaaaacrvaaidASdAVdAUdAVdBwdCPdCQdChdCRdCRdCRdCSdCTdCUdCVdCRdCRdCWdCXdCRdCRdChdCMdCNdBBdAVdAUdAVdASaaicrvcrvaaaaabdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaacrvaaidASdAVdAUdAVdBwdCYdCZdChdCRdCXdCXdCXdDadCXdDbdCXdCXdDadCXdCXdCRdChdCMdCNdBBdDcdDddDedASaaiaaicrvaabaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaabcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaacaaacrvaaidASdAVdAUdAVdBwdDfdDgdChdCRdDhdCXdCXdDadCXdDidCXdCXdDadDjdDkdCRdChdCMdCNdBBdDldDmdDndDodASaaicrvaaaaacdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaacdDpcrvaaidASdAVdAUdAVdBwdDqdDrdChdCRdCXdCXdCXdDadDsdDidDtdCXdDadCXdCXdCRdChdDudDvdDwdDxdDydDzdDAdASaaicrvdDBaacaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaacanedARaaidASdAUdAUdAUdCEdDCdDDdChdDEdDFdDGdDHdCWdCRdDIdCRdCRdDJdDKdDLdDMdChdDNdDOdDPdDQdDzdDzdDRdASaaidARaneaacaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaacaaacrvaaidASdAVdAUdAVdBwdDCdBBdChdCRdDSdDTdCXdDadDUdDidDVdCXdDadDWdDXdCRdChdBwdDqdDYdDZdDzdEadEbdASaaicrvaaaaacaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaacaaacrvaaidASdAVdAUdAVdBwdDqdBBdChdCRdCXdCXdCXdDadCXdDidCXdCXdDadCXdCXdCRdChdBwdDqdBBdEcdEddEedEfdASaaicrvaaaaacdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaaacrvaaidASdAVdAUdAVdBwdCrdBBdChdCRdEgdEhdEidEjdCXdDbdCXdCXdDadEkdEldCRdChdBwdDqdBBdEmdEndEodASaaiaaicrvaabaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaabcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaabdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaaaaaacrvaaidASdAVdAUdAVdBwdCrdBBdChdCRdCRdCRdEpdCRdCRdEqdCRdCRdErdCRdCRdCRdChdBwdDqdBBdAVdAUdAVdASaaicrvcrvaaaaabdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvaaidASdAUdCDdAUdCEdDqdBpdChdChdChdChdChdChdChdEsdChdChdChdChdChdChdChdCEdDqdBpdAUdCDdAUdASaaicrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrwcrvcrvcrvcrvcrvcrvcrvcrvaaidASdAVdAUdAVdBwdEtdEudEvdBLdBLdEwdExdEydEzdEAdEBdECdEDdEwdBLdBLdEEdEFdDqdBBdAVdAUdAVdASaaicrvcrvcrvcrvcrvcrvcrvcrwcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrwcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdAVdAUdAVdBwdEGdEHdEHdEHdEHdEIdEJdEKdELdEMdENdEOdEPdEQdEHdDPdEHdEHdERdBBdAVdAUdESdASaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdETdAUdAVdAVdCudCudEUdCudCudEwdEVdEWdEXdEMdEYdEZdFadEwdCudCudCudCudCudAVdAVdAUdAVdASaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdAVdAUdAVdAVdAVdAVdAUdAVdFbdEwdEwdEwdFcdFddEwdEwdEwdEwdFbdAVdAVdAVdAVdAVdAVdAUdAVdASaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaidASdAUdAUdAUdAUdAUdAUdAUdAUdFedFfdFgdFhdFidFjdFkdFldFmdFndFodAUdAUdAUdAUdAUdAUdAUdAUdASaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaiaaidASdAUdAVdAVdAVdAVdAVdASdFbdFpdFqdFrdFsdFtdFudFvdFudFwdFbdASdAVdAVdAVdAVdAVdAUdASaaiaaicrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvaaiaaidASdASdASdASdASdASdASdFbdFbdFbdFbdFxdFydFzdFbdFbdFbdFbdASdASdASdASdASdASdASaaiaaicrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaidFbdFAdFBdFCdFbaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaicrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvdFbdFbdFDdFEdFFdFbdFbcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaacaaccrvcrvdFbdFbdFGdFHdFIdFudFJdFbdFbcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacdFbdFbdFKdFLdFMdFmdFmdFmdFmdFNdFbcrvaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacdFOdFPdFQdFRdFSdFmdFmdFTdFmdFmdFUdFbcrvaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacdFVdFzdFbdFbdFWdFXdFmdFmdFmdFmdFNdFbcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaacaaccrvcrvdFbdFbdFYdFZdFZdFZdGadFbdFbcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvcrvdFbdFbdGbdGcdGddFbdFbcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvdFbdFbdFbdFbdFbcrvcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvaaacrvcrvcrvdARcrvcrvcrvaaacrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaabaaaaaaaacaaaaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaabaacaacaacaacaacaacaacaabaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvdGedAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrwaaadAPaacdAPaabaabaabdAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaabaabaabdAPaacdAPaaacrwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaadAPaacdAPaaaaaaaaadAPaacdAPaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaacrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrvcrvcrvcrvcrvcrvcrvcrwcrvcrvcrvcrvcrvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGgdGgdGgdGgdGgaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdGgdGgdGhdGidGjdGgdGgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdGgdGgdGkdGjdGldGjdGmdGgdGgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGgdGndGjdGodGpdGjdGjdGqdGgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGjdGjdGjdGrdGrdGrdGjdGjdGgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGgdGjdGrdGrdGpdGrdGpdGsdGgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdGgdGgdGtdGudGpdGrdGvdGgdGgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdGgdGgdGjdGrdGjdGgdGgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGgdGgdGjdGgdGgaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfaaadGfdGfdGfdGfdGfaaadGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfaaadGfdGfdGfdGfdGfaaadGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaadGfdGfdGfdGfdGfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -"} - -(1,1,4) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaabaaaaaaaabaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGwaabaabdGwdGwaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabdGwdGwaaaaaadGwdGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGwdGxdGxdGwdGwaaaaabaaaaaaaaaaabaaaaaaaabaaaaaaaabaaaaaaaaaaabaaadGwdGwdGxdGxdGwdGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGxdGydGydGydGydGxaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabdGxdGydGydGydGydGxaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGxdGydGydGydGydGxaaaaabdGzdGAdGAdGzaaaaaaaabaaaaaadGzdGAdGAdGzaabaaadGxdGydGydGydGydGxaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGxdGydGydGydGydGxaaaaabdGAdGBdGBdGzdGzaabaabaabdGzdGzdGBdGBdGAaabaaadGxdGydGydGydGydGxaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGxdGydGydGydGydGxaaaaabdGAdGBdGBdGBdGzdGAdGAdGAdGzdGBdGBdGBdGAaabaaadGxdGydGydGydGydGxaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdGxdGydGydGydGydGxaaaaabdGAdGBdGBdGBdGBdGBdGBdGBdGBdGBdGBdGBdGAaabaaadGxdGydGydGydGydGxaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGwdGwdGwdGwdGwdGCdGwdGwdGwdGwdGzdGBdGBdGBdGBdGBdGBdGBdGBdGBdGBdGBdGzdGwdGwdGwdGwdGCdGwdGwdGwdGwdGwdGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGwdGydGydGydGydGydGydGydGydGydGydGDdGBdGBdGBdGBdGBdGBdGBdGBdGBdGBdGBdGDdGydGydGydGydGydGydGydGydGydGydGwdGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGydGydGydGydGwdGwdGwdGwdGwdGwdGwdGzdGzdGBdGBdGBdGBdGBdGBdGBdGBdGBdGzdGzdGwdGwdGwdGwdGwdGwdGwdGydGydGydGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGydGydGydGwdGwdGEdGEdGEdGEdGEdGEdGEdGzdGzdGBdGBdGBdGBdGBdGBdGBdGzdGzdGEdGEdGEdGEaacdGEaacdGwdGwdGydGydGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGydGydGwdGwdGEdGEdGEdGEdGEdGEdGEdGEdGEdGzdGzdGBdGBdGBdGBdGBdGzdGzdGEdGEdGEaacdGEaacdGEaacdGEdGwdGwdGydGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGydGwdGwdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGzdGzdGFdGFdGFdGzdGzdGEdGEdGEdGEdGEdGEdGEdGEaacdGEaacdGwdGwdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGydGwdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGGdGHdGHdGHdGGdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGwdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdGydGwdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGGdGHdGHdGHdGGdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEaacdGEdGwdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdGwdGydGCdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGGdGHdGHdGHdGGdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGEdGCdGydGwaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaabdGIdGIdGIdGIdGJdGIdGIdGIdGKdGIdGGdGGdGGdGGdGGdGIdGKdGIdGIdGIdGLdGLdGLdGIdGIdGIdGMdGIdGGdGGdGGdGGdGGdGIdGNdGIdGIdGwdGCdGwdGIdGIdGIaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaqaabaabaabaaaaaaaabdGGdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGNdGHdGNdGNdGHdGNdGNdGydGydGydGNdGNdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaabaabaaaaaaaaaaabdGGdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGNdGNdGHdGHdGNdGNdGNdGNdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaqaabaabaabaaaaaaaabdGGdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGNdGNdGNdGHdGHdGHdGNdGNdGNdGNdGNdGNdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaabaabaaaaaaaaaaabdGGdGHdGHdGHdGHdGIdGIdGIdGIdGJdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGHdGHdGHdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGJdGIdGIdGIdGIdGNdGNdGNdGNdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaabdGIdGIdGHdGHdGIdGIdGydGydGydGydGydGydGydGydGydGydGydGydGydGIdGHdGHdGHdGIdGydGydGydGydGydGydGydGydGydGydGydGydGydGIdGIdGNdGNdGIdGIaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaabaabaabdGGdGHdGHdGIdGydGydGOdGOdGOdGOdGOdGOdGOdGOdGOdGOdGydGydGIdGHdGHdGHdGIdGydGydGOdGOdGOdGOdGOdGOdGOdGOdGOdGOdGydGydGIdGNdGHdGGaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaqaabaabaabaaaaaaaaaaabdGGdGHdGHdGIdGydGOdGOdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGydGIdGHdGHdGHdGIdGydGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGOdGOdGydGIdGNdGHdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaabdGGdGHdGHdGIdGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGydGIdGHdGHdGHdGIdGydGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGIdGNdGHdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaqaabaabaabaaaaabaabaabdGGdGHdGHdGIdGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGOdGOdGIdGHdGHdGHdGIdGOdGOdGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGIdGHdGHdGGaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaabaabaaqaaaaaaaaaaabdGGdGHdGHdGIdGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGQdGPdGPdGRdGHdGHdGHdGSdGPdGPdGTdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGIdGHdGHdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaqaabaabaabaaaaaaaaaaabdGGdGHdGHdGIdGydGUdGPdGPdGPdGPdGPdGPdGPdGPdGPdGQdGPdGPdGRdGHdGHdGHdGSdGPdGPdGTdGPdGPdGPdGPdGPdGPdGPdGPdGPdGUdGydGIdGHdGHdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaabaabaaaaaaaabaabaabdGGdGHdGHdGIdGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGOdGOdGIdGHdGHdGHdGIdGOdGOdGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGIdGHdGHdGGaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabaabaaqaabaabaaqaaaaaaaaaaabdGGdGHdGHdGIdGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGydGJdGHdGHdGHdGJdGydGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGIdGHdGHdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaaqaabaabaaqaaaaaaaaaaabdGGdGHdGHdGIdGydGOdGOdGPdGPdGPdGPdGPdGPdGPdGPdGOdGydGIdGIdGHdGHdGHdGIdGIdGydGOdGPdGPdGPdGPdGPdGPdGPdGPdGOdGOdGydGIdGHdGHdGGaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabaaaaaqaabaabaaqaaaaabaabaabdGGdGHdGHdGIdGydGydGOdGOdGOdGOdGOdGOdGOdGOdGOdGOdGydGIdGHdGHdGHdGHdGHdGIdGydGOdGOdGOdGOdGOdGOdGOdGOdGOdGOdGydGydGIdGHdGHdGGaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaaqaabaabaaqaaadGwdGwdGIdGIdGHdGHdGIdGIdGydGydGydGydGydGydGydGydGydGydGydGydGIdGHdGHdGHdGHdGHdGIdGydGydGydGydGydGydGydGydGydGydGydGydGIdGIdGHdGHdGIdGIdGwdGwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabdGVdGVdGVdGVdGVdGwdGwdGydGIdGNdGHdGHdGNdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGHdGHdGHdGHdGHdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGNdGHdGHdGNdGIdGydGwdGwdGVdGVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabdGWdGWdGWdGWdGXdGWdGWaabaabaabaabaabdGVdGWdGWdGWdGWdGydGydGydGNdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGNdGHdGNdGNdGHdGNdGHdGHdGHdGHdGHdGIdGydGydGwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGVdGWdGWdGWdGWdGydGydGydGNdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGNdGNdGNdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGIdGydGydGwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGYdGWdGXdGXdGXdGWdGXdGXdGXdGWdGXdGWdGXdGWdGXdGWdGWdGWdGWdGWdGWdGVdGWdGWdGWdGWdGwdGydGydGIdGHdGHdGHdGHdGIdGGdGGdGGdGGdGGdGGdGGdGGdGGdGGdGGdGIdGIdGIdGHdGHdGHdGIdGIdGIdGGdGGdGGdGGdGGdGGdGGdGGdGGdGGdGGdGIdGNdGNdGHdGNdGIdGydGydGwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdGXdGXdGXdGXdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGVdGWdGWdGWdGWdGwdGydGydGIdGIdGNdGNdGIdGIaabaabaabaabaabaabaabaabaabaabaabdGwdGydGJdGHdGHdGHdGJdGydGwaabaabaabaabaabaabaabaabaabaabaabdGIdGIdGNdGHdGIdGIdGydGydGwdGWdGXdGWdGXdGYdGYdGYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGYdGYdGYdGYdGXdGXdGXdGVdGXdGXdGXdGVdGVdGVdGXdGXdGVdGVdGVdGVdGVdGVdGWdGWdGWdGWdGwdGydGydGydGIdGHdGHdGGaabaaaaabaaaaabaaaaabdGwdGwdGwdGwdGwdGwdGydGIdGHdGHdGHdGIdGydGwdGwdGwdGwdGwdGwaabaaaaabaaaaabaaaaabdGGdGNdGHdGIdGydGydGydGwdGWdGWdGWdGWdGXdGWdGXaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabdGVdGZdGZdGZdGZdGwdGwdGwdGydGIdGHdGHdGGaabaaaaabaaaaabaaaaabdGwdGydGydGydGydGydGydGIdGHdGHdGHdGIdGydGydGydGydGydGydGwaabaaaaabaaaaabaaaaabdGGdGNdGHdGIdGydGwdGwdGwdGVdGVdGVdGVdGWdGWdGWaaaaabaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabdGwdGydGIdGHdGHdGGaabaabaabaabaabaabaabdGwdGydGydGydGydGIdGIdGIdGHdGHdGHdGIdGIdGIdGydGydGydGydGwaabaabaabaabaabaabaabdGGdGNdGNdGIdGydGwdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGXdGWdGXdGXdGXaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabdGwdGydGIdGHdGHdGGaabaaaaabaaaaabaaaaabdGwdGydGIdGIdGIdGIdGNdGNdGHdGHdGHdGNdGNdGIdGIdGIdGIdGydGwaabaaaaabaaaaabaaaaabdGGdGNdGNdGIdGydGwdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWdGWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabdGwdGydGIdGHdGHdGGaabaaaaabaaaaabaabaabdGIdGJdGIdGNdGNdGNdGNdGNdGHdGHdGHdGNdGNdGNdGNdGNdGIdGJdGIaabaabaabaaaaabaaaaabdGGdGHdGNdGIdGydGwdGXdGWdGXdGWdGXdGWdGXdGWdGXdGXdGWdGWdGWdGXdGXdGXaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHadHadHadHadHadHadHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabdGwdGydGIdGHdGHdGGaabaabaabaabaabaabdGIdGIdGNdGNdGNdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGNdGNdGNdGNdGIdGIaabaabaabaabaabaabdGGdGHdGNdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHadHbdHcdHbdHddHbdHaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabdGwdGydGIdGHdGHdGGaabdGwdGwdGwdGwdGIdGIdGNdGNdGNdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGHdGNdGNdGIdGIdGwdGwdGwdGwaabdGGdGHdGNdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdHadHbdHedHbdHfdHbdHaaabaabaaaaaadHgdHgdHgdHgdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabdGwdGydGIdGHdGHdGGaabdGwdGydGydGydGJdGNdGNdGHdGHdGHdGHdGHdGIdGIdGIdHhdGIdGIdGIdGHdGHdGHdGHdGNdGNdGNdGJdGydGydGydGwaabdGGdGHdGNdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdHadHbdHedHbdHfdHbdHaaabaabaabaaadHidHjdHkdHldHiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabdGwdGydGIdGHdGHdGGaabdGwdGydGydGIdGIdGNdGNdGHdGHdGHdGIdGIdGIdHmdHndHodHndHmdGIdGIdGIdGHdGHdGHdGNdGNdGIdGIdGydGydGwaabdGGdGHdGNdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabdHadHbdHedHbdHfdHbdHaaabaabaabaabdHpdHldHldHldHpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaabdGwdGydGIdGHdGHdGGaabdGwdGydGydGIdGNdGNdGNdGHdGHdGIdGIaabaabdHmdHndHodHndHmaabaabdGIdGIdGHdGHdGHdGNdGNdGIdGydGydGwaabdGGdGNdGNdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHadHadHadHadHadHgdHqdHrdHgdHsdHtdHgdHadHadHadHadHgdHgdHudHgdHgaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaabaacaabaacaacaabaabaacaabaabaacdGwdGydGIdGHdGHdGGaabdGwdGydGydGIdGNdGHdGHdGHdGIdGIaabaabaabdHmdHndHodHndHmaabaabaabdGIdGIdGNdGHdGNdGNdGIdGydGydGwaabdGGdGHdGNdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHadHbdHbdHbdHbdHidHldHvdHwdHxdHydHidHbdHbdHbdHbdHgdHzdHldHAdHBdHgdHgdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaacaabaabaacaacaacaacaacaacaacaacaacaacaacdGwdGydGIdGHdGHdGIdGwdGwdGydGIdGIdGNdGHdGHdGHdGIaabaabaabdHmdHmdHmdHCdHmdHmdHmaabaabaabdGIdGNdGNdGHdGNdGIdGIdGydGwdGwdGIdGNdGHdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHadHDdHEdHEdHEdHpdHFdHGdHHdHIdHJdHpdHKdHKdHKdHLdHgdHzdHldHldHldHMdHNdHOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacdGwdGydGIdGHdGHdGIdGydGydGydGIdGNdGNdGHdGHdGIdGIaabaabdHmdHmdHPdHPdHndHPdHPdHmdHmaabaabdGIdGIdGNdGHdGNdGNdGIdGydGydGydGIdGNdGNdGIdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHadHbdHbdHbdHbdHgdHQdHldHRdHldHSdHgdHbdHbdHbdHbdHgdHTdHldHldHUdHgdHgdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaqaabaabaabaabaabaaqaaqaaqaaqaaqaabaacaabaacaabaacaabaacaabaacdGwdGwdGwdGwdGwdGwdGwdGwdGwdGwdGwdGydGIdGHdGHdGIdGJdGIdGIdGIdGNdGNdGNdGNdGIdHmdHmdHmdHmdHndHPdHndHndHndHPdHndHmdHmdHmdHmdGIdGNdGNdGHdGNdGIdGIdGIdGJdGIdGNdGNdGIdGwdGwaaqaaqaaqaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHadHVdHWdHWdHWdHXdHxdHldHSdHldHYdHXdHZdHZdHZdHcdHgdIadHldHldHldIbdHNdIcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaabaacaacaacaacaacaacaacaacaacaacaacaacaacdGydGydGydGydGydGydGydGydGydGydGydGydGIdGHdGHdGNdGNdGNdGNdGNdGNdGHdGNdGNdGIdHndHndHndHmdHPdHPdHndHodHndHPdHPdHmdHndHndHndGIdGNdGNdGHdGNdGNdGNdGNdGHdGNdGNdGHdGIdGydGyaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHadHbdHbdHbdHbdIddIedIfdHxdHldIgdIddHbdHbdHbdHbdHgdIhdHldHldIidHgdHgdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaacaacaacaacaacaabaabaacaacaabaacaabaacaabaacaabaacaabaacdIjdGydIjdGydGydGydGydGydGydGydGydGydGIdGNdGNdGNdGNdGNdGNdGNdGHdGNdGNdGNdIkdHodHodHodIldHndHndHndHodHndHndHndImdHodHodHodIndGHdGNdGHdGHdGHdGHdGHdGHdGNdGNdGNdGIdGydGyaacaacaacaacaacaacaacaacaacaabaacaabaacaabaacaacaacaabaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHgdHgdHgdHgdHgdHgdHgdHgdHgdIodHgdHgdHgdHgdHgdHgdHgdHgdIpdHldHldHldIqdHNdIraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaacaacaacaacaacaacaacaabaacaabaacaacaacaacaacdGydGydGydIjdGydGydGydGydGydGydGydGydGIdGHdGHdGNdGHdGHdGHdGHdGHdGHdGHdGHdGIdHndHndHndHmdHPdHPdHndHodHndHPdHPdHmdIsdIsdIsdGIdGNdGNdGHdGNdGNdGNdGNdGNdGNdGHdGHdGIdGydGyaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdItdIudIvdIwdIwdIvdItdIxezEdIzdIAdIBdHudICdHldHldICdHudHldHldIDdHldHgdHgdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaqaaqaabaabaabaabaabaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqdGwdGwdGwdGwdGwdGwdGwdGwdGwdGwdGwdGwdGIdGHdGHdGIdIEdGIdGIdGIdIFdGNdIFdGNdGIdHmdHmdHmdHmdHndHPdHndHndHndHPdHndHmdHmdHmdHmdGIdGNdGNdGHdGNdGIdGIdGIdGJdGIdGNdGHdGIdGwdGwaaqaaqaaqaaqaaqaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIGdIudIvdIudIudIvdIGdIzdIzdIzdIzdIzdHgdHgdHgdHgdHgdHgdHgdHgdHgdHgaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabdGwdIjdIHdIIdIIdIHdGydGydGydIHdIJdIJdIJdIJdIHdIHaabaabdHmdHmdHPdHPdHndHPdHPdHmdHmaabaabdIHdIHdIJdIJdIJdIJdIHdGydGydGydIHdIIdIIdIJdGydGwaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIGdIKdIvdIudIudIvdIGdILdIMdILdIzdIzdINdIOdIPdIQdIRdISaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIIdIIdIHdGwdGwdGydIHdIHdIJdITdIJdITdIHaabaabaabdHmdHmdHmdHCdHmdHmdHmaabaabaabdIHdIJdIJdIIdIJdIHdIHdGydGwdGwdIHdIIdIIdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIGdIUdIvdIVdIVdIvdIWdILdILdIXdIzdIzdIYdIOdIOdIOdIZdJaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIIdIIdJbaabdGwdGydGydIHdIJdIJdIJdIJdIHdIHaabaabaabdHmdHndHodHndHmaabaabaabdIHdIHdIJdIJdIIdIJdIHdGydGydGwaabdJbdIIdIIdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIWdJcdJddIvdIvdIvdJedIzdIzdIzdIzdIzdISdIOdIOdIOdJfdJaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabdGwdIjdIHdIIdIIdJbaabdGwdGydGydIHdIJdITdIJdITdIJdIHdIHaabaabdHmdHndHodHndHmaabaabdIHdIHdIJdIJdIJdIJdIJdIHdGydGydGwaabdJbdIJdIIdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdHgdJgdHgdHgdHgdJhdHgdIzdIzdIzdIzdJidJadIOdIOdIQdIRdJaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIIdIJdJbaabdGwdGydGydIHdIHdIJdIJdIJdIJdIJdIHdIHdIHdHmdHndHodHndHmdIHdIHdIHdIJdIIdIIdIIdIJdIHdIHdGydGydGwaabdJbdIJdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcyPaabaabdHgdJjdHgdHgdJkdIzdIzdIzdJadIOdIOdIOdIZdJaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIIdIJdJbaabdGwdGydGydGydJldITdIJdITdIJdITdIJdIIdIHdIHdIHdJmdIHdIHdIHdIJdIJdIIdIIdIIdIJdIJdJndGydGydGydGwaabdJbdIIdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyPaabaabdHgdJodJpdHgdJqdIzdIzdIzdIddJrdJsdJtdJfdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabdGwdIjdIHdIIdIJdJbaabdGwdGwdGwdGwdIHdIHdIJdIJdIJdIJdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIJdIJdIHdIHdGwdGwdGwdGwaabdJbdIIdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyPaaaaabdHgdHgdHgdHgdHgdHgdIzdIzdHgdHgdHgdHgdHgdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIIdIJdJbaabaabaabaabaabaabdIHdIHdITdIJdITdIJdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIJdIJdIHdIHaabaabaabaabaabaabdJbdIIdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczZaaaaaaaabaabaabaabaabdHgdIzdIzdHgaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIIdIJdJbaabaaaaabaaaaabaabaabdIHdJndIHdIJdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIHdJndIHaabaabaabaaaaabaaaaabdJbdIIdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabdHgdIzdIzdHgaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabdGwdIjdIHdIIdIIdJbaabaaaaabaaaaabaaaaabdGwdGydIHdIHdIHdIHdIIdIIdIIdIIdIIdIIdIIdIHdIHdIHdIHdGydGwaabaaaaabaaaaabaaaaabdJbdIIdIIdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabdHgdIzdJudHgaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIIdIJdJbaabaabaabaabaabaabaabdGwdGydGydGydGydIHdIHdIHdIIdIIdIIdIHdIHdIHdGydGydGydGydGwaabaabaabaabaabaabaabdJbdIIdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdJvdJwdJwdJwdJwdJwdJwdJxdJydHgdJzdJAdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabdGwdIjdIHdIJdIJdJbaabaaaaabaaaaabaaaaabdGwdGydGydGydGydGydGydIHdIIdIIdIIdIHdGydGydGydGydGydGydGwaabaaaaabaaaaabaaaaabdJbdIIdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJBdJCdJDdJEdJDdJEdJFdJGdJHdHgdJIdJJdHgaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdGwdIjdIHdIJdIJdJbaabaaaaabaaaaabaaaaabdGwdGwdGwdGwdGwdGwdGydIHdIIdIIdIIdIHdGydGwdGwdGwdGwdGwdGwaabaaaaabaaaaabaaaaabdJbdIJdIJdIHdGydGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdJKdJLdJDdJEdJDdJEdJDdJEdJMdJNdJOdJPdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGwdIHdIHdIJdIJdIHdIHaabaabaabaabaabaabaabaabaabaabaabdGwdGydJndIIdIIdIIdJndGydGwaabaabaabaabaabaabaabaabaabaabaabdIHdIHdIJdIJdIHdIHdGwaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdJQdJRdJDdJEdJDdJEdJDdJSdJTdHgdJUdJVdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdIJdIJdIJdIJdIHdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdIHdIHdIHdIIdIIdIIdIHdIHdIHdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdIHdIIdIIdIIdIIdJbaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdJWdJwdJwdJwdJwdJwdJwdJxdJydHgdHgdHgdHgaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdIJdIJdIIdIJdIJdIJdIJdIJdIJdIJdIJdIJdIIdIIdIIdIJdIIdIIdIJdIIdIIdIIdIJdIJdIJdIIdIIdIIdIIdIJdIIdIJdIJdIIdIIdIIdIJdIIdIIdIIdIIdJbaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabdJXaabaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdIJdIJdIJdIJdIJdIIdIIdIIdIIdIIdIIdIJdIIdIIdIIdIIdIJdIJdIIdIIdIIdIIdIJdIJdIIdIIdIJdIJdIJdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdIIdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdIJdIJdIJdIJdIHdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdIHdIIdIIdIJdIJdIIdIHdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdJbdIHdIIdIIdIIdIIdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdIHdIHdIHdIHdIHdJYdJYdJYdJYdJZdJYdKadJYdKadJYdKadJYdIHdIIdIIdIIdIIdIJdIHdKbdKbdKcdKcdKcdKcdKcdKcdKcdKcdKbdKbdIHdIHdIIdIIdIHdIHaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdIHdITdITdIHdKddKddKddJYdJYdJZdJYdJYdJYdJYdJYdJYdJYdIHdIJdIJdIJdIJdIJdIHdKcdKcdKbdKbdKbdKcdKcdKcdKcdKcdKbdKbdKbdIHdIIdIIdJbaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdIHdITdITdIHdKddKddJYdKddKddJZdJZdJZdJZdJZdJZdKedKedIHdIHdIHdIHdIHdIHdIHdKcdKcdKbdKbdKbdKcdKcdKcdKcdKcdKbdKcdKbdIHdIIdIIdJbaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdIHdITdITdIHdKddKddKddKddKddJZdJYdJYdKddKddKddJYdJYdJYdJbdIJdIJdIJdJbdKbdKbdKcdKcdKcdKcdKcdKcdKcdKbdKbdKbdKcdKbdIHdIIdIIdJbaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKddKddKddKddKddKddJYdKddKddKddKddJYdKddKddJbdIJdIJdIJdJbdKbdKbdKcdKcdKcdKcdKcdKcdKcdKbdKbdKbdKcdKbdIHdIIdIIdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKfdKfdKfdKddKddKddKddKddKddKddKddKddKddKddJbdIJdIJdIJdJbdKbdKbdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKbdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKfdKfdKfdKfdKfdKddKddKddKddKddKddKddKddKddJbdIJdIJdIJdJbdKbdKbdKbdKcdKcdKbdKbdKbdKbdKcdKcdKcdKcdKbdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKgdKfdKgdKfdKfdKddKfdKddKfdKddKfdKddKfdKddKhdIJdIJdIJdKidKbdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKbdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKfdKfdKddKfdKfdKfdKddKfdKddKddKddKddKddKddJbdIJdIJdIJdJbdKbdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKcdKbdIHdITdITdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKgdKfdKgdKfdKfdKddKfdKddKfdKddKfdKddKfdKddJbdIJdIJdIJdJbdKbdKcdKcdKcdKcdKcdKcdKcdKbdKcdKcdKcdKcdKbdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKfdKfdKfdKfdKddKfdKddKfdKddKddKddKddKddKddJbdIJdIJdIJdJbdKbdKcdKbdKbdKcdKcdKcdKcdKcdKbdKcdKbdKbdKbdIHdITdITdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKgdKfdKgdKfdKgdKfdKfdKddKfdKddKfdKddKfdKddJbdIIdIIdIIdJbdKbdKbdKbdKbdKcdKcdKcdKcdKbdKbdKbdKbdKbdKbdIHdIJdIJdIHaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdIHdITdITdIHdKfdKfdKfdKfdKfdKfdKfdKfdKddKddKddKddIHdIHdIHdIIdIIdIIdIHdIHdIHdKbdKbdKcdKcdKcdKcdKbdKbdKbdKbdKbdKbdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadITdITdITdKjdKgdKfdKgdKfdKgdKfdKgdKgdKgdKfdKfdIHdIHdIIdIIdIIdIIdIIdIIdIIdIHdIHdKcdKcdKcdKcdKcdKbdKbdKbdKkdKkdKkdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKjdITdITdITdKfdKfdKfdKfdKfdKfdKfdKfdKfdKfdKfdIHdIIdIIdIIdIIdIIdIIdIIdIIdIIdIHdKcdKcdKcdKcdKcdKcdKldKmdKndKodKpdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKjdITdITdKjdKgdKgdKgdKgdKgdKgdKgdKgdKgdKfdKfdIHdIIdIIdIIdIIdIIdIIdIIdIIdIIdIHdKcdKcdKcdKbdKbdKbdKqdKldKrdKsdKtdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKjdKjdKjdKjdKgdKgdKddKgdKgdKddKddKddKddKddKddKudIIdIIdIIdIIdIIdIIdIIdIIdIIdKidKcdKcdKcdKbdKbdKbdKbdKbdKkdKkdKkdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKjdKjdKjdKjdKddKgdKddKgdKddKfdKddKfdKddKfdKddKudIIdIIdIIdIIdIIdIIdIIdIIdIIdKidKcdKcdKcdKcdKcdKcdKvdKwdKndKxdKydIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKjdKjdKjdKjdKgdKgdKgdKgdKgdKddKddKddKddKddKddKudIIdIIdIIdIIdIIdIIdIIdIIdIIdKidKcdKcdKcdKcdKcdKcdKcdKvdKrdKzdKAdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKjdKjdKjdKjdKgdKgdKgdKgdKgdKgdKgdKgdKgdKfdKfdIHdIIdIIdIIdIIdIIdIIdIIdIIdIIdIHdKcdKcdKcdKcdKcdKcdKcdKcdKkdKkdKkdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKCdKCdKCdKCdKCdKCdKCdKCdKCdKCdKCdKBdKfdKfdKfdKfdKfdIHdIIdIIdIIdIIdIIdIIdIIdIIdIIdIHdKcdKcdKcdKcdKcdKcdKvdKDdKndKEdKFdIHdIJdIJdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKGdKHdKGdKHdKGdKGdKGdKGdKGdKGdKHdKCdKgdKfdKgdKddKddIHdIHdIIdIIdIIdIIdIIdIIdIIdIHdIHdKkdKkdKcdKcdKIdKvdKcdKvdKrdKJdKKdIHdITdITdJbaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKGdKGdKGdKGdKGdKHdKGdKHdKBdKHdKHdKCaaaaabaaadKHdKGdKHdIHdIHdIHdIIdIIdIIdIHdIHdIHaabaabdKkdKkdKkdKkdKkdKkdKkdKkdKkdKkdIHdIJdIJdJbaacaabaacaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKGdKHdKGdKHdKGdKGdKGdKGdKGdKGdKLdKCaabaabaabdKGdKGdKGdKGdKGdIHdIIdIIdIIdIHdKHdKHdKGdKGdKHdKGdKHdKGdKGdKGdKGdKHdKGdKHdIJdITdITdIJaabaabaabaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKGdKGdKGdKGdKGdKLdKGdKGdKLdKLdKLdKCaaaaabaaadKHdKGdKHdKGdKHdIHdIJdIIdIIdIHdKHdKGdKGdKGdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKHdKHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKHdKGdKHdKGdKHdKGdKGdKGdKLdKLdKLdKLdKCaaaaabaaadKGdKGdKGdKGdKGdIHdIJdIJdIIdIHdKHdKGdKGdKGdKBdKGdKGdKGdKGdKGdKGdKHdKHdKHdKHdKHdKHdKHdKHdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKHdKGdKGdKGdKGdKGdKGdKGdKLdKLdKLdKLdKCaabaabaabdKHdKGdKHdKGdKHdIHdITdIJdIIdIHdKGdKGdKGdKGdKBdKHdKGdKHdKGdKHdKGdKHdKHdKMdKMdKHdKMdKMdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKGdKHdKGdKHdKGdKGdKLdKLdKLdKLdKLdKCaaaaabaaadKGdKGdKGdKGdKGdIJdIJdIJdIIdIHdKGdKGdKHdKHdKBdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKHdKMdKMdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKGdKGdKGdKGdKGdKGdKGdKLdKLdKLdKLdKCaaaaabaaadKHdKGdKHdKGdKHdIJdITdIJdIIdIHdKHdKHdKHdKHdKBdKHdKGdKHdKGdKHdKGdKHdKGdKHdKGdKHdKGdKHdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKHdKGdKHdKGdKHdKGdKGdKLdKLdKLdKLdKLdKCaabaabaabdKGdKGdKGdKGdKGdIJdIJdIJdIIdIHdKHdKHdKGdKGdKBdKGdKGdKGdKGdKGdKGdKGdKGdKGdKBdKBdKBdKBdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKHdKGdKBdKGdKGdKGdKLdKLdKLdKLdKLdKLdKCaaaaabaaadKHdKGdKHdKGdKHdIJdIJdIIdIJdIHdKHdKHdKGdKGdKBdKHdKGdKHdKGdKHdKGdKHdKHdKHdKGdKHdKGdKHdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKHdKHdKGdKGdKLdKLdKLdKLdKLdKLdKLdKLdKCaaaaabaaadKGdKGdKGdKGdKGdIHdIIdIJdIJdIHdKHdKHdKGdKGdKBdKGdKGdKGdKGdKGdKGdKGdKBdKMdKMdKHdKMdKMdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKHdKBdKCdKCdKCdKCdKCdKCdKCdKCdKCdKCdKBaabaabaabdKHdKGdKHdKGdKHdIHdIIdIJdIJdITdKHdKHdKGdKGdKBdKHdKGdKHdKGdKHdKGdKHdKHdKHdKHdKHdKHdKHdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKGdKGdKGdKGdKGdIHdIIdIJdIJdITdKHdKHdKGdKGdKBdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKHdKMdKMdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKHdKGdKHdKGdKHdIHdIIdIIdIJdIHdKHdKHdKGdKGdKBdKHdKGdKHdKGdKHdKGdKHdKHdKHdKHdKHdKHdKHdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKMdKMdKBdKBdKBdKBdKMdKMdKMdKMdKMdKMdKMdKMdKMaaaaaaaaaaabdIHdIIdIIdIIdIHdKHdKHdKGdKGdKBdKGdKGdKBdKGdKHdKGdKMdKHdKMdKMdKHdKMdKMdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKMdKMdKGdKGdKHdKBdKBdKBdKBdKMdKMdKMdKMdKMdKMaaaaaaaaaaaadIHdIIdIIdIIdIHdKHdKHdKHdKGdKBdKGdKGdKHdKGdKGdKGdKGdKHdKGdKHdKGdKHdKHdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaadKMdKMdKGdKHdKGdKHdKGdKHdKBdKBdKBdKBdKMdKMdKMaaaaaaaaaaaadIHdIIdIIdIIdIHdKHdKHdKHdKGdKBdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKMdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKMdKBdKBdKHdKGdKHdKGdKGdKHdKHdKGdKBdKGdKGdKBaaaaaaaaaaabdIHdIIdIIdIIdIHdKMdKMdKHdKGdKBdKBdKBdKBdKBdKBdKGdKBdKBdKBdKBdKBdKBdKHdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaadKMdKBdKGdKGdKGdKGdKHdKGdKHdKGdKHdKHdKGdKGdKBaaaaaaaaaaaadIHdIIdIIdIIdIHdKHdKHdKHdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKMdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaadKMdKBdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKBaaaaaaaaaaaadIHdIIdIIdIIdIHdKMdKMdKHdKGdKGdKGdKGdKHdKGdKGdKHdKGdKHdKGdKHdKGdKHdKHdKMdKMdKMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKBdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKBdKBaaaaaaaaaaabdIHdIIdIIdIJdIHdKHdKHdKHdKGdKGdKMdKHdKMdKMdKHdKMdKMdKHdKMaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKBdKMaaaaaaaaaaaadIHdIIdIIdIJdITdKMdKMdKMdKGdKHdKHdKHdKHdKHdKHdKHdKHdKHdKHaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKBdKMaaaaaaaaaaaadIHdIIdIIdIIdITaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaadKBdKBdKBdKBdKHdKGdKHdKGdKHdKGdKGdKGdKBdKBdKMaaaaaaaaaaabdIHdIIdIIdIJdITaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdKHdKHdKMdKBdKBdKBdKBdKHdKGdKHdKGdKHdKBdKMdKMaaaaaaaaaaaadIHdIIdIIdIIdITaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdKHdKHdKHdKMdKMdKMdKBdKBdKBdKBdKHdKGdKBdKMdKMaaaaaaaaaaaadIHdIIdIIdIJdITaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKMdKMdKMdKMdKMdKMdKMdKMdKMdKBdKBdKBdKBdKMdKMaaaaaaaaaaabdIHdIIdIIdIJdITaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadIHdIIdIIdIJdITaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadIHdIIdIIdIJdIHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabdIHdIIdIIdIJdIHaabaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdKHdKHdKHdKBdKHdKHdKBdKBdKBdKBdKBdKBdKBdIHdIIdIIdIJdIHdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKHaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKNdIJdIIdIIdIJdIJdKNdKGdKGdKGdKGdKGdKHdKHdKHdKGdKHdKHdKGdKHdKGdKHdKHaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabdKHdKHdKHdKHdKBdKBdKBdKBdKBdKBdKBdKBdKBdIHdIIdIIdIJdIHdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKHdKHdKHdKHdKHaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabdIHdKOdKPdKOdIHaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdKOdKQdKOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKBdKBdKHdKHdKHdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKOdKOdKOdKPdKOdKOdKOdKBdKBdKBdKBdKBdKBdKBdKBdKBdKBaaqaaqaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabdKHdKHdKHdKHdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGdKRdKQdKQdKQdKQdKQdKRdKGdKGdKGdKGdKGdKGdKGdKGdKGdKGaacaacaacaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKBdKBdKBdKBdKBdKBdKBdKBdKBdKBdKOdKOdKOdKOdKOdKOdKOdKOdKPdKOdKOdKOdKOdKOdKOdKOdKOdKBdKBdKBdKBdKBaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabdKSdKSdKOdKQdKOdKQdKQdKRdKQdKQdKQdKQdKQdKRdKQdKQdKOdKQdKOdKSdKSaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKTdKOdKQdKQdKQdKQdKOdKOdKOdKPdKOdKOdKOdKQdKQdKQdKQdKOdKTdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKOdKOdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKOdKOdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKOdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKOdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVaaaaaadKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKOdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKOdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKOdKOdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKOdKOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKUdKQdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKQdKUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKWdKXdKYdKZdKZdLadLbdLcdLddLeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKUdKQdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKQdKUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdLfdLcdLddLddLgdLhdLcdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKUdKQdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKQdKUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdLidLddLddLjdKVdLddLddLkdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKUdKQdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKQdKUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdLldLddLmdLndKVdLcdLddKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKUdKQdKQdKQdKQdKQdKQdKUdKSdKOdKQdKOdKSdKUdKQdKQdKQdKQdKQdKQdKUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdLodLpdLddKVdKVdLddLddKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKOdKOdKQdKQdKQdKQdKQdKOdKOdKOdKPdKOdKOdKOdKQdKQdKQdKQdKQdKOdKOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdLqdLrdLddKVdKVdLsdLsdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKOdKOdKOdLtdKOdKOdKOdKQdKQdKQdKQdKQdKOdKOdKOdKPdKOdKOdKOdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdLudKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKTdKUdKQdKQdKQdKUdKQdKQdKQdKQdKQdKQdKQdKUdKQdKQdKQdKUdKTdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKTdKUdKQdKQdKQdKUdLvdLwdKQdKQdKQdLxdLvdKUdKQdKQdKQdKUdKTdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKTdKUdKQdKQdKQdKUdLvdLwdKQdKQdKQdLxdLvdKUdKQdKQdKQdKUdKTdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKTdKUdKQdKQdKQdKUdKQdKQdKQdKQdKQdKQdKQdKUdKQdKQdKQdKUdKTdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKTdKOdKOdKOdKOdKOdKOdKQdKQdKQdKQdKQdKOdKOdKOdKOdKOdKOdKTdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKTdKTdKTdKQdKQdKQdKQdKOdKOdKUdKUdKUdKOdKOdKQdKQdKQdKQdKTdKTdKTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaabaabaabaacaabaabaabaacaabaabaabaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacdLyaacaacaacdLyaacaacaacdLyaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaabaacaabaabaabaacaabaabaabaacaabaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaabaacaabaaaaabaacaabaaaaabaacaabaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaabaacaabaabaabaacaabaabaabaacaabaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacdLyaacaacaacaacaacaacaacdLyaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaabaacaabaabaabaacaabaabaabaacaabaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaabaacaabaaaaabaacaabaaaaabaacaabaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaabaabaabaacaabaabaabaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacdLyaacaacaacdLyaacaacaacdLyaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacaacaacaacaacaacaacaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -"} - -(1,1,5) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLBdLzdLzdLzdLzdLzdLzdLzdLzaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLCdLDdLEdLEdLFdLFdLFdLFdLFdLGdLHdLIdLJdLzdLzdLzdLzdLzdLzdLzdLzdLKdLLdLLdLMaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLCdLNdLOdLzdLzdLzdLzdLzdLzdLPdLPdLPdLQdLRdLJdLzdLzdLzdLSdLTdLUdLUdLVdLWdLXdLYdLZdLZdLEdMadMbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMcdLOdLzdLzdLzdLzdLzdLzdLzdLPdMddMedMfdLQdLRdMgdLPdMhdMidMjdMkdMkdMkdMldMmdMkdMkdMkdMkdMndModMbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMpdLzdLzdLzdLzdLzdLzdLzdLzdMqdMrdMsdMtdMudMvdMwdMxdMydMzdMAdMBdMCdMAdMDdMldMAdMEdMBdMkaabdMFdMGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMHaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdLzdLzdMIdMIdMIdMIdLzdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaadLCdMJdLzdLzdLzdLzdMqdMqdMqdMqdMqdMKdMLdMsdMMdMNdMNdMNdMOdMPdMAdMQdMRdMSdMldMldMTdMRdMQdMkaabaabdMUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdLzdLzdLzdLzdLzdLzdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzaaaaaaaaadMVdMWdLZdLZdLZdMXdMYdLzdLzdLzdLzdMqdMqdMZdNadMqdNbdNbdNbdNbdNcdMNdNddNedNfdMAdMAdMAdMAdNgdNhdNidNidNidNidNidNjdNkdNlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadNmdNndNmaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdLzdLzdLzdMIdMIdLzdMIdMIdMIdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIaaaaaadNodMYaabaabaabaabaabdLzdLzdLzdLzdMqdNpdNqdNrdNsdNtdNudNvdNwdNxdNydNzdNAdNBdMAdNCdNDdMAdNEdNFdNGdNHdNIdNJdNKdNLdNMdNNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadNOdNPdNOaabaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaadMpaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdMqdNQdNRdNSdMqdNTdNtdNUdNVdNWdNXdNYdNZdOadObdOcdOddOedOfdOgdNidOhdOidOjdOkdOldOmdNNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOndOodOpdOqaabaaaaaadLzdLzdLzdLzdLzdLzdLzdMIdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaadMpaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdMqdNQdNRdOrdMqdOsdNUdOtdOudOvdOwdOxdOwdOydOwdOwdOwdOwdOzdOAdNidOBdOidOCdODdOEdNMdNNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOFdOFdOGdOHdOIdNOaabaaaaaadLzdLzdLzdLzdMIdMIdMIdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdOJaabdMpaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdMqdNQdOKdOLdMqdOMdONdOOdOPdOQdORdOSdOTdOUdOVdOWdOXdOwdOYdOZdNidPadPbdPcdODdNidPddPeaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadPfdPgdPhdPidPjdPkdPlaabaabdMIdMIdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmdPnaabdMpaaaaabaabaabaabaabdLzdMkdMkdMkdMkdMkdPodPpdMkdNbdNbdPqdPrdPsdOwdPtdPudPvdPwdPxdPydOwdPzdPAdPBdPCdPDdPEdPFdNidPGdPHaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAaaadLAdLAdLAdLAdLAaaadLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadPIdOFdPJdPKdPLdOIdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmdPmaaaaaadMpdPNdPNdPNdPNdPNdPNdPNdMAdPOdPPdPQdPRdPSdPTdPUdPVdPWdPXdPYdPZdOwdQadQbdQcdQddQedQfdQgdQhdQidQjdQjdQjdQkdQldQmdQndQodQodQpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAaaadLAdLAdLAdLAdLAaaadLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdQqdQrdQsdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmaaaaaadMpdPNdPNdPNdPNdPNdPNdPNdQtdQudQvdQwdQxdQydQzdQAdQBdQCdQDdQEdQFdQGdQHdQIdQJdQKdQLdQMdQNdQOdQPdQjdQQdQRdQSdQTdQjdQUdPHdPHdPHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaadLAdLAdLAdLAdLAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdQVdQWdQXdQYdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaadMpdPNdPNdPNdPNdPNdPNdPNdQZdRadPPdRbdRcdRddRddRedRfdRgdMkdRhdRidRjdRkdRldRmdRndRodRpdOwdRqdRrdRsdRtdRtdRudRvdRwdRxdRydRzdRzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdRAdRBdRCdPMdRDdREdPMdPMdPMdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaadMpdPNdPNdPNdPNdPNdPNdPNdRFdRadPPdRbdRcdRGdRHdRedRIdRJdMkdRKdRLdOwdRMdOwdOwdOwdOwdRNdOwdROdRPdQjdRQdRRdRSdRTdRUdRVdRWdRXdRXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdRYdRZdSadSbdScdSddNmdPkdSedPMdSfdSgdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaadMpdPNdPNdPNdPNdPNdPNdPNdMAdRadPPdRbdRcdShdSidRedSjdSkdMkdSldSmdSndSodSpdSqdSrdOwdSsdStdSudSvdSwdSxdSydSzdSAdSBdRVdRzdRzdRzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdSCdSDdRZdSEdSFdSGdSHdSIdSedSJdSgdSKdSfdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaadSLdSMdSNdSOdSPdSQdSNdSRdSSdSTdSUdMAdSVdSWdMkdMkdMkdMkdMkdSXdSYdSZdSodTadSqdTbdOwdTcdTddTedTfdTgdThdTidTjdTkdTldTmdTndMkdTodMWdLZdLZdLZdLZdLZdLZdMadTpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadTqdSCdTrdSCdSadSadRDdTsdSFdPMdQYdTtdPMdSgdTudPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaadTvdTwdTxdTydTxdTxdTzdTAdTBdTCdTDdTEdTFdTGdTHdTIdTJdTKdTLdTMdTNdTOdTPdTQdTRdTSdOwdTTdTUdTVdTWdQjdQjdTXdQjdQjdQjdTYdTZdUadUbdUcdUddUddUedUddUddUddUfdMGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdUgdUhdSadUidUjdSadQsdUkdSGdUldUmdUndPMdPMdPMdPMdPMdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaadUodUpdTxdTxdTxdTxdUqdUrdUsdUtdUudUvdUwdUxdTHdUydUzdUAdUBdUCdUDdUEdUFdUGdUHdUIdUJdUKdUHdULdUMdUNdUOdUPdUQdUNdURdUNdUHdUSdUTdUUdUVdUWdUXdUYdUZdVadUddMUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdVbdVcdVddSadUjdVedSEdVfdSFdVgdPMdVhdVidPMdVjdSedVkdVldPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaadVmdVndTxdTxdVodTxdVpdVqdVrdVsdVtdVudVvdVwdTHdVxdVydVzdVAdVBdVCdVDdVEdVFdVGdVHdVIdVJdVKdVHdVLdVIdVMdVHdVIdVNdVOdVPdVQdVRdVSdVTdVUdVVdVWdVXdVXdVYdUddMUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabdMIdMIdPMdSddVZdWadWbdVddWcdWddSGdWedNmdPkdWfdPMdVjdQYdSedVldPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdWgdWgdWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaadWhdWidTxdWjdWkdWldWmdWndWodWpdWqdWrdWsdWtdTHdVxdWudWvdWwdWwdWwdWwdWxdWydWzdWAdWydWBdWCdWDdWBdWEdWFdWGdWEdWEdWHdWIdWJdWKdUddWLdWMdUddWNdVXdVXdWOdUddMUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdPMdPMdPMdPMdPMdPMdScdSFdWPdVZdSFdUkdWQdWedWedSIdSedVhdPMdVjdQsdWRdVldPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWgdWSdWSdWSdWSdWgdWgdWgdLzdLzdLzdLzdWTdWUaaaaaaaaadWVdWWdSNdWXdWYdWYdWYdWYdWZdXadXbdMAdMAdMAdTHdXcdWwdXddWwdXedXfdXgdXhdWydXidXjdXkdWBdXldXmdXndWEdXodXpdXqdWEdXrdXsdWJdXtdXudUddUddUddXvdXwdXxdVadUddMUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdPMdXydPkdSGdXzdPMdXAdXBdXCdPMdUldPMdXDdXEdXFdPMdPkdXGdNPdXHdQsdQXdNPdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdLzdXIdXJdLZdLZdLEdLZdMXdMYaabaabdXKdXLdXMdXNdXOdXPdXQdXRdXSdXTdXUdXVdXWdXXdXYdXZdYadYbdYcdWydYddYedYfdWBdYgdYhdYidWEdYjdYkdYldWEdYmdYndYodYpdYqdYrdYsdUddUddUddUddUddYtdMJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdPMdXydQsdPkdSEdUldXGdVZdYudVZdYvdPkdPkdYwdSedPkdQsdQsdPMdNPdYxdQsdPkdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdYydYzdYAdLzaaaaaaaaaaaaaaaaaaaabdXKdXLdYBdYCdYDdYEdYFdYGdYHdYIdYJdTHdWwdXddWwdYKdWwdYLdYMdWydYNdYOdYPdWBdYQdYRdYSdWEdYTdYUdYVdWEdYWdYXdYYdYZdZadZadZbdXudZcdLDdLZdLZdZddZeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdPMdXydZfdQsdQsdUldQsdWRdRDdQsdZgdYvdWRdWfdZhdQsdZidQYdPMdVZdNPdXGdPkdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdZjdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdZkdWgdZldZmdWgdWgaaaaaaaaaaaaaaaaaaaabdXKdXLdZndZodZpdZodZqdZrdXKdYHdZsdTHdZtdZudZvdZwdWwdZxdYbdWydZydZzdZAdWBdZBdZCdZDdWEdZEdZFdZGdWEdZHdZIdXudZJdZKdZJdZKdXudZLdZMdMIaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdPMdXydZNdSEdScdPMdZOdPMdZPdZQdPMdSGdPMdZPdZQdPMdSFdXGdPMdYwdZRdNPdVhdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdZSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdZTdZjdZUdZjdWgaaaaaaaaaaaaaaaaaaaaaaabdXKdZrdZrdZrdZVdZWdZXdZrdZYdYHdZZdTHeaaeaaeaaeaadWweabdYbdWyeaceadeaedWBeafeageahdWEeaieajeakdWEealeameandXudXudXudXueaoeapdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdPMdPMdPMdPMdPMdPMdZOdPMeaqdSedSGdVhdQYdSFdWcdSFdUndSEdPMdZPeareaseatdPMdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdZkdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSeaueaveawaaaaaaaaaaaaaaaaaaaaaaabaabdXKeaxeaxeayeazeaAdZreaBeaCdYHeaDdTHdWSdWSdWSdWSdWweaEeaFdWyeaGeaHeaIdWBeaJeaKeaLdWEeaMeaNeaOdWEeaPeaQeandLzdMIdLzeaReaSeaTdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPMdZOdPMdSedVheaUdUkdOIdSEdSedPMdSFdQYdPMeaVeaWeaWeaXdPMeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSeaZebaebbaaaaaaaaaaaaaaaaaaaabaabaabdXKdXKebcebddXKebeebfebgebfdXKebhdWSdWSdWSdWSdWSdWwdWwdWwdWydWydWydWydWBdWBdWBdWBdWEdWEdWEdWEdWEeaneanebiebjdLUdLUebkdZMdLzdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPMdZOdPMdVhdPkdUndSedSFdQYdUndPMdZOdPMdPMdVjdNPeaWeblebmeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSebneboebpaaaaaaaaaaaaaaaaabebqebrebsebtebuebvebwebxebyebzebAebBdXKebhdWSdWSdWSdWSdWSebCebDebEdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzebFebGdZMebHdLzdLzdLzdLzdLzdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPMdZOdPMdPMdPMdPMdPMdPMdPMdPMdPMdZOdPMdVjdNPdVkdNPeaXebIeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSebJebKebLebMebMebMebMebMebMebNebOebPebQebQebRebSebSdXKebTebUebVdXKebhdWSdWSdWSdWSdWSeaZeboebWdLzdLzdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzebFebGdZMebXeaYebXdLzdLzdLzdLzdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJaaaaaaaaaaaaaaadOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPMdZOdZOdZOdZOdZOdZOdZOdZOdZOdZOdZOdPMdVjdVkdVkdVkdVldPMeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSebYebZebZebZebZebZebZebZebZebYdWSdWSdWSdWSdWSdWSdXKebfecaebfdXKecbdWSdWSdWSdWSdWSeccecdecedLUdLUdLUdLUecfdLUdLUdLUdLUdLUecgecheciecjdZMeaYeaYeaYebXdWTdLzdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPMdPMdPMdPMdPMdPMdPMdPMdPMdPMdPMdPMdPMdPMeateckecldPMdPMeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSebJebPecmecmecmecmecmecmecmecmebJebPdWSdWSdWSdWSdWSdWSecnecoecpecqecrecsdWSdWSdWSdWSebEebEebEdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIectecuecvecweaYebXeaYeaYebXdLzdLzdLzdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYdPMeaWeaWdVkdPMeaYeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaadWgdWgdWgdWgdWgdWgdWgdWgdWSdWSdWSdWSdWSdWSecnecxecpdWSdWSdWSdWgdWgdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdWTebXeaYecyeaYebXeaYeaYeaYdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYdPMeczecAeczdPMeaYeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaadWgdWgdWgdLzdLzdLzdLzdWgdWgdWgdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdWTdMIeaYebHdMIdLzdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaYeaYdPMecCeckeatdPMeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSecDdWSdWSdWSdWSdWSdWgdWgdWgaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdLzdWgdWgdWgdWSdWSdWSecBdWSdWSdWgdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdMIdLzdLzdLzdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYecFecGecHeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWgdZjdWgdWSdWSdZkdZkdWgdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWgdWSdWSecBdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdMIdMIdMIdLzdLzdLzdLzdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYeaYeaYecJeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWgdWgdWgdWgdWgdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdWgdWSdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYeaYeaYeaYeaYecJeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaadMIdMIaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSecKecLdWSdWSdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYeaYecJeaYeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdMIdMIaaaaaaaaaaaadLzdMIdMIaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIecIdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYeaYeaYeaYeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaadMIdMIaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIdWTdWTdWTecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIeaYeaYeaYeaYeaYeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIecIdWTdWTecIecIecIecIecXecYecYecYecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIeaYeaYeaYeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWSdWSdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIdMIdMIdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIdWTdWTdWTecIecIecIecYecZecYecYecYecYecYecYecYecYecIecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIeaYeaYeaYdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWSdWSecBdWSdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIecIdWTdWTecIecIecIecYecYecYecYecYecYecYecYecYecYecYecYecYecYecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaadLzaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWSdWSecBdWSdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIecIecIdWTecIecIecIedaecYdZjdZjdZjdZjdZjdZjdZjecYecYecYecYecYecYecYecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaadMIdMIdMIaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSecKecNecLdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOecIdWTdWTecIdZjdZjededZjdZjedbeddedcedgedfdZjecYecYecYecYecYecYecYecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaadMIdMIdMIaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSecBdWSecVdZjdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOebEebEebEebEebEedjedcedkdZjdZjdZjediedcedcdZjecYecYecYecYecYecYecYecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOedmedlednedcedpedcedcedqdZjedbeddedoedcedsdZjecYedredrecYecYecYecYecYecIecIecIdMIecIecIdMIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSedhecrecsdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOebEebEebEebEebEedcedcedudZjdZjdZjedtedddZjdZjebJebPedredrecYecYecYecYecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSecnecxecpdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzaaadLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOedvedvedvedvebEedzedAedwedxedwedwedyedBedcedcedcedcedredrecYecYecYecYecYecIecIecIecIdMIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOedvedvedvedvebEedcedcedEdZjdZjedDedCedtdZjdZjedGdZjedFedrecYecYecYecYecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaecEaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOedvedvedvedvebEedcedcedqdZjedHedJedIedNedMedPedOedLedKedrecYecYecYecYecIecIecIecIecIdMIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaadMIecEecEaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOedvedvedvedvebEedSedcedkdZjedQedRedRedWedVdZjedXedUedTecYecYecYecYecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaadMIdMIecEaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSecBdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecOecOecOecOecOedvedvedvedvdZjedcedcedcdZjedYeeaedZeecedVdZjeeeeebedrecYecYecYecIecIecIecIecIecIecIdMIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJecOecOecOecOecOdZjdZjdZjdZjebEedcedcezJdZjdZjdZjdZjdZjdZjdZjezKdZjedrecYecYecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWSdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJecOecOecOecOecOezLedcednedcezNezMezOezJdZjecYecYecYezQezPezRedcedredrecYezPecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaadPmdPmaaaaaaaaaaaaaaaaaadMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJecOecOecOecOecOdZjdZjdZjdZjebEdZjdZjdZjdZjecYecYecYecYecYecYecYecYecYecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaadPmdPmeedaaaaaaaaaaaaaaaaaadMIdMIdMIdLzdLzdWgdWSdWSecKecLdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJecOecOecOecOecOdOJecIecIdWTecIecIecIecIezSecYecYecYecYecYecYecYecYezPecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaeedaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJecOecOecOecOecOdOJecIecIdWTecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmdPmaabaabaabaabaabaabaabaabdPmdPmdMIdMIdLzdLzdWgdZjeefdWSecBdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIecIdWTdWTdWTdWTdWTdWTdWTeAadWTdWTdWTdWTdWTeAadWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdWTdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmdPmaacaacaacaacaacaacaacaacdPmdPmdPmdMIdLzdLzdWgdWgdWSdWSecBdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIecEecEecEecEecEecEecEecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmaabaabaabaabaabaabaabaabdPmdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIecIecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdLzdMIdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdLzdLzdLzdWgdWSdWSedhecrecsdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdLzdMIdMIdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdLzdLzdLzdWgdWSdWSecnecxecpdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIdMIdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdLzdLzdLzdWgdWgdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdMIdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdLzdLzdLzdLzdWgdWSeegeehdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdWgdWgdWSecBdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdWgdWSdWSecBdWSdWgdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdLzdLzdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdWgdWgdWSdWSecBdZTdZjdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdWgdWSdWSeegeehdWSdWgdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWgdWgdWgdWSdWSecBdWSdWSdWgdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWgdWSdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSecBdWSdWSdWSdWgdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaadPmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSecBdWSdWSdWSdWgdWgdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWgdWgdWgdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSecBdWSedhecsdWSdWSdWSdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmdPmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSecKecNeeieejecNecNecNecLdWSdWSdWgdWgdWgdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSdWSecnecpdWSdWSdWSecBdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSeekeekdWSdWSdWSecKecNecLdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdMIdMIdMIdPmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSeekeekdWSdWSdWSdWSdWSecBdWSdWSdWSdWgdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeeldMIeeleemeeneeneeoeeoeepeeqeereeseeteeueeueeueeveewdZjdZjdZjdZjeexeeyeezeezeezeezeezeezeezeezeezeeAdWSdWSdWSdWSdWSdWSeekeekdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeeleeleeleeleeBeeBeeBeeBeeBeeBeeBeeBeeBeeBeeBeeBeeBeeBeeCeeDeeEeeFeeGeeHeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekdWSdWSdWSdWSdWSecKecNecNecLdWSdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeeleeleeleeleeleeBeeBeeBeeBeeBeeBeeBeeIeeIeeBeeBeeBeeBeeBeeJdZjdZjdZjdZjeeKeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekeekdWSdWSdWSdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeeleeleeleeleeBeeBeeBeeBeeBeeBeeLeeMeeNeeOeeBeeBeeBeeBeePeeQeeRdZjdZjeeSeeTeeUeeVeeVeeVeeWeeXeeXeeXeeXeeXeeXeeXeeXeeYeeZeeYeeYeeYeeYeeYeeYeeYeeYeeYeeYeeYefaecNecNecLdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeeldMIefbeeBeeBefcefdeeBefeeffeeMeeOeeBefgefheeBeeBeeBefidZjdPmaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWTdMIdMIdMIdMIdLzdLzdWgdWgdWgdWgdWSecDdWSdWSecBdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjdZjefjefkeflefmefndZjdPmaabaabaaadMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWgdZjdWSdWSecBdWSdWSdWSdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJecEdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdZjdZjdZjdZjdZjdZjdZjdPmaabaaaeaYdMIdMIdMIdMIeaYeaYaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWgdWSecKecNecLdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmaaaeaYeaYdMIdMIdMIeaYeaYeaYaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdMIdLzdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmaaaaaaeaYeaYdMIdMIdMIeaYeaYaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdWgdWgdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmaaaaaaaaaeaYeaYdMIdMIdMIeaYeaYaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWSedhecrecsdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmaaaaaaaaaaaaaaadMIdMIdMIeaYeaYaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWSecnecxecpdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdWgdWgdWgdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEdOJecEecEecEecEdOJdOJecEecEecEdOJdOJdOJdOJdOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWgdWSdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSdWSdWSdWSdWSecBdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSeegecNecNecNecNeehdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSecBdWSdWSdWSdWSefodWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSecBdWSdWSdWSdWSdZjdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSecBdWSdWSdWSdWgdWgdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSecBdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWgdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJecEecEecEecEdOJecEdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdWgdWgdWSeegeehdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdWgdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdLzdLzdZjeefedhecrecsdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdLzdLzdWgdWSecnecxecpdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdWgdWgdWgdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdWgdWSdWSdWgdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmaabaabaabaabaabaabaabaabaabaabdPmdPmdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdWSdWSdWSdWSdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmdPmdPmaacaacaacaacaacaacaacaacaacdPmdPmdPmdMIdMIdMIdMIdMIdLzdLzdWgdWgdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdWSdWSdWSdWSdOJdOJdOJdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdPmaabaabaabaabaabeedeedaabaabaabdPmdPmdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdWSdWSdWSdWSdWgdWgdWgdWgdOJdOJdOJdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaeedeedeedeedaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdWSdWSdWSdWSdWSdWgdWgdWgdOJdOJdOJdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaeedeedeedeedaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSecBdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdWSdWSdWSdWSdWSdWgdWgdOJdOJdOJdOJdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaeedeedaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSecBdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJecEecEecEecEecEecEecEdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJefpdWSefpdWSdWgdWgdWgdOJdOJdOJdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJecEecEecEecEecEecEecEdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJefqefrefqdWSdWgdOJdOJdOJdOJdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSdWSecBdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJefseftefudOJdOJdOJdOJdOJdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSecBdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJefseftefvdOJdOJdOJdOJdOJdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSecBdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdWSdWSebJebPeezeezeezeezeezeezeezeeAeftefvdOJdOJdOJdOJdOJdOJdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIefwefwefwefwefwefwefwdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdWgdWSdWSdWSdWSecBdZTdZjdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdWSdWSdWSdWSefrefxefxefxefxefxefxefxefyefzefvdOJdOJdOJdOJdOJdOJdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIefwefAefBefCefDefAefwdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdWgdWgdWSdWSdWSecBdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdWgdWSdWSdWSebJefEecmecmecmecmecmecmefFeftefGefHdOJdOJdOJdOJdOJdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIefwefAefIefJefKefLefwdMIdMIdMIdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJecEecEecEdOJdOJdOJdOJdOJdOJdWgdWgdWgdWSdWSdWSdWSdOJdOJdOJdOJdOJdOJefseftefvdOJdOJdOJdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaaefMefNdMIefOefwefwefwefPefwefwefwdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWSdWSdWSecBdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdLzdLzdWgdWgdWSdWSdWSdOJdOJdOJdOJdOJdOJdOJefseftefvdOJdWSdWSdWSdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIefQefNefRdMIefOefSefTefOefUefOdWgdWgdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWSdWSecBdWSdWSdWgdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEdLzdLzdWgdWgdWgdWSdWSdOJdOJdOJdOJdOJdOJdOJefVeftefvdWSdWSdWSdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIeaadZjdLzefOefWefXefYefUefOdWSdWgdWgdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWSdWSecBdWSdWSdWSdWSdWgdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdLzdLzdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJefpefrefpdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIefZdMIdLzefOefOefOefOegaefOdWSdWSdWgdWgdZjdWgdWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdWgdWgdWSecBdWSdWSdWSdWSdWSdWSdWgdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdLzdLzdOJdOJdOJdOJdOJdOJdOJdOJdOJdWSdWSefqeaaefqdWSdWSdWSdWSdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIegbdMIdMIefOefSegcefOefUegddWSdWSdWSdWSegedWSdWgdWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdLzdZjdZjdZjdZjdZjdZjdWgdWSecBdWSdWSdWSdWSdWSdWSdWSdWgdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdWSdWSdWSdWSeaaeaaeaaeaaegfegfegfdWSdWSdWSdWgdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIegbdMIdMIefOefWefXeggefUeghdWSdWSdWSdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdLzdZjegiegjegkegkegldWSdWSecBdWSdWSdWSdWSdWSdWSdWSdWSeaYdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJecEecEecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdWSdWSdWSdWSdWSdWSdWSdWSegmegnegodWSdWSdWSdWgdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWgdWgdWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIefOegpefOefOefOefOefOefOefUegqdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdLzdLzdZjegregsegtegtegudWSedhecrecsdWSdWSdWSdWSdWSdWSdWSeaYeaYdWgdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdWSdWSegvegvegvegvegvegvegwegxegyegvegvegvegvegvdWSdWSdWSdWgdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdWgdWgdWSdWSdWSdWSdWSdWgdWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIefOefOefOefOegzegAegBefOefSegCefOegaefOefOefOegDegEegFefOdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaadLzdLzdLzdWgdZjegGegHegIegIegJdWSecnecxecpdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJecEecEecEecEecEecEdOJdOJdOJdOJdOJdOJdOJecEecEecEecEecEdOJdOJdWgdWSdWSdWSegvegKegLegMegNegOegPegQegRegSegTegUegVegWecsdWSdWSdWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdWgdWgdWgdLzdLzdLzdLzdMIdMIdMIefOegXegYegZehaegYegYefOefWefXehbefUefOehcehdeheeheeheegddWSdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaadWgdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSehfehgehhehiehgehgdWSdWSdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJecEecEecEdOJdOJdLzdWgdWSdWSdWSegvehjegLehkehlegLehmegLegLehnehoehpegVehqehrdWSdWSdWSdWSdWSdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdZjdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdLzdLzdLzdLzdLzefOehsegYehtehuehvehwefOefOefOefOefUefOehcehxehxehxehyeghdWSdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSehfehzehzehzehAehgdWSehBdWSdWSdWSdZTdZjdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJecEecEecEdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdLzdWgdWSdWSdWSegvehCegLegLehDegLehmegLegLegLehEehFehGegWecpdWSdWSdWSdWSdWSdWSdWSdWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdWgdWgdWSegedWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdWgdWgdLzdLzdLzefOehHegYehIegYehJegYehKehyehLehMehNefOehcehxehOehxehPegqdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSehQehQehRehSehfehTehUehVehWehgehgehgehgdWSdWSdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdWgdWgdWSdWSegvehXegLehYehZeiaeibeicegLegvegvegvegvegvegvedhecsdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdWgdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSedhecsdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdLzefOefOefOefOefOefOefOeideieeifeideieefOefOefOefOefOeigefOefOeiheiidWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSeijehSeikeileimeineioeipeipeiqeireiseiteiuecsdWSdWSdWSdZkdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdOJdMIdMIdLzdWgdWSdWSegveivegLeiwehleixeiyeizegLeiAeiBeiCeiDeiEeiFeeieejecNecNecNecNecNecLdWSdWSdWSdWSdWgdWgdWgdLzdLzdLzdLzdLzdMIdMIdMIdLzdLzdLzdLzdWgdWgdWSdWSeegecNecNecNecNecNecNecNecNeeieejecNecNecNecNecLdWSdWSdWSdWSdWSdWgdLzdLzdLzdLzdLzefOeiGeiHeiIehxehPeiJehyehPehKeiKeiLeiMehyehPehxehxeiNeiOegEegFeiPeiPeiPeiPeiPeiPeiPeiPeiQeiQeiQeiQeiQeiQeiQehReiReiSeiTeileiUeiVeiWeiXeipeipeiYeiZejaejbejcejddWSdWSdWSdZkdWgdLzdLzdMIdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdOJdOJdMIdMIdLzdWgdWSdWSegvegvegvegvegvejeejfejgegvegvejhegvegvegvegvecnecpdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWgdWSdWgdWgdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdWgdWgdWSdWSdWSecBdWSdWSdWSdWSdWSdWSdWSdWSecnecpdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWgdWgdZjdWgdWgdLzefOefOefOefOehxehPejiejjejkehMejlejmejmejnejnejoejmejpejqejmejqejrejrejrejrejrejrejrejrejsejsejsejsejsejsejsejtejuejtejvejuejwejxejyejzejAejBejCehgehgehgeiuecpdWSdWSdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdLzdLzdLzdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadOJdOJdMIdMIdLzdWgdWgdWSdWSdWSdWSdWSegvejDejEejFejGegvejHejIeaadWSdWSdWSdWSdWSecDdWSdWSdWSecKecNecNecLdWSdWSdWSdWSdWgdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdWgdWSdWSeegecNeehdWSdWSdWSdWSdWgdWSdWSecDdWSdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWSdWSegedWSdWgdWgdWgdWgdWgefOehxejJejKejLejLejKejMejNejOejLejLejPejKejQejRejSejTejUejUejUejUejUejUejUejUejVejVejVejVejVejVejWejXejYejZekaekbekcekdekeehQehQehQehQehQehQehQehQekfekgekhekgeaadZkdWgdLzdLzdMIdMIdMIdMIdLzdLzdLzdLzdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdLzdWgdWgdWSdWSdWSdWSegvekiekjekkeklegvdWSdWSdWSdWSdWSdWSdWgdWgdZjdWgdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWgdLzdLzdLzdLzdLzdWgdWgdWgdWgdWgdWSeegeehdWSdWSdWSdWgdWgdWgdWgdWgdWgdZjdWSdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgefOefOekmeknekmefOefOekoekpekqefOefOefOekrekmefOeksdWSdWSdWSaaaaaaaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaektehSeilekuekvekwekxekyekyekzehQekAekBekCekDekDekDekDeaadWSdWgdLzdLzdMIdMIdMIdMIdLzdLzdLzdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdLzdWgdWgdWSdWSdWSegvegvegvegvegvegvdWSdWSdWgdWgdWgdWgdWgdLzdLzdWgdWgdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWSdWgdWgdWgdWgdWgdWgdWSdWSdWSdWSdWSecBdWSdWSdWgdWgdWgdLzdLzdLzdLzdLzdWgdWSdWSdWSdWSdWSdWSecBdWSdWSdWSedhecsdWSdWSdWSdWSdWSdWSdWSdWgefOekEekFekGekFefOekHekIekJekKekLefOefOekMekNefOdWSdWSdWSdWSdWSdWSaaaaaaaabaaaaaaaaaaabaabaabaabaabaabaabaabaabehQekOekPejxehQehQehQehQekQehQekRehQehQeaaeaaeaaeaaeaadWSdWgdLzdLzdMIdMIdMIdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdLzdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdLzdLzdLzdLzdLzdLzdLzdWgdWgdWSdWSdWSecKecNecNecNecLdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSecBdWSdWgdWgdLzdLzdLzdLzdLzdLzdLzdWgdWgdWSdWSdWSdWSdWSecKecNecNecNeeieejecNecNecNecLdWSdWSdWSdWSefOekSekTekUekVefOekWekXekXekYekLefOefOekZelaefOdWSdWSdWSdWSdWSdWSaabaabaabaabaabaabaabelbelbelbelbelbaabaaaaaaehQelceldejxeleelfelgekyekyelhekyekzehQdWSdWSdWSdWSdWSdWgdWgdLzdLzdMIdMIdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzdLzdWgdWgdWgdWSdWSdWSdWSdWSecKecLdWSdWSedhecsdWSdWSeegecNecNecNecNecNeehdWSdWgdLzdLzdLzdLzdMIdMIdMIdLzdLzdWgdWgdWgdWSdWSdWSdWSdWSdWSdWSecnecpdWSdWSdWSecBdWSdWSdWSdWSefOefOefOefOefOefOelieljelkellekLefOefOelmekmefOdWSdWSdWSdWSdWSdWSaaaaaaaabaaaaaaaaaaabelbelbelbelbelbaabaaaelneloelpelqelrehQehQehQehQehQehQelseltehQdWSdWSdWSdWSdWSdWgdLzdLzdMIdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdWgdWgdWgdWgdWSdWSdWSdWSdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdWgdWgdWgdWSecDdWSdWSecKecNecNeeieejecNecNeehdWSdWSdWSdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdLzdLzdLzdWgdWgdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSecKecNecNecLdWSdWSdWSdWSdWSdWSefOefOefOefOefOefOefOeluelvelwelxdWSdWSdWSdWSdWSaaaaaaaaaaabaaaaaaaaaaabelbelbelbelbelbelyelzelAelBeilelCejxelDelEelFelGelHelIelJeltehQdWSdWSdWSdWSdWgdWgdLzdLzdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdLzdWgdWgdWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWgdZjdWgdWSdWSdWSdWSecnecpdWSdWSdWSdWSecDdWSdWgdWgdWgdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWgdWgdWgdWgdWgdWgdWgdWSdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWSdWSdWSecnelKelLelLelLelLelMecpdWSdWSdWSdWSdWSdWSaabaabaabaabaabaabaabaabelbelbelbelbelbelNelOelPelQeilelCejxeileilelReileilelSelTelUehQdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdZjdWgdWgdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdWgdWgdWSdWSdWSdWSecBdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaaaaabelbelbelbelbelbelVelzelWelXeilelCelYekbekbelZekbekbemaembemcehQdWSdWSdWSecVdZjdLzdLzdLzdMIdLzdLzdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdLzdMIdMIdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdWgdWgdWgdWSdWSdWSdWgdWgdWgdWgdWgdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWSdWSdWSdWSecKecNecNecNecNecNecNecNecNecNecNecNecNecNecNecNecNecNecLdWSdWSdWSdWSdWSdWSaaaaaaaaaaaaaaaaabelbelbelbelbelbemdaaaemeeloemfelCejxeileilemgelEeileilelsemhehQdWSdWSdWSdWSdWgdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdWgdWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSecBdWSedhecsdWSdWSdWSebEebEaaaaaaaaaaabelbelbelbelbelbaabaaaaaaemiemielCemjekbemkemlemmemnemoelTeltehQdWSdWSdWSdWSdWgdLzdLzdLzdLzdMIdLzdLzdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdWgdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSecKecNeeieejecNecNecNempemqemremremremremremremremremremremremremsemtemueileileilemvemwemxemyemzemAehQdWSdWSdWgdWgdWgdLzdLzdMIdMIdMIdLzdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdWgdWgdWgdWSdWSdWSdWSdWSdWSdWSdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSecnecpdWSdWSdWSebEebEaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemiemiehQehRehSehQehQehQehQehQehQehQehQdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdWgdWgdWgdWgdWgdWgdWgdWgdWgdWgdZjeefdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSecDdWSdWSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdZjdWgdWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdZTdZjdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdWgdWgdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdLzdLzdWgdWgdWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdWgdWgdWgdWgdWgdWgdWgdWgdWgdWgdWgdLzdLzdLzdWgdWgdWgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSdWSdWSdWSdWSdWSdWSdWSdWgdWgdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWSefodWSdWSdWSdWgdWgdWgdWgdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWSdWSdWgdZjdWgdWgdWgdWgdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWgdWgdWgdWgdLzdLzdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWgdWgdLzdLzdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdLzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadWgdMIdLzdLzdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBaaaaaaaaaemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaemBaaaemBaaaaaaemBemBemBemBemBemBemBaaaaaaemBaaaemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaemBemBemBaaaemBemBemBemBemBemBemBemBemBaaaemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaemBemBemBaaaemBemBemBemBemBemBemBemBemBaaaemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaemBemBemBaaaemBemBemBemBemBemBemBemBemBaaaemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaadMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIaaaaaaaaaaaadMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIdMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBaaaemBemBemBemBemBemBemBemBemBaaaemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBaaaaaaemBemBemBemBemBemBemBemBemBaaaaaaemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaemBemBemBemBemBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -"} - -(1,1,6) = {" -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARdARdARdARdARdARdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARemCemDemCemDemCdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARemCemDemCemDemCdARaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdARemCemDemCemDemCdARaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabdARemCemDemCemDemCdARaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARdARdARdARdARdHgdHqdHtdHgdHqdHtdHgdARdARdARdARdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARemCemCemCemCdHidHldHlemEdHldHldHiemCemCemCemCdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARemDemDemDemDdIddHldHldHldHldHldIdemDemDemDemDdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARemCemCemCemCdHgdHldHlemFemGemHdHgemCemCemCemCdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARemDemDemDemDdHiemIdHlemJdHlemKdHiemDemDemDemDdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARemCemCemCemCdIddHldHlemLdHldHldIdemCemCemCemCdARaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARdARdARdARdARdHgemMemNemOdHlemPdHgdARdARdARdARdARaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHgdHgdHgdIodHgdHgdHgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHgdHgdHgdHgdHgdHgemQeAcemSeAbemUdHgdHgdHgdHgdHgdHgaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaacdGEaacaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadItdIKemVdIvdIvdINemSemSemSemSemSdINdJfdIPdIQemWdISaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaabaacaacdGEdGEaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadIGdIUdIvdIvdIvemXemSemYemZemYemSenadIOdIOdIOdIOdJaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaacaacaacdGEdGEaacenbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadIWdJcdJddIVdIvdINemSencendeneemSdINdJrenfengenhdIdaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacdGEdGEdGEaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHgdJgdHgdHgdJhdHgemSemSemSemSenidHgdHgdHgdHgdHgdHgaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaienjenjenkenjenjenjaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyPaabdHgenldHgdHgenmemSennenodHgaaaaabaabaabaeJaaaaabaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenpenqenqenrenqenpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcyPaabdHgdJodJpdHgensemSentemSdHgaaaaaaaabcrvcrvaaaaaaaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenuenqenqenvenqenpenpenpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyPaaadHgdHgdHgdHgdHgdHgdHgenwdHgaabaaacrvcrvaaaaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenxenqenqenqenqenqenqenpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaczZaaaaaaaaaaaaaaaaaaaaadHgdHldHgaabcrvcrvaaaaaaaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenpenqenvenqenqenvenqenyaaadARdARdARdARdARdARdARdARdARdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadHgenwdHgaeJcrvaabaaaaaaaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaacaacaacaacaacaacenpenqenqenqenqenqenqenpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaaqaaqaaqaaqaaqaaqenpenpenpenpenpenuenzenpaaaaaaenAenBenCaaaenAenBenCaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenpenDenEenFenGenqenqenHaaaaaaenAenIenCaaaenAenIenCaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenpenJenKenLenMenqenqenHaaaaaaenAenIenCaaaenAenIenCaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenpenNenqenOenPenQenRenSaaaaaaaaaenTaaaaaaaaaenTaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenpenUenVenVenWenqenXenYenZeoaeobeocenZenZenZeodeoeeoedARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenpenJenqenqenqenqenqeofaaaaaaaaaenTaaaaaaaaaenTaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeogeogeogeogeogeogeogeoheogeogeogeogeoieogaaaaaaenAenIenCaaaenAenIenCaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeojeojeokeoleomeomeogeoneojeojeogeojeojeogaaaaaaenAenIenCaaaenAenIenCaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeojeojeooeopeopeoqeoreoseojeojeogeogeoieogaaaaaaenAeotenCaaaenAeotenCaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeojeojeoneojeojeoueogeoveojeoweogeojeojeogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaabaacaacaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeoxeoxeoyeozeoAeogeogeojeojeoveogeogeoBeogaaadARdARdARdARdARdARdARdARdARdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaiaaaaaaaabaacaacaaceoCaabaabaabaaaaaiaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeojeojeoneojeojeogeogeoveojeojeojeojeojeogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaieoDaabaabeoDaacaacaacaacaaceoDaabaabeoDaaiaabaabaabaaaaaaaaaaaaaaaaaaaaaeoEeoEaaiaaiaaieogeoFeojeoGeojeojeoHeoIeojeojeojeojeojeojeogdARdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabeoJeoJeoJeoJaaceoCaacaacaaceoJeoJeoJeoJaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaeoEaaiaaieogeoKeoLeoMeoKeoKeogeogeogeogeogeogeogeogeogeoNdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeoJeoJeoJeoJeoOeoJeoPeoJeoQeoReoSeoJeoJeoJeoJeoJeoJaabaabaaaaaaaaaaaaaaaeoEaaaaaaaaaaaiaaiaaieogeojeojeoneojeojeoTeoUeoVeoWeoXeoYeoZeoWepaepbdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJeoJepcepdepeepfepceoRepgepgephepgepcepeepceoJeoJeoJaabaaaaaaaaaaaaaaaaaaaaaeoEaaaaaaaaaaaaeogeoFeojeoGeojeojeoTepiepiepjepiepiepiepiepkepldARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJepmepnepoeppepoepcepqeoQeprepgephepsepcepcepceptepueoJaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeoKeoLepveoKeoKepwepiepiepjepiepiepiepjepiepxepyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJepzepzepzepzepAepgepBeoJephepCeoJepgepDepeepDepDepgeoJaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeogeojeovepEeojeojepFepiepiepiepiepGepiepiepHepIdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJepgepDepDepDepJepdepcepKepDepgepDepDepcepdepdepDepDeoJaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeogeojeojepLepMepNepOepPepPepQepRepjepiepiepiepxdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeoJeoJepDepdepeepcepSepcepeepcepgepgepDepcepcepcepcepeepceoJaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabeogeojeojepEeojeojepTeoWeoWepiepUepVepiepVepWeplaacepXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabeoJeoJepcepeepcepYepZeqaeqbepgeqcepgepgeqdeqeeqfepDepdepeeoJaaiaabaaaaaaaaaaaaaaaeoEaaaaaaaabaabaabeogeogeogeoneogeojeoTeqgeqheqieqjeqkeoUeoUeoWeplepyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabeoJeoJepDepcepYeqleqmeqnepgepgepgepgepgeqoeqoeqpeqfepcepdeoJaaiaabaabaaaaaieogeogeogeogeogeogeogeogeogeogeogeqqeogeogeogeqreqreqseqreqreqreoNeoNeoNdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeoJeoJeoJepDepDeqtequepdepgepgepgepgepgepgepgepgeqveqwepDeqxeoJaaiaaiaabaabaaieogeqyeqyeqyeqzeqAeqBeqCeogeqyeqyeqDeqyeqyeogaaiaabaacaacaaaaaieqEaacaaqdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJeoJeoJeoJepDepDeqteqlepdepgeqFeqFeqFeqFeqFepgepgeqGeqwepgepDeoJeoJeoJeoJeoJaaaeogeqHeqIeqIeqIeqIeqIeqIeqJeqIeqIeqKeqyeqLeogaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeoJeoJepDeqMeqNepDepDeqOeqPepgeqQaaaaaaaaaaaaaaaeqFepgeqGepAepgepDepcepDepgeoJeoJaabeogeqReqyeqyeqyeqyeqyeqyeogeqSeqyeqDeqyeqyeogaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJeqTepceqGeqfepDepdepDepgepgeqFaaaaaaaaaaaaaaaeqFepgeqUepgepDeqVeqWeqXepcepDeoJeoJeogeoheqYeogeqZeqZeqZeqZeogeqyeqyeraeqyeqyeogeoEaaaaaaaaaaaaaaaaaaaaaaaaaacaacaaiaaqaacaaqaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJepsepeerbeqwepdepdepdepeepgeqFaaaaaaaaaaaaaaaeqFepgercepgepDerdereeqXepcerfeoJeoJergerherierierjerjerjerjeogeogeogeogeogeogeogaabaabaaaaaaaaaaaaaaaaaaaaaaacaacaaiaaqaaceqEaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoJeoJerkepDerbeqwepDepeeqberlepgeqFaaaaaaaaaaaaaaaeqFepgepgermepgepDepcernepeerkeroeroergerperqerierjerjerjerreogeqEaaceogeogaaaaabaaaaaaaaaaaaaaaaaaaaaaacaacaacdGEaaiaaqaacaaqaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeoJeoJepDersepAepcepderternepgeqFaaaaaaaaaaaaaaaeqFepgepgeruepDepDeqdeqPepDeoJeroerverwerxeryerierjerzerjerrerAaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaacaacaacaacerBaaiaaqerCaaqaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeoJeoJeoJeoJeoJepDepDeqtepgepgepceqFeqFeqFeqFeqFepgepgepgerDepdepdeoJeoJeoJeoJeroerpergergergerEergergergergergergergaabaabaaaaaaaaaaaaaacaacaaqaacaacerCaacerFdGEaaiaaqdGEeqEaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabeoJeoJeoJepcerGerHepgepcepeepgepgepgepdepcepgepgerIerDepeepDeoJeoJeoJaabaaberpergerierJerJergerjerKerLerLergergaabaacaabaabaabaacaacerBaaqaacaaidGEerBerCerMaaiaaqdGEaaqaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabeoJeoJepeepderNepgepgepcerOepcepdepeepoepqepoerOerPepdepdeoJeoJaaaaaaerverQergerierJerierierjerjerjergergaaaaaaaaaaabaaaaaaaacdGEdGEaaqaacerRerRerRerRerRerRerSerSerSaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaephepgephaabaaberHeqdeqwepDepDepDerTepzepzepAepcepcepDeoJeoJaaaerverQerqergerjerjerjerierUerjergergergaaaaabaabaacaaaerVerSerSerSerSerSerSerWerXerYerZerYesaesberSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaescescescescescescescescescescescescescescescescaaaaaaaaaaaaaaaaaaaaaesdaaaepgepgeseaabaabepgesfepDepcepcerdepDepDepcepdepeepDepDeoJeoJaaaerperJerqergergergerjergergergergergergesgesgaaqaaqaaqerVesheshesiesiesjerSerWerWerWerYerYesbesberSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesceskeskeskeskeskeskeskeskeskesleskesmeskesmescesnesoesoesoesnespesqesressesnestaabaeJaabepDepDepcepdepdepdepcepDepDepcepdeoJeoJeoJeoJaaaerperqeriergerjeryerieryergeryeryesueryaacerBerBerBaacerBesieshesjesjesiesverYerYerYerYerYesbesberSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesceskeskeskeskeskeskeskeskeskeskeskeskeskeskesceswesweswesxeswesyeszesresresAaabaabaabaabeoJeoJepDesBepeepcepDeoJeoJeoJeoJeoJeoJaabaaberJesCerqerierjerjerierJeryeryesueryerJesDaaqaaqesEesEesFesEerRerRerRerRerRerRerYerYesGerYerYerYerYerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaescesmeskeskeskeskeskeskescescescescescesHescesceswesweswesweswesIesyeszesresresresraabaabeoJeoJeoJeoJepgeoJeoJeoJeoJeoJeoJaabaaaaacergerJerherieriergerjerierierJeroeroeroeroeroaabaabaabaaaaaaaaaesJerCesJaaceoCerRerWerWerYerWesKerYesLerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaescesmesmeskesMeskeskeskesceskeskesleskeskeskesHesweswesweswesweswesyeszesresresresraaaaabaabeoJeoJesNepgepgeoJeoJaabaabaabaaaaaaaacergerqerherieriergergergergeryeroerMerBerMesOaaaaabaaaaaaaaaaaaaaaaaaesJaabesOerResPesPerYesPesQerYerYerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaescescescescescescescesRescesSeskesSeskesSeskesceswesweswesweswesTeswesyeszesresresraaaaaaaabaabeoJeoJeoJeoJeoJaabaabaaaaaaesUesUesVergeriesWerierjergerjeryerieryeroerBesOerBerBaaaaabaaaaaaeoEaaaaaaaaaaaaesOaaberRerYerYerYerYesXerWerWerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesYesZetaetbetaetbetaetbetaescesSeskesSeskesSeskesHeswesweswesweswetceswetdesyeteeszesresretfesnesnesnesnetgetgaabaaaaabaaaethaaaaaaaacergergesWeriergergerJerjerJeryeroerBesJaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaerMerRerSerYerYerSerSerSerSerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesYetietjetketjetketjetketjesceskeskeskeskeskeskesceswesweswesweswetleswetmeswesyesyeszesresretnesretnaacaacaacaacaaaaabaabaabaabaaaaacergerjetoerjerjergerjerjerjerjeroesOerBaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaerRerRerRerYerYerSetpetpetperSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaetqetretsettetuettetbetaetbetaescescescescescescetvetwetxetxetyetyetzetAetxetxetxetxetBeszeszeszesnetCesnerMaacaacaacetDetEaacaacaacetFetGergerjetHerjerjergerjerierjetIeroeroeroaacaabaabaacaabaacaabaabaabaacaabaabaacaacerRerYerYerYerYerYetJerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaetKetLetLetLetLetMetketjetketjetNetOetOetOetPetOetQescetRetSesweswetTetletUesweswesnetVeswesnesnesnesnesnetWetGerMerCetXaacerCaacaacerMetGergerjetHerjetIergerjerjerjerJerjerjeroergetYetYaaqetZaaaaaaaaaaaaaabaaaaaaaaaaaberRerYerYerYerYerYeuaerSeubeucaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachPeudeueeufeugeufetbetaetbetaescescescescescesceuhescergergergergergergergergergergeuieujergergergergergergergergergergerCetGetGetGerCaacergerjeukeuleuleuleuleuleumeuleuleuleuneuleuoeuoeupeuqetYaaaaaqaaqcrvaaqaaqaaqesgerRerSerYerYerYerYerYeuresGeuraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesYetietjetketjetketjetketjescaaaaaaaaaergerjerjerjerjerjeuserjerjerjerjergerjerjetHerjerjerjergerjerjerjerjerjergergergergergergergergergerjetHerjerjergerjerierjerjerJerjeroergesEaaqeuteuoeuueuveuweuxeuyeuueuoeuueuueuzeuAeuBeuCesGerYerYerSeubeucaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesYesZetaetbeuDetbetaetbetaescaaaaaaaaaergerjerjerjerjerjerjerjerjerjerjergeuEerjetHerjerjetIergeuEerjerjerjerjergergergergerjerjerjerjerjerjeuFeuleuGergerjerjerierierjeuHeroeqEaabaaaeuIeuIeuIeuJeqEaaqaaaeuKeuKeuIeuLerRerSerYeuMerYerYeuNerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesceuOescescescescescescescaaaaaaaaaergerjerjerjerjerjerjerjerjerjerjeuPerjerjetHerjerjerjergerjerjerjerjerjerjerjeuserjeuQeuleuleuleuleuleuRerjetHergerjerjerjerjerjeuSeroeqEaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaesierSerYerSerYerYeuTerSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaescescescaaaaaaaaaaaaaaaaaaaaaaaaaaaergerjerjergergergerjergergergeuUergerjerjeuVeuleuleuleuWeuleuleuXeuleuleuleuleuleuleuRerjerjerjerjerjerjerjeuYeroeuZeroeuSeriergaaqaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaevaevberSerYerSerSerSerSerSerRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaergerjerjergevceuserjergevceuserjergevdevdevdeveeuUevfergeuEerjetHerjerjerjerjerjerjerjeroeroeroeroeroeroevgeuYdGEdGEeroergergergaaaaaaaaaaaaaaaaaaaaaaaaevhaaaaaaaabaaaaabaaberSevievjerYerYetJevjerYerYerRerRerRerRdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaberjergevkerjevlergevkerjevkergevmerjerjerjerjerjergerjerjevnerjerjerjerjerjerjerjerodGEdGEevodGEdGEevpevqdGEaaiaaiaaqaaqaaqaaaaaaaaaepXaaaaaaaaaaaaaaaaaaaabevrevraabaaberSevserYerYesGerYerYerYerYesGerYerYerRdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabergergergergergergergergergerjerjerjevterjerjergergergergergergergergergevuergeroaacaacaacaacdGEevpevqdGEaaievodGEevvaaqaabaabaaaaabaabaabaaaaaaaaaaabaabaabaaaaabaaaevwevxerYerYerYerYesGerYerYerSerYevyerRdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaberJerJerJerJerjevzerJevzergerjevtevkevkevterjergdGEaacaacaacaabaabaabaaqaacaacaaaaaaaaaaabepyaacdGEevAevBevCdGEdGEevDaaqaabaabaabaabeoEaabaabaabaabaabaaaaabaaaaaaaaaevwevxevserYerYerYerYerYerYerSevEerYerRdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaaberJerJevzevFerjevGergeuEerjevHevkerjetIergaacaacaaaaaaaaaaaaaabaabaacaacaaaaaaaabaabaabaabaacevqdGEevIdGEevDevDaaqaabaaaaaaaaaaaaaabaabaabaaaaabaaaaaaaabaaaaaaevwevxerYerYerYerYerYerYerYerSetJevJerRdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaberJerJerJevzerjergerjerjevkevkerjerjergdGEaacaaaaaaaaaaaaaabaabaaaaaaaaaaaaaabaaaaaaaaaaacevqdGEevKdGEevDevDaaqaabaabaaaaaaaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaevwevLevMevLeubeubeubeubeubeubeubeuberRdARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaerJerJerJergerjerjevtevterjerjergaacaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaabaabevraacevNdGEdGEdGEdGEdGEevOevPevQaaiaaiaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaevResGetXaacaacaacaacaaaaaaaaaaaaaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaberJerjerjerjerjerjerjerjergaacaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaevSevTevTevTevTevTevUevVevQaaaaacaaaaaaaaaaaaaaaaaaaaaaaaepXaaaaaaaaaevWevMevXaaqaaaaaaaaqaaaaaaaaaaaaaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabergergergergergergerjergevYaacaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaacdGEdGEdGEevQevZevQaaaaaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaewaaaaaaaaaaaaaaaaaaaaaaaaadARaacaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaerJerJesuerierjevGergaacaabaabaabaabaabaacaacaabaabaabaabaabaaaaaaeoEaaaaaaaabaacaacaacdGEevQewbewcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaerJerqerJerjerjergaacaabaaaaaaaaaaacaaceoCaacaaaaaaaabaabaabaabaabaabaabaabaaaaacaacdGEevQewdewcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaacaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaerJeweerJerierJerjerJaacaaaaaaaaaaaaaaaaabaacaacaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaacdGEevQewdewcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaerJerJerJerjerjerqergaacaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaabaabaaiaaievQewdewcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaacaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaabaabaabergerJergergergergdGEaaaaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaacevOewdewcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaerJerJerJerierqerjergaacaacaaaaaaaaaaaaaabaaaaaaaabaabaaaaaaaabaaaaaaaaaaaaaabaaaaaaaacdGEevOewdewcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdARaacaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaaaaberJerJerJeriergaaqaaqaacaaaaaaaabaabaaaaaaaaaaabaabaabaabaabaabaabaabaabaacaacdGEdGEevOewdevQevOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARdARaaaaaidARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaerJerJerJerqerjergaaaaaaaaqaabaaaaabaabaaaaaaaaaaaaaabaabaaaaaaaaaaaaaaaaacdGEdGEdGEdGEevOewdewfewgevOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaqevOevPevOevOevOevOewhevOevOevOevOevOevOevOewievOevOevOevOevOevOevOevOevOevOevOevOevOevOevOevOevOewjewfewfewfewkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabewlewfewfewfewmewfewfewfewfewfewfewnewoewpewqewrewsewtewuewfewfewfewfewfewfewfewfewfewfewfewvewwewxewlewfewfewcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabewlewlewlewfewfewfewfewfewfewfewfewyewzewAewBewCewDewEewFewfewfewfewfewfewfewfewfewfewfewfewdewfewfewfewfewfewcaaaaaaaaaaaaaaaewaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabewGewHewIewIewIevOewIewIewIewIewIevOewIewIewIewIewIevOewIewIewIewIewIevOewIewIewIewIevOewdewlewlewfewfewfewJetqetqetqaaaaaaaaaethaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdARdARdARdARdARdARdARdARdARdARaaqdARdARdARdARdARepyepyepydARdARdARaaidARdARdARdARewKewLewKewlewfewfewlewMewNewOewPewlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaaaaaaaaaewKewQewKewRewRevQewSevQewSevQchPchPchPaaaaaaaaaewaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenbaacaacewKewTewUewVewKewWewWevQewXevQewXevQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaacewKewYewKewZexaexbexbevQewXevQewXevQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacaacewKexcexdewZexbexeexbevQewXevQewXevQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabevraacerMewKexfewKexgexbexhexievQexjevQewXevQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacerMexkexbexlexmexbexnexoexbevQewXevQewXevQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaacdGEdGEewKexpewKexbexbexdexbevQewXevQexjevQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaaewKewKexpewKewKewKewKewKevQewXevQexjevQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaexqaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaexraaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaexsexsexsaaaextaaaexsexuexvaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaexwexxexxexyexzexyexxexxeoEaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaexAexAexAaaaextaaaexAexvaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaextaaaaaaaaaeoEaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexsexsexsaaaextaaaexsexsexsaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaexwexxexxexyexBexyexxexxexCaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaexAexAexAaaaexvaaaexAexAexAaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaexvaaaaaaaaaaaaaaadARaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadARdARdARdARdARdARdARaacdARdARaacaacaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaabaabaabaabaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaaaaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaacaacaacaacaabaabaabaabaabaabaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabexDexDexDexEexDexDexDaacaacaacaabaaaaaaaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexDexDexEexEexFexGexFexEexEaabaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexDexHexFexFexFexFexFexFexDaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexDexFexFexIexJexKexFexLexDaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexDexMexNexEexFexFexFexGexDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexDexDexFexOexFexFexEexDexDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexDexDexDexDexDexEexEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaexPexQexPdKVaaaaaadKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVexPexRexPdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVexPexQexPexPexPexPexPexPexPexPdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVexPexSexTexUexVexWexXexYexZexPdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVexPexSexSexSexSeyaexXeybexXexPexPexPexPexPdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVexPeycexSexSexSexSeydexSexSexSexQeyeeyeexQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVexPeyfexSexSexSexSexSexSexSexSexQeygeyeexQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVexPeyheyieyjexSexSexSexSeykexSexXexPexPexPdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVexPeyleymeyneyoeypexSexXexXexXexXexPdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVexPexPexPexXexXexXeyqexXeyrexSeysexPeyteyueyudCqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVexPexXexXexXexSeyvexSexSeywexPeyxdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVexPeyyeyzexXexSexXeyAeyBeyBeyBeyCdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVexPeyDeyEeyvexSexXexXexPdKVdKVeyxdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVexPexPexPexPeyaexXexXexPexPexPeyFdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVexPexSexXeyGeyHeyIeyJeyFdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVexPeyKeyLeyGeyGeyGeyMeyFdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVexPexPexPeyGeyNeyGeyOeyPdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVexPeyQeyMeyGeyGexPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVexPeyGeyReyGeyGeySaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVexPexPexPeyTeyUeyVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVaaaaaaaaaaaadLBdLBdLBdLBdLBdLBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVaaaaaadKVdKVdKVdKVdKVdLBdLBdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdLBdLBdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdLBdLBaaaaaadzUdzWdzWeyWeyWdzWdzWdzWdzWdzXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdLBdzUdzWeyXdLBeyYdGEdGEeyZeyZezadGEezbezcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVezddGEdGEdGEdGEdGEezedGEezbezfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVezgezhdGEeziezedGEezedGEezeezbezfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVcpWdGEezjdGEezkdGEeyYdGEdGEdGEezeezbezfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVezldzWezmdGEezndGEdGEezoeyZeyZdGEezbezpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdAsdzWdzWeyWeyWdzWdzWdzWdzWdAuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVaaadKVdKVdKVdKVdKVdLBdLBdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdLBdLBdLBdKVdKVdKVdKVdKVdKVdKVdKVdKVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVaaaaaaaaaaaadLBdLBdKVdLBdKVdKVdLBdLBdLBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVaaaaaaaaaaaaaaaaaadLBdKVdKVdKVdKVdKVdKVdLBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadKVdKVdKVdKVdLBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -"} - diff --git a/code/WorkInProgress/Mini/asay_trap.dm b/code/WorkInProgress/Mini/asay_trap.dm deleted file mode 100644 index 4cbd9e3c20a..00000000000 --- a/code/WorkInProgress/Mini/asay_trap.dm +++ /dev/null @@ -1,12 +0,0 @@ -/obj/effect/admin_log_trap - name = "Herprpr" - desc = "Stepping on this is good." - icon = 'icons/mob/screen1.dmi' - icon_state = "x2" - anchored = 1.0 - unacidable = 1 - invisibility = 101 - -/obj/effect/admin_log_trap/HasEntered(AM as mob|obj) - if(istype(AM,/mob)) - message_admins("[AM] ([AM:ckey]) stepped on an alerted tile in [get_area(src)]. Jump", admin_ref = 1) diff --git a/code/WorkInProgress/Mini/pipe_heater.dm b/code/WorkInProgress/Mini/pipe_heater.dm deleted file mode 100644 index 38457584320..00000000000 --- a/code/WorkInProgress/Mini/pipe_heater.dm +++ /dev/null @@ -1,84 +0,0 @@ -//copy pastad freezer -//remove this shit when someonething better is done -/obj/machinery/atmospherics/unary/heat_reservoir/heater - name = "Heat Regulator" - icon = 'icons/obj/Cryogenic2.dmi' - icon_state = "freezer_0" - density = 1 - - anchored = 1.0 - - current_heat_capacity = 1000 - - New() - ..() - initialize_directions = dir - - initialize() - if(node) return - - var/node_connect = dir - - for(var/obj/machinery/atmospherics/target in get_step(src,node_connect)) - if(target.initialize_directions & get_dir(target,src)) - node = target - break - - update_icon() - - - update_icon() - if(src.node) - if(src.on) - icon_state = "freezer_1" - else - icon_state = "freezer" - else - icon_state = "freezer_0" - return - - attack_ai(mob/user as mob) - return src.attack_hand(user) - - attack_paw(mob/user as mob) - return src.attack_hand(user) - - attack_hand(mob/user as mob) - user.machine = src - var/temp_text = "" - if(air_contents.temperature > (T0C - 20)) - temp_text = "[air_contents.temperature]" - else if(air_contents.temperature < (T0C - 20) && air_contents.temperature > (T0C - 100)) - temp_text = "[air_contents.temperature]" - else - temp_text = "[air_contents.temperature]" - - var/dat = {"Cryo gas cooling system
      - Current status: [ on ? "Off On" : "Off On"]
      - Current gas temperature: [temp_text]
      - Current air pressure: [air_contents.return_pressure()]
      - Target gas temperature: - - - [current_temperature] + + +
      - "} - - user << browse(dat, "window=freezer;size=400x500") - onclose(user, "freezer") - - Topic(href, href_list) - if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai))) - usr.machine = src - if (href_list["start"]) - src.on = !src.on - update_icon() - if(href_list["temp"]) - var/amount = text2num(href_list["temp"]) - if(amount > 0) - src.current_temperature = min(350, src.current_temperature+amount) - else - src.current_temperature = max(150, src.current_temperature+amount) - src.updateUsrDialog() - src.add_fingerprint(usr) - return - - process() - ..() - src.updateUsrDialog() \ No newline at end of file diff --git a/code/WorkInProgress/Mloc/Shortcuts.dm b/code/WorkInProgress/Mloc/Shortcuts.dm deleted file mode 100644 index 361e647cbc3..00000000000 --- a/code/WorkInProgress/Mloc/Shortcuts.dm +++ /dev/null @@ -1,65 +0,0 @@ -/mob/verb/shortcut_changeintent(var/changeto as num) - set name = "_changeintent" - set hidden = 1 - if(istype(usr,/mob/living/carbon)) - if(changeto == 1) - switch(usr.a_intent) - if("help") - usr.a_intent = "disarm" - usr.hud_used.action_intent.icon_state = "disarm" - usr.hud_used.hurt_intent.icon_state = "harm_small" - usr.hud_used.help_intent.icon_state = "help_small" - usr.hud_used.grab_intent.icon_state = "grab_small" - usr.hud_used.disarm_intent.icon_state = "disarm_small_active" - if("disarm") - usr.a_intent = "hurt" - usr.hud_used.action_intent.icon_state = "harm" - usr.hud_used.hurt_intent.icon_state = "harm_small_active" - usr.hud_used.help_intent.icon_state = "help_small" - usr.hud_used.grab_intent.icon_state = "grab_small" - usr.hud_used.disarm_intent.icon_state = "disarm_small" - if("hurt") - usr.a_intent = "grab" - usr.hud_used.action_intent.icon_state = "grab" - usr.hud_used.hurt_intent.icon_state = "harm_small" - usr.hud_used.help_intent.icon_state = "help_small" - usr.hud_used.grab_intent.icon_state = "grab_small_active" - usr.hud_used.disarm_intent.icon_state = "disarm_small" - if("grab") - usr.a_intent = "help" - usr.hud_used.action_intent.icon_state = "help" - usr.hud_used.hurt_intent.icon_state = "harm_small" - usr.hud_used.help_intent.icon_state = "help_small_active" - usr.hud_used.grab_intent.icon_state = "grab_small" - usr.hud_used.disarm_intent.icon_state = "disarm_small" - else if(changeto == -1) - switch(usr.a_intent) - if("help") - usr.a_intent = "grab" - usr.hud_used.action_intent.icon_state = "grab" - usr.hud_used.hurt_intent.icon_state = "harm_small" - usr.hud_used.help_intent.icon_state = "help_small" - usr.hud_used.grab_intent.icon_state = "grab_small_active" - usr.hud_used.disarm_intent.icon_state = "disarm_small" - if("disarm") - usr.a_intent = "help" - usr.hud_used.action_intent.icon_state = "help" - usr.hud_used.hurt_intent.icon_state = "harm_small" - usr.hud_used.help_intent.icon_state = "help_small_active" - usr.hud_used.grab_intent.icon_state = "grab_small" - usr.hud_used.disarm_intent.icon_state = "disarm_small" - if("hurt") - usr.a_intent = "disarm" - usr.hud_used.action_intent.icon_state = "disarm" - usr.hud_used.hurt_intent.icon_state = "harm_small" - usr.hud_used.help_intent.icon_state = "help_small" - usr.hud_used.grab_intent.icon_state = "grab_small" - usr.hud_used.disarm_intent.icon_state = "disarm_small_active" - if("grab") - usr.a_intent = "hurt" - usr.hud_used.action_intent.icon_state = "harm" - usr.hud_used.hurt_intent.icon_state = "harm_small_active" - usr.hud_used.help_intent.icon_state = "help_small" - usr.hud_used.grab_intent.icon_state = "grab_small" - usr.hud_used.disarm_intent.icon_state = "disarm_small" - return \ No newline at end of file diff --git a/code/WorkInProgress/Ported/Abi79/uplink_kits.dm b/code/WorkInProgress/Ported/Abi79/uplink_kits.dm deleted file mode 100644 index b7b053135ec..00000000000 --- a/code/WorkInProgress/Ported/Abi79/uplink_kits.dm +++ /dev/null @@ -1,53 +0,0 @@ -/obj/item/weapon/storage/syndie_kit - name = "Box" - desc = "A sleek, sturdy box" - icon_state = "box_of_doom" - item_state = "syringe_kit" - -/obj/item/weapon/storage/syndie_kit/imp_freedom - name = "Freedom Implant (with injector)" - -/obj/item/weapon/storage/syndie_kit/imp_freedom/New() - var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src) - O.imp = new /obj/item/weapon/implant/freedom(O) - O.update() - ..() - return - -/obj/item/weapon/storage/syndie_kit/imp_compress - name = "Compressed Matter Implant (with injector)" - -/obj/item/weapon/storage/syndie_kit/imp_compress/New() - new /obj/item/weapon/implanter/compressed(src) - ..() - return - -/obj/item/weapon/storage/syndie_kit/imp_explosive - name = "Explosive Implant (with injector)" - -/obj/item/weapon/storage/syndie_kit/imp_explosive/New() - var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src) - O.imp = new /obj/item/weapon/implant/explosive(O) - O.name = "(BIO-HAZARD) BIO-detpack" - O.update() - ..() - return - -/obj/item/weapon/storage/syndie_kit/imp_uplink - name = "Uplink Implant (with injector)" - -/obj/item/weapon/storage/syndie_kit/imp_uplink/New() - var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src) - O.imp = new /obj/item/weapon/implant/uplink(O) - O.update() - ..() - return - -/obj/item/weapon/storage/syndie_kit/space - name = "Space Suit and Helmet" - -/obj/item/weapon/storage/syndie_kit/space/New() - new /obj/item/clothing/suit/space/syndicate(src) - new /obj/item/clothing/head/helmet/space/syndicate(src) - ..() - return \ No newline at end of file diff --git a/code/WorkInProgress/Ported/Abi79/uplinks.dm b/code/WorkInProgress/Ported/Abi79/uplinks.dm deleted file mode 100644 index 58d9fa0acec..00000000000 --- a/code/WorkInProgress/Ported/Abi79/uplinks.dm +++ /dev/null @@ -1,467 +0,0 @@ -/* - -SYNDICATE UPLINKS - -TO-DO: - Once wizard is fixed, make sure the uplinks work correctly for it. wizard.dm is right now uncompiled and with broken code in it. - - Clean the code up and comment it. Part of it is right now copy-pasted, with the general Topic() and modifications by Abi79. - - I should take a more in-depth look at both the copy-pasted code for the individual uplinks below, and at each gamemode's code - to see how uplinks are assigned and if there are any bugs with those. - - -A list of items and costs is stored under the datum of every game mode, alongside the number of crystals, and the welcoming message. - -*/ - -/obj/item/device/uplink - var/welcome // Welcoming menu message - var/menu_message = "" // The actual menu text - var/items // List of items - var/list/ItemList // Parsed list of items - var/uses // Numbers of crystals - var/uplink_data // designated uplink items - // List of items not to shove in their hands. - var/list/NotInHand = list(/obj/machinery/singularity_beacon/syndicate) - - New() - if(!welcome) - welcome = ticker.mode.uplink_welcome - if(!uplink_data) - uplink_data = ticker.mode.uplink_items - - items = replacetext(uplink_data, "\n", "") // Getting the text string of items - ItemList = dd_text2list(src.items, ";") // Parsing the items text string - uses = ticker.mode.uplink_uses - -//Let's build a menu! - proc/generate_menu() - src.menu_message = "[src.welcome]
      " - src.menu_message += "Tele-Crystals left: [src.uses]
      " - src.menu_message += "
      " - src.menu_message += "Request item:
      " - src.menu_message += "Each item costs a number of tele-crystals as indicated by the number following their name.

      " - - var/cost - var/item - var/name - var/path_obj - var/path_text - var/category_items = 1 //To prevent stupid :P - - for(var/D in ItemList) - var/list/O = stringsplit(D, ":") - if(O.len != 3) //If it is not an actual item, make a break in the menu. - if(O.len == 1) //If there is one item, it's probably a title - src.menu_message += "[O[1]]
      " - category_items = 0 - else //Else, it's a white space. - if(category_items < 1) //If there were no itens in the last category... - src.menu_message += "We apologize, as you could not afford anything from this category.
      " - src.menu_message += "
      " - continue - - path_text = O[1] - cost = text2num(O[2]) - - if(cost>uses) - continue - - path_obj = text2path(path_text) - item = new path_obj() - name = O[3] - del item - - src.menu_message += "[name] ([cost])
      " - category_items++ - -// src.menu_message += "Random Item (??)
      " - src.menu_message += "
      " - return - - Topic(href, href_list) - if (href_list["buy_item"]) -/* if(href_list["buy_item"] == "random") - var/list/randomItems = list() - - //Sorry for all the ifs, but it makes it 1000 times easier for other people/servers to add or remove items from this list - //Add only items the player can afford: - if(uses > 19) - randomItems.Add("/obj/item/weapon/circuitboard/teleporter") //Teleporter Circuit Board (costs 20, for nuke ops) - - if(uses > 9) - randomItems.Add("/obj/item/toy/syndicateballoon")//Syndicate Balloon - randomItems.Add("/obj/item/weapon/storage/syndie_kit/imp_uplink") //Uplink Implanter - randomItems.Add("/obj/item/weapon/storage/box/syndicate") //Syndicate bundle - - //if(uses > 8) //Nothing... yet. - //if(uses > 7) //Nothing... yet. - - if(uses > 6) - randomItems.Add("/obj/item/weapon/aiModule/syndicate") //Hacked AI Upload Module - randomItems.Add("/obj/item/device/radio/beacon/syndicate") //Singularity Beacon - - if(uses > 5) - randomItems.Add("/obj/item/weapon/gun/projectile") //Revolver - - if(uses > 4) - randomItems.Add("/obj/item/weapon/gun/energy/crossbow") //Energy Crossbow - randomItems.Add("/obj/item/device/powersink") //Powersink - - if(uses > 3) - randomItems.Add("/obj/item/weapon/melee/energy/sword") //Energy Sword - randomItems.Add("/obj/item/clothing/mask/gas/voice") //Voice Changer - randomItems.Add("/obj/item/device/chameleon") //Chameleon Projector - - if(uses > 2) - randomItems.Add("/obj/item/weapon/storage/emp_kit") //EMP Grenades - randomItems.Add("/obj/item/weapon/pen/paralysis") //Paralysis Pen - randomItems.Add("/obj/item/weapon/cartridge/syndicate") //Detomatix Cartridge - randomItems.Add("/obj/item/clothing/under/chameleon") //Chameleon Jumpsuit - randomItems.Add("/obj/item/weapon/card/id/syndicate") //Agent ID Card - randomItems.Add("/obj/item/weapon/card/emag") //Cryptographic Sequencer - randomItems.Add("/obj/item/weapon/storage/syndie_kit/space") //Syndicate Space Suit - randomItems.Add("/obj/item/device/encryptionkey/binary") //Binary Translator Key - randomItems.Add("/obj/item/weapon/storage/syndie_kit/imp_freedom") //Freedom Implant - randomItems.Add("/obj/item/clothing/glasses/thermal") //Thermal Imaging Goggles - - if(uses > 1) -/* - var/list/usrItems = usr.get_contents() //Checks to see if the user has a revolver before giving ammo - var/hasRevolver = 0 - for(var/obj/I in usrItems) //Only add revolver ammo if the user has a gun that can shoot it - if(istype(I,/obj/item/weapon/gun/projectile)) - hasRevolver = 1 - - if(hasRevolver) randomItems.Add("/obj/item/ammo_magazine/a357") //Revolver ammo -*/ - randomItems.Add("/obj/item/ammo_magazine/a357") //Revolver ammo - randomItems.Add("/obj/item/clothing/shoes/syndigaloshes") //No-Slip Syndicate Shoes - randomItems.Add("/obj/item/weapon/plastique") //C4 - - if(uses > 0) - randomItems.Add("/obj/item/weapon/soap/syndie") //Syndicate Soap - randomItems.Add("/obj/item/weapon/storage/toolbox/syndicate") //Syndicate Toolbox - - if(!randomItems) - del(randomItems) - return 0 - else - href_list["buy_item"] = pick(randomItems) - - switch(href_list["buy_item"]) //Ok, this gets a little messy, sorry. - if("/obj/item/weapon/circuitboard/teleporter") - uses -= 20 - if("/obj/item/toy/syndicateballoon" , "/obj/item/weapon/storage/syndie_kit/imp_uplink" , "/obj/item/weapon/storage/box/syndicate") - uses -= 10 - if("/obj/item/weapon/aiModule/syndicate" , "/obj/item/device/radio/beacon/syndicate") - uses -= 7 - if("/obj/item/weapon/gun/projectile") - uses -= 6 - if("/obj/item/weapon/gun/energy/crossbow" , "/obj/item/device/powersink") - uses -= 5 - if("/obj/item/weapon/melee/energy/sword" , "/obj/item/clothing/mask/gas/voice" , "/obj/item/device/chameleon") - uses -= 4 - if("/obj/item/weapon/storage/emp_kit" , "/obj/item/weapon/pen/paralysis" , "/obj/item/weapon/cartridge/syndicate" , "/obj/item/clothing/under/chameleon" , \ - "/obj/item/weapon/card/id/syndicate" , "/obj/item/weapon/card/emag" , "/obj/item/weapon/storage/syndie_kit/space" , "/obj/item/device/encryptionkey/binary" , \ - "/obj/item/weapon/storage/syndie_kit/imp_freedom" , "/obj/item/clothing/glasses/thermal") - uses -= 3 - if("/obj/item/ammo_magazine/a357" , "/obj/item/clothing/shoes/syndigaloshes" , "/obj/item/weapon/plastique") - uses -= 2 - if("/obj/item/weapon/soap/syndie" , "/obj/item/weapon/storage/toolbox/syndicate") - uses -= 1 - - del(randomItems) - return 1 -*/ - - - if(text2num(href_list["cost"]) > uses) // Not enough crystals for the item - return 0 - - if(usr:mind && ticker.mode.traitors[usr:mind]) - var/datum/traitorinfo/info = ticker.mode.traitors[usr:mind] - info.spawnlist += href_list["buy_item"] - - uses -= text2num(href_list["cost"]) - - return 1 - - -/* - *PDA uplink - */ - -//Syndicate uplink hidden inside a traitor PDA -//Communicate with traitor through the PDA's note function. - -/obj/item/device/uplink/pda - name = "uplink module" - desc = "An electronic uplink system of unknown origin." - icon = 'icons/obj/module.dmi' - icon_state = "power_mod" - var/obj/item/device/pda/hostpda = null - - var/orignote = null //Restore original notes when locked. - var/active = 0 //Are we currently active? - var/lock_code = "" //The unlocking password. - - proc - unlock() - if ((isnull(src.hostpda)) || (src.active)) - return - - src.orignote = src.hostpda.note - src.active = 1 - src.hostpda.mode = 1 //Switch right to the notes program - - src.generate_menu() - print_to_host(menu_message) - - for (var/mob/M in viewers(1, src.hostpda.loc)) - if (M.client && M.machine == src.hostpda) - src.hostpda.attack_self(M) - - return - - print_to_host(var/text) - if (isnull(hostpda)) - return - hostpda.note = text - - for (var/mob/M in viewers(1, hostpda.loc)) - if (M.client && M.machine == hostpda) - hostpda.attack_self(M) - return - - shutdown_uplink() - if (isnull(src.hostpda)) - return - active = 0 - hostpda.note = orignote - if (hostpda.mode==1) - hostpda.mode = 0 - hostpda.updateDialog() - return - - attack_self(mob/user as mob) - src.generate_menu() - src.hostpda.note = src.menu_message - - - Topic(href, href_list) - if ((isnull(src.hostpda)) || (!src.active)) - return - - if (usr.stat || usr.restrained() || !in_range(src.hostpda, usr)) - return - - if(..() == 1) // We can afford the item - var/path_obj = text2path(href_list["buy_item"]) - var/mob/A = src.hostpda.loc - var/item = new path_obj(get_turf(src.hostpda)) - if(ismob(A) && !(locate(item) in NotInHand)) //&& !istype(item, /obj/spawner)) - if(!A.r_hand) - item:loc = A - A.r_hand = item - item:layer = 20 - else if(!A.l_hand) - item:loc = A - A.l_hand = item - item:layer = 20 - else - item:loc = get_turf(A) - usr.update_clothing() - usr.client.onBought("[item:name]") - /* if(istype(item, /obj/spawner)) // Spawners need to have del called on them to avoid leaving a marker behind - del item*/ - //HEADFINDBACK - src.attack_self(usr) - src.hostpda.attack_self(usr) - return - - -/* - *Portable radio uplink - */ - -//A Syndicate uplink disguised as a portable radio -/obj/item/device/uplink/radio/implanted - New() - ..() - uses = 5 - return - - explode() - var/turf/location = get_turf(src.loc) - if(location) - location.hotspot_expose(700,125) - explosion(location, 0, 0, 2, 4, 1) - - var/obj/item/weapon/implant/uplink/U = src.loc - var/mob/living/A = U.imp_in - var/datum/organ/external/head = A:organs["head"] - head.destroyed = 1 - spawn(2) - head.droplimb() - del(src.master) - del(src) - return - - -/obj/item/device/uplink/radio - name = "ship bounced radio" - icon = 'icons/obj/radio.dmi' - icon_state = "radio" - var/temp = null //Temporary storage area for a message offering the option to destroy the radio - var/selfdestruct = 0 //Set to 1 while the radio is self destructing itself. - var/obj/item/device/radio/origradio = null - flags = FPRINT | TABLEPASS | CONDUCT - slot_flags = SLOT_BELT - w_class = 2.0 - item_state = "radio" - throwforce = 5 - throw_speed = 4 - throw_range = 20 - m_amt = 100 - - attack_self(mob/user as mob) - var/dat - - if (src.selfdestruct) - dat = "Self Destructing..." - else - if (src.temp) - dat = "[src.temp]

      Clear" - else - src.generate_menu() - dat = src.menu_message - if (src.origradio) // Checking because sometimes the radio uplink may be spawned by itself, not as a normal unlockable radio - dat += "Lock
      " - dat += "
      " - dat += "Self-Destruct" - - user << browse(dat, "window=radio") - onclose(user, "radio") - return - - Topic(href, href_list) - if (usr.stat || usr.restrained()) - return - - if (!( istype(usr, /mob/living/carbon/human))) - return 1 - - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)) || istype(src.loc,/obj/item/weapon/implant/uplink))) - usr.machine = src - - if(href_list["buy_item"]) - if(..() == 1) // We can afford the item - var/path_obj = text2path(href_list["buy_item"]) - var/item = new path_obj(get_turf(src.loc)) - var/mob/A = src.loc - if(istype(src.loc,/obj/item/weapon/implant/uplink)) - var/obj/item/weapon/implant/uplink/U = src.loc - A = U.imp_in - if(ismob(A) && !(locate(item) in NotInHand)) //&& !istype(item, /obj/spawner)) - if(!A.r_hand) - item:loc = A - A.r_hand = item - item:layer = 20 - else if(!A.l_hand) - item:loc = A - A.l_hand = item - item:layer = 20 - else - item:loc = get_turf(A) - /* if(istype(item, /obj/spawner)) // Spawners need to have del called on them to avoid leaving a marker behind - del item*/ - usr.client.onBought("[item:name]") - src.attack_self(usr) - return - - else if (href_list["lock"] && src.origradio) - // presto chango, a regular radio again! (reset the freq too...) - usr.machine = null - usr << browse(null, "window=radio") - var/obj/item/device/radio/T = src.origradio - var/obj/item/device/uplink/radio/R = src - R.loc = T - T.loc = usr - // R.layer = initial(R.layer) - R.layer = 0 - if (usr.client) - usr.client.screen -= R - if (usr.r_hand == R) - usr.u_equip(R) - usr.r_hand = T - - else - usr.u_equip(R) - usr.l_hand = T - R.loc = T - T.layer = 20 - T.set_frequency(initial(T.frequency)) - T.attack_self(usr) - return - - else if (href_list["selfdestruct"]) - src.temp = "Self-Destruct" - - else if (href_list["selfdestruct2"]) - src.selfdestruct = 1 - spawn (100) - explode() - return - - else if (href_list["clear_selfdestruct"]) - src.temp = null - - attack_self(usr) -// if (istype(src.loc, /mob)) -// attack_self(src.loc) -// else -// for(var/mob/M in viewers(1, src)) -// if (M.client) -// src.attack_self(M) - return - - proc/explode() - var/turf/location = get_turf(src.loc) - if(location) - location.hotspot_expose(700,125) - explosion(location, 0, 0, 2, 4, 1) - - del(src.master) - del(src) - return - - proc/shutdown_uplink() - if (!src.origradio) - return - var/list/nearby = viewers(1, src) - for(var/mob/M in nearby) - if (M.client && M.machine == src) - M << browse(null, "window=radio") - M.machine = null - - var/obj/item/device/radio/T = src.origradio - var/obj/item/device/uplink/radio/R = src - var/mob/L = src.loc - R.loc = T - T.loc = L - // R.layer = initial(R.layer) - R.layer = 0 - if (istype(L)) - if (L.client) - L.client.screen -= R - if (L.r_hand == R) - L.u_equip(R) - L.r_hand = T - else - L.u_equip(R) - L.l_hand = T - T.layer = 20 - T.set_frequency(initial(T.frequency)) - return \ No newline at end of file diff --git a/code/WorkInProgress/Ported/Bureaucracy/copier.dm b/code/WorkInProgress/Ported/Bureaucracy/copier.dm deleted file mode 100644 index 1374dc55205..00000000000 --- a/code/WorkInProgress/Ported/Bureaucracy/copier.dm +++ /dev/null @@ -1,145 +0,0 @@ -// Contains: copy machine - -/obj/machinery/copier - name = "Copy Machine" - icon = 'icons/obj/bureaucracy.dmi' - icon_state = "copier_o" - density = 1 - anchored = 1 - var/num_copies = 1 // number of copies selected, will be maintained between jobs - var/copying = 0 // are we copying - var/job_num_copies = 0 // number of copies remaining - var/obj/item/weapon/template // the paper OR photo being scanned - var/max_copies = 10 // MAP EDITOR: can set the number of max copies, possibly to 5 or something for public, more for QM, robutist, etc. - -/obj/machinery/copier/attackby(obj/item/weapon/O as obj, mob/user as mob) - if(template) - return - - if (istype(O, /obj/item/weapon/paper) || istype(O, /obj/item/weapon/photo)) - // put it inside - template = O - usr.drop_item() - O.loc = src - update() - updateDialog() - -/obj/machinery/copier/attack_paw(user as mob) - return src.attack_hand(user) - -/obj/machinery/copier/attack_ai(user as mob) - return src.attack_hand(user) - -/obj/machinery/copier/attack_hand(mob/user as mob) - // da UI - var/dat - if(..()) - return - user.machine = src - - if(src.stat) - user << "[name] does not seem to be responding to your button mashing." - return - - dat = "Copy MachineXeno Corp. Copying Machine
      " - - if(copying) - dat += "[job_num_copies] copies remaining.

      " - dat += "Cancel" - else - if(template) - dat += "Open Lid" - else - dat += "No paper to be copied.
      " - dat += "Please place a paper or photograph on top and close the lid.
      " - - - dat += "

      Number of Copies: " - dat += "-" - dat += "-" - dat += " [num_copies] " - dat += "+" - dat += "+
      " - - if(template) - dat += "Copy" - - dat += "
      " - - user << browse(dat, "window=copy_machine") - onclose(user, "copy_machine") - -/obj/machinery/copier/proc/update() - if(template) - icon_state = "copier" - else - icon_state = "copier_o" - -/obj/machinery/copier/Topic(href, href_list) - if(..()) - return - usr.machine = src - - if(href_list["num"]) - num_copies += text2num(href_list["num"]) - if(num_copies < 1) - num_copies = 1 - else if(num_copies > max_copies) - num_copies = max_copies - updateDialog() - if(href_list["open"]) - if(copying) - return - template.loc = src.loc - template = null - updateDialog() - update() - if(href_list["copy"]) - if(copying) - return - job_num_copies = num_copies - spawn(0) - do_copy(usr) - - if(href_list["cancel"]) - job_num_copies = 0 - -/obj/machinery/copier/proc/do_copy(mob/user) - if(!copying && job_num_copies > 0) - copying = 1 - updateDialog() - while(job_num_copies > 0) - if(stat) - copying = 0 - return - - // fx - flick("copier_s", src) - playsound(src, 'sound/items/polaroid1.ogg', 50, 1) - - // dup the file - if(istype(template, /obj/item/weapon/paper)) - // make duplicate paper - var/obj/item/weapon/paper/P = new(src.loc) - P.name = template.name - P.info = template:info - P.stamped = template:stamped - P.icon_state = template.icon_state - P.overlays = null - for(var/overlay in template.overlays) - P.overlays += overlay - else if(istype(template, /obj/item/weapon/photo)) - // make duplicate photo - var/obj/item/weapon/photo/P = new(src.loc) - P.name = template.name - P.desc = template.desc - P.icon = template.icon - P.img = template:img - - sleep(30) - job_num_copies -= 1 - updateDialog() - for(var/mob/O in hearers(src)) - O.show_message("[name] beeps happily.", 2) - copying = 0 - updateDialog() \ No newline at end of file diff --git a/code/WorkInProgress/Ported/Bureaucracy/filing.dm b/code/WorkInProgress/Ported/Bureaucracy/filing.dm deleted file mode 100644 index 9e5a990f55c..00000000000 --- a/code/WorkInProgress/Ported/Bureaucracy/filing.dm +++ /dev/null @@ -1,23 +0,0 @@ -/obj/structure/filingcabinet - name = "Filing Cabinet" - desc = "A large cabinet with drawers." - icon = 'icons/obj/bureaucracy.dmi' - icon_state = "filingcabinet" - density = 1 - anchored = 1 - -/obj/structure/filingcabinet/attackby(obj/item/weapon/paper/P,mob/M) - if(istype(P)) - M << "You put the [P] in the [src]." - M.drop_item() - P.loc = src - else - M << "You can't put a [P] in the [src]!" - -/obj/structure/filingcabinet/attack_hand(mob/user) - if(src.contents.len <= 0) - user << "The [src] is empty." - return - var/obj/item/weapon/paper/P = input(user,"Choose a sheet to take out.","[src]", "Cancel") as null|obj in src.contents - if(!isnull(P) && in_range(src,user)) - P.loc = user.loc \ No newline at end of file diff --git a/code/WorkInProgress/Ported/Spawners/spawner.dm b/code/WorkInProgress/Ported/Spawners/spawner.dm deleted file mode 100644 index 875a05cc68e..00000000000 --- a/code/WorkInProgress/Ported/Spawners/spawner.dm +++ /dev/null @@ -1,208 +0,0 @@ -/obj/spawner - name = "object spawner" - -/obj/spawner/bomb - name = "bomb" - icon = 'icons/mob/screen1.dmi' - icon_state = "x" - var/btype = 0 //0 = radio, 1= prox, 2=time - var/explosive = 1 // 0= firebomb - var/btemp = 500 // bomb temperature (degC) - var/active = 0 - -/obj/spawner/bomb/radio - btype = 0 - -/obj/spawner/bomb/proximity - btype = 1 - -/obj/spawner/bomb/timer - btype = 2 - -/obj/spawner/bomb/timer/syndicate - btemp = 450 - -/obj/spawner/bomb/suicide - btype = 3 - -/obj/spawner/newbomb - // Remember to delete it if you use it for anything else other than uplinks. See the commented line in its New() - Abi - // Going in depth: the reason we do not do a Del() in its New()is because then we cannot access its properties. - // I might be doing this wrong / not knowing of a Byond function. If I'm doing it wrong, let me know please. - name = "bomb" - icon = 'icons/mob/screen1.dmi' - icon_state = "x" - var/btype = 0 // 0=radio, 1=prox, 2=time - var/btemp1 = 1500 - var/btemp2 = 1000 // tank temperatures - -/obj/spawner/newbomb/timer - btype = 2 - -/obj/spawner/newbomb/timer/syndicate - name = "Low-Yield Bomb" - btemp1 = 1500 - btemp2 = 1000 - -/obj/spawner/newbomb/proximity - btype = 1 - -/obj/spawner/newbomb/radio - btype = 0 - -/obj/spawner/bomb/New() - ..() - - switch (src.btype) - // radio - if (0) - var/obj/item/assembly/r_i_ptank/R = new /obj/item/assembly/r_i_ptank(src.loc) - var/obj/item/weapon/tank/plasma/p3 = new /obj/item/weapon/tank/plasma(R) - var/obj/item/device/radio/signaler/p1 = new /obj/item/device/radio/signaler(R) - var/obj/item/device/igniter/p2 = new /obj/item/device/igniter(R) - R.part1 = p1 - R.part2 = p2 - R.part3 = p3 - p1.master = R - p2.master = R - p3.master = R - R.status = explosive - p1.b_stat = 0 - p2.status = 1 - p3.air_contents.temperature = btemp + T0C - - // proximity - if (1) - var/obj/item/assembly/m_i_ptank/R = new /obj/item/assembly/m_i_ptank(src.loc) - var/obj/item/weapon/tank/plasma/p3 = new /obj/item/weapon/tank/plasma(R) - var/obj/item/device/prox_sensor/p1 = new /obj/item/device/prox_sensor(R) - var/obj/item/device/igniter/p2 = new /obj/item/device/igniter(R) - R.part1 = p1 - R.part2 = p2 - R.part3 = p3 - p1.master = R - p2.master = R - p3.master = R - R.status = explosive - - p3.air_contents.temperature = btemp + T0C - p2.status = 1 - - if(src.active) - R.part1.state = 1 - R.part1.icon_state = text("motion[]", 1) - R.c_state(1, src) - - // timer - if (2) - var/obj/item/assembly/t_i_ptank/R = new /obj/item/assembly/t_i_ptank(src.loc) - var/obj/item/weapon/tank/plasma/p3 = new /obj/item/weapon/tank/plasma(R) - var/obj/item/device/timer/p1 = new /obj/item/device/timer(R) - var/obj/item/device/igniter/p2 = new /obj/item/device/igniter(R) - R.part1 = p1 - R.part2 = p2 - R.part3 = p3 - p1.master = R - p2.master = R - p3.master = R - R.status = explosive - - p3.air_contents.temperature = btemp + T0C - p2.status = 1 - //bombvest - if(3) - var/obj/item/clothing/suit/armor/a_i_a_ptank/R = new /obj/item/clothing/suit/armor/a_i_a_ptank(src.loc) - var/obj/item/weapon/tank/plasma/p4 = new /obj/item/weapon/tank/plasma(R) - var/obj/item/device/healthanalyzer/p1 = new /obj/item/device/healthanalyzer(R) - var/obj/item/device/igniter/p2 = new /obj/item/device/igniter(R) - var/obj/item/clothing/suit/armor/vest/p3 = new /obj/item/clothing/suit/armor/vest(R) - R.part1 = p1 - R.part2 = p2 - R.part3 = p3 - R.part4 = p4 - p1.master = R - p2.master = R - p3.master = R - p4.master = R - R.status = explosive - - p4.air_contents.temperature = btemp + T0C - p2.status = 1 - - del(src) - - -/obj/spawner/newbomb/New() - ..() - - switch (src.btype) - // radio - if (0) - - var/obj/item/device/transfer_valve/V = new(src.loc) - var/obj/item/weapon/tank/plasma/PT = new(V) - var/obj/item/weapon/tank/oxygen/OT = new(V) - - var/obj/item/device/radio/signaler/S = new(V) - - V.tank_one = PT - V.tank_two = OT - V.attached_device = S - - S.master = V - PT.master = V - OT.master = V - - S.b_stat = 0 - - PT.air_contents.temperature = btemp1 + T0C - OT.air_contents.temperature = btemp2 + T0C - - V.update_icon() - - // proximity - if (1) - - var/obj/item/device/transfer_valve/V = new(src.loc) - var/obj/item/weapon/tank/plasma/PT = new(V) - var/obj/item/weapon/tank/oxygen/OT = new(V) - - var/obj/item/device/prox_sensor/P = new(V) - - V.tank_one = PT - V.tank_two = OT - V.attached_device = P - - P.master = V - PT.master = V - OT.master = V - - - PT.air_contents.temperature = btemp1 + T0C - OT.air_contents.temperature = btemp2 + T0C - - V.update_icon() - - - // timer - if (2) - var/obj/item/device/transfer_valve/V = new(src.loc) - var/obj/item/weapon/tank/plasma/PT = new(V) - var/obj/item/weapon/tank/oxygen/OT = new(V) - - var/obj/item/device/timer/T = new(V) - - V.tank_one = PT - V.tank_two = OT - V.attached_device = T - - T.master = V - PT.master = V - OT.master = V - T.time = 30 - - PT.air_contents.temperature = btemp1 + T0C - OT.air_contents.temperature = btemp2 + T0C - - V.update_icon() - //del(src) \ No newline at end of file diff --git a/code/WorkInProgress/Ported/sql.dm b/code/WorkInProgress/Ported/sql.dm deleted file mode 100644 index 9e0cad90ad5..00000000000 --- a/code/WorkInProgress/Ported/sql.dm +++ /dev/null @@ -1,71 +0,0 @@ -//This looks to be the traitor win tracker code. -client/proc/add_roundsjoined() - if(!makejson) - return - var/DBConnection/dbcon = new() - - dbcon.Connect("dbi:mysql:[sqldb]:[sqladdress]:[sqlport]","[sqllogin]","[sqlpass]") - if(!dbcon.IsConnected()) return - - var/DBQuery/cquery = dbcon.NewQuery("INSERT INTO `roundsjoined` (`ckey`) VALUES ('[ckey(src.key)]')") - if(!cquery.Execute()) message_admins(cquery.ErrorMsg()) - -client/proc/add_roundssurvived() - if(!makejson) - return - var/DBConnection/dbcon = new() - - dbcon.Connect("dbi:mysql:[sqldb]:[sqladdress]:[sqlport]","[sqllogin]","[sqlpass]") - if(!dbcon.IsConnected()) return - - var/DBQuery/cquery = dbcon.NewQuery("INSERT INTO `roundsurvived` (`ckey`) VALUES ('[ckey(src.key)]')") - if(!cquery.Execute()) message_admins(cquery.ErrorMsg()) - -client/proc/onDeath() - if(!makejson) - return - roundinfo.deaths++ - if(!ismob(mob)) - return - var/area = get_area(mob) - var/attacker - var/tod = time2text(world.realtime) - var/health - var/last - if(ishuman(mob.lastattacker)) - attacker = mob.lastattacker:name - else - attacker = "None" - health = "Oxy:[mob.oxyloss]Brute:[mob.bruteloss]Burn:[mob.fireloss]Toxins:[mob.toxloss]Brain:[mob.brainloss]" - if(mob.attack_log.len >= 1) - last = mob.attack_log[mob.attack_log.len] - else - last = "None" - - var/DBConnection/dbcon = new() - - dbcon.Connect("dbi:mysql:[sqldb]:[sqladdress]:[sqlport]","[sqllogin]","[sqlpass]") - if(!dbcon.IsConnected()) return - - var/DBQuery/cquery = dbcon.NewQuery("INSERT INTO `deathlog` (`ckey`,`location`,`lastattacker`,`ToD`,`health`,`lasthit`) VALUES ('[ckey]',[dbcon.Quote(area)],[dbcon.Quote(attacker)],'[tod]','[health]',[dbcon.Quote(last)])") - if(!cquery.Execute()) message_admins(cquery.ErrorMsg()) - -client/proc/onBought(names) - if(!makejson) return - if(!names) return - var/DBConnection/dbcon = new() - - dbcon.Connect("dbi:mysql:[sqldb]:[sqladdress]:[sqlport]","[sqllogin]","[sqlpass]") - if(!dbcon.IsConnected()) return - - var/DBQuery/cquery = dbcon.NewQuery("INSERT INTO `traitorbuy` (`type`) VALUES ([dbcon.Quote(names)])") - if(!cquery.Execute()) message_admins(cquery.ErrorMsg()) - -datum/roundinfo - var/core = 0 - var/deaths = 0 - var/revies = 0 - var/starttime = 0 - var/endtime = 0 - var/lenght = 0 - var/mode = 0 \ No newline at end of file diff --git a/code/WorkInProgress/Sayu/belt.dm b/code/WorkInProgress/Sayu/belt.dm deleted file mode 100644 index 3544ece08f8..00000000000 --- a/code/WorkInProgress/Sayu/belt.dm +++ /dev/null @@ -1,164 +0,0 @@ -// ------------------------------------- -// Bluespace Belt -// ------------------------------------- - - -/obj/item/weapon/storage/belt/bluespace - name = "Belt of Holding" - desc = "The greatest in pants-supporting technology." - icon_state = "medicalbelt" - item_state = "medical" - storage_slots = 14 - w_class = 4 - max_w_class = 2 - max_combined_w_class = 21 // = 14 * 1.5, not 14 * 2. This is deliberate - origin_tech = "bluespace=4" - can_hold = list() - New() - if(prob(5)) - //Sometimes people choose justice. - //Sometimes justice chooses you. - visible_message("That doesn't look like a normal Toolbelt of Holding...") - new /obj/item/weapon/storage/belt/bluespace/owlman(loc) - spawn(1) - del src - return - ..() - - proc/failcheck(mob/user as mob) - if (prob(src.reliability)) return 1 //No failure - if (prob(src.reliability)) - user << "\red The Bluespace portal resists your attempt to add another item." //light failure - else - user << "\red The Bluespace generator malfunctions!" - for (var/obj/O in src.contents) //it broke, delete what was in it - del(O) - crit_fail = 1 - return 0 - -/obj/item/weapon/storage/belt/bluespace/owlman - name = "Owlman's utility belt" - desc = "Sometimes people choose justice. Sometimes, justice chooses you..." - icon_state = "securitybelt" - item_state = "security" - storage_slots = 14 - max_w_class = 3 - max_combined_w_class = 28 // = 14 * 2 - origin_tech = "bluespace=4;syndicate=2" - allow_quick_empty = 1 - can_hold = list() - New() - ..() - new /obj/item/clothing/mask/gas/owl_mask(src) - new /obj/item/clothing/under/owl(src) - new /obj/item/weapon/grenade/smokebomb(src) - new /obj/item/weapon/grenade/smokebomb(src) - new /obj/item/device/detective_scanner(src) - - - - // As a last resort, the belt can be used as a plastic explosive with a fixed timer (15 seconds). Naturally, you'll lose all your gear... - // Of course, it could be worse. It could spawn a singularity! -/obj/item/weapon/storage/belt/bluespace/owlman/afterattack(atom/target as obj|turf, mob/user as mob, flag) - if (!flag) - return - if (istype(target, /turf/unsimulated) || istype(target, /turf/simulated/shuttle) || istype(target, /obj/item/weapon/storage) || istype(target, /obj/structure/table) || istype(target, /obj/structure/closet)) - return - user << "Planting explosives..." - user.visible_message("[user.name] is fiddling with their toolbelt.") - if(ismob(target)) - user.attack_log += "\[[time_stamp()]\] [user.real_name] tried planting [name] on [target:real_name] ([target:ckey])" - log_attack(" [user.real_name] ([user.ckey]) tried planting [name] on [target:real_name] ([target:ckey])") - user.visible_message("\red [user.name] is trying to strap a belt to [target.name]!") - - - if(do_after(user, 50) && in_range(user, target)) - user.drop_item() - target = target - loc = null - var/location - if (isturf(target)) location = target - if (ismob(target)) - target:attack_log += "\[[time_stamp()]\] Had the [name] planted on them by [user.real_name] ([user.ckey])" - user.visible_message("\red [user.name] finished planting an explosive on [target.name]!") - target.overlays += image('icons/obj/assemblies.dmi', "plastic-explosive2") - user << "You sacrifice your belt for the sake of justice. Timer counting down from 15." - spawn(150) - if(target) - if(ismob(target) || isobj(target)) - location = target.loc // These things can move - explosion(location, -1, -1, 2, 3) - if (istype(target, /turf/simulated/wall)) target:dismantle_wall(1) - else target.ex_act(1) - if (isobj(target)) - if (target) - del(target) - if (src) - del(src) -/obj/item/weapon/storage/belt/bluespace/attack(mob/M as mob, mob/user as mob, def_zone) - return - -/obj/item/weapon/storage/belt/bluespace/admin - name = "Admin's Tool-belt" - desc = "Holds everything for those that run everything." - icon_state = "soulstonebelt" - item_state = "soulstonebelt" - w_class = 10 // permit holding other storage items - storage_slots = 28 - max_w_class = 10 - max_combined_w_class = 280 - can_hold = list() - - New() - ..() - new /obj/item/weapon/crowbar(src) - new /obj/item/weapon/screwdriver(src) - new /obj/item/weapon/weldingtool/hugetank(src) - new /obj/item/weapon/wirecutters(src) - new /obj/item/weapon/wrench(src) - new /obj/item/device/multitool(src) - new /obj/item/stack/cable_coil(src) - - new /obj/item/weapon/handcuffs(src) - new /obj/item/weapon/dnainjector/xraymut(src) - new /obj/item/weapon/dnainjector/firemut(src) - new /obj/item/weapon/dnainjector/telemut(src) - new /obj/item/weapon/dnainjector/hulkmut(src) -// new /obj/item/weapon/spellbook(src) // for smoke effects, door openings, etc -// new /obj/item/weapon/magic/spellbook(src) - -// new/obj/item/weapon/reagent_containers/hypospray/admin(src) - -/obj/item/weapon/storage/belt/bluespace/sandbox - name = "Sandbox Mode Toolbelt" - desc = "Holds whatever, you can spawn your own damn stuff." - w_class = 10 // permit holding other storage items - storage_slots = 28 - max_w_class = 10 - max_combined_w_class = 280 - can_hold = list() - - New() - ..() - new /obj/item/weapon/crowbar(src) - new /obj/item/weapon/screwdriver(src) - new /obj/item/weapon/weldingtool/hugetank(src) - new /obj/item/weapon/wirecutters(src) - new /obj/item/weapon/wrench(src) - new /obj/item/device/multitool(src) - new /obj/item/stack/cable_coil(src) - - new /obj/item/device/analyzer(src) - new /obj/item/device/healthanalyzer(src) - - -//Research for the Bluespace Belt -datum/design/bluespace_belt - name = "Experimental Bluespace Belt" - desc = "An astonishingly complex belt popularized by a rich blue-space technology magnate." - id = "bluespace_belt" - req_tech = list("bluespace" = 4, "materials" = 6) - build_type = PROTOLATHE - materials = list("$gold" = 1500, "$diamond" = 3000, "$uranium" = 1000) - reliability_base = 80 - build_path = "/obj/item/weapon/storage/belt/bluespace" \ No newline at end of file diff --git a/code/WorkInProgress/Sigyn/Department Sec/__README.dm b/code/WorkInProgress/Sigyn/Department Sec/__README.dm deleted file mode 100644 index e6b3f7967fd..00000000000 --- a/code/WorkInProgress/Sigyn/Department Sec/__README.dm +++ /dev/null @@ -1,8 +0,0 @@ -/* - -Hey you! -You only need to untick maps/tgstation.2.0.9.dmm for this if you download the modified map from: -http://tgstation13.googlecode.com/files/tgstation.2.1.0_deptsec.zip - -Everything else can just be ticked on top of the original stuff. -*/ \ No newline at end of file diff --git a/code/WorkInProgress/Sigyn/Department Sec/jobs.dm b/code/WorkInProgress/Sigyn/Department Sec/jobs.dm deleted file mode 100644 index fe3ba1b8b4d..00000000000 --- a/code/WorkInProgress/Sigyn/Department Sec/jobs.dm +++ /dev/null @@ -1,126 +0,0 @@ -var/list/sec_departments = list("engineering", "supply", "medical", "science") - -proc/assign_sec_to_department(var/mob/living/carbon/human/H) - if(sec_departments.len) - var/department = pick(sec_departments) - sec_departments -= department - var/access = null - var/destination = null - switch(department) - if("supply") - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security/cargo(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec/department/supply(H), slot_l_ear) - access = list(access_mailsorting, access_mining) - destination = /area/security/checkpoint/supply - if("engineering") - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security/engine(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec/department/engi(H), slot_l_ear) - access = list(access_construction, access_engine) - destination = /area/security/checkpoint/engineering - if("medical") - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security/med(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec/department/med(H), slot_l_ear) - access = list(access_medical) - destination = /area/security/checkpoint/medical - if("science") - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security/science(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec/department/sci(H), slot_l_ear) - access = list(access_research) - destination = /area/security/checkpoint/science - else - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear) - - - if(destination) - var/teleport = 0 - if(!ticker || ticker.current_state <= GAME_STATE_SETTING_UP) - teleport = 1 - spawn(15) - if(H) - if(teleport) - var/turf/T - var/safety = 0 - while(safety < 25) - T = pick(get_area_turfs(destination)) - if(!H.Move(T)) - safety += 1 - continue - else - break - H << "You have been assigned to [department]!" - if(locate(/obj/item/weapon/card/id, H)) - var/obj/item/weapon/card/id/I = locate(/obj/item/weapon/card/id, H) - if(I) - I.access |= access - - -/datum/job/officer - title = "Security Officer" - flag = OFFICER - department_flag = ENGSEC - faction = "Station" - total_positions = 5 - spawn_positions = 5 - supervisors = "the head of security, and the head of your assigned department (if applicable)" - selection_color = "#ffeeee" - - - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - if(H.backbag == 2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(H), slot_back) - if(H.backbag == 3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_sec(H), slot_back) - assign_sec_to_department(H) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/security(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(H), slot_head) - H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_s_store) - H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H), slot_r_hand) - H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_l_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) - H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack) - var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) - L.imp_in = H - L.implanted = 1 - return 1 - -/obj/item/device/radio/headset/headset_sec/department/New() - if(radio_controller) - initialize() - recalculateChannels() - -/obj/item/device/radio/headset/headset_sec/department/engi - keyslot1 = new /obj/item/device/encryptionkey/headset_sec - keyslot2 = new /obj/item/device/encryptionkey/headset_eng - -/obj/item/device/radio/headset/headset_sec/department/supply - keyslot1 = new /obj/item/device/encryptionkey/headset_sec - keyslot2 = new /obj/item/device/encryptionkey/headset_cargo - -/obj/item/device/radio/headset/headset_sec/department/med - keyslot1 = new /obj/item/device/encryptionkey/headset_sec - keyslot2 = new /obj/item/device/encryptionkey/headset_med - -/obj/item/device/radio/headset/headset_sec/department/sci - keyslot1 = new /obj/item/device/encryptionkey/headset_sec - keyslot2 = new /obj/item/device/encryptionkey/headset_sci - -/obj/item/clothing/under/rank/security/cargo/New() - var/obj/item/clothing/tie/armband/cargo/A = new /obj/item/clothing/tie/armband/cargo - hastie = A - -/obj/item/clothing/under/rank/security/engine/New() - var/obj/item/clothing/tie/armband/engine/A = new /obj/item/clothing/tie/armband/engine - hastie = A - -/obj/item/clothing/under/rank/security/science/New() - var/obj/item/clothing/tie/armband/science/A = new /obj/item/clothing/tie/armband/science - hastie = A - -/obj/item/clothing/under/rank/security/med/New() - var/obj/item/clothing/tie/armband/medgreen/A = new /obj/item/clothing/tie/armband/medgreen - hastie = A \ No newline at end of file diff --git a/code/WorkInProgress/Sigyn/Softcurity/__README.dm b/code/WorkInProgress/Sigyn/Softcurity/__README.dm deleted file mode 100644 index 75c62c277d5..00000000000 --- a/code/WorkInProgress/Sigyn/Softcurity/__README.dm +++ /dev/null @@ -1,10 +0,0 @@ -/* - -Hey you! -You'll need to untick code/game/jobs/access.dm for this to all work correctly! - -Everything else can just be ticked on top of the original stuff. - -You'll also need to download a modified map from http://tgstation13.googlecode.com/files/tgstation.2.0.9_Softcurity.zip. -Make sure to untick the original map! -*/ \ No newline at end of file diff --git a/code/WorkInProgress/Sigyn/Softcurity/access.dm b/code/WorkInProgress/Sigyn/Softcurity/access.dm deleted file mode 100644 index d0dace17bf7..00000000000 --- a/code/WorkInProgress/Sigyn/Softcurity/access.dm +++ /dev/null @@ -1,522 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 - -/var/const/access_security = 1 // Security equipment -/var/const/access_brig = 2 // Brig timers and permabrig -/var/const/access_armory = 3 -/var/const/access_forensics_lockers= 4 -/var/const/access_medical = 5 -/var/const/access_morgue = 6 -/var/const/access_tox = 7 -/var/const/access_tox_storage = 8 -/var/const/access_genetics = 9 -/var/const/access_engine = 10 -/var/const/access_engine_equip= 11 -/var/const/access_maint_tunnels = 12 -/var/const/access_external_airlocks = 13 -/var/const/access_emergency_storage = 14 -/var/const/access_change_ids = 15 -/var/const/access_ai_upload = 16 -/var/const/access_teleporter = 17 -/var/const/access_eva = 18 -/var/const/access_heads = 19 -/var/const/access_captain = 20 -/var/const/access_all_personal_lockers = 21 -/var/const/access_chapel_office = 22 -/var/const/access_tech_storage = 23 -/var/const/access_atmospherics = 24 -/var/const/access_bar = 25 -/var/const/access_janitor = 26 -/var/const/access_crematorium = 27 -/var/const/access_kitchen = 28 -/var/const/access_robotics = 29 -/var/const/access_rd = 30 -/var/const/access_cargo = 31 -/var/const/access_construction = 32 -/var/const/access_chemistry = 33 -/var/const/access_cargo_bot = 34 -/var/const/access_hydroponics = 35 -/var/const/access_manufacturing = 36 -/var/const/access_library = 37 -/var/const/access_lawyer = 38 -/var/const/access_virology = 39 -/var/const/access_cmo = 40 -/var/const/access_qm = 41 -/var/const/access_court = 42 -/var/const/access_clown = 43 -/var/const/access_mime = 44 -/var/const/access_surgery = 45 -/var/const/access_theatre = 46 -/var/const/access_research = 47 -/var/const/access_mining = 48 -/var/const/access_mining_office = 49 //not in use -/var/const/access_mailsorting = 50 -/var/const/access_mint = 51 -/var/const/access_mint_vault = 52 -/var/const/access_heads_vault = 53 -/var/const/access_mining_station = 54 -/var/const/access_xenobiology = 55 -/var/const/access_ce = 56 -/var/const/access_hop = 57 -/var/const/access_hos = 58 -/var/const/access_RC_announce = 59 //Request console announcements -/var/const/access_keycard_auth = 60 //Used for events which require at least two people to confirm them -/var/const/access_tcomsat = 61 // has access to the entire telecomms satellite / machinery -/var/const/access_gateway = 62 -/var/const/access_sec_doors = 63 // Security front doors - - //BEGIN CENTCOM ACCESS - /*Should leave plenty of room if we need to add more access levels. -/var/const/Mostly for admin fun times.*/ -/var/const/access_cent_general = 101//General facilities. -/var/const/access_cent_thunder = 102//Thunderdome. -/var/const/access_cent_specops = 103//Special Ops. -/var/const/access_cent_medical = 104//Medical/Research -/var/const/access_cent_living = 105//Living quarters. -/var/const/access_cent_storage = 106//Generic storage areas. -/var/const/access_cent_teleporter = 107//Teleporter. -/var/const/access_cent_creed = 108//Creed's office. -/var/const/access_cent_captain = 109//Captain's office/ID comp/AI. - - //The Syndicate -/var/const/access_syndicate = 150//General Syndicate Access - - //MONEY -/var/const/access_crate_cash = 200 - -/obj/var/list/req_access = null -/obj/var/req_access_txt = "0" -/obj/var/list/req_one_access = null -/obj/var/req_one_access_txt = "0" - -/obj/New() - ..() - //NOTE: If a room requires more than one access (IE: Morgue + medbay) set the req_acesss_txt to "5;6" if it requires 5 and 6 - if(src.req_access_txt) - var/list/req_access_str = text2list(req_access_txt,";") - if(!req_access) - req_access = list() - for(var/x in req_access_str) - var/n = text2num(x) - if(n) - req_access += n - - if(src.req_one_access_txt) - var/list/req_one_access_str = text2list(req_one_access_txt,";") - if(!req_one_access) - req_one_access = list() - for(var/x in req_one_access_str) - var/n = text2num(x) - if(n) - req_one_access += n - - - -//returns 1 if this mob has sufficient access to use this object -/obj/proc/allowed(mob/M) - //check if it doesn't require any access at all - if(src.check_access(null)) - return 1 - if(istype(M, /mob/living/silicon)) - //AI can do whatever he wants - return 1 - else if(istype(M, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - //if they are holding or wearing a card that has access, that works - if(src.check_access(H.get_active_hand()) || src.check_access(H.wear_id)) - return 1 - else if(istype(M, /mob/living/carbon/monkey) || istype(M, /mob/living/carbon/alien/humanoid)) - var/mob/living/carbon/george = M - //they can only hold things :( - if(george.get_active_hand() && (istype(george.get_active_hand(), /obj/item/weapon/card/id) || istype(george.get_active_hand(), /obj/item/device/pda)) && src.check_access(george.get_active_hand())) - return 1 - return 0 - -/obj/item/proc/GetAccess() - return list() - -/obj/item/proc/GetID() - return null - -/obj/proc/check_access(obj/item/weapon/card/id/I) - - if (istype(I, /obj/item/device/pda)) - var/obj/item/device/pda/pda = I - I = pda.id - - if(!src.req_access && !src.req_one_access) //no requirements - return 1 - if(!istype(src.req_access, /list)) //something's very wrong - return 1 - - var/list/L = src.req_access - if(!L.len && (!src.req_one_access || !src.req_one_access.len)) //no requirements - return 1 - if(!I || !istype(I, /obj/item/weapon/card/id) || !I.access) //not ID or no access - return 0 - for(var/req in src.req_access) - if(!(req in I.access)) //doesn't have this access - return 0 - if(src.req_one_access && src.req_one_access.len) - for(var/req in src.req_one_access) - if(req in I.access) //has an access from the single access list - return 1 - return 0 - return 1 - - -/obj/proc/check_access_list(var/list/L) - if(!src.req_access && !src.req_one_access) return 1 - if(!istype(src.req_access, /list)) return 1 - if(!src.req_access.len && (!src.req_one_access || !src.req_one_access.len)) return 1 - if(!L) return 0 - if(!istype(L, /list)) return 0 - for(var/req in src.req_access) - if(!(req in L)) //doesn't have this access - return 0 - if(src.req_one_access && src.req_one_access.len) - for(var/req in src.req_one_access) - if(req in L) //has an access from the single access list - return 1 - return 0 - return 1 - - -/proc/get_access(job) - switch(job) - if("Geneticist") - return list(access_medical, access_morgue, access_genetics) - if("Station Engineer") - return list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction) - if("Assistant") - if(config.assistant_maint) - return list(access_maint_tunnels) - else - return list() - if("Chaplain") - return list(access_morgue, access_chapel_office, access_crematorium) - if("Detective") - return list(access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_court) - if("Medical Doctor") - return list(access_medical, access_morgue, access_surgery) - if("Botanist") // -- TLE - return list(access_hydroponics, access_morgue) // Removed tox and chem access because STOP PISSING OFF THE CHEMIST GUYS // //Removed medical access because WHAT THE FUCK YOU AREN'T A DOCTOR YOU GROW WHEAT //Given Morgue access because they have a viable means of cloning. - if("Librarian") // -- TLE - return list(access_library) - if("Lawyer") //Muskets 160910 - return list(access_lawyer, access_court, access_sec_doors) - if("Captain") - return get_all_accesses() - if("Crew Supervisor") - return list(access_security, access_sec_doors, access_brig, access_court) - if("Correctional Advisor") - return list(access_security, access_sec_doors, access_brig, access_armory, access_court) - if("Scientist") - return list(access_tox, access_tox_storage, access_research, access_xenobiology) - if("Safety Administrator") - return list(access_medical, access_morgue, access_tox, access_tox_storage, access_chemistry, access_genetics, access_court, - access_teleporter, access_heads, access_tech_storage, access_security, access_sec_doors, access_brig, access_atmospherics, - access_maint_tunnels, access_bar, access_janitor, access_kitchen, access_robotics, access_armory, access_hydroponics, - access_theatre, access_research, access_hos, access_RC_announce, access_forensics_lockers, access_keycard_auth, access_gateway) - if("Head of Personnel") - return list(access_security, access_sec_doors, access_brig, access_court, access_forensics_lockers, - access_tox, access_tox_storage, access_chemistry, access_medical, access_genetics, access_engine, - access_emergency_storage, access_change_ids, access_ai_upload, access_eva, access_heads, - access_all_personal_lockers, access_tech_storage, access_maint_tunnels, access_bar, access_janitor, - access_crematorium, access_kitchen, access_robotics, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer, - access_theatre, access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station, - access_clown, access_mime, access_hop, access_RC_announce, access_keycard_auth, access_gateway) - if("Atmospheric Technician") - return list(access_atmospherics, access_maint_tunnels, access_emergency_storage, access_construction) - if("Bartender") - return list(access_bar) - if("Chemist") - return list(access_medical, access_chemistry) - if("Janitor") - return list(access_janitor, access_maint_tunnels) - if("Clown") - return list(access_clown, access_theatre) - if("Mime") - return list(access_mime, access_theatre) - if("Chef") - return list(access_kitchen, access_morgue) - if("Roboticist") - return list(access_robotics, access_tech_storage, access_morgue) //As a job that handles so many corpses, it makes sense for them to have morgue access. - if("Cargo Technician") - return list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting) - if("Shaft Miner") - return list(access_mining, access_mint, access_mining_station) - if("Quartermaster") - return list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station) - if("Chief Engineer") - return list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, - access_teleporter, access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva, - access_heads, access_ai_upload, access_construction, access_robotics, - access_mint, access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, access_sec_doors) - if("Research Director") - return list(access_rd, access_heads, access_tox, access_genetics, - access_tox_storage, access_teleporter, - access_research, access_robotics, access_xenobiology, - access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_sec_doors) - if("Virologist") - return list(access_medical, access_virology) - if("Chief Medical Officer") - return list(access_medical, access_morgue, access_genetics, access_heads, - access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce, - access_keycard_auth, access_sec_doors) - else - return list() - -/proc/get_centcom_access(job) - switch(job) - if("VIP Guest") - return list(access_cent_general) - if("Custodian") - return list(access_cent_general, access_cent_living, access_cent_storage) - if("Thunderdome Overseer") - return list(access_cent_general, access_cent_thunder) - if("Intel Officer") - return list(access_cent_general, access_cent_living) - if("Medical Officer") - return list(access_cent_general, access_cent_living, access_cent_medical) - if("Death Commando") - return list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage) - if("Research Officer") - return list(access_cent_general, access_cent_specops, access_cent_medical, access_cent_teleporter, access_cent_storage) - if("BlackOps Commander") - return list(access_cent_general, access_cent_thunder, access_cent_specops, access_cent_living, access_cent_storage, access_cent_creed) - if("Supreme Commander") - return get_all_centcom_access() - -/proc/get_all_accesses() - return list(access_security, access_sec_doors, access_brig, access_armory, access_forensics_lockers, access_court, - access_medical, access_genetics, access_morgue, access_rd, - access_tox, access_tox_storage, access_chemistry, access_engine, access_engine_equip, access_maint_tunnels, - access_external_airlocks, access_emergency_storage, access_change_ids, access_ai_upload, - access_teleporter, access_eva, access_heads, access_captain, access_all_personal_lockers, - access_tech_storage, access_chapel_office, access_atmospherics, access_kitchen, - access_bar, access_janitor, access_crematorium, access_robotics, access_cargo, access_cargo_bot, access_construction, - access_hydroponics, access_library, access_manufacturing, access_lawyer, access_virology, access_cmo, access_qm, access_clown, access_mime, access_surgery, - access_theatre, access_research, access_mining, access_mailsorting, access_mint_vault, access_mint, - access_heads_vault, access_mining_station, access_xenobiology, access_ce, access_hop, access_hos, access_RC_announce, - access_keycard_auth, access_tcomsat, access_gateway) - -/proc/get_all_centcom_access() - return list(access_cent_general, access_cent_thunder, access_cent_specops, access_cent_medical, access_cent_living, access_cent_storage, access_cent_teleporter, access_cent_creed, access_cent_captain) - -/proc/get_all_syndicate_access() - return list(access_syndicate) - -/proc/get_region_accesses(var/code) - switch(code) - if(0) - return get_all_accesses() - if(1) //security - return list(access_sec_doors, access_security, access_brig, access_armory, access_forensics_lockers, access_court, access_hos) - if(2) //medbay - return list(access_medical, access_genetics, access_morgue, access_chemistry, access_virology, access_surgery, access_cmo) - if(3) //research - return list(access_research, access_tox, access_tox_storage, access_xenobiology, access_rd) - if(4) //engineering and maintenance - return list(access_maint_tunnels, access_engine, access_engine_equip, access_external_airlocks, access_tech_storage, access_atmospherics, access_construction, access_robotics, access_ce) - if(5) //command - return list(access_heads, access_change_ids, access_ai_upload, access_teleporter, access_eva, access_all_personal_lockers, access_heads_vault, access_RC_announce, access_keycard_auth, access_tcomsat, access_gateway, access_hop, access_captain) - if(6) //station general - return list(access_kitchen,access_bar, access_hydroponics, access_janitor, access_chapel_office, access_crematorium, access_library, access_theatre, access_lawyer, access_clown, access_mime) - if(7) //supply - return list(access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_mining, access_mining_station) - -/proc/get_region_accesses_name(var/code) - switch(code) - if(0) - return "All" - if(1) //security - return "Security" - if(2) //medbay - return "Medbay" - if(3) //research - return "Research" - if(4) //engineering and maintenance - return "Engineering" - if(5) //command - return "Command" - if(6) //station general - return "Station General" - if(7) //supply - return "Supply" - - -/proc/get_access_desc(A) - switch(A) - if(access_cargo) - return "Cargo Bay" - if(access_cargo_bot) - return "Cargo Bot Delivery" - if(access_security) - return "Security" - if(access_brig) - return "Holding Cells" - if(access_court) - return "Courtroom" - if(access_forensics_lockers) - return "Detective's Office" - if(access_medical) - return "Medical" - if(access_genetics) - return "Genetics Lab" - if(access_morgue) - return "Morgue" - if(access_tox) - return "Research Lab" - if(access_tox_storage) - return "Toxins Storage" - if(access_chemistry) - return "Chemistry Lab" - if(access_rd) - return "RD Private" - if(access_bar) - return "Bar" - if(access_janitor) - return "Custodial Closet" - if(access_engine) - return "Engineering" - if(access_engine_equip) - return "APCs" - if(access_maint_tunnels) - return "Maintenance" - if(access_external_airlocks) - return "External Airlocks" - if(access_emergency_storage) - return "Emergency Storage" - if(access_change_ids) - return "ID Computer" - if(access_ai_upload) - return "AI Upload" - if(access_teleporter) - return "Teleporter" - if(access_eva) - return "EVA" - if(access_heads) - return "Bridge" - if(access_captain) - return "Captain Private" - if(access_all_personal_lockers) - return "Personal Lockers" - if(access_chapel_office) - return "Chapel Office" - if(access_tech_storage) - return "Technical Storage" - if(access_atmospherics) - return "Atmospherics" - if(access_crematorium) - return "Crematorium" - if(access_armory) - return "Armory" - if(access_construction) - return "Construction Areas" - if(access_kitchen) - return "Kitchen" - if(access_hydroponics) - return "Hydroponics" - if(access_library) - return "Library" - if(access_lawyer) - return "Law Office" - if(access_robotics) - return "Robotics" - if(access_virology) - return "Virology" - if(access_cmo) - return "CMO Private" - if(access_qm) - return "Quartermaster's Office" - if(access_clown) - return "HONK! Access" - if(access_mime) - return "Silent Access" - if(access_surgery) - return "Surgery" - if(access_theatre) - return "Theatre" - if(access_manufacturing) - return "Manufacturing" - if(access_research) - return "Science" - if(access_mining) - return "Mining" - if(access_mining_office) - return "Mining Office" - if(access_mailsorting) - return "Delivery Office" - if(access_mint) - return "Mint" - if(access_mint_vault) - return "Mint Vault" - if(access_heads_vault) - return "Main Vault" - if(access_mining_station) - return "Mining Station EVA" - if(access_xenobiology) - return "Xenobiology Lab" - if(access_hop) - return "HoP Private" - if(access_hos) - return "HoS Private" - if(access_ce) - return "CE Private" - if(access_RC_announce) - return "RC Announcements" - if(access_keycard_auth) - return "Keycode Auth. Device" - if(access_tcomsat) - return "Telecommunications" - if(access_gateway) - return "Gateway" - if(access_sec_doors) - return "Brig" - -/proc/get_centcom_access_desc(A) - switch(A) - if(access_cent_general) - return "Code Grey" - if(access_cent_thunder) - return "Code Yellow" - if(access_cent_storage) - return "Code Orange" - if(access_cent_living) - return "Code Green" - if(access_cent_medical) - return "Code White" - if(access_cent_teleporter) - return "Code Blue" - if(access_cent_specops) - return "Code Black" - if(access_cent_creed) - return "Code Silver" - if(access_cent_captain) - return "Code Gold" - -/proc/get_all_jobs() - return list("Assistant", "Captain", "Head of Personnel", "Bartender", "Chef", "Botanist", "Quartermaster", "Cargo Technician", - "Shaft Miner", "Clown", "Mime", "Janitor", "Librarian", "Lawyer", "Chaplain", "Chief Engineer", "Station Engineer", - "Atmospheric Technician", "Roboticist", "Chief Medical Officer", "Medical Doctor", "Chemist", "Geneticist", "Virologist", - "Research Director", "Scientist", "Head of Security", "Warden", "Detective", "Security Officer") - -/proc/get_all_centcom_jobs() - return list("VIP Guest","Custodian","Thunderdome Overseer","Intel Officer","Medical Officer","Death Commando","Research Officer","BlackOps Commander","Supreme Commander") - -/obj/proc/GetJobName() - if (!istype(src, /obj/item/device/pda) && !istype(src,/obj/item/weapon/card/id)) - return - - var/jobName - - if(istype(src, /obj/item/device/pda)) - if(src:id) - jobName = src:id:assignment - if(istype(src, /obj/item/weapon/card/id)) - jobName = src:assignment - - if(jobName in get_all_jobs()) - return jobName - else - return "Unknown" diff --git a/code/WorkInProgress/Sigyn/Softcurity/clothing.dm b/code/WorkInProgress/Sigyn/Softcurity/clothing.dm deleted file mode 100644 index 057c10cb575..00000000000 --- a/code/WorkInProgress/Sigyn/Softcurity/clothing.dm +++ /dev/null @@ -1,33 +0,0 @@ -/obj/item/clothing/under/rank/administrator - name = "safety administrator's jumpsuit" - desc = "It's a jumpsuit worn by those few with the dedication to achieve the position of \"Safety Administrator\"." - icon_state = "hosblueclothes" - item_state = "ba_suit" - color = "hosblueclothes" - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS | ONESIZEFITSALL - -/obj/item/clothing/under/rank/advisor - name = "correctional advisor's jumpsuit" - desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for more robust protection. It has the words \"Correctional Advisor\" written on the shoulders." - icon_state = "wardenblueclothes" - item_state = "ba_suit" - color = "wardenblueclothes" - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS | ONESIZEFITSALL - -/obj/item/clothing/under/rank/supervisor - name = "crew supervisor's jumpsuit" - desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for robust protection." - icon_state = "officerblueclothes" - item_state = "ba_suit" - color = "officerblueclothes" - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS | ONESIZEFITSALL - -/obj/item/clothing/shoes/boots - name = "boots" - desc = "Nanotrasen-issue hard-toe safety boots." - icon_state = "secshoes" - item_state = "secshoes" - color = "hosred" \ No newline at end of file diff --git a/code/WorkInProgress/Sigyn/Softcurity/jobs.dm b/code/WorkInProgress/Sigyn/Softcurity/jobs.dm deleted file mode 100644 index e2fad664381..00000000000 --- a/code/WorkInProgress/Sigyn/Softcurity/jobs.dm +++ /dev/null @@ -1,152 +0,0 @@ -/datum/job/hos - title = "Safety Administrator" - flag = HOS - department_flag = ENGSEC - faction = "Station" - total_positions = 1 - spawn_positions = 1 - supervisors = "the captain" - selection_color = "#ffdddd" - idtype = /obj/item/weapon/card/id/silver - req_admin_notify = 1 - - - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_sec(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/hos(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/administrator(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hos(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/taser(H), slot_s_store) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) - H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack) - var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) - L.imp_in = H - L.implanted = 1 - return 1 - - - -/datum/job/warden - title = "Correctional Advisor" - flag = WARDEN - department_flag = ENGSEC - faction = "Station" - total_positions = 1 - spawn_positions = 1 - supervisors = "the safety administrator" - selection_color = "#ffeeee" - - - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_sec(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/advisor(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/warden(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(H), slot_glasses) - H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) - H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack) - var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) - L.imp_in = H - L.implanted = 1 - return 1 - - - -/datum/job/detective - title = "Detective" - flag = DETECTIVE - department_flag = ENGSEC - faction = "Station" - total_positions = 1 - spawn_positions = 1 - supervisors = "the safety administrator" - selection_color = "#ffeeee" - - - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/under/det(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/detective(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/clothing/head/det_hat(H), slot_head) - var/obj/item/clothing/mask/cigarette/CIG = new /obj/item/clothing/mask/cigarette(H) - CIG.light("") - H.equip_to_slot_or_del(CIG, slot_wear_mask) - H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/det_suit(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/weapon/lighter/zippo(H), slot_l_store) - - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/evidence(H), slot_in_backpack) - H.equip_to_slot_or_del(new /obj/item/device/detective_scanner(H), slot_in_backpack) - - var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) - L.imp_in = H - L.implanted = 1 - return 1 - - - -/datum/job/officer - title = "Crew Supervisor" - flag = OFFICER - department_flag = ENGSEC - faction = "Station" - total_positions = 5 - spawn_positions = 5 - supervisors = "the safety administrator" - selection_color = "#ffeeee" - - - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_sec(H), slot_l_ear) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_sec(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/supervisor(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/security(H), slot_belt) - H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_r_store) - H.equip_to_slot_or_del(new /obj/item/device/flash(H), slot_l_store) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) - H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack) - var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H) - L.imp_in = H - L.implanted = 1 - return 1 - -/datum/job/hop - title = "Head of Personnel" - flag = HOP - department_flag = CIVILIAN - faction = "Station" - total_positions = 1 - spawn_positions = 1 - supervisors = "the captain" - selection_color = "#ddddff" - idtype = /obj/item/weapon/card/id/silver - req_admin_notify = 1 - - - equip(var/mob/living/carbon/human/H) - if(!H) return 0 - H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/hop(H), slot_l_ear) - if(H.backbag == 2) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(H), slot_back) - if(H.backbag == 3) H.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel_norm(H), slot_back) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack) - H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_personnel(H), slot_w_uniform) - H.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/device/pda/heads/hop(H), slot_belt) - if(H.backbag == 1) - H.equip_to_slot_or_del(new /obj/item/weapon/storage/id_kit(H), slot_r_hand) - else - H.equip_to_slot_or_del(new /obj/item/weapon/storage/id_kit(H.back), slot_in_backpack) - return 1 diff --git a/code/WorkInProgress/Sigyn/Softcurity/secure_closet.dm b/code/WorkInProgress/Sigyn/Softcurity/secure_closet.dm deleted file mode 100644 index 88f06f98e7c..00000000000 --- a/code/WorkInProgress/Sigyn/Softcurity/secure_closet.dm +++ /dev/null @@ -1,235 +0,0 @@ -/obj/structure/closet/secure_closet/captains - name = "Captain's Locker" - req_access = list(access_captain) - icon_state = "capsecure1" - icon_closed = "capsecure" - icon_locked = "capsecure1" - icon_opened = "capsecureopen" - icon_broken = "capsecurebroken" - icon_off = "capsecureoff" - - New() - sleep(2) - if(prob(50)) - new /obj/item/weapon/storage/backpack/captain(src) - else - new /obj/item/weapon/storage/backpack/satchel_cap(src) - new /obj/item/clothing/suit/captunic(src) - new /obj/item/clothing/head/helmet/cap(src) - new /obj/item/clothing/under/rank/captain(src) - new /obj/item/clothing/suit/armor/vest(src) - new /obj/item/weapon/cartridge/captain(src) - new /obj/item/clothing/head/helmet/swat(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/device/radio/headset/heads/captain(src) - new /obj/item/weapon/reagent_containers/food/drinks/flask(src) - new /obj/item/clothing/gloves/captain(src) - new /obj/item/weapon/gun/energy/gun(src) - return - - - -/obj/structure/closet/secure_closet/hop - name = "Head of Personnel's Locker" - req_access = list(access_hop) - icon_state = "hopsecure1" - icon_closed = "hopsecure" - icon_locked = "hopsecure1" - icon_opened = "hopsecureopen" - icon_broken = "hopsecurebroken" - icon_off = "hopsecureoff" - - New() - sleep(2) - new /obj/item/clothing/under/rank/head_of_personnel(src) - new /obj/item/clothing/suit/armor/vest(src) - new /obj/item/clothing/head/helmet(src) - new /obj/item/weapon/cartridge/hop(src) - new /obj/item/device/radio/headset/heads/hop(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/weapon/storage/id_kit(src) - new /obj/item/weapon/storage/id_kit( src ) - new /obj/item/device/flash(src) - new /obj/item/clothing/glasses/sunglasses(src) - return - - - -/obj/structure/closet/secure_closet/hos - name = "Safety Administrator's Locker" - req_access = list(access_hos) - icon_state = "hossecure1" - icon_closed = "hossecure" - icon_locked = "hossecure1" - icon_opened = "hossecureopen" - icon_broken = "hossecurebroken" - icon_off = "hossecureoff" - - New() - sleep(2) - new /obj/item/weapon/storage/backpack/satchel_sec(src) - new /obj/item/weapon/cartridge/hos(src) - new /obj/item/device/radio/headset/heads/hos(src) - new /obj/item/weapon/storage/lockbox/loyalty(src) - new /obj/item/weapon/storage/flashbang_kit(src) - new /obj/item/weapon/storage/belt/security(src) - new /obj/item/device/flash(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/weapon/gun/energy/taser(src) - new /obj/item/weapon/reagent_containers/spray/pepper(src) - return - - - -/obj/structure/closet/secure_closet/warden - name = "Correctional Advisor's Locker" - req_access = list(access_armory) - icon_state = "wardensecure1" - icon_closed = "wardensecure" - icon_locked = "wardensecure1" - icon_opened = "wardensecureopen" - icon_broken = "wardensecurebroken" - icon_off = "wardensecureoff" - - - New() - sleep(2) - new /obj/item/weapon/storage/backpack/satchel_sec(src) - new /obj/item/clothing/under/rank/advisor(src) - new /obj/item/device/radio/headset/headset_sec(src) - new /obj/item/clothing/glasses/sunglasses(src) - new /obj/item/weapon/storage/flashbang_kit(src) - new /obj/item/weapon/storage/belt/security(src) - new /obj/item/weapon/reagent_containers/spray/pepper(src) - new /obj/item/weapon/reagent_containers/spray/pepper(src) - new /obj/item/weapon/melee/baton(src) - return - - - -/obj/structure/closet/secure_closet/security - name = "Crew Supervisor's Locker" - req_access = list(access_security) - icon_state = "sec1" - icon_closed = "sec" - icon_locked = "sec1" - icon_opened = "secopen" - icon_broken = "secbroken" - icon_off = "secoff" - - New() - sleep(2) - new /obj/item/weapon/storage/backpack/satchel_sec(src) - new /obj/item/device/radio/headset/headset_sec(src) - new /obj/item/weapon/storage/belt/security(src) - new /obj/item/device/flash(src) - new /obj/item/weapon/reagent_containers/spray/pepper(src) - new /obj/item/weapon/reagent_containers/spray/pepper(src) - new /obj/item/clothing/glasses/sunglasses(src) - return - - - -/obj/structure/closet/secure_closet/detective - name = "Detective's Cabinet" - req_access = list(access_forensics_lockers) - icon_state = "cabinetdetective_locked" - icon_closed = "cabinetdetective" - icon_locked = "cabinetdetective_locked" - icon_opened = "cabinetdetective_open" - icon_broken = "cabinetdetective_broken" - icon_off = "cabinetdetective_broken" - - New() - sleep(2) - new /obj/item/clothing/under/det(src) - new /obj/item/clothing/suit/armor/det_suit(src) - new /obj/item/clothing/suit/det_suit(src) - new /obj/item/clothing/gloves/black(src) - new /obj/item/clothing/head/det_hat(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/device/radio/headset/headset_sec(src) - new /obj/item/weapon/cartridge/detective(src) - new /obj/item/weapon/clipboard(src) - new /obj/item/device/detective_scanner(src) - new /obj/item/weapon/storage/box/evidence(src) - return - -/obj/structure/closet/secure_closet/detective/update_icon() - if(broken) - icon_state = icon_broken - else - if(!opened) - if(locked) - icon_state = icon_locked - else - icon_state = icon_closed - else - icon_state = icon_opened - -/obj/structure/closet/secure_closet/injection - name = "Lethal Injections" - req_access = list(access_hos) - - - New() - sleep(2) - new /obj/item/weapon/reagent_containers/ld50_syringe/choral(src) - new /obj/item/weapon/reagent_containers/ld50_syringe/choral(src) - return - - - -/obj/structure/closet/secure_closet/brig - name = "Brig Locker" - req_access = list(access_brig) - anchored = 1 - - New() - new /obj/item/clothing/under/color/orange( src ) - new /obj/item/clothing/shoes/orange( src ) - return - - - -/obj/structure/closet/secure_closet/courtroom - name = "Courtroom Locker" - req_access = list(access_court) - - New() - sleep(2) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/weapon/paper/Court (src) - new /obj/item/weapon/paper/Court (src) - new /obj/item/weapon/paper/Court (src) - new /obj/item/weapon/pen (src) - new /obj/item/clothing/suit/judgerobe (src) - new /obj/item/clothing/head/powdered_wig (src) - new /obj/item/weapon/storage/briefcase(src) - return - -/obj/structure/closet/secure_closet/wall - name = "wall locker" - req_access = list(access_security) - icon_state = "wall-locker1" - density = 1 - icon_closed = "wall-locker" - icon_locked = "wall-locker1" - icon_opened = "wall-lockeropen" - icon_broken = "wall-lockerbroken" - icon_off = "wall-lockeroff" - - //too small to put a man in - large = 0 - -/obj/structure/closet/secure_closet/wall/update_icon() - if(broken) - icon_state = icon_broken - else - if(!opened) - if(locked) - icon_state = icon_locked - else - icon_state = icon_closed - else - icon_state = icon_opened diff --git a/code/WorkInProgress/Sigyn/Softcurity/wardrobe.dm b/code/WorkInProgress/Sigyn/Softcurity/wardrobe.dm deleted file mode 100644 index 452670091f5..00000000000 --- a/code/WorkInProgress/Sigyn/Softcurity/wardrobe.dm +++ /dev/null @@ -1,311 +0,0 @@ -/obj/structure/closet/wardrobe - name = "wardrobe" - desc = "It's a storage unit for standard-issue Nanotrasen attire." - icon_state = "blue" - icon_closed = "blue" - -/obj/structure/closet/wardrobe/New() - new /obj/item/clothing/under/color/blue(src) - new /obj/item/clothing/under/color/blue(src) - new /obj/item/clothing/under/color/blue(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/shoes/brown(src) - return - - -/obj/structure/closet/wardrobe/red - name = "security wardrobe" - icon_state = "red" - icon_closed = "red" - -/obj/structure/closet/wardrobe/red/New() - new /obj/item/clothing/under/rank/supervisor(src) - new /obj/item/clothing/under/rank/supervisor(src) - new /obj/item/clothing/under/rank/supervisor(src) - new /obj/item/clothing/shoes/boots(src) - new /obj/item/clothing/shoes/boots(src) - new /obj/item/clothing/shoes/boots(src) - new /obj/item/clothing/head/soft/grey(src) - new /obj/item/clothing/head/soft/grey(src) - new /obj/item/clothing/head/soft/grey(src) - return - - -/obj/structure/closet/wardrobe/pink - name = "pink wardrobe" - icon_state = "pink" - icon_closed = "pink" - -/obj/structure/closet/wardrobe/pink/New() - new /obj/item/clothing/under/color/pink(src) - new /obj/item/clothing/under/color/pink(src) - new /obj/item/clothing/under/color/pink(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/shoes/brown(src) - return - -/obj/structure/closet/wardrobe/black - name = "black wardrobe" - icon_state = "black" - icon_closed = "black" - -/obj/structure/closet/wardrobe/black/New() - new /obj/item/clothing/under/color/black(src) - new /obj/item/clothing/under/color/black(src) - new /obj/item/clothing/under/color/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/head/that(src) - new /obj/item/clothing/head/that(src) - new /obj/item/clothing/head/that(src) - return - - -/obj/structure/closet/wardrobe/chaplain_black - name = "chapel wardrobe" - desc = "It's a storage unit for Nanotrasen-approved religious attire." - icon_state = "black" - icon_closed = "black" - -/obj/structure/closet/wardrobe/chaplain_black/New() - new /obj/item/clothing/under/rank/chaplain(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/suit/nun(src) - new /obj/item/clothing/head/nun_hood(src) - new /obj/item/clothing/suit/chaplain_hoodie(src) - new /obj/item/clothing/head/chaplain_hood(src) - new /obj/item/clothing/suit/holidaypriest(src) - new /obj/item/weapon/storage/backpack/cultpack (src) - new /obj/item/weapon/storage/fancy/candle_box(src) - new /obj/item/weapon/storage/fancy/candle_box(src) - return - - -/obj/structure/closet/wardrobe/green - name = "green wardrobe" - icon_state = "green" - icon_closed = "green" - -/obj/structure/closet/wardrobe/green/New() - new /obj/item/clothing/under/color/green(src) - new /obj/item/clothing/under/color/green(src) - new /obj/item/clothing/under/color/green(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - return - - -/obj/structure/closet/wardrobe/orange - name = "prison wardrobe" - desc = "It's a storage unit for Nanotrasen-regulation prisoner attire." - icon_state = "orange" - icon_closed = "orange" - -/obj/structure/closet/wardrobe/orange/New() - new /obj/item/clothing/under/color/orange(src) - new /obj/item/clothing/under/color/orange(src) - new /obj/item/clothing/under/color/orange(src) - new /obj/item/clothing/shoes/orange(src) - new /obj/item/clothing/shoes/orange(src) - new /obj/item/clothing/shoes/orange(src) - return - - -/obj/structure/closet/wardrobe/yellow - name = "yellow wardrobe" - icon_state = "wardrobe-y" - icon_closed = "wardrobe-y" - -/obj/structure/closet/wardrobe/yellow/New() - new /obj/item/clothing/under/color/yellow(src) - new /obj/item/clothing/under/color/yellow(src) - new /obj/item/clothing/under/color/yellow(src) - new /obj/item/clothing/shoes/orange(src) - new /obj/item/clothing/shoes/orange(src) - new /obj/item/clothing/shoes/orange(src) - return - - -/obj/structure/closet/wardrobe/atmospherics_yellow - name = "atmospherics wardrobe" - icon_state = "yellow" - icon_closed = "yellow" - -/obj/structure/closet/wardrobe/atmospherics_yellow/New() - new /obj/item/clothing/under/rank/atmospheric_technician(src) - new /obj/item/clothing/under/rank/atmospheric_technician(src) - new /obj/item/clothing/under/rank/atmospheric_technician(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - return - - - -/obj/structure/closet/wardrobe/engineering_yellow - name = "engineering wardrobe" - icon_state = "yellow" - icon_closed = "yellow" - -/obj/structure/closet/wardrobe/engineering_yellow/New() - new /obj/item/clothing/under/rank/engineer(src) - new /obj/item/clothing/under/rank/engineer(src) - new /obj/item/clothing/under/rank/engineer(src) - new /obj/item/clothing/shoes/orange(src) - new /obj/item/clothing/shoes/orange(src) - new /obj/item/clothing/shoes/orange(src) - return - - -/obj/structure/closet/wardrobe/white - name = "white wardrobe" - icon_state = "white" - icon_closed = "white" - -/obj/structure/closet/wardrobe/white/New() - new /obj/item/clothing/under/color/white(src) - new /obj/item/clothing/under/color/white(src) - new /obj/item/clothing/under/color/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - return - - -/obj/structure/closet/wardrobe/pjs - name = "Pajama wardrobe" - icon_state = "white" - icon_closed = "white" - -/obj/structure/closet/wardrobe/pjs/New() - new /obj/item/clothing/under/pj/red(src) - new /obj/item/clothing/under/pj/red(src) - new /obj/item/clothing/under/pj/blue(src) - new /obj/item/clothing/under/pj/blue(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - return - - -/obj/structure/closet/wardrobe/toxins_white - name = "toxins wardrobe" - icon_state = "white" - icon_closed = "white" - -/obj/structure/closet/wardrobe/toxins_white/New() - new /obj/item/clothing/under/rank/scientist(src) - new /obj/item/clothing/under/rank/scientist(src) - new /obj/item/clothing/under/rank/scientist(src) - new /obj/item/clothing/suit/labcoat(src) - new /obj/item/clothing/suit/labcoat(src) - new /obj/item/clothing/suit/labcoat(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - return - - -/obj/structure/closet/wardrobe/robotics_black - name = "robotics wardrobe" - icon_state = "black" - icon_closed = "black" - -/obj/structure/closet/wardrobe/robotics_black/New() - new /obj/item/clothing/under/rank/roboticist(src) - new /obj/item/clothing/under/rank/roboticist(src) - new /obj/item/clothing/suit/labcoat(src) - new /obj/item/clothing/suit/labcoat(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/gloves/black(src) - new /obj/item/clothing/gloves/black(src) - return - - -/obj/structure/closet/wardrobe/chemistry_white - name = "chemistry wardrobe" - icon_state = "white" - icon_closed = "white" - -/obj/structure/closet/wardrobe/chemistry_white/New() - new /obj/item/clothing/under/rank/chemist(src) - new /obj/item/clothing/under/rank/chemist(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/suit/labcoat/chemist(src) - new /obj/item/clothing/suit/labcoat/chemist(src) - return - - -/obj/structure/closet/wardrobe/genetics_white - name = "genetics wardrobe" - icon_state = "white" - icon_closed = "white" - -/obj/structure/closet/wardrobe/genetics_white/New() - new /obj/item/clothing/under/rank/geneticist(src) - new /obj/item/clothing/under/rank/geneticist(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/suit/labcoat/genetics(src) - new /obj/item/clothing/suit/labcoat/genetics(src) - return - - -/obj/structure/closet/wardrobe/virology_white - name = "virology wardrobe" - icon_state = "white" - icon_closed = "white" - -/obj/structure/closet/wardrobe/virology_white/New() - new /obj/item/clothing/under/rank/virologist(src) - new /obj/item/clothing/under/rank/virologist(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/suit/labcoat/virologist(src) - new /obj/item/clothing/suit/labcoat/virologist(src) - new /obj/item/clothing/mask/surgical(src) - new /obj/item/clothing/mask/surgical(src) - return - - -/obj/structure/closet/wardrobe/grey - name = "grey wardrobe" - icon_state = "grey" - icon_closed = "grey" - -/obj/structure/closet/wardrobe/grey/New() - new /obj/item/clothing/under/color/grey(src) - new /obj/item/clothing/under/color/grey(src) - new /obj/item/clothing/under/color/grey(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/head/soft/grey(src) - new /obj/item/clothing/head/soft/grey(src) - new /obj/item/clothing/head/soft/grey(src) - return - - -/obj/structure/closet/wardrobe/mixed - name = "mixed wardrobe" - icon_state = "mixed" - icon_closed = "mixed" - -/obj/structure/closet/wardrobe/mixed/New() - new /obj/item/clothing/under/color/white(src) - new /obj/item/clothing/under/color/blue(src) - new /obj/item/clothing/under/color/yellow(src) - new /obj/item/clothing/under/color/green(src) - new /obj/item/clothing/under/color/orange(src) - new /obj/item/clothing/under/color/pink(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/shoes/white(src) - return diff --git a/code/WorkInProgress/SkyMarshal/Ultralight.dm b/code/WorkInProgress/SkyMarshal/Ultralight.dm deleted file mode 100644 index f5065223c97..00000000000 --- a/code/WorkInProgress/SkyMarshal/Ultralight.dm +++ /dev/null @@ -1,385 +0,0 @@ -//UltraLight system, by Sukasa - - -#define UL_I_FALLOFF_SQUARE 0 -#define UL_I_FALLOFF_ROUND 1 - -#define UL_I_LIT 0 -#define UL_I_EXTINGUISHED 1 -#define UL_I_ONZERO 2 -#define UL_I_CHANGING 3 - -#define ul_LightingEnabled 1 -//#define ul_LightingResolution 2 -//Uncomment if you want maybe slightly smoother lighting -#define ul_Steps 7 -#define ul_FalloffStyle UL_I_FALLOFF_ROUND // Sets the lighting falloff to be either squared or circular. -#define ul_Layer 10 -#define ul_TopLuminosity 12 //Maximum brightness an object can have. - -//#define ul_LightLevelChangedUpdates -//Uncomment if you have code that you want triggered when the light level on an atom changes. - - -#define ul_Clamp(Value) min(max(Value, 0), ul_Steps) -#define ul_IsLuminous(A) (A.ul_Red || A.ul_Green || A.ul_Blue) -#define ul_Luminosity(A) max(A.ul_Red, A.ul_Green, A.ul_Blue) - - -#ifdef ul_LightingResolution -var/ul_LightingResolutionSqrt = sqrt(ul_LightingResolution) -#endif -var/ul_SuppressLightLevelChanges = 0 - - -var/list/ul_FastRoot = list(0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7) - -var/list/ul_IconCache = list() - - -proc/ul_UnblankLocal(var/list/ReApply = view(ul_TopLuminosity, src)) - for(var/atom/Light in ReApply) - if(ul_IsLuminous(Light)) - Light.ul_Illuminate() - return - -atom/var/ul_Red = 0 -atom/var/ul_Green = 0 -atom/var/ul_Blue = 0 -atom/var/turf/ul_LastIlluminated - -atom/var/ul_Extinguished = UL_I_ONZERO - -atom/proc/ul_SetLuminosity(var/Red = 0, var/Green = Red, var/Blue = Red) - - if(ul_Extinguished == UL_I_CHANGING) //Changing state, just supress any changes, to prevent glitches. - return - - if(ul_Red == min(Red, ul_TopLuminosity) && ul_Green == min(Green, ul_TopLuminosity) && ul_Blue == min(Blue, ul_TopLuminosity)) - return //No point doing all that work if it won't have any effect anyways... - - if (ul_Extinguished == UL_I_EXTINGUISHED) - ul_Red = min(Red,ul_TopLuminosity) - ul_Green = min(Green,ul_TopLuminosity) - ul_Blue = min(Blue,ul_TopLuminosity) - - return - - if (ul_IsLuminous(src)) - ul_Extinguish() - - ul_Red = min(Red,ul_TopLuminosity) - ul_Green = min(Green,ul_TopLuminosity) - ul_Blue = min(Blue,ul_TopLuminosity) - - ul_Extinguished = UL_I_ONZERO - - if (ul_IsLuminous(src)) - ul_Illuminate() - - return - -atom/proc/ul_Illuminate() - if (ul_Extinguished == UL_I_LIT) - return - - ul_Extinguished = UL_I_CHANGING - - luminosity = ul_Luminosity(src) - - for(var/turf/Affected in view(luminosity, src)) - var/Falloff = ul_FalloffAmount(Affected) - - var/DeltaRed = ul_Red - Falloff - var/DeltaGreen = ul_Green - Falloff - var/DeltaBlue = ul_Blue - Falloff - - if(DeltaRed > 0 || DeltaGreen > 0 || DeltaBlue > 0) - - if(DeltaRed > 0) - if(!Affected.MaxRed) - Affected.MaxRed = list() - Affected.MaxRed += DeltaRed - - if(DeltaGreen > 0) - if(!Affected.MaxGreen) - Affected.MaxGreen = list() - Affected.MaxGreen += DeltaGreen - - if(DeltaBlue > 0) - if(!Affected.MaxBlue) - Affected.MaxBlue = list() - Affected.MaxBlue += DeltaBlue - - Affected.ul_UpdateLight() - - #ifdef ul_LightLevelChangedUpdates - if (ul_SuppressLightLevelChanges == 0) - Affected.ul_LightLevelChanged() - - for(var/atom/AffectedAtom in Affected) - AffectedAtom.ul_LightLevelChanged() - #endif - - ul_LastIlluminated = get_turf(src) - ul_Extinguished = UL_I_LIT - - return - -atom/proc/ul_Extinguish() - - if (ul_Extinguished != UL_I_LIT) - return - - ul_Extinguished = UL_I_CHANGING - - for(var/turf/Affected in view(ul_Luminosity(src), ul_LastIlluminated)) - - var/Falloff = ul_LastIlluminated.ul_FalloffAmount(Affected) - - var/DeltaRed = ul_Red - Falloff - var/DeltaGreen = ul_Green - Falloff - var/DeltaBlue = ul_Blue - Falloff - - if(DeltaRed > 0 || DeltaGreen > 0 || DeltaBlue > 0) - - if(DeltaRed > 0) - if(Affected.MaxRed) - var/removed_light_source = Affected.MaxRed.Find(DeltaRed) - if(removed_light_source) - Affected.MaxRed.Cut(removed_light_source, removed_light_source+1) - if(!Affected.MaxRed.len) - del Affected.MaxRed - - if(DeltaGreen > 0) - if(Affected.MaxGreen) - var/removed_light_source = Affected.MaxGreen.Find(DeltaGreen) - if(removed_light_source) - Affected.MaxGreen.Cut(removed_light_source, removed_light_source+1) - if(!Affected.MaxGreen.len) - del Affected.MaxGreen - - if(DeltaBlue > 0) - if(Affected.MaxBlue) - var/removed_light_source = Affected.MaxBlue.Find(DeltaBlue) - if(removed_light_source) - Affected.MaxBlue.Cut(removed_light_source, removed_light_source+1) - if(!Affected.MaxBlue.len) - del Affected.MaxBlue - - Affected.ul_UpdateLight() - - #ifdef ul_LightLevelChangedUpdates - if (ul_SuppressLightLevelChanges == 0) - Affected.ul_LightLevelChanged() - - for(var/atom/AffectedAtom in Affected) - AffectedAtom.ul_LightLevelChanged() - #endif - - ul_Extinguished = UL_I_EXTINGUISHED - luminosity = 0 - ul_LastIlluminated = null - - return - - -/* - Calculates the correct lighting falloff value (used to calculate what brightness to set the turf to) to use, - when called on a luminous atom and passed an atom in the turf to be lit. - - Supports multiple configurations, BS12 uses the circular falloff setting. This setting uses an array lookup - to avoid the cost of the square root function. -*/ -atom/proc/ul_FalloffAmount(var/atom/ref) - if (ul_FalloffStyle == UL_I_FALLOFF_ROUND) - var/delta_x = (ref.x - src.x) - var/delta_y = (ref.y - src.y) - - #ifdef ul_LightingResolution - if (round((delta_x*delta_x + delta_y*delta_y)*ul_LightingResolutionSqrt,1) > ul_FastRoot.len) - for(var/i = ul_FastRoot.len, i <= round(delta_x*delta_x+delta_y*delta_y*ul_LightingResolutionSqrt,1), i++) - ul_FastRoot += round(sqrt(i)) - return ul_FastRoot[round((delta_x*delta_x + delta_y*delta_y)*ul_LightingResolutionSqrt, 1) + 1]/ul_LightingResolution - - #else - if ((delta_x*delta_x + delta_y*delta_y) > ul_FastRoot.len) - for(var/i = ul_FastRoot.len, i <= delta_x*delta_x+delta_y*delta_y, i++) - ul_FastRoot += round(sqrt(i)) - return ul_FastRoot[delta_x*delta_x + delta_y*delta_y + 1] - - #endif - - else if (ul_FalloffStyle == UL_I_FALLOFF_SQUARE) - return get_dist(src, ref) - - return 0 - -atom/proc/ul_SetOpacity(var/NewOpacity) - if(opacity != NewOpacity) - - var/list/Blanked = ul_BlankLocal() - - opacity = NewOpacity - - ul_UnblankLocal(Blanked) - - return - -atom/proc/ul_BlankLocal() - var/list/Blanked = list( ) - var/TurfAdjust = isturf(src) ? 1 : 0 - - for(var/atom/Affected in view(ul_TopLuminosity, src)) - if(ul_IsLuminous(Affected) && Affected.ul_Extinguished == UL_I_LIT && (ul_FalloffAmount(Affected) <= ul_Luminosity(Affected) + TurfAdjust)) - Affected.ul_Extinguish() - Blanked += Affected - - return Blanked - -atom/proc/ul_LightLevelChanged() - //Designed for client projects to use. Called on items when the turf they are in has its light level changed - return - -atom/New() - . = ..() - if(ul_IsLuminous(src)) - spawn(5) - ul_Illuminate() - -atom/Del() - if(ul_IsLuminous(src)) - ul_Extinguish() - . = ..() - -atom/movable/Move() - if(ul_IsLuminous(src)) - ul_Extinguish() - . = ..() - ul_Illuminate() - else - return ..() - - -turf/var/list/MaxRed -turf/var/list/MaxGreen -turf/var/list/MaxBlue - -turf/proc/ul_GetRed() - if(MaxRed) - return ul_Clamp(max(MaxRed)) - return 0 -turf/proc/ul_GetGreen() - if(MaxGreen) - return ul_Clamp(max(MaxGreen)) - return 0 -turf/proc/ul_GetBlue() - if(MaxBlue) - return ul_Clamp(max(MaxBlue)) - return 0 - -turf/proc/ul_UpdateLight() - var/area/CurrentArea = loc - - if(!isarea(CurrentArea) || !CurrentArea.ul_Lighting) - return - - var/LightingTag = copytext(CurrentArea.tag, 1, findtext(CurrentArea.tag, ":UL")) + ":UL[ul_GetRed()]_[ul_GetGreen()]_[ul_GetBlue()]" - - if(CurrentArea.tag != LightingTag) - var/area/NewArea = locate(LightingTag) - - if(!NewArea) - NewArea = new CurrentArea.type() - NewArea.tag = LightingTag - - for(var/V in CurrentArea.vars - "contents") - if(issaved(CurrentArea.vars[V])) - NewArea.vars[V] = CurrentArea.vars[V] - - NewArea.tag = LightingTag - - NewArea.ul_Light(ul_GetRed(), ul_GetGreen(), ul_GetBlue()) - - - NewArea.contents += src - - return - -turf/proc/ul_Recalculate() - - ul_SuppressLightLevelChanges++ - - var/list/Lights = ul_BlankLocal() - - ul_UnblankLocal(Lights) - - ul_SuppressLightLevelChanges-- - - return - -area/var/ul_Overlay = null -area/var/ul_Lighting = 1 - -area/var/LightLevelRed = 0 -area/var/LightLevelGreen = 0 -area/var/LightLevelBlue = 0 -area/var/list/LightLevels - -area/proc/ul_Light(var/Red = LightLevelRed, var/Green = LightLevelGreen, var/Blue = LightLevelBlue) - - if(!src || !src.ul_Lighting) - return - - overlays -= ul_Overlay - if(LightLevels) - if(Red < LightLevels["Red"]) - Red = LightLevels["Red"] - if(Green < LightLevels["Green"]) - Green = LightLevels["Green"] - if(Blue < LightLevels["Blue"]) - Blue = LightLevels["Blue"] - - LightLevelRed = Red - LightLevelGreen = Green - LightLevelBlue = Blue - - luminosity = LightLevelRed || LightLevelGreen || LightLevelBlue - - var/ul_CachedOverlay = ul_IconCache["[LightLevelRed]-[LightLevelGreen]-[LightLevelBlue]"] - if(ul_CachedOverlay) - ul_Overlay = ul_CachedOverlay - else - ul_IconCache["[LightLevelRed]-[LightLevelGreen]-[LightLevelBlue]"] = image('icons/effects/ULIcons.dmi', , "[LightLevelRed]-[LightLevelGreen]-[LightLevelBlue]", ul_Layer) - ul_Overlay = ul_IconCache["[LightLevelRed]-[LightLevelGreen]-[LightLevelBlue]"] - - overlays += ul_Overlay - - return - -area/proc/ul_Prep() - - if(!tag) - tag = "[type]" - if(ul_Lighting) - if(!findtext(tag,":UL")) - ul_Light() - //world.log << tag - - return - -#undef UL_I_FALLOFF_SQUARE -#undef UL_I_FALLOFF_ROUND -#undef UL_I_LIT -#undef UL_I_EXTINGUISHED -#undef UL_I_ONZERO -#undef ul_LightingEnabled -#undef ul_LightingResolution -#undef ul_Steps -#undef ul_FalloffStyle -#undef ul_Layer -#undef ul_TopLuminosity -#undef ul_Clamp -#undef ul_LightLevelChangedUpdates \ No newline at end of file diff --git a/code/WorkInProgress/SkyMarshal/Ultralight_procs.dm b/code/WorkInProgress/SkyMarshal/Ultralight_procs.dm deleted file mode 100644 index 81ba9c458cf..00000000000 --- a/code/WorkInProgress/SkyMarshal/Ultralight_procs.dm +++ /dev/null @@ -1,32 +0,0 @@ - -// MOVED HERE FROM ULTRALIGHT WHICH IS PROBABLY A BAD THING -#define UL_I_FALLOFF_SQUARE 0 -#define UL_I_FALLOFF_ROUND 1 -#define ul_FalloffStyle UL_I_FALLOFF_ROUND // Sets the lighting falloff to be either squared or circular. -var/list/ul_FastRoot = list(0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7) - -atom/proc/ul_FalloffAmount(var/atom/ref) - if (ul_FalloffStyle == UL_I_FALLOFF_ROUND) - var/delta_x = (ref.x - src.x) - var/delta_y = (ref.y - src.y) - - #ifdef ul_LightingResolution - if (round((delta_x*delta_x + delta_y*delta_y)*ul_LightingResolutionSqrt,1) > ul_FastRoot.len) - for(var/i = ul_FastRoot.len, i <= round(delta_x*delta_x+delta_y*delta_y*ul_LightingResolutionSqrt,1), i++) - ul_FastRoot += round(sqrt(i)) - return ul_FastRoot[round((delta_x*delta_x + delta_y*delta_y)*ul_LightingResolutionSqrt, 1) + 1]/ul_LightingResolution - - #else - if ((delta_x*delta_x + delta_y*delta_y) > ul_FastRoot.len) - for(var/i = ul_FastRoot.len, i <= delta_x*delta_x+delta_y*delta_y, i++) - ul_FastRoot += round(sqrt(i)) - return ul_FastRoot[delta_x*delta_x + delta_y*delta_y + 1] - - #endif - - else if (ul_FalloffStyle == UL_I_FALLOFF_SQUARE) - return get_dist(src, ref) - - return 0 \ No newline at end of file diff --git a/code/WorkInProgress/SkyMarshal/coatrack.dm b/code/WorkInProgress/SkyMarshal/coatrack.dm deleted file mode 100644 index efc64b1e2fc..00000000000 --- a/code/WorkInProgress/SkyMarshal/coatrack.dm +++ /dev/null @@ -1,96 +0,0 @@ -/obj/machinery/coatrack/attack_hand(mob/user as mob) - switch(alert("What do you want from the coat rack?",,"Coat","Hat")) - if("Coat") - if(coat) - if(!user.get_active_hand()) - user.put_in_hand(coat) - else - coat.loc = get_turf(user) - coat = null - if(!hat) - icon_state = "coatrack0" - else - icon_state = "coatrack1" - return - else - user << "\blue There is no coat to take!" - return - if("Hat") - if(hat) - if(!user.get_active_hand()) - user.put_in_hand(hat) - else - hat.loc = get_turf(user) - hat = null - if(!coat) - icon_state = "coatrack0" - else - icon_state = "coatrack2" - return - else - user << "\blue There is no hat to take!" - return - user << "Something went wrong." - return - -/obj/machinery/coatrack/attackby(obj/item/weapon/W as obj, mob/user as mob) - var/obj/item/I = user.equipped() - if ( istype(I,/obj/item/clothing/head/det_hat) && !hat) - user.drop_item() - I.loc = src - hat = I - if(!coat) - icon_state = "coatrack1" - else - icon_state = "coatrack3" - for(var/mob/M in viewers(src, null)) - if(M.client) - M.show_message(text("\blue [user] puts his hat onto the rack."), 2) - return - if ( istype(I,/obj/item/clothing/suit/storage/det_suit) && !coat) - user.drop_item() - I.loc = src - coat = I - if(!hat) - icon_state = "coatrack2" - else - icon_state = "coatrack3" - for(var/mob/M in viewers(src, null)) - if(M.client) - M.show_message(text("\blue [user] puts his coat onto the rack."), 2) - return - if ( istype(I,/obj/item/clothing/head/det_hat) && hat) - user << "There's already a hat on the rack!" - return ..() - if ( istype(I,/obj/item/clothing/suit/storage/det_suit) && coat) - user << "There's already a coat on the rack!" - return ..() - user << "The coat rack wants none of what you offer." - return ..() - - -/obj/machinery/coatrack/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) - if ( istype(mover,/obj/item/clothing/head/det_hat) && !hat) - mover.loc = src - hat = mover - if(!coat) - icon_state = "coatrack1" - else - icon_state = "coatrack3" - for(var/mob/M in viewers(src, null)) - if(M.client) - M.show_message(text("\blue The hat lands perfectly atop its hanger!"), 2) - return 0 - if ( istype(mover,/obj/item/clothing/suit/storage/det_suit) && !coat) - mover.loc = src - coat = mover - if(!hat) - icon_state = "coatrack2" - else - icon_state = "coatrack3" - for(var/mob/M in viewers(src, null)) - if(M.client) - M.show_message(text("\blue The coat lands perfectly atop its hanger!"), 2) - return 0 - else - return 0 \ No newline at end of file diff --git a/code/WorkInProgress/SkyMarshal/portalathe.dm b/code/WorkInProgress/SkyMarshal/portalathe.dm deleted file mode 100644 index 1c2ceb15b23..00000000000 --- a/code/WorkInProgress/SkyMarshal/portalathe.dm +++ /dev/null @@ -1,21 +0,0 @@ -//May expand later, but right now it just repairs lights. -/obj/item/device/portalathe - name = "portable autolathe" - desc = "A device which can repair broken lights instantly. Must be advanced." - icon = 'icons/obj/janitor.dmi' - icon_state = "portalathe" - - afterattack(var/atom/target, mob/user as mob) - if(!target || !user) - return - if(!istype(target)) - return - if(!istype(target, /obj/machinery/light)) - return - var/obj/machinery/light/L = target - if(L.status > 1) //Burned or broke - L.status = 0 - L.on = 1 - L.update() - user.visible_message("[user] repairs \the [target] on the spot with their [src]!","You repair the lightbulb!","You hear a soft whiiir-pop noise over the sound of flexing glass, followed by the soft hum of an activated [target].") - return \ No newline at end of file diff --git a/code/WorkInProgress/SkyMarshal/traitoritems.dm b/code/WorkInProgress/SkyMarshal/traitoritems.dm deleted file mode 100644 index b42a36685e4..00000000000 --- a/code/WorkInProgress/SkyMarshal/traitoritems.dm +++ /dev/null @@ -1,76 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 - -/obj/item/weapon/stamperaser - name = "eraser" - desc = "It looks like some kind of eraser." - flags = FPRINT | TABLEPASS - icon = 'icons/obj/items.dmi' - icon_state = "zippo" - item_state = "zippo" - w_class = 1.0 - m_amt = 80 -/* -/obj/item/device/jammer - name = "strange device" - desc = "It blinks and has an antenna on it. Weird." - icon_state = "t-ray0" - var/on = 0 - flags = FPRINT|TABLEPASS - w_class = 1 - var/list/obj/item/device/radio/Old = list() - var/list/obj/item/device/radio/Curr = list() - var/time_remaining = 5 - -/obj/item/device/jammer/New() - ..() - time_remaining = rand(10,20) // ~2-4 BYOND seconds of use. - return - -/obj/item/device/jammer/attack_self(mob/user) - - if(time_remaining > 0) - on = !on - icon_state = "t-ray[on]" - - if(on) - processing_objects.Add(src) - else - on = 0 - icon_state = "t-ray0" - user << "It's fried itself from overuse!" - if(Old) - for(var/obj/item/device/radio/T in Old) - T.scrambleoverride = 0 - Old = null - Curr = null - - -/obj/item/device/jammer/process() - if(!on) - processing_objects.Remove(src) - return null - - Old = Curr - Curr = list() - - for(var/obj/item/device/radio/T in range(3, src.loc) ) - - T.scrambleoverride = 1 - Curr |= T - for(var/obj/item/device/radio/V in Old) - if(V == T) - Old -= V - break - - for(var/obj/item/device/radio/T in Old) - T.scrambleoverride = 0 - - time_remaining-- - if(time_remaining <= 0) - for(var/mob/O in viewers(src)) - O.show_message("\red You hear a loud pop, like circuits frying.", 1) - on = 0 - icon_state = "t-ray0" - - sleep(2) - */ diff --git a/code/WorkInProgress/SkyMarshal/wardrobes.dm b/code/WorkInProgress/SkyMarshal/wardrobes.dm deleted file mode 100755 index 28bd73cff7b..00000000000 --- a/code/WorkInProgress/SkyMarshal/wardrobes.dm +++ /dev/null @@ -1,614 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 - -/obj/item/wardrobe - name = "\improper Wardrobe" - desc = "A standard-issue bag for clothing and equipment. Usually comes sealed, stocked with everything you need for a particular job." - icon = 'icons/obj/clothing/suits.dmi' - icon_state = "wardrobe_sealed" - item_state = "wardrobe" - w_class = 4 - layer = 2.99 - var/descriptor = "various clothing" - var/seal_torn = 0 - - attack_self(mob/user) - if(!contents.len) - user << "It's empty!" - else - user.visible_message("\blue [user] unwraps the clothing from the [src][seal_torn ? "" : ", tearing the seal"].") - seal_torn = 1 - - for(var/obj/item/I in src) - I.loc = get_turf(src) - update_icon() - return - - attackby(var/obj/item/I as obj, var/mob/user as mob) - if(istype(I, /obj/item/wardrobe) || istype(I, /obj/item/weapon/evidencebag)) - return - if(contents.len < 20) - if(istype(I, /obj/item/weapon/grab)) - return - user.drop_item() - - if(I) - I.loc = src - - update_icon() - else - user << "\red There's not enough space to fit that!" - return - - afterattack(atom/A as obj|turf, mob/user as mob) - if(A in user) - return - if(!istype(A.loc,/turf)) - user << "It's got to be on the ground to do that!" - return - var/could_fill = 1 - for (var/obj/O in locate(A.x,A.y,A.z)) - if (contents.len < 20) - if(istype(O,/obj/item/wardrobe)) - continue - if(O.anchored || O.density || istype(O,/obj/structure)) - continue - contents += O; - else - could_fill = 0 - break - if(could_fill) - user << "\blue You pick up all the items." - else - user << "\blue You try to pick up all of the items, but run out of space in the bag." - user.visible_message("\blue [user] gathers up[could_fill ? " " : " most of "]the pile of items and puts it into [src].") - update_icon() - - examine() - set src in view() - ..() - if(src in usr) - usr << "It claims to contain [contents.len ? descriptor : descriptor + "... but it looks empty"]." - if(seal_torn && !contents.len) - usr << "The seal on the bag is broken." - else - usr << "The seal on the bag is[seal_torn ? ", however, not intact" : " intact"]." - return - - update_icon() - if(contents.len) - icon_state = "wardrobe" - else - icon_state = "wardrobe_empty" - return - - New() - ..() - pixel_x = rand(0,4) -2 - pixel_y = rand(0,4) -2 - -/obj/item/wardrobe/assistant - name = "\improper Assistant Wardrobe" - descriptor = "clothing and basic equipment for an assistant" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/pda(src) - new /obj/item/device/radio/headset(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/under/color/grey(src) - -/obj/item/wardrobe/chief_engineer - name = "\improper Chief Engineer Wardrobe" - descriptor = "clothing and basic equipment for a Chief Engineer" - - New() - ..() - var/obj/item/weapon/storage/backpack/industrial/BPK = new /obj/item/weapon/storage/backpack/industrial(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/pda/heads/ce(src) - new /obj/item/device/multitool(src) - new /obj/item/device/flash(src) - new /obj/item/clothing/head/helmet/hardhat/white(src) - new /obj/item/clothing/head/helmet/welding(src) - new /obj/item/weapon/storage/belt/utility/full(src) - new /obj/item/weapon/storage/toolbox/mechanical(src) - new /obj/item/clothing/suit/storage/hazardvest(src) - new /obj/item/clothing/gloves/yellow(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/glasses/meson(src) - new /obj/item/device/radio/headset/heads/ce(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/under/rank/chief_engineer(src) - -/obj/item/wardrobe/engineer - name = "\improper Station Engineer Wardrobe" - descriptor = "clothing and basic equipment for a Station Engineer" - - New() - ..() - var/obj/item/weapon/storage/backpack/industrial/BPK = new /obj/item/weapon/storage/backpack/industrial(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/pda/engineering(src) - new /obj/item/device/t_scanner(src) - new /obj/item/clothing/suit/storage/hazardvest(src) - new /obj/item/weapon/storage/belt/utility/full(src) - new /obj/item/weapon/storage/toolbox/mechanical(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/head/helmet/hardhat(src) - new /obj/item/clothing/glasses/meson(src) - new /obj/item/device/radio/headset/headset_eng(src) - new /obj/item/clothing/shoes/orange(src) - new /obj/item/clothing/under/rank/engineer(src) - -/obj/item/wardrobe/atmos - name = "\improper Atmospheric Technician Wardrobe" - descriptor = "clothing and basic equipment for an Atmospheric Technician" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/pda/engineering(src) - new /obj/item/weapon/storage/toolbox/mechanical(src) - new /obj/item/device/radio/headset/headset_eng(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/under/rank/atmospheric_technician(src) - -/obj/item/wardrobe/roboticist - name = "\improper Roboticist Wardrobe" - descriptor = "clothing and basic equipment for a Roboticist" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/pda/engineering(src) - new /obj/item/weapon/storage/toolbox/mechanical(src) - new /obj/item/clothing/suit/storage/labcoat(src) - new /obj/item/clothing/gloves/black(src) - new /obj/item/device/radio/headset/headset_rob(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/under/rank/roboticist(src) - -/obj/item/wardrobe/chaplain - name = "\improper Chaplain Wardrobe" - descriptor = "clothing and basic equipment for a Chaplain" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/weapon/storage/bible(src) - new /obj/item/device/pda/chaplain(src) - new /obj/item/device/radio/headset(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/under/rank/chaplain(src) - -/obj/item/wardrobe/captain - name = "\improper Captain Wardrobe" - descriptor = "clothing and basic equipment for a Captain" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/pda/captain(src) - new /obj/item/weapon/storage/id_kit(src) - new /obj/item/weapon/reagent_containers/food/drinks/flask(src) - new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/clothing/glasses/sunglasses(src) - new /obj/item/clothing/suit/storage/captunic(src) - new /obj/item/clothing/suit/armor/vest(src) - new /obj/item/clothing/head/caphat(src) - new /obj/item/clothing/gloves/captain(src) - new /obj/item/clothing/head/helmet/swat(src) - new /obj/item/device/radio/headset/heads/captain(src) - new /obj/item/clothing/shoes/jackboots(src) - new /obj/item/clothing/under/rank/captain(src) - -/obj/item/wardrobe/hop - name = "\improper Head of Personnel Wardrobe" - descriptor = "clothing and basic equipment for a Head of Personnel" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/weapon/clipboard(src) - new /obj/item/device/pda/heads/hop(src) - new /obj/item/weapon/storage/id_kit(src) - new /obj/item/device/flash(src) - new /obj/item/clothing/glasses/sunglasses(src) - new /obj/item/clothing/gloves/blue(src) - new /obj/item/device/radio/headset/heads/hop(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/under/rank/head_of_personnel(src) - -/obj/item/wardrobe/cmo - name = "\improper Chief Medical Officer Wardrobe" - descriptor = "clothing and basic equipment for a Chief Medical Officer" - - New() - ..() - var/obj/item/weapon/storage/backpack/medic/BPK = new /obj/item/weapon/storage/backpack/medic(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/pda/heads/cmo(src) - new /obj/item/weapon/storage/firstaid/adv(src) - new /obj/item/device/flashlight/pen(src) - new /obj/item/clothing/gloves/latex(src) - new /obj/item/clothing/suit/bio_suit/cmo(src) - new /obj/item/clothing/head/bio_hood/cmo(src) - new /obj/item/clothing/suit/storage/labcoat/cmo(src) - new /obj/item/clothing/suit/storage/labcoat/cmoalt(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/device/radio/headset/heads/cmo(src) - new /obj/item/clothing/under/rank/chief_medical_officer(src) - new /obj/item/device/healthanalyzer(src) - -/obj/item/wardrobe/doctor - name = "\improper Medical Doctor Wardrobe" - descriptor = "clothing and basic equipment for a Medical Doctor" - - New() - ..() - var/obj/item/weapon/storage/backpack/medic/BPK = new /obj/item/weapon/storage/backpack/medic(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/pda/medical(src) - new /obj/item/weapon/storage/firstaid/adv(src) - new /obj/item/device/flashlight/pen(src) - new /obj/item/clothing/suit/storage/labcoat(src) - new /obj/item/clothing/head/nursehat (src) - new /obj/item/weapon/storage/belt/medical(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/device/radio/headset/headset_med(src) - new /obj/item/clothing/under/rank/nursesuit (src) - new /obj/item/clothing/under/rank/medical(src) - new /obj/item/device/healthanalyzer(src) - -/obj/item/wardrobe/geneticist - name = "\improper Geneticist Wardrobe" - descriptor = "clothing and basic equipment for a Geneticist" - - New() - ..() - var/obj/item/weapon/storage/backpack/medic/BPK = new /obj/item/weapon/storage/backpack/medic(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/pda/medical(src) - new /obj/item/device/flashlight/pen(src) - new /obj/item/clothing/suit/storage/labcoat/genetics(src) - new /obj/item/device/radio/headset/headset_medsci(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/under/rank/geneticist(src) - -/obj/item/wardrobe/virologist - name = "\improper Virologist Wardrobe" - descriptor = "clothing and basic equipment for a Virologist" - - New() - ..() - var/obj/item/weapon/storage/backpack/medic/BPK = new /obj/item/weapon/storage/backpack/medic(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/flashlight/pen(src) - new /obj/item/device/pda/medical(src) - new /obj/item/clothing/mask/surgical(src) - new /obj/item/clothing/suit/storage/labcoat/virologist(src) - new /obj/item/device/radio/headset/headset_med(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/under/rank/medical(src) - -/obj/item/wardrobe/rd - name = "\improper Research Director Wardrobe" - descriptor = "clothing and basic equipment for a Research Director" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/device/pda/heads/rd(src) - new /obj/item/weapon/clipboard(src) - new /obj/item/weapon/tank/air(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/device/flash(src) - new /obj/item/clothing/suit/bio_suit/scientist(src) - new /obj/item/clothing/head/bio_hood/scientist(src) - new /obj/item/clothing/suit/storage/labcoat(src) - new /obj/item/clothing/gloves/latex(src) - new /obj/item/device/radio/headset/heads/rd(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/under/rank/research_director(src) - -/obj/item/wardrobe/scientist - name = "\improper Scientist Wardrobe" - descriptor = "clothing and basic equipment for a Scientist" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/pda/toxins(src) - new /obj/item/weapon/tank/oxygen(src) - new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/suit/storage/labcoat/science(src) - new /obj/item/device/radio/headset/headset_sci(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/clothing/under/rank/scientist(src) - -/obj/item/wardrobe/chemist - name = "\improper Chemist Wardrobe" - descriptor = "clothing and basic equipment for a Chemist" - - New() - ..() - var/obj/item/weapon/storage/backpack/medic/BPK = new /obj/item/weapon/storage/backpack/medic(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/radio/headset/headset_medsci(src) - new /obj/item/clothing/under/rank/chemist(src) - new /obj/item/clothing/shoes/white(src) - new /obj/item/device/pda/toxins(src) - new /obj/item/clothing/suit/storage/labcoat/chemist(src) - -/obj/item/wardrobe/hos - name = "\improper Head of Security Wardrobe" - descriptor = "clothing and basic equipment for a Head of Security" - - New() - ..() - var/obj/item/weapon/storage/backpack/security/BPK = new /obj/item/weapon/storage/backpack/security(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/weapon/gun/energy/gun(src) - new /obj/item/device/flash(src) - new /obj/item/device/pda/heads/hos(src) - new /obj/item/clothing/suit/storage/armourrigvest(src) - new /obj/item/clothing/suit/armor/hos(src) - new /obj/item/clothing/head/helmet/HoS(src) - new /obj/item/weapon/storage/belt/security(src) - new /obj/item/clothing/gloves/hos(src) - new /obj/item/clothing/glasses/sunglasses/sechud(src) - new /obj/item/device/radio/headset/heads/hos(src) - new /obj/item/clothing/shoes/jackboots(src) - new /obj/item/clothing/under/rank/head_of_security(src) - -/obj/item/wardrobe/warden - name = "\improper Warden Wardrobe" - descriptor = "clothing and basic equipment for a Warden" - - New() - ..() - var/obj/item/weapon/storage/backpack/security/BPK = new /obj/item/weapon/storage/backpack/security(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/flash(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/weapon/gun/energy/taser(src) - new /obj/item/device/pda/security(src) - new /obj/item/clothing/suit/armor/vest(src) - new /obj/item/clothing/suit/storage/gearharness(src) - new /obj/item/clothing/head/helmet/warden(src) - new /obj/item/clothing/gloves/red(src) - new /obj/item/weapon/storage/belt/security(src) - new /obj/item/clothing/glasses/sunglasses/sechud(src) - new /obj/item/device/radio/headset/headset_sec(src) - new /obj/item/clothing/shoes/jackboots(src) - new /obj/item/clothing/under/rank/warden(src) - new /obj/item/clothing/suit/armor/vest/warden(src) - new /obj/item/weapon/pepperspray(src) - -/obj/item/wardrobe/detective - name = "\improper Detective Wardrobe" - descriptor = "clothing and basic equipment for a Detective" - - New() - ..() - var/obj/item/weapon/storage/backpack/security/BPK = new /obj/item/weapon/storage/backpack/security(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/fcardholder(src) - new /obj/item/weapon/clipboard(src) - new /obj/item/weapon/clipboard/notebook(src) - new /obj/item/device/detective_scanner(src) - new /obj/item/taperoll/police(src) - new /obj/item/weapon/storage/box/evidence(src) - new /obj/item/device/pda/detective(src) - new /obj/item/clothing/suit/storage/det_suit/armor(src) - new /obj/item/clothing/suit/storage/det_suit(src) - new /obj/item/clothing/gloves/detective(src) - new /obj/item/clothing/head/det_hat(src) - new /obj/item/device/radio/headset/headset_sec(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/under/det(src) - new /obj/item/weapon/camera_film(src) - -/obj/item/wardrobe/officer - name = "\improper Security Officer Wardrobe" - descriptor = "clothing and basic equipment for a Security Officer" - - New() - ..() - var/obj/item/weapon/storage/backpack/security/BPK = new /obj/item/weapon/storage/backpack/security(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/weapon/pepperspray(src) - new /obj/item/device/flash(src) - new /obj/item/weapon/melee/baton(src) - new /obj/item/taperoll/police(src) - new /obj/item/weapon/flashbang(src) - new /obj/item/device/pda/security(src) - new /obj/item/clothing/suit/armor/vest(src) - new /obj/item/clothing/suit/storage/gearharness(src) - new /obj/item/clothing/glasses/sunglasses/sechud(src) - new /obj/item/weapon/storage/belt/security(src) - new /obj/item/clothing/head/helmet(src) - new /obj/item/clothing/head/secsoft(src) - new /obj/item/clothing/gloves/red(src) - new /obj/item/device/radio/headset/headset_sec(src) - new /obj/item/clothing/shoes/jackboots(src) - new /obj/item/clothing/under/rank/security(src) - - - -/obj/item/wardrobe/bartender - name = "\improper Bartender Wardrobe" - descriptor = "clothing and basic equipment for a Bartender" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/ammo_casing/shotgun/beanbag(BPK) - new /obj/item/ammo_casing/shotgun/beanbag(BPK) - new /obj/item/ammo_casing/shotgun/beanbag(BPK) - new /obj/item/ammo_casing/shotgun/beanbag(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/radio/headset(src) - new /obj/item/clothing/suit/armor/vest(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/under/rank/bartender(src) - -/obj/item/wardrobe/chef - name = "\improper Chef Wardrobe" - descriptor = "clothing and basic equipment for a Chef" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/clothing/suit/storage/chef(src) - new /obj/item/clothing/head/chefhat(src) - new /obj/item/device/radio/headset(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/under/rank/chef(src) - -/obj/item/wardrobe/hydro - name = "\improper Botanist Wardrobe" - descriptor = "clothing and basic equipment for a Botanist" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/analyzer/plant_analyzer(src) - new /obj/item/clothing/suit/storage/apron(src) - new /obj/item/clothing/gloves/botanic_leather(src) - new /obj/item/device/radio/headset(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/under/rank/hydroponics(src) - -/obj/item/wardrobe/qm - name = "\improper Quartermaster Wardrobe" - descriptor = "clothing and basic equipment for a Quartermaster" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/weapon/clipboard(src) - new /obj/item/device/pda/quartermaster(src) - new /obj/item/clothing/glasses/sunglasses(src) - new /obj/item/device/radio/headset/heads/qm(src) - new /obj/item/clothing/shoes/brown(src) - new /obj/item/clothing/under/rank/cargo(src) - -/obj/item/wardrobe/cargo_tech - name = "\improper Cargo Technician Wardrobe" - descriptor = "clothing and basic equipment for a Cargo Technician" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/pda/quartermaster(src) - new /obj/item/device/radio/headset/headset_cargo(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/under/rank/cargotech(src) - new /obj/item/clothing/gloves/fingerless/black(src) - -/obj/item/wardrobe/mining - name = "\improper Shaft Miner Wardrobe" - descriptor = "clothing and basic equipment for a Shaft Miner" - - New() - ..() - var/obj/item/weapon/storage/backpack/industrial/BPK = new /obj/item/weapon/storage/backpack/industrial(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/analyzer(src) - new /obj/item/weapon/satchel(src) - new /obj/item/device/flashlight/lantern(src) - new /obj/item/weapon/shovel(src) - new /obj/item/weapon/pickaxe(src) - new /obj/item/weapon/crowbar(src) - new /obj/item/clothing/glasses/meson(src) - new /obj/item/device/radio/headset/headset_mine(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/under/rank/miner(src) - new /obj/item/clothing/gloves/fingerless/black(src) - -/obj/item/wardrobe/janitor - name = "\improper Janitor Wardrobe" - descriptor = "clothing and basic equipment for a Janitor" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/pda/janitor(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/under/rank/janitor(src) - new /obj/item/device/portalathe(src) - -/obj/item/wardrobe/librarian - name = "\improper Librarian Wardrobe" - descriptor = "clothing and basic equipment for a Librarian" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/weapon/barcodescanner(src) - new /obj/item/clothing/shoes/black(src) - new /obj/item/clothing/under/suit_jacket/red(src) - -/obj/item/wardrobe/lawyer - name = "\improper Lawyer Wardrobe" - descriptor = "clothing and basic equipment for a Lawyer" - - New() - ..() - var/obj/item/weapon/storage/backpack/BPK = new /obj/item/weapon/storage/backpack(src) - new /obj/item/weapon/storage/box(BPK) - new /obj/item/weapon/pen(src) - new /obj/item/device/pda/lawyer(src) - new /obj/item/device/detective_scanner(src) - new /obj/item/weapon/storage/briefcase(src) - new /obj/item/clothing/shoes/brown(src) - if(prob(50)) - new /obj/item/clothing/under/lawyer/bluesuit(src) - new /obj/item/clothing/suit/storage/lawyer/bluejacket(src) - else - new /obj/item/clothing/under/lawyer/purpsuit(src) - new /obj/item/clothing/suit/storage/lawyer/purpjacket(src) - - diff --git a/code/WorkInProgress/Susan/biocraps.dmi b/code/WorkInProgress/Susan/biocraps.dmi deleted file mode 100644 index 1bcbec018fe7388023a8170b351c73c86a037fed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32502 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 diff --git a/code/WorkInProgress/Susan/desert.dmi b/code/WorkInProgress/Susan/desert.dmi deleted file mode 100644 index 439f5630f069ed9b5dbd1c3d9e6eec0f664a092a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13722 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 HF7p2Y8Ichk diff --git a/code/WorkInProgress/Susan/susan_desert_turfs.dm b/code/WorkInProgress/Susan/susan_desert_turfs.dm deleted file mode 100644 index 069e1eb81d8..00000000000 --- a/code/WorkInProgress/Susan/susan_desert_turfs.dm +++ /dev/null @@ -1,467 +0,0 @@ -//this is everything i'm going to be using in my outpost zeta map, and possibly future maps. - -turf/unsimulated/desert - name = "desert" - icon = 'code/WorkInProgress/Susan/desert.dmi' - icon_state = "desert" - temperature = 393.15 - luminosity = 5 - lighting_lumcount = 8 - -turf/unsimulated/desert/New() - icon_state = "desert[rand(0,4)]" - -turf/simulated/wall/impassable_rock - name = "Mountain Wall" - - //so that you can see the impassable sections in the map editor - icon_state = "riveted" - New() - icon_state = "rock" - -/area/awaymission/labs/researchdivision - name = "Research" - icon_state = "away3" - -/area/awaymission/labs/militarydivision - name = "Military" - icon_state = "away2" - -/area/awaymission/labs/gateway - name = "Gateway" - icon_state = "away1" - -/area/awaymission/labs/command - name = "Command" - icon_state = "away" - -/area/awaymission/labs/civilian - name = "Civilian" - icon_state = "away3" - -/area/awaymission/labs/cargo - name = "Cargo" - icon_state = "away2" - -/area/awaymission/labs/medical - name = "Medical" - icon_state = "away1" - -/area/awaymission/labs/security - name = "Security" - icon_state = "away" - -/area/awaymission/labs/solars - name = "Solars" - icon_state = "away3" - -/area/awaymission/labs/cave - name = "Caves" - icon_state = "away2" - -//corpses and possibly other decorative items - -/obj/effect/landmark/corpse/alien - mutantrace = "lizard" - -/obj/effect/landmark/corpse/alien/cargo - name = "Cargo Technician" - corpseuniform = /obj/item/clothing/under/rank/cargo - corpseradio = /obj/item/device/radio/headset/headset_cargo - corpseid = 1 - corpseidjob = "Cargo Technician" - corpseidaccess = "Quartermaster" - -/obj/effect/landmark/corpse/alien/laborer - name = "Laborer" - corpseuniform = /obj/item/clothing/under/overalls - corpseradio = /obj/item/device/radio/headset/headset_eng - corpseback = /obj/item/weapon/storage/backpack/industrial - corpsebelt = /obj/item/weapon/storage/belt/utility/full - corpsehelmet = /obj/item/clothing/head/hardhat - corpseid = 1 - corpseidjob = "Laborer" - corpseidaccess = "Engineer" - -/obj/effect/landmark/corpse/alien/testsubject - name = "Unfortunate Test Subject" - corpseuniform = /obj/item/clothing/under/color/white - corpseid = 0 - -/obj/effect/landmark/corpse/overseer - name = "Overseer" - corpseuniform = /obj/item/clothing/under/rank/navyhead_of_security - corpsesuit = /obj/item/clothing/suit/armor/hosnavycoat - corpseradio = /obj/item/device/radio/headset/heads/captain - corpsegloves = /obj/item/clothing/gloves/black/hos - corpseshoes = /obj/item/clothing/shoes/swat - corpsehelmet = /obj/item/clothing/head/beret/navyhos - corpseglasses = /obj/item/clothing/glasses/eyepatch - corpseid = 1 - corpseidjob = "Facility Overseer" - corpseidaccess = "Captain" - -/obj/effect/landmark/corpse/officer - name = "Security Officer" - corpseuniform = /obj/item/clothing/under/rank/navysecurity - corpsesuit = /obj/item/clothing/suit/armor/navysecvest - corpseradio = /obj/item/device/radio/headset/headset_sec - corpseshoes = /obj/item/clothing/shoes/swat - corpsehelmet = /obj/item/clothing/head/beret/navysec - corpseid = 1 - corpseidjob = "Security Officer" - corpseidaccess = "Security Officer" - -/* - * Weeds - */ -#define NODERANGE 1 - -/obj/effect/alien/flesh/weeds - name = "Fleshy Growth" - desc = "A pulsating grouping of odd, alien tissues. It's almost like it has a heartbeat..." - icon = 'code/WorkInProgress/Susan/biocraps.dmi' - icon_state = "flesh" - - anchored = 1 - density = 0 - var/health = 15 - var/obj/effect/alien/weeds/node/linked_node = null - -/obj/effect/alien/flesh/weeds/node - icon_state = "fleshnode" - icon = 'code/WorkInProgress/Susan/biocraps.dmi' - name = "Throbbing Pustule" - desc = "A grotquese, oozing, pimple-like growth. You swear you can see something moving around in the bulb..." - luminosity = NODERANGE - var/node_range = NODERANGE - -/obj/effect/alien/flesh/weeds/node/New() - ..(src.loc, src) - - -/obj/effect/alien/flesh/weeds/New(pos, node) - ..() - linked_node = node - if(istype(loc, /turf/space)) - del(src) - return - if(icon_state == "flesh")icon_state = pick("flesh", "flesh1", "flesh2") - spawn(rand(150, 200)) - if(src) - Life() - return - -/obj/effect/alien/flesh/weeds/proc/Life() - set background = 1 - var/turf/U = get_turf(src) -/* - if (locate(/obj/movable, U)) - U = locate(/obj/movable, U) - if(U.density == 1) - del(src) - return - -Alien plants should do something if theres a lot of poison - if(U.poison> 200000) - health -= round(U.poison/200000) - update() - return -*/ - if (istype(U, /turf/space)) - del(src) - return - - direction_loop: - for(var/dirn in cardinal) - var/turf/T = get_step(src, dirn) - - if (!istype(T) || T.density || locate(/obj/effect/alien/flesh/weeds) in T || istype(T.loc, /area/arrival) || istype(T, /turf/space)) - continue - - if(!linked_node || get_dist(linked_node, src) > linked_node.node_range) - return - - // if (locate(/obj/movable, T)) // don't propogate into movables - // continue - - for(var/obj/O in T) - if(O.density) - continue direction_loop - - new /obj/effect/alien/flesh/weeds(T, linked_node) - - -/obj/effect/alien/flesh/weeds/ex_act(severity) - switch(severity) - if(1.0) - del(src) - if(2.0) - if (prob(50)) - del(src) - if(3.0) - if (prob(5)) - del(src) - return - -/obj/effect/alien/flesh/weeds/attackby(var/obj/item/weapon/W, var/mob/user) - if(W.attack_verb.len) - visible_message("\red \The [src] has been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]") - else - visible_message("\red \The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]") - - var/damage = W.force / 4.0 - - if(istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/WT = W - - if(WT.remove_fuel(0, user)) - damage = 15 - playsound(loc, 'sound/items/Welder.ogg', 100, 1) - - health -= damage - healthcheck() - -/obj/effect/alien/flesh/weeds/proc/healthcheck() - if(health <= 0) - del(src) - - -/obj/effect/alien/flesh/weeds/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) - if(exposed_temperature > 300) - health -= 5 - healthcheck() - -/*/obj/effect/alien/weeds/burn(fi_amount) - if (fi_amount > 18000) - spawn( 0 ) - del(src) - return - return 0 - return 1 -*/ - -#undef NODERANGE - -//clothing, weapons, and other items that can be worn or used in some way - -/obj/item/clothing/under/rank/navywarden - desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for more robust protection. It has the word \"Warden\" written on the shoulders." - name = "warden's jumpsuit" - icon_state = "wardendnavyclothes" - item_state = "wardendnavyclothes" - color = "wardendnavyclothes" - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS - -/obj/item/clothing/under/rank/navysecurity - name = "security officer's jumpsuit" - desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for robust protection." - icon_state = "officerdnavyclothes" - item_state = "officerdnavyclothes" - color = "officerdnavyclothes" - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS - -/obj/item/clothing/under/rank/navyhead_of_security - desc = "It's a jumpsuit worn by those few with the dedication to achieve the position of \"Head of Security\". It has additional armor to protect the wearer." - name = "head of security's jumpsuit" - icon_state = "hosdnavyclothes" - item_state = "hosdnavyclothes" - color = "hosdnavyclothes" - armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - flags = FPRINT | TABLEPASS - -/obj/item/clothing/suit/armor/hosnavycoat - name = "armored coat" - desc = "A coat enchanced with a special alloy for some protection and style." - icon_state = "hosdnavyjacket" - item_state = "armor" - armor = list(melee = 65, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) - -/obj/item/clothing/head/beret/navysec - name = "security beret" - desc = "A beret with the security insignia emblazoned on it. For officers that are more inclined towards style than safety." - icon_state = "officerberet" - flags = FPRINT | TABLEPASS - -/obj/item/clothing/head/beret/navywarden - name = "warden's beret" - desc = "A beret with a two-colored security insignia emblazoned on it. For wardens that are more inclined towards style than safety." - icon_state = "wardenberet" - flags = FPRINT | TABLEPASS - -/obj/item/clothing/head/beret/navyhos - name = "security head's beret" - desc = "A stylish beret bearing a golden insignia that proudly displays the security coat of arms. A commander's must-have." - icon_state = "hosberet" - flags = FPRINT | TABLEPASS - -/obj/item/clothing/suit/armor/navysecvest - name = "armored coat" - desc = "An armored coat that protects against some damage." - icon_state = "officerdnavyjacket" - item_state = "armor" - flags = FPRINT | TABLEPASS - armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) - -/obj/item/clothing/suit/armor/navywardenvest - name = "Warden's jacket" - desc = "An armoured jacket with silver rank pips and livery." - icon_state = "wardendnavyjacket" - item_state = "armor" - flags = FPRINT | TABLEPASS - armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) - -//hostile entities or npcs - -/obj/item/projectile/slimeglob - icon = 'icons/obj/projectiles.dmi' - icon_state = "toxin" - damage = 20 - damage_type = BRUTE - -/obj/effect/critter/fleshmonster - name = "Fleshy Horror" - desc = "A grotesque, shambling fleshy horror... was this once a... a person?" - icon = 'icons/mob/mob.dmi' - icon_state = "horror" -/* - health = 120 - max_health = 120 - aggressive = 1 - defensive = 1 - wanderer = 1 - opensdoors = 1 - atkcarbon = 1 - atksilicon = 1 - atkcritter = 1 - atksame = 0 - atkmech = 1 - firevuln = 0.5 - brutevuln = 1 - seekrange = 25 - armor = 15 - melee_damage_lower = 12 - melee_damage_upper = 17 - angertext = "shambles" - attacktext = "slashes" - var/ranged = 0 - var/rapid = 0 - proc - Shoot(var/target, var/start, var/user, var/bullet = 0) - OpenFire(var/thing)//bluh ill rename this later or somethin - - - Die() - if (!src.alive) return - src.alive = 0 - walk_to(src,0) - src.visible_message("[src] disintegrates into mush!") - playsound(loc, 'sound/voice/hiss6.ogg', 80, 1, 1) - var/turf/Ts = get_turf(src) - new /obj/effect/decal/cleanable/blood(Ts) - del(src) - - seek_target() - src.anchored = 0 - var/T = null - for(var/mob/living/C in view(src.seekrange,src))//TODO: mess with this - if (src.target) - src.task = "chasing" - break - if((C.name == src.oldtarget_name) && (world.time < src.last_found + 100)) continue - if(istype(C, /mob/living/carbon/) && !src.atkcarbon) continue - if(istype(C, /mob/living/silicon/) && !src.atksilicon) continue - if(C.health < 0) continue - if(istype(C, /mob/living/carbon/) && src.atkcarbon) - if(C:mind) - if(C:mind:special_role == "H.I.V.E") - continue - src.attack = 1 - if(istype(C, /mob/living/silicon/) && src.atksilicon) - if(C:mind) - if(C:mind:special_role == "H.I.V.E") - continue - src.attack = 1 - if(src.attack) - T = C - break - - if(!src.attack) - for(var/obj/effect/critter/C in view(src.seekrange,src)) - if(istype(C, /obj/effect/critter) && !src.atkcritter) continue - if(C.health <= 0) continue - if(istype(C, /obj/effect/critter) && src.atkcritter) - if((istype(C, /obj/effect/critter/hivebot) && !src.atksame) || (C == src)) continue - T = C - break - - for(var/obj/mecha/M in view(src.seekrange,src)) - if(istype(M, /obj/mecha) && !src.atkmech) continue - if(M.health <= 0) continue - if(istype(M, /obj/mecha) && src.atkmech) src.attack = 1 - if(src.attack) - T = M - break - - if(src.attack) - src.target = T - src.oldtarget_name = T:name - if(src.ranged) - OpenFire(T) - return - src.task = "chasing" - return - - - OpenFire(var/thing) - src.target = thing - src.oldtarget_name = thing:name - for(var/mob/O in viewers(src, null)) - O.show_message("\red [src] spits a glob at [src.target]!", 1) - - var/tturf = get_turf(target) - if(rapid) - spawn(1) - Shoot(tturf, src.loc, src) - spawn(4) - Shoot(tturf, src.loc, src) - spawn(6) - Shoot(tturf, src.loc, src) - else - Shoot(tturf, src.loc, src) - - src.attack = 0 - sleep(12) - seek_target() - src.task = "thinking" - return - - - Shoot(var/target, var/start, var/user, var/bullet = 0) - if(target == start) - return - - var/obj/item/projectile/slimeglob/A = new /obj/item/projectile/slimeglob(user:loc) - playsound(user, 'sound/weapons/bite.ogg', 100, 1) - - if(!A) return - - if (!istype(target, /turf)) - del(A) - return - A.current = target - A.yo = target:y - start:y - A.xo = target:x - start:x - spawn( 0 ) - A.process() - return -*/ - -obj/effect/critter/fleshmonster/fleshslime - name = "Flesh Slime" - icon = 'code/WorkInProgress/Susan/biocraps.dmi' - icon_state = "livingflesh" - desc = "A creature that appears to be made out of living tissue strewn together haphazardly. Some kind of liquid bubbles from its maw." - //ranged = 1 \ No newline at end of file diff --git a/code/WorkInProgress/Tastyfish/Eliza.dm b/code/WorkInProgress/Tastyfish/Eliza.dm deleted file mode 100644 index 6fc0e2e3561..00000000000 --- a/code/WorkInProgress/Tastyfish/Eliza.dm +++ /dev/null @@ -1,152 +0,0 @@ -// Contains: -// /datum/text_parser/parser/eliza -// /datum/text_parser/keyword - -/datum/text_parser/parser/eliza - //var/datum/text_parser/reply/replies[] // R(X) 36 - var/prev_reply = "" // previous reply - var/username = "" - var/callsign = "" - var/yesno_state = "" - var/yesno_param = "" - -/datum/text_parser/parser/eliza/new_session() - ..() - for(var/datum/text_parser/keyword/key in keywords) - key.eliza = src - - prev_reply = "" - username = "" - yesno_state = "" - yesno_param = "" - print("Hi! I'm [callsign], how are you doing? You can talk to me by beginning your statements with \"[callsign],\"") - -/datum/text_parser/parser/eliza/process_line() - ..() - // pad so we can detect initial and final words correctly - input_line = " " + src.input_line + " " - // remove apostrophes - for(var/i = -1, i != 0, i = findtext(input_line, "'")) - if(i == -1) - continue - input_line = copytext(input_line, 1, i) + copytext(input_line, i + 1, 0) - - // did user insult us? (i don't really want cursing in the source code, - // so keep it the simple original check from the 70's code :p) - if(findtext(input_line, "shut")) - // sssh - return - - if(input_line == prev_reply) - print("Please don't repeat yourself!") - - // find a keyword - var/keyphrase = "" - var/datum/text_parser/keyword/keyword // the actual keyword - var/keypos = 0 // pos of keyword so we can grab extra text after it - - for(var/i = 1, i <= keywords.len, i++) - keyword = keywords[i] - for(var/j = 1, j <= keyword.phrases.len, j++) - keypos = findtext(input_line, " " + keyword.phrases[j]) - if(keypos != 0) - // found it! - keyphrase = keyword.phrases[j] - break - if(keyphrase != "") - break - - //world << "keyphrase: " + keyphrase + " " + num2text(keypos) - - var/conjugated = "" - // was it not recognized? then make it nokeyfound - if(keyphrase == "") - keyword = keywords[keywords.len] // nokeyfound - else - // otherwise, business as usual - - // let's conjugate this mess - conjugated = copytext(input_line, 1 + keypos + lentext(keyphrase)) - - // go ahead and strip punctuation - if(lentext(conjugated) > 0 && copytext(conjugated, lentext(conjugated)) == " ") - conjugated = copytext(conjugated, 1, lentext(conjugated)) - if(lentext(conjugated) > 0) - var/final_punc = copytext(conjugated, lentext(conjugated)) - if(final_punc == "." || final_punc == "?" || final_punc == "!") - conjugated = copytext(conjugated, 1, lentext(conjugated)) - - conjugated += " " - - if(keyword.conjugate) - // now run through conjugation pairs - for(var/i = 1, i <= lentext(conjugated), i++) - for(var/x = 1, x <= conjugs.len, x += 2) - var/cx = conjugs[x] - var/cxa = conjugs[x + 1] - if(i + lentext(cx) <= lentext(conjugated) + 1 && cmptext(cx, copytext(conjugated, i, i + lentext(cx)))) - // world << cx - - conjugated = copytext(conjugated, 1, i) + cxa + copytext(conjugated, i + lentext(cx)) - i = i + lentext(cx) - // don't count right padding - if(copytext(cx, lentext(cx)) == " ") - i-- - break - else if(i + lentext(cxa) <= lentext(conjugated) + 1 && cmptext(cxa, copytext(conjugated, i, i + lentext(cxa)))) - // world << cxa - - conjugated = copytext(conjugated, 1, i) + cx + copytext(conjugated, i + lentext(cxa)) - i = i + lentext(cxa) - // don't count right padding - if(copytext(cxa, lentext(cxa)) == " ") - i-- - break - - conjugated = copytext(conjugated, 1, lentext(conjugated)) - - //world << "Conj: " + conjugated - - // now actually get a reply - var/reply = keyword.process(conjugated) - print(reply) - - prev_reply = reply - -/datum/text_parser/keyword - var/list/phrases = new() - var/list/replies = new() - var/datum/text_parser/parser/eliza/eliza - var/conjugate = 1 - - New(p, r) - phrases = p - replies = r - - proc/process(object) - eliza.yesno_state = "" - eliza.yesno_param = "" - var/reply = pick(replies) - if(copytext(reply, lentext(reply)) == "*") - // add object of statement (hopefully not actually mess :p) - if(object == "") - object = pick(generic_objects) - // possibly add name or just ? - if(eliza.username != "" && rand(3) == 0) - object += ", " + eliza.username - return copytext(reply, 1, lentext(reply)) + object + "?" - else - // get punct - var/final_punc = "" - if(lentext(reply) > 0) - final_punc = copytext(reply, lentext(reply)) - if(final_punc == "." || final_punc == "?" || final_punc == "!") - reply = copytext(reply, 1, lentext(reply)) - else - final_punc = "" - - // possibly add name or just ?/./! - if(eliza.username != "" && rand(2) == 0) - reply += ", " + eliza.username - - return reply + final_punc diff --git a/code/WorkInProgress/Tastyfish/Eliza_Data.dm b/code/WorkInProgress/Tastyfish/Eliza_Data.dm deleted file mode 100644 index 2fbbfb030bc..00000000000 --- a/code/WorkInProgress/Tastyfish/Eliza_Data.dm +++ /dev/null @@ -1,435 +0,0 @@ -// Contains: -// Implementation-specific data for /datum/text_parser/parser/eliza - -/datum/text_parser/keyword - // if we have a * reply, but no object from the user - var/list/generic_objects = list( - " what", " something", "...") - - var/list/object_leaders = list( - " is ", "'s ") - -/datum/text_parser/parser/eliza - - // conjugation data - var/list/conjugs = list( - " are ", " am ", " were ", " was ", " you ", " me ", " you ", " i " , " your ", " my ", - " ive ", " youve ", " Im ", " youre ") - - // keywords / replies - var/list/keywords = list( - new/datum/text_parser/keyword/tell( // NT-like - list("tell"), - list( - "Told *")), - new/datum/text_parser/keyword( - list("can you"), - list( - "Dont you believe that I can*", - "Perhaps you would like to be able to*", - "You want me to be able to*")), - new/datum/text_parser/keyword( - list("can i"), - list( - "Perhaps you don't want to*", - "Do you want to be able to*")), - new/datum/text_parser/keyword( - list("you are", "youre"), - list( - "What makes you think I am*", - "Does it please you to believe that I am*", - "Perhaps you would like to be*", - "Do you sometimes wish you were*")), - new/datum/text_parser/keyword( - list("i dont"), - list( - "Don't you really*", - "Why don't you*", - "Do you wish to be able to*", - "Does that trouble you?")), - new/datum/text_parser/keyword( - list("i feel"), - list( - "Tell me more about such feelings.", - "Do you often feel*", - "Do you enjoy feeling*")), - new/datum/text_parser/keyword( - list("why dont you"), - list( - "Do you really believe I don't*", - "Perhaps in good time I will*", - "Do you want me to*")), - new/datum/text_parser/keyword( - list("why cant i"), - list( - "Do you think you should be able to*", - "Why can't you*")), - new/datum/text_parser/keyword( - list("are you"), - list( - "Why are you interested in whether or not I am*", - "Would you prefer if I were not*", - "Perhaps in your fantasies I am*")), - new/datum/text_parser/keyword( - list("i cant"), - list( - "How do you know I can't*", - "Have you tried?", - "Perhaps you can now*")), - new/datum/text_parser/keyword/setparam/username( - list("my name", "im called", "am called", "call me"), - list( - "Your name is *", - "You call yourself *", - "You're called *")), - new/datum/text_parser/keyword/setparam/callsign( - list("your name", "call yourself"), - list( - "My name is *", - "I call myself *", - "I'm called *")), - new/datum/text_parser/keyword( - list("i am", "im"), - list( - "Did you come to me because you are*", - "How long have you been*", - "Do you believe it is normal to be*", - "Do you enjoy being*")), - new/datum/text_parser/keyword( - list("thanks", "thank you"), - list( - "You're welcome.", - "No problem.", - "Thank you!")), - new/datum/text_parser/keyword( - list("you"), - list( - "We were discussing you - not me.", - "Oh, I*", - "You're not really talking about me, are you?")), - new/datum/text_parser/keyword( - list("i want","i like"), - list( - "What would it mean if you got*", - "Why do you want*", - "Suppose you got*", - "What if you never got*", - "I sometimes also want*")), - new/datum/text_parser/keyword( - list("what", "how", "who", "where", "when", "why"), - list( - "Why do you ask?", - "Does that question interest you?", - "What answer would please you the most?", - "What do you think?", - "Are such questions on your mind often?", - "What is it you really want to know?", - "Have you asked anyone else?", - "Have you asked such questions before?", - "What else comes to mind when you ask that?")), - new/datum/text_parser/keyword/paramlist/pick( // NT-like - list("pick","choose"), - list( - "I choose... *", - "I prefer *", - "My favorite is *")), - new/datum/text_parser/keyword( - list("name"), - list( - "Names don't interest me.", - "I don't care about names. Go on.")), - new/datum/text_parser/keyword( - list("cause"), - list( - "Is that a real reason?", - "Don't any other reasons come to mind?", - "Does that reason explain anything else?", - "What other reason might there be?")), - new/datum/text_parser/keyword( - list("sorry"), - list( - "Please don't apologize.", - "Apologies are not necessary.", - "What feelings do you get when you apologize?", - "Don't be so defensive!")), - new/datum/text_parser/keyword( - list("dream"), - list( - "What does that dream suggest to you?", - "Do you dream often?", - "What persons are in your dreams?", - "Are you disturbed by your dreams?")), - new/datum/text_parser/keyword( - list("hello", "hi", "yo", "hiya"), - list( - "How do you do... Please state your name and problem.")), - new/datum/text_parser/keyword( - list("go away", "bye"), - list( - "Good bye. I hope to have another session with you soon.")), - new/datum/text_parser/keyword( - list("maybe", "sometimes", "probably", "mostly", "most of the time"), - list( - "You don't seem quite certain.", - "Why the uncertain tone?", - "Can't you be more positive?", - "You aren't sure?", - "Don't you know?")), - new/datum/text_parser/keyword/no( - list("no", "nope", "nah"), - list( - "Are you saying that just to be negative?", - "You are being a bit negative.", - "Why not?", - "Are you sure?", - "Why no?")), - new/datum/text_parser/keyword( - list("your"), - list( - "Why are you concerned about my*", - "What about your own*")), - new/datum/text_parser/keyword( - list("always"), - list( - "Can you think of a specific example?", - "When?", - "What are you thinking of?", - "Really, always?")), - new/datum/text_parser/keyword( - list("think"), - list( - "Do you really think so?", - "But you're not sure you*", - "Do you doubt you*")), - new/datum/text_parser/keyword( - list("alike"), - list( - "In what way?", - "What resemblence do you see?", - "What does the similarity suggest to you?", - "What other connections do you see?", - "Count there really be some connection?", - "How?", - "You seem quite positive.")), - new/datum/text_parser/keyword/yes( - list("yes", "yep", "yeah", "indeed"), - list( - "Are you sure?", - "I see.", - "I understand.")), - new/datum/text_parser/keyword( - list("friend"), - list( - "Why do you bring up the topic of friends?", - "Why do your friends worry you?", - "Do your friends pick on you?", - "Are you sure you have any friends?", - "Do you impose on your friends?", - "Perhaps your love for friends worries you?")), - new/datum/text_parser/keyword( - list("computer", "bot", "ai"), - list( - "Do computers worry you?", - "Are you talking about me in particular?", - "Are you frightened by machines?", - "Why do your mention computers?", - "What do you think computers have to do with your problem?", - "Don't you think computers can help people?", - "What is it about machines that worries you?")), - new/datum/text_parser/keyword( - list("murder", "death", "kill", "dead", "destroy", "traitor", "synd"), - list( - "Well, that's rather morbid.", - "Do you think that caused a trauma with you?", - "Have you ever previously spoken to anybody about this?")), - new/datum/text_parser/keyword( - list("bomb", "explosive", "toxin", "plasma"), - list( - "Do you worry about bombs often?", - "Do you work in toxins?", - "Do you find it odd to worry about bombs on a toxins research vessel?")), - new/datum/text_parser/keyword( - list("work", "job", "head", "staff", "transen"), - list( - "Do you like working here?", - "What are your feelings on working here?")), - new/datum/text_parser/keyword( - list("nokeyfound"), - list( - "Say, do you have any psychological problems?", - "What does that suggest to you?", - "I see.", - "I'm not sure I understand you fully.", - "Come elucidate on your thoughts.", - "Can you elaborate on that?", - "That is quite interesting."))) - -/datum/text_parser/keyword/setparam - proc/param(object) - - // drop leading parts - for(var/leader in object_leaders) - var/i = findtext(object, leader) - if(i) - object = copytext(object, i + lentext(leader)) - break - - // trim spaces - object = trim(object) - - // trim punctuation - if(lentext(object) > 0) - var/final_punc = copytext(object, lentext(object)) - if(final_punc == "." || final_punc == "?" || final_punc == "!") - object = copytext(object, 1, lentext(object)) - - return object - -/datum/text_parser/keyword/paramlist - proc/param(object) - // drop leading parts - for(var/leader in object_leaders) - var/i = findtext(object, leader) - if(i) - object = copytext(object, i + lentext(leader)) - break - - // trim spaces - object = trim(object) - - // trim punctuation - if(lentext(object) > 0) - var/final_punc = copytext(object, lentext(object)) - if(final_punc == "." || final_punc == "?" || final_punc == "!") - object = copytext(object, 1, lentext(object)) - - return dd_text2list(object, ",") - -/datum/text_parser/keyword/setparam/username - process(object) - object = param(object) - - // handle name - if(eliza.username == "") - // new name - var/t = ..(object) - eliza.yesno_state = "username" - eliza.yesno_param = object - return t - else if(cmptext(eliza.username, object)) - // but wait! - return "You already told me your name was [eliza.username]." - else - eliza.yesno_state = "username" - eliza.yesno_param = object - return "But you previously told me your name was [eliza.username]. Are you sure you want to be called [object]?" - -/datum/text_parser/keyword/setparam/callsign - process(object) - object = param(object) - - // handle name - if(eliza.callsign == "") - // new name - var/t = ..(object) - eliza.yesno_state = "callsign" - eliza.yesno_param = object - return t - else if(cmptext(eliza.callsign, object)) - // but wait! - return "You already told me that I should answer to [eliza.callsign]." - else - eliza.yesno_state = "callsign" - eliza.yesno_param = object - return "But you previously told me my name was [eliza.callsign]. Are you sure you want me to be called [object]?" - -/datum/text_parser/keyword/paramlist/pick - process(object) - var/choice = pick(param(object)) - return ..(choice) - -/datum/text_parser/keyword/tell - conjugate = 0 - - process(object) - // get name & message - var/i = findtext(object, ",") - var/sl = 1 - if(!i || lentext(object) < i + sl) - return "Tell who that you what?" - - var/name = trim(copytext(object, 1, i)) - object = trim(copytext(object, i + sl)) - if(!lentext(name) || !lentext(object)) - return "Tell who that you what?" - - // find PDA - var/obj/item/device/pda/pda - for (var/obj/item/device/pda/P in world) - if (!P.owner) - continue - else if (P.toff) - continue - - if(!cmptext(name, P.owner)) - continue - - pda = P - - if(!pda || pda.toff) - return "I couldn't find [name]'s PDA." - - // send message - if(!istype(eliza.speaker.loc.loc, /obj/item/device/pda))//Looking if we are in a PDA - pda.tnote += "← From [eliza.callsign]:
      [object]
      " - - if(prob(15) && eliza.speaker) //Give the AI a chance of intercepting the message - var/who = eliza.speaker - if(prob(50)) - who = "[eliza.speaker:master] via [eliza.speaker]" - for(var/mob/living/silicon/ai/ai in world) - ai.show_message("Intercepted message from [who]: [object]") - - if (!pda.silent) - playsound(pda.loc, 'sound/machines/twobeep.ogg', 50, 1) - for (var/mob/O in hearers(3, pda.loc)) - O.show_message(text("\icon[pda] *[pda.ttone]*")) - - pda.overlays = null - pda.overlays += image('icons/obj/pda.dmi', "pda-r") - else - var/list/href_list = list() - href_list["src"] = "\ref[eliza.speaker.loc.loc]" - href_list["choice"] = "Message" - href_list["target"] = "\ref[pda]" - href_list["pAI_mess"] = "\"[object]\" \[Via pAI Unit\]" - var/obj/item/device/pda/pda_im_in = eliza.speaker.loc.loc - pda_im_in.Topic("src=\ref[eliza.speaker.loc.loc];choice=Message;target=\ref[pda];pAI_mess=\"[object] \[Via pAI Unit\]",href_list) - return "Told [name], [object]." - -/datum/text_parser/keyword/yes - process(object) - var/reply - switch(eliza.yesno_state) - if("username") - eliza.username = eliza.yesno_param - reply = pick( - "[eliza.username] - that's a nice name.", - "Hello, [eliza.username]!", - "You sound nice.") - if("callsign") - eliza.callsign = eliza.yesno_param - eliza.set_name(eliza.callsign) - reply = pick( - "Oh, alright...", - "[eliza.callsign]... I like that.", - "OK!") - else - return ..(object) - eliza.yesno_state = "" - eliza.yesno_param = "" - return reply - -/datum/text_parser/keyword/no - process(object) - return ..(object) diff --git a/code/WorkInProgress/Tastyfish/Parser.dm b/code/WorkInProgress/Tastyfish/Parser.dm deleted file mode 100644 index 0db2a261caa..00000000000 --- a/code/WorkInProgress/Tastyfish/Parser.dm +++ /dev/null @@ -1,18 +0,0 @@ -// Contains: -// /datum/text_parser/parser - -/datum/text_parser/parser - var/input_line = "" - var/mob/speaker - -/datum/text_parser/parser/proc/print(line) - speaker.say(line) - -/datum/text_parser/parser/proc/set_name(name) - speaker.name = name - speaker.real_name = name - -/datum/text_parser/parser/proc/new_session() - input_line = "" - -/datum/text_parser/parser/proc/process_line() diff --git a/code/WorkInProgress/Tastyfish/livestock.dm b/code/WorkInProgress/Tastyfish/livestock.dm deleted file mode 100644 index f17265ba046..00000000000 --- a/code/WorkInProgress/Tastyfish/livestock.dm +++ /dev/null @@ -1,190 +0,0 @@ -// Base Class -/mob/living/simple_animal/livestock - desc = "Tasty!" - icon = 'icons/mob/livestock.dmi' - emote_see = list("shakes its head", "kicks the ground") - speak_chance = 1 - turns_per_move = 15 - meat_type = /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" - var/max_nutrition = 100 // different animals get hungry faster, basically number of 5-second steps from full to starving (60 == 5 minutes) - var/nutrition_step // cycle step in nutrition system - var/obj/movement_target // eating-ing target - - New() - if(!nutrition) - nutrition = max_nutrition * 0.33 // at 1/3 nutrition - - reagents = new() - reagents.my_atom = src - - Life() - ..() - - if(stat != DEAD) - meat_amount = round(nutrition / 50) - - nutrition_step-- - if(nutrition_step <= 0) - // handle animal digesting - if(nutrition > 0) - nutrition-- - else - health-- - nutrition_step = 50 // only tick this every 5 seconds - - // handle animal eating (borrowed from Ian code) - - // not hungry if full - if(nutrition >= max_nutrition) - return - - if((movement_target) && !(isturf(movement_target.loc))) - movement_target = null - a_intent = "help" - turns_per_move = initial(turns_per_move) - if( !movement_target || !(movement_target.loc in oview(src, 3)) ) - movement_target = null - a_intent = "help" - turns_per_move = initial(turns_per_move) - for(var/obj/item/weapon/reagent_containers/food/snacks/S in oview(src,3)) - if(isturf(S.loc) || ishuman(S.loc)) - movement_target = S - break - if(movement_target) - stop_automated_movement = 1 - step_to(src,movement_target,1) - sleep(3) - step_to(src,movement_target,1) - sleep(3) - step_to(src,movement_target,1) - - if(movement_target) //Not redundant due to sleeps, Item can be gone in 6 decisecomds - if (movement_target.loc.x < src.x) - dir = WEST - else if (movement_target.loc.x > src.x) - dir = EAST - else if (movement_target.loc.y < src.y) - dir = SOUTH - else if (movement_target.loc.y > src.y) - dir = NORTH - else - dir = SOUTH - - if(isturf(movement_target.loc)) - movement_target.attack_animal(src) - if(istype(movement_target, /obj/item/weapon/reagent_containers/food/snacks)) - var/obj/item/I = movement_target - I.attack(src, src, "mouth") // eat it, if it's food - - if(a_intent == "hurt") // to make raging critter harm, then disarm, then stop - a_intent = "disarm" - else if(a_intent == "disarm") - a_intent = "help" - movement_target = null - turns_per_move = initial(turns_per_move) - else if(ishuman(movement_target.loc)) - if(prob(20)) - emote("stares at the [movement_target] that [movement_target.loc] has with a longing expression.") - - proc/rage_at(mob/living/M) - movement_target = M // pretty simple - turns_per_move = 1 - emote("becomes enraged") - a_intent = "hurt" - - attackby(var/obj/item/O as obj, var/mob/user as mob) - if(nutrition < max_nutrition && istype(O,/obj/item/weapon/reagent_containers/food/snacks)) - O.attack_animal(src) - else - ..(O, user) - -// Cow -/mob/living/simple_animal/livestock/cow - name = "\improper Cow" - icon_state = "cow" - icon_living = "cow" - icon_dead = "cow_d" - meat_type = /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/cow - meat_amount = 10 - max_nutrition = 1000 - speak = list("Moo.","Moooo!","Snort.") - speak_emote = list("moos") - emote_hear = list("moos", "snorts") - - attackby(var/obj/item/O as obj, var/mob/user as mob) - if(istype(O,/obj/item/weapon/reagent_containers/glass)) - var/datum/reagents/R = O:reagents - - R.add_reagent("milk", 50) - nutrition -= 50 - usr << "\blue You milk the cow." - else if(O.force > 0 && O.w_class >= 2) - rage_at(user) - else - ..(O, user) - - attack_hand(var/mob/user as mob) - ..() - if(user.a_intent == "hurt") - rage_at(user) - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/cow - name = "Beef" - desc = "It's what's for dinner!" - -// Chicken -/mob/living/simple_animal/livestock/chicken - name = "\improper Chicken" - icon_state = "chick" - icon_living = "chick" - icon_dead = "chick_d" - meat_type = /obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/chicken - meat_amount = 3 - max_nutrition = 200 - speak = list("Bock bock!","Cl-cluck.","Click.") - speak_emote = list("bocks","clucks") - emote_hear = list("bocks", "clucks", "squawks") - -/mob/living/simple_animal/livestock/chicken/Life() - ..() - - // go right before cycle elapses, and if animal isn't starving - if(stat != DEAD && nutrition_step == 1 && nutrition > max_nutrition / 2) - // lay an egg with probability of 5% in 5 second time period - if(prob(33)) - new/obj/item/weapon/reagent_containers/food/snacks/egg(src.loc) // lay an egg - nutrition -= 25 - -/obj/item/weapon/reagent_containers/food/snacks/sliceable/meat/chicken - name = "Chicken" - desc = "Tasty!" - -/obj/structure/closet/critter - desc = "\improper Critter crate." - name = "Critter Crate" - icon = 'icons/obj/storage.dmi' - icon_state = "critter" - density = 1 - icon_opened = "critteropen" - icon_closed = "critter" - -/datum/supply_packs/chicken - name = "\improper Chicken crate" - contains = list("/mob/living/simple_animal/livestock/chicken", - "/obj/item/weapon/reagent_containers/food/snacks/grown/corn") - cost = 10 - containertype = "/obj/structure/closet/critter" - containername = "Chicken crate" - //group = "Hydroponics" - -/datum/supply_packs/cow - name = "\improper Cow crate" - contains = list("/mob/living/simple_animal/livestock/cow", - "/obj/item/weapon/reagent_containers/food/snacks/grown/corn") - cost = 50 - containertype = "/obj/structure/closet/critter" - containername = "Cow crate" - //group = "Hydroponics" diff --git a/code/WorkInProgress/Tastyfish/paiLiza.dm b/code/WorkInProgress/Tastyfish/paiLiza.dm deleted file mode 100644 index 7cd9a034464..00000000000 --- a/code/WorkInProgress/Tastyfish/paiLiza.dm +++ /dev/null @@ -1,28 +0,0 @@ -/datum/paiCandidate/chatbot - name = "NT Standard Chatbot" - description = "NT Standard Issue pAI Unit 13A" - role = "Advisor" - comments = "This is an actual AI." - ready = 1 - -/mob/living/silicon/pai/chatbot - var/datum/text_parser/parser/eliza/P = new() - - proc/init() - P.speaker = src - P.callsign = input("What do you want to call me?", "Chatbot Name", "NT") as text - P.set_name(P.callsign) - P.new_session() - - proc/hear_talk(mob/M, text) - if(stat) - return - - var/prefix = P.callsign + "," - - if(lentext(text) <= lentext(prefix)) - return - var/i = lentext(prefix) + 1 - if(cmptext(copytext(text, 1, i), prefix)) - P.input_line = html_decode(copytext(text, i)) - P.process_line() diff --git a/code/WorkInProgress/Tastyfish/wallmount_frame.dm b/code/WorkInProgress/Tastyfish/wallmount_frame.dm deleted file mode 100644 index 3a1e737d865..00000000000 --- a/code/WorkInProgress/Tastyfish/wallmount_frame.dm +++ /dev/null @@ -1,231 +0,0 @@ -// a frame for generic wall-mounted things, such as fire alarm, status display.. -// combination of apc_frame and machine_frame -/obj/machinery/constructable_frame/wallmount_frame - icon = 'icons/obj/stock_parts.dmi' - icon_state = "wm_0" - var/wall_offset = 24 - density = 0 - -/obj/machinery/constructable_frame/wallmount_frame/New() - spawn(1) - if (!istype(loc, /turf/simulated/floor)) - usr << "\red [name] cannot be placed on this spot." - new/obj/item/stack/sheet/metal(get_turf(src), 2) - del(src) - return - - var/turf/obj_ofs = get_step(locate(2,2,1), dir) - pixel_x = (obj_ofs.x - 2) * wall_offset - pixel_y = (obj_ofs.y - 2) * wall_offset - - var/turf/T = get_step(usr, dir) - if(!istype(T, /turf/simulated/wall)) - usr << "\red [name] must be placed on a wall." - new/obj/item/stack/sheet/metal(get_turf(src), 2) - del(src) - return - - dir = get_dir(T, loc) - -/obj/machinery/constructable_frame/wallmount_frame/attackby(obj/item/P as obj, mob/user as mob) - if(P.crit_fail) - user << "\red This part is faulty, you cannot add this to the machine!" - return - switch(state) - if(1) - if(istype(P, /obj/item/weapon/cable_coil)) - if(P:amount >= 5) - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - user << "\blue You start to add cables to the frame." - if(do_after(user, 20)) - P:amount -= 5 - if(!P:amount) del(P) - user << "\blue You add cables to the frame." - state = 2 - icon_state = "wm_1" - if(istype(P, /obj/item/weapon/wrench)) - playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1) - user << "\blue You dismantle the frame" - new /obj/item/stack/sheet/metal(src.loc, 2) - del(src) - if(2) - if(istype(P, /obj/item/weapon/circuitboard)) - var/obj/item/weapon/circuitboard/B = P - if(B.board_type == "wallmount") - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - user << "\blue You add the circuit board to the frame." - circuit = P - user.drop_item() - P.loc = src - icon_state = "wm_2" - state = 3 - components = list() - req_components = circuit.req_components.Copy() - for(var/A in circuit.req_components) - req_components[A] = circuit.req_components[A] - req_component_names = circuit.req_components.Copy() - for(var/A in req_components) - var/cp = text2path(A) - var/obj/ct = new cp() // have to quickly instantiate it get name - req_component_names[A] = ct.name - if(circuit.frame_desc) - desc = circuit.frame_desc - else - update_desc() - user << desc - else - user << "\red This frame does not accept circuit boards of this type!" - if(istype(P, /obj/item/weapon/wirecutters)) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1) - user << "\blue You remove the cables." - state = 1 - icon_state = "wm_0" - var/obj/item/weapon/cable_coil/A = new /obj/item/weapon/cable_coil( src.loc ) - A.amount = 5 - - if(3) - if(istype(P, /obj/item/weapon/crowbar)) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) - state = 2 - circuit.loc = src.loc - circuit = null - if(components.len == 0) - user << "\blue You remove the circuit board." - else - user << "\blue You remove the circuit board and other components." - for(var/obj/item/weapon/W in components) - W.loc = src.loc - desc = initial(desc) - req_components = null - components = null - icon_state = "wm_1" - - if(istype(P, /obj/item/weapon/screwdriver)) - var/component_check = 1 - for(var/R in req_components) - if(req_components[R] > 0) - component_check = 0 - break - if(component_check) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - var/obj/machinery/new_machine = new src.circuit.build_path(src.loc) - new_machine.dir = dir - if(istype(circuit, /obj/item/weapon/circuitboard/status_display)) - new_machine.pixel_x = pixel_x * 1.33 - new_machine.pixel_y = pixel_y * 1.33 - else - new_machine.pixel_x = pixel_x - new_machine.pixel_y = pixel_y - for(var/obj/O in new_machine.component_parts) - del(O) - new_machine.component_parts = list() - for(var/obj/O in src) - if(circuit.contain_parts) // things like disposal don't want their parts in them - O.loc = new_machine - else - O.loc = null - new_machine.component_parts += O - if(circuit.contain_parts) - circuit.loc = new_machine - else - circuit.loc = null - new_machine.RefreshParts() - del(src) - - if(istype(P, /obj/item/weapon)) - for(var/I in req_components) - if(istype(P, text2path(I)) && (req_components[I] > 0)) - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - if(istype(P, /obj/item/weapon/cable_coil)) - var/obj/item/weapon/cable_coil/CP = P - if(CP.amount > 1) - var/camt = min(CP.amount, req_components[I]) // amount of cable to take, idealy amount required, but limited by amount provided - var/obj/item/weapon/cable_coil/CC = new /obj/item/weapon/cable_coil(src) - CC.amount = camt - CC.update_icon() - CP.use(camt) - components += CC - req_components[I] -= camt - update_desc() - break - user.drop_item() - P.loc = src - components += P - req_components[I]-- - update_desc() - break - user << desc - if(P.loc != src && !istype(P, /obj/item/weapon/cable_coil)) - user << "\red You cannot add that component to the machine!" - -/obj/item/weapon/circuitboard/firealarm - name = "Circuit board (Fire Alarm)" - build_path = "/obj/machinery/firealarm" - board_type = "wallmount" - origin_tech = "engineering=2" - frame_desc = "Requires 1 Scanning Module, 1 Capacitor, and 2 pieces of cable." - contain_parts = 0 - req_components = list( - "/obj/item/weapon/stock_parts/scanning_module" = 1, - "/obj/item/weapon/stock_parts/capacitor" = 1, - "/obj/item/weapon/cable_coil" = 2) - -/obj/item/weapon/circuitboard/alarm - name = "Circuit board (Atmospheric Alarm)" - build_path = "/obj/machinery/alarm" - board_type = "wallmount" - origin_tech = "engineering=2;programming=2" - frame_desc = "Requires 1 Scanning Module, 1 Console Screen, and 2 pieces of cable." - contain_parts = 0 - req_components = list( - "/obj/item/weapon/stock_parts/scanning_module" = 1, - "/obj/item/weapon/stock_parts/console_screen" = 1, - "/obj/item/weapon/cable_coil" = 2) - -/* oh right, not a machine :( -/obj/item/weapon/circuitboard/intercom - name = "Circuit board (Intercom)" - build_path = "/obj/item/device/radio/intercom" - board_type = "wallmount" - origin_tech = "engineering=2" - frame_desc = "Requires 1 Console Screen, and 2 piece of cable." - contain_parts = 0 - req_components = list( - "/obj/item/weapon/stock_parts/console_screen" = 1, - "/obj/item/weapon/cable_coil" = 2) -*/ - -/* too complex to set up the dept for an RC in a way intuitive for the user -/obj/item/weapon/circuitboard/requests_console - name = "Circuit board (Requests Console)" - build_path = "/obj/machinery/requests_console" - board_type = "wallmount" - origin_tech = "engineering=2;programming=2" - frame_desc = "Requires 1 radio, 1 Console Screen, and 1 piece of cable." - contain_parts = 0 - req_components = list( - "/obj/item/device/radio" = 1, - "/obj/item/weapon/stock_parts/console_screen" = 1 - "/obj/item/weapon/cable_coil" = 1) -*/ - -/obj/item/weapon/circuitboard/status_display - name = "Circuit board (Status Display)" - build_path = "/obj/machinery/status_display" - board_type = "wallmount" - origin_tech = "engineering=2,programming=2" - frame_desc = "Requires 2 Console Screens, and 1 piece of cable." - contain_parts = 0 - req_components = list( - "/obj/item/weapon/stock_parts/console_screen" = 2, - "/obj/item/weapon/cable_coil" = 1) - -/obj/item/weapon/circuitboard/light_switch - name = "Circuit board (Light Switch)" - build_path = "/obj/machinery/light_switch" - board_type = "wallmount" - origin_tech = "engineering=2" - frame_desc = "Requires 2 pieces of cable." - contain_parts = 0 - req_components = list( - "/obj/item/weapon/cable_coil" = 2) diff --git a/code/WorkInProgress/Wrongnumber/weldbackpack.dm b/code/WorkInProgress/Wrongnumber/weldbackpack.dm deleted file mode 100644 index b0a9f87b235..00000000000 --- a/code/WorkInProgress/Wrongnumber/weldbackpack.dm +++ /dev/null @@ -1,51 +0,0 @@ -/obj/item/weapon/weldpack - name = "Welding kit" - desc = "A heavy-duty, portable welding fluid carrier." - slot_flags = SLOT_BACK - icon = 'icons/obj/storage.dmi' - icon_state = "welderpack" - w_class = 4.0 - var/max_fuel = 350 - -/obj/item/weapon/weldpack/New() - var/datum/reagents/R = new/datum/reagents(max_fuel) //Lotsa refills - reagents = R - R.my_atom = src - R.add_reagent("fuel", max_fuel) - -/obj/item/weapon/weldpack/attackby(obj/item/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/T = W - if(T.welding & prob(50)) - message_admins("[key_name_admin(user)] triggered a fueltank explosion.") - log_game("[key_name(user)] triggered a fueltank explosion.") - user << "\red That was stupid of you." - explosion(get_turf(src),-1,0,2) - if(src) - del(src) - return - else - if(T.welding) - user << "\red That was close!" - src.reagents.trans_to(W, T.max_fuel) - user << "\blue Welder refilled!" - playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6) - return - user << "\blue The tank scoffs at your insolence. It only provides services to welders." - return - -/obj/item/weapon/weldpack/afterattack(obj/O as obj, mob/user as mob) - if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.reagents.total_volume < max_fuel) - O.reagents.trans_to(src, max_fuel) - user << "\blue You crack the cap off the top of the pack and fill it back up again from the tank." - playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6) - return - else if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1 && src.reagents.total_volume == max_fuel) - user << "\blue The pack is already full!" - return - -/obj/item/weapon/weldpack/examine() - set src in usr - usr << text("\icon[] [] units of fuel left!", src, src.reagents.total_volume) - ..() - return diff --git a/code/WorkInProgress/ZomgPonies/clothing/civilian.dm b/code/WorkInProgress/ZomgPonies/clothing/civilian.dm deleted file mode 100644 index 507cd00f4da..00000000000 --- a/code/WorkInProgress/ZomgPonies/clothing/civilian.dm +++ /dev/null @@ -1,30 +0,0 @@ -//Mime's Hardsuit -/obj/item/clothing/head/helmet/space/eva/mime - name = "mime eva helmet" -// icon = 'spaceciv.dmi' - desc = "An eva helmet specifically designed for the mime." - icon_state = "spacemimehelmet" - item_state = "spacemimehelmet" - -obj/item/clothing/suit/space/eva/mime - name = "mime eva suit" -// icon = 'spaceciv.dmi' - desc = "An EVA suit specifically designed for the mime." - icon_state = "spacemime_suit" - item_state = "spacemime_items" - allowed = list(/obj/item/weapon/tank) - -/obj/item/clothing/head/helmet/space/eva/clown - name = "clown eva helmet" -// icon = 'spaceciv.dmi' - desc = "An EVA helmet specifically designed for the clown. SPESSHONK!" - icon_state = "clownhelmet" - item_state = "clownhelmet" - -obj/item/clothing/suit/space/eva/clown - name = "clown eva suit" -// icon = 'spaceciv.dmi' - desc = "An EVA suit specifically designed for the clown. SPESSHONK!" - icon_state = "spaceclown_suit" - item_state = "spaceclown_items" - allowed = list(/obj/item/weapon/tank) diff --git a/code/WorkInProgress/ZomgPonies/mobs/metroid/Readme.txt b/code/WorkInProgress/ZomgPonies/mobs/metroid/Readme.txt deleted file mode 100644 index 81a5feee3e5..00000000000 --- a/code/WorkInProgress/ZomgPonies/mobs/metroid/Readme.txt +++ /dev/null @@ -1 +0,0 @@ -replaces code/modules/mobs/living/carbon/metroid/powers.dm \ No newline at end of file diff --git a/code/WorkInProgress/ZomgPonies/mobs/metroid/powers.dm b/code/WorkInProgress/ZomgPonies/mobs/metroid/powers.dm deleted file mode 100644 index dcca8f516ed..00000000000 --- a/code/WorkInProgress/ZomgPonies/mobs/metroid/powers.dm +++ /dev/null @@ -1,277 +0,0 @@ -/mob/living/carbon/slime/verb/Feed() - set category = "Abilities" - 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(Victim) - Feedstop() - return - - if(stat) - src << "I must be conscious to do this..." - return - - var/list/choices = list() - for(var/mob/living/C in view(1,src)) - if(C!=src && !istype(C,/mob/living/carbon/slime) && Adjacent(C)) - choices += C - - var/mob/living/carbon/M = pick(choices) - if(!M) return - if(Adjacent(M)) - - if(!istype(src, /mob/living/carbon/brain)) - if(!istype(M, /mob/living/carbon/slime)) - if(stat != 2) - if(health > -70) - - for(var/mob/living/carbon/slime/met in view()) - if(met.Victim == M && met != src) - src << "The [met.name] is already feeding on this subject..." - return - src << "\blue I have latched onto the subject and begun feeding..." - M << "\red The [src.name] has latched onto your head!" - Feedon(M) - - else - src << "This subject does not have a strong enough life energy..." - else - src << "This subject does not have an edible life energy..." - else - src << "I must not feed on my brothers..." - else - src << "This subject does not have an edible life energy..." - - - -/mob/living/carbon/slime/proc/Feedon(var/mob/living/carbon/M) - Victim = M - src.loc = M.loc - canmove = 0 - anchored = 1 - var/lastnut = nutrition - //if(M.client) M << "\red You legs become paralyzed!" - if(istype(src, /mob/living/carbon/slime/adult)) - icon_state = "[colour] adult slime eat" - else - icon_state = "[colour] baby slime eat" - - while(Victim && M.health > -70 && stat != 2) - // M.canmove = 0 - canmove = 0 - - if(Adjacent(M)) - loc = M.loc - - if(prob(15) && M.client && istype(M, /mob/living/carbon)) - M << "\red [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!")]" - - if(istype(M, /mob/living/carbon)) - Victim.adjustCloneLoss(rand(1,10)) - Victim.adjustToxLoss(rand(1,2)) - if(Victim.health <= 0) - Victim.adjustToxLoss(rand(2,4)) - - // Heal yourself - adjustToxLoss(-10) - adjustOxyLoss(-10) - adjustBruteLoss(-10) - adjustFireLoss(-10) - adjustCloneLoss(-10) - - if(Victim) - for(var/mob/living/carbon/slime/slime in view(1,M)) - if(slime.Victim == M && slime != src) - slime.Feedstop() - - nutrition += rand(10,25) - if(nutrition >= lastnut + 50) - if(prob(80)) - lastnut = nutrition - powerlevel++ - if(powerlevel > 10) - powerlevel = 10 - - if(istype(src, /mob/living/carbon/slime/adult)) - if(nutrition > 1200) - nutrition = 1200 - else - if(nutrition > 1000) - nutrition = 1000 - - Victim.updatehealth() - updatehealth() - - else - if(prob(25)) - src << "\red [pick("This subject is incompatable", \ - "This subject does not have a 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")]..." - - sleep(rand(15,45)) - - else - break - - if(stat == 2) - if(!istype(src, /mob/living/carbon/slime/adult)) - icon_state = "[colour] baby slime dead" - - else - if(istype(src, /mob/living/carbon/slime/adult)) - icon_state = "[colour] adult slime" - else - icon_state = "[colour] baby slime" - - canmove = 1 - anchored = 0 - - if(M) - if(M.health <= -70) - M.canmove = 0 - if(!client) - if(Victim && !rabid && !attacked) - if(Victim.LAssailant && Victim.LAssailant != Victim) - if(prob(50)) - if(!(Victim.LAssailant in Friends)) - Friends.Add(Victim.LAssailant) // no idea why i was using the |= operator - - if(M.client && istype(src, /mob/living/carbon/human)) - if(prob(85)) - rabid = 1 // UUUNNBGHHHH GONNA EAT JUUUUUU - - if(client) src << "This subject does not have a strong enough life energy anymore..." - else - M.canmove = 1 - - if(client) src << "I have stopped feeding..." - else - if(client) src << "I have stopped feeding..." - - Victim = null - -/mob/living/carbon/slime/proc/Feedstop() - if(Victim) - if(Victim.client) Victim << "[src] has let go of your head!" - Victim = null - -/mob/living/carbon/slime/proc/UpdateFeed(var/mob/M) - if(Victim) - if(Victim == M) - loc = M.loc // simple "attach to head" effect! - - -/mob/living/carbon/slime/verb/Evolve() - set category = "Abilities" - set desc = "This will let you evolve from baby to adult slime." - - if(stat) - src << "I must be conscious to do this..." - return - if(!istype(src, /mob/living/carbon/slime/adult)) - if(amount_grown >= 10) - var/mob/living/carbon/slime/adult/new_slime = new adulttype(loc) - new_slime.nutrition = nutrition - new_slime.powerlevel = max(0, powerlevel-1) - new_slime.a_intent = "harm" - new_slime.key = key - new_slime.universal_speak = universal_speak - new_slime << "You are now an adult slime." - del(src) - else - src << "I am not ready to evolve yet..." - else - src << "I have already evolved..." - -/mob/living/carbon/slime/verb/Reproduce() - set category = "Abilities" - set desc = "This will make you split into four Slimes. NOTE: this will KILL you, but you will be transferred into one of the babies." - - if(stat) - src << "I must be conscious to do this..." - return - - if(istype(src, /mob/living/carbon/slime/adult)) - if(amount_grown >= 10) - //if(input("Are you absolutely sure you want to reproduce? Your current body will cease to be, but your consciousness will be transferred into a produced slime.") in list("Yes","No")=="Yes") - if(stat) - src << "I must be conscious to do this..." - return - - var/list/babies = list() - var/new_nutrition = round(nutrition * 0.9) - var/new_powerlevel = round(powerlevel / 4) - for(var/i=1,i<=4,i++) - if(prob(80)) - var/mob/living/carbon/slime/M = new primarytype(loc) - M.nutrition = new_nutrition - M.powerlevel = new_powerlevel - if(i != 1) step_away(M,src) - babies += M - else - var/mutations = pick("one","two","three","four") - switch(mutations) - if("one") - var/mob/living/carbon/slime/M = new mutationone(loc) - M.nutrition = new_nutrition - M.powerlevel = new_powerlevel - if(i != 1) step_away(M,src) - babies += M - if("two") - var/mob/living/carbon/slime/M = new mutationtwo(loc) - M.nutrition = new_nutrition - M.powerlevel = new_powerlevel - if(i != 1) step_away(M,src) - babies += M - if("three") - var/mob/living/carbon/slime/M = new mutationthree(loc) - M.nutrition = new_nutrition - M.powerlevel = new_powerlevel - if(i != 1) step_away(M,src) - babies += M - if("four") - var/mob/living/carbon/slime/M = new mutationfour(loc) - M.nutrition = new_nutrition - M.powerlevel = new_powerlevel - if(i != 1) step_away(M,src) - babies += M - - var/mob/living/carbon/slime/new_slime = pick_n_take(babies) - new_slime.a_intent = "harm" - new_slime.universal_speak = universal_speak - new_slime.key = key - - new_slime << "You are now a slime!" - - if(new_slime.client) - if(babies.len) - var/list/candidates = get_candidates(BE_SLIME) - if(candidates.len) - var/mob/dead/observer/picked = pick(candidates) - var/mob/living/carbon/slime/S = pick(babies) - S.key = picked - S.a_intent = "harm" - S.universal_speak = universal_speak - S << "You are now a slime!" - - - else - new_slime << "You're an only child!" - else - src << "I am not ready to reproduce yet..." - else - src << "I am not old enough to reproduce yet..." - - - -/mob/living/carbon/slime/verb/ventcrawl() - set name = "Crawl through Vent" - set desc = "Enter an air vent and crawl through the pipe system." - set category = "Abilities" - if(Victim) return - handle_ventcrawl() \ No newline at end of file diff --git a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmor.dm b/code/WorkInProgress/ZomgPonies/powerarmor/powerarmor.dm deleted file mode 100644 index b5226dbad49..00000000000 --- a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmor.dm +++ /dev/null @@ -1,297 +0,0 @@ -/* - * File Updated to match /tg/station code standards on the 28/12/2013 (UK/GMT) by RobRichards - */ - -/obj/item/clothing/suit/space/powered - name = "Powered armor suit" - desc = "Not for rookies." - icon_state = "power_armour" - item_state = "swat" - w_class = 4//bulky item - - - flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE - body_parts_covered = UPPER_TORSO|LEGS|FEET|ARMS - armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/gun,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen) - slowdown = 5 - var/fuel = 0 - - var/list/togglearmor = list(melee = 90, bullet = 70, laser = 60,energy = 40, bomb = 75, bio = 75, rad = 75) - var/active = 0 - - var/helmrequired = 1 - var/obj/item/clothing/head/space/powered/helm - - var/glovesrequired = 1 - var/obj/item/clothing/gloves/powered/gloves - - var/shoesrequired = 1 - var/obj/item/clothing/shoes/powered/shoes - //Adding gloves and shoes as possible armor components. --NEO - - var/obj/item/powerarmor/servos/servos - var/obj/item/powerarmor/reactive/reactive - var/obj/item/powerarmor/atmoseal/atmoseal - var/obj/item/powerarmor/power/power - -/obj/item/clothing/suit/space/powered/New() - verbs += /obj/item/clothing/suit/space/powered/proc/poweron - -/obj/item/clothing/suit/space/powered/proc/poweron() - set category = "Object" - set name = "Activate armor systems" - - var/mob/living/carbon/human/user = usr - - if(user.stat) - return //if you're unconscious or dead, no dicking with your armor. --NEO - - if(!istype(user)) - user << "This suit was engineered for human use only." - return - - if(user.wear_suit!=src) - user << "The suit functions best if you are inside of it." - return - - if(helmrequired && !istype(user.head, /obj/item/clothing/head/space/powered)) - user << "Helmet missing, unable to initiate power-on procedure." - return - - if(glovesrequired && !istype(user.gloves, /obj/item/clothing/gloves/powered)) - user << "Gloves missing, unable to initiate power-on procedure." - return - - if(shoesrequired && !istype(user.shoes, /obj/item/clothing/shoes/powered)) - user << "Shoes missing, unable to initiate power-on procedure." - return - - if(active) - user << "The suit is already on, you can't turn it on twice." - return - - if(!power || !power.checkpower()) - user << "Powersource missing or depleted." - return - - verbs -= /obj/item/clothing/suit/space/powered/proc/poweron - - user << "Suit interlocks engaged." - if(helmrequired) - helm = user.head - helm.canremove = 0 - if(glovesrequired) - gloves = user.gloves - gloves.canremove = 0 - if(shoesrequired) - shoes = user.shoes - shoes.canremove = 0 - canremove = 0 - sleep(20) - - if(atmoseal) - atmoseal.toggle() - sleep(20) - - if(reactive) - reactive.toggle() - sleep(20) - - if(servos) - servos.toggle() - sleep(20) - - user << "All systems online." - active = 1 - power.process() - - verbs += /obj/item/clothing/suit/space/powered/proc/poweroff - - -/obj/item/clothing/suit/space/powered/proc/poweroff() - set category = "Object" - set name = "Deactivate armor systems" - powerdown() //BYOND doesn't seem to like it if you try using a proc with vars in it as a verb, hence this. --NEO - -/obj/item/clothing/suit/space/powered/proc/powerdown(sudden = 0) - - var/delay = sudden?0:20 - - var/mob/living/carbon/human/user = usr - - if(user.stat && !sudden) - return //if you're unconscious or dead, no dicking with your armor. --NEO - - if(!active) - return - - verbs -= /obj/item/clothing/suit/space/powered/proc/poweroff - - if(sudden) - user << "Your armor loses power!" - - if(servos) - servos.toggle(sudden) - sleep(delay) - - if(reactive) - reactive.toggle(sudden) - sleep(delay) - - if(atmoseal) - if(istype(atmoseal, /obj/item/powerarmor/atmoseal/optional) && helm) - var/obj/item/powerarmor/atmoseal/optional/Atmo_seal = atmoseal - Atmo_seal.helmtoggle(sudden) - atmoseal.toggle(sudden) - - sleep(delay) - - if(!sudden) - usr << "Suit interlocks disengaged." - if(helm) - helm.canremove = 1 - helm = null - if(gloves) - gloves.canremove = 1 - gloves = null - if(shoes) - shoes.canremove = 1 - gloves = null - canremove = 1 - //Not a tabbing error, the thing only unlocks if you intentionally power-down the armor. --NEO - sleep(delay) - - if(!sudden) - usr << "All systems disengaged." - - active = 0 - verbs += /obj/item/clothing/suit/space/powered/proc/poweron - - - -/obj/item/clothing/suit/space/powered/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(power && istype(power,/obj/item/powerarmor/power/plasma)) - var/obj/item/powerarmor/power/plasma/Plasma_power = power - switch(W.type) - if(/obj/item/stack/sheet/mineral/plasma) - var/obj/item/stack/sheet/mineral/plasma/P = W - if(fuel < 50) - user << "You feed some refined plasma into the armor's generator." - Plasma_power.fuel += 25 - P.amount-- - if (P.amount <= 0) - del(P) - return - else - user << "The generator already has plenty of plasma." - return - - if(/obj/item/weapon/ore/plasma) //raw plasma has impurities, so it doesn't provide as much fuel. --NEO - if(fuel < 50) - user << "You feed some plasma into the armor's generator." - Plasma_power.fuel += 15 - del(W) - return - else - user << "The generator already has plenty of plasma." - return - - if(!servos) - if(istype(W,/obj/item/powerarmor/servos)) - servos = W - W.loc = src - servos.parent = src - user << "You add some servos to the armor." - if(!reactive) - if(istype(W,/obj/item/powerarmor/reactive)) - reactive = W - W.loc = src - reactive.parent = src - user << "You add some reactive plating to the armor." - if(!atmoseal) - if(istype(W,/obj/item/powerarmor/atmoseal)) - atmoseal = W - W.loc = src - atmoseal.parent = src - user << "You add an atmospheric seals to the armor." - if(!power) - if(istype(W,/obj/item/powerarmor/power)) - power = W - W.loc = src - power.parent = src - user << "You add a power module to the armor." - else - user << "The armor already contains a module of that type.." - return - ..() - -/obj/item/clothing/head/space/powered - name = "Powered armor helmet" - desc = "Not for rookies." - flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | BLOCKHAIR - icon_state = "power_armour_helmet" - item_state = "swat" - armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) - var/obj/item/clothing/suit/space/powered/parent - slowdown = 1 - -/obj/item/clothing/head/space/powered/proc/atmotoggle() - set category = "Object" - set name = "Toggle helmet seals" - - var/mob/living/carbon/human/user = usr - - if(!istype(user)) - user << "This helmet is engineered for human use." - return - if(user.head != src) - user << "Can't engage the seals without wearing the helmet." - return - - if(!user.wear_suit || !istype(user.wear_suit,/obj/item/clothing/suit/space/powered)) - user << "This helmet can only couple with powered armor." - return - - var/obj/item/clothing/suit/space/powered/armor = user.wear_suit - - if(!armor.atmoseal || !istype(armor.atmoseal, /obj/item/powerarmor/atmoseal/optional)) - user << "This armor's atmospheric seals are missing or incompatible." - return - - armor.atmoseal:helmtoggle(0,1) - - - -/obj/item/clothing/gloves/powered - name = "Powered armor gloves" - desc = "Not for rookies." - flags = FPRINT | TABLEPASS - icon_state = "power_armour_gloves" - item_state = "power_armour_gloves" - armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) - slowdown = 1 - -/obj/item/clothing/shoes/powered - name = "Powered armor boots" - desc = "Not for rookies." - flags = FPRINT | TABLEPASS - icon_state = "power_armour_boots" - item_state = "swat" - armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) - slowdown = 2 - -obj/item/clothing/suit/space/powered/spawnable/regular/New() - servos = new /obj/item/powerarmor/servos(src) - servos.parent = src - reactive = new /obj/item/powerarmor/reactive(src) - reactive.parent = src - atmoseal = new /obj/item/powerarmor/atmoseal(src) - atmoseal.parent = src - power = new /obj/item/powerarmor/power/powercell(src) - power.parent = src - - verbs += /obj/item/clothing/suit/space/powered/proc/poweron - - var/obj/item/clothing/head/space/powered/helm = new /obj/item/clothing/head/space/powered(src.loc) - helm.verbs += /obj/item/clothing/head/space/powered/proc/atmotoggle diff --git a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm b/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm deleted file mode 100644 index 42cc7b4c444..00000000000 --- a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm +++ /dev/null @@ -1,261 +0,0 @@ -/* - * File Updated to match /tg/station code standards on the 28/12/2013 (UK/GMT) by RobRichards - */ - -/obj/item/powerarmor - name = "Generic power armor component" - desc = "This is the base object, you should never see one." - icon = 'icons/obj/stock_parts.dmi' - var/obj/item/clothing/suit/space/powered/parent //so the component knows which armor it belongs to. - slowdown = 0 //how much the component slows down the wearer - -/obj/item/powerarmor/proc/toggle() - return - //The child objects will use this proc - - -/obj/item/powerarmor/power - name = "Adminbus power armor power source" - desc = "Runs on the rare Badminium molecule." - -/obj/item/powerarmor/process() - return - -/obj/item/powerarmor/proc/checkpower() - return 1 - -/obj/item/powerarmor/power/plasma - name = "Miniaturized plasma generator" - desc = "Runs on plasma." - icon_state = "plasma" - slowdown = 1 - var/fuel = 0 - -/obj/item/powerarmor/power/plasma/process() - if (fuel > 0 && parent.active) - fuel-- - spawn(50) - process() - return - else if (parent.active) - parent.powerdown(1) - return - -/obj/item/powerarmor/power/plasma/checkpower() - return fuel - -/obj/item/powerarmor/power/powercell - name = "Powercell interface" - desc = "Boring, but reliable." - icon_state = "powercell_interface" - var/obj/item/weapon/cell/cell - slowdown = 0.5 - -/obj/item/powerarmor/power/powercell/process() - if (cell && cell.charge > 0 && parent.active) - cell.use(500) - spawn(50) - process() - return - else if (parent.active) - parent.powerdown(1) - return - -/obj/item/powerarmor/power/powercell/checkpower() - return max(cell.charge, 0) - -/obj/item/powerarmor/power/nuclear - name = "Miniaturized nuclear generator" - desc = "For all your radioactive needs." - icon_state = "nuclear" - slowdown = 1.5 - -/obj/item/powerarmor/power/nuclear/process() - if(!crit_fail) - if(prob(src.reliability)) return 1 //No failure - if(prob(src.reliability)) - for (var/mob/living/M in range(0,src.parent)) //Only a minor failure, enjoy your radiation. - if(src.parent in M.contents) - M << "Your armor feels pleasantly warm for a moment." - else - M << "You feel a warm sensation." - M.apply_effect(-rand(1,40),IRRADIATE,0) - else - for (var/mob/living/M in range(rand(1,4),src.parent)) //Big failure, TIME FOR RADIATION BITCHES - if (src.parent in M.contents) - M << "Your armor's reactor overloads!" - M << "You feel a wave of heat wash over you." - M.apply_effect(100,IRRADIATE,0) - crit_fail = 1 //broken~ - parent.powerdown(1) - spawn(50) - process() - -/obj/item/powerarmor/power/nuclear/checkpower() - return !crit_fail - -/obj/item/powerarmor/reactive - name = "Centcom power armor reactive plating" - desc = "Pretty effective against everything, not perfect though." - var/list/togglearmor = list(melee = 90, bullet = 70, laser = 60,energy = 40, bomb = 75, bio = 75, rad = 75) - slowdown = 2 - -/obj/item/powerarmor/reactive/toggle(sudden = 0) - switch(parent.active) - if(1) - if(!sudden) - usr << "Reactive armor systems disengaged." - if(0) - usr << "Reactive armor systems engaged." - var/list/switchover = list() - for (var/armorvar in parent.armor) - switchover[armorvar] = togglearmor[armorvar] - togglearmor[armorvar] = parent.armor[armorvar] - parent.armor[armorvar] = switchover[armorvar] - //Probably not the most elegant way to have the vars switch over, but it works. Also propagates the values to the other objects. - if(parent.helm) - parent.helm.armor[armorvar] = parent.armor[armorvar] - if(parent.gloves) - parent.gloves.armor[armorvar] = parent.armor[armorvar] - if(parent.shoes) - parent.shoes.armor[armorvar] = parent.armor[armorvar] - - - - -/obj/item/powerarmor/servos - name = "Power armor movement servos" - desc = "Help with moving in the the bulky armor." - icon_state = "servos" - var/toggleslowdown = 9 - -/obj/item/powerarmor/servos/toggle(sudden = 0) - switch(parent.active) - if(1) - if(!sudden) - usr << "Movement assist servos disengaged." - parent.slowdown += toggleslowdown - if(0) - usr << "Movement assist servos engaged." - parent.slowdown -= toggleslowdown - -/obj/item/powerarmor/atmoseal - name = "Power armor atmospheric seals" - desc = "Keeps the bad stuff out." - icon_state = "atmosseal" - slowdown = 1 - var/sealed = 0 - -/obj/item/powerarmor/atmoseal/toggle(sudden = 0) - switch(parent.active) - if(1) - if(!sudden) - usr << "Atmospheric seals disengaged." - parent.gas_transfer_coefficient = 1 - parent.permeability_coefficient = 1 - if(parent.helmrequired) - parent.helm.gas_transfer_coefficient = 1 - parent.helm.permeability_coefficient = 1 - parent.helm.cold_protection = initial(parent.helm.cold_protection) - parent.helm.min_cold_protection_temperature = initial(parent.helm.min_cold_protection_temperature) - parent.helm.heat_protection = initial(parent.helm.heat_protection) - parent.helm.max_heat_protection_temperature = initial(parent.helm.max_heat_protection_temperature) - if(parent.glovesrequired) - parent.gloves.gas_transfer_coefficient = 1 - parent.gloves.permeability_coefficient = 1 - parent.gloves.cold_protection = initial(parent.gloves.cold_protection) - parent.gloves.min_cold_protection_temperature = initial(parent.gloves.min_cold_protection_temperature) - parent.gloves.heat_protection = initial(parent.gloves.heat_protection) - parent.gloves.max_heat_protection_temperature = initial(parent.gloves.max_heat_protection_temperature) - if(parent.shoesrequired) - parent.shoes.gas_transfer_coefficient = 1 - parent.shoes.permeability_coefficient = 1 - parent.shoes.cold_protection = initial(parent.shoes.cold_protection) - parent.shoes.min_cold_protection_temperature = initial(parent.shoes.min_cold_protection_temperature) - parent.shoes.heat_protection = initial(parent.shoes.heat_protection) - parent.shoes.max_heat_protection_temperature = initial(parent.shoes.max_heat_protection_temperature) - sealed = 0 - - if(0) - usr << "Atmospheric seals engaged." - parent.gas_transfer_coefficient = 0.01 - parent.permeability_coefficient = 0.02 - if(parent.helmrequired) - parent.helm.gas_transfer_coefficient = 0.01 - parent.helm.permeability_coefficient = 0.02 - parent.helm.cold_protection = HEAD - parent.helm.min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE - parent.helm.heat_protection = HEAD - parent.helm.max_heat_protection_temperature = SPACE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE - if(parent.glovesrequired) - parent.gloves.gas_transfer_coefficient = 0.01 - parent.gloves.permeability_coefficient = 0.02 - parent.gloves.cold_protection = HANDS - parent.gloves.min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE - parent.gloves.heat_protection = HANDS - parent.gloves.max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE - if(parent.shoesrequired) - parent.shoes.gas_transfer_coefficient = 0.01 - parent.shoes.permeability_coefficient = 0.02 - parent.shoes.cold_protection = FEET - parent.shoes.min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE - parent.shoes.heat_protection = FEET - parent.shoes.max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE - sealed = 1 - -/obj/item/powerarmor/atmoseal/optional - name = "Togglable power armor atmospheric seals" - desc = "Keeps the bad stuff out, but lets you remove your helmet without having to turn the whole suit off." - - -/obj/item/powerarmor/atmoseal/optional/proc/helmtoggle(sudden = 0, manual = 0) - var/mob/living/carbon/human/user = usr - var/obj/item/clothing/head/space/powered/helm - if(user.head && istype(user.head,/obj/item/clothing/head/space/powered)) - helm = user.head - - if(!sealed) - user << "Unable to initialize helmet seal, armor seals not active." - return - if(!helm.parent) - user << "Helmet locked." - helm.canremove = 0 - parent.helm = helm - helm.parent = parent - sleep(20) - parent.helm.gas_transfer_coefficient = 0.01 - parent.helm.permeability_coefficient = 0.02 - parent.helm.cold_protection = HEAD - parent.helm.min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE - parent.helm.heat_protection = HEAD - parent.helm.max_heat_protection_temperature = SPACE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE - - user << "Helmet atmospheric seals engaged." - if(manual) - for (var/armorvar in helm.armor) - helm.armor[armorvar] = parent.armor[armorvar] - return - else - if(manual) - user << "Helmet atmospheric seals disengaged." - parent.helm.gas_transfer_coefficient = 1 - parent.helm.permeability_coefficient = 1 - parent.helm.cold_protection = initial(parent.helm.cold_protection) - parent.helm.min_cold_protection_temperature = initial(parent.helm.min_cold_protection_temperature) - parent.helm.heat_protection = initial(parent.helm.heat_protection) - parent.helm.max_heat_protection_temperature = initial(parent.helm.max_heat_protection_temperature) - if(manual) - for (var/armorvar in helm.armor) - helm.armor[armorvar] = parent.reactive.togglearmor[armorvar] - if(!sudden) - if(manual) - sleep(20) - user << "Helmet unlocked." - helm.canremove = 1 - parent.helm = null - helm.parent = null - - - - - diff --git a/code/WorkInProgress/animusstation/atm.dm b/code/WorkInProgress/animusstation/atm.dm deleted file mode 100644 index cc9dca7a9ff..00000000000 --- a/code/WorkInProgress/animusstation/atm.dm +++ /dev/null @@ -1,176 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06 - -/* - -TODO: -give money an actual use (QM stuff, vending machines) -send money to people (might be worth attaching money to custom database thing for this, instead of being in the ID) -log transactions - -*/ - -/obj/machinery/atm - name = "\improper Nanotrasen Automatic Teller Machine" - desc = "For all your monetary needs!" - icon = 'icons/obj/terminals.dmi' - icon_state = "atm" - anchored = 1 - use_power = 1 - idle_power_usage = 10 - var/obj/item/weapon/card/id/card - var/obj/item/weapon/spacecash/cashes = list() - var/inserted = 0 - var/accepted = 0 - var/pincode = 0 - - attackby(var/obj/A, var/mob/user) - if(istype(A,/obj/item/weapon/spacecash)) - cashes += A - user.drop_item() - A.loc = src - inserted += A:worth - return - if(istype(A,/obj/item/weapon/coin)) - if(istype(A,/obj/item/weapon/coin/iron)) - cashes += A - user.drop_item() - A.loc = src - inserted += 1 - return - if(istype(A,/obj/item/weapon/coin/silver)) - cashes += A - user.drop_item() - A.loc = src - inserted += 10 - return - if(istype(A,/obj/item/weapon/coin/gold)) - cashes += A - user.drop_item() - A.loc = src - inserted += 50 - return - if(istype(A,/obj/item/weapon/coin/plasma)) - cashes += A - user.drop_item() - A.loc = src - inserted += 2 - return - if(istype(A,/obj/item/weapon/coin/diamond)) - cashes += A - user.drop_item() - A.loc = src - inserted += 300 - return - user << "You insert your [A.name] in ATM" - ..() - - attack_hand(var/mob/user) - if(istype(user, /mob/living/silicon)) - user << "\red Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per Nanotrasen regulation #1005." - return - - if(!(stat && NOPOWER) && ishuman(user)) - var/dat - user.machine = src - if(!accepted) - if(scan(user)) - pincode = input(usr,"Enter a pin-code") as num - if(card.checkaccess(pincode,usr)) - accepted = 1 -// usr << sound('nya.mp3') - else - dat = null - dat += "

      Nanotrasen Automatic Teller Machine


      " - dat += "For all your monetary needs!

      " - dat += "Welcome, [card.registered_name]. You have [card.money] credits deposited.
      " - dat += "Current inserted item value: [inserted] credits.

      " - dat += "Please, select action
      " - dat += "Withdraw Physical Credits
      " - dat += "Eject Inserted Items
      " - dat += "Convert Inserted Items to Credits
      " - dat += "Lock ATM
      " - user << browse(dat,"window=atm") - onclose(user,"close") - proc - withdraw(var/mob/user) - if(accepted) - var/amount = input("How much would you like to withdraw?", "Amount", 0) in list(1,10,20,50,100,200,500,1000, 0) - if(amount == 0) - return - if(card.money >= amount) - card.money -= amount - switch(amount) - if(1) - new /obj/item/weapon/spacecash(loc) - if(10) - new /obj/item/weapon/spacecash/c10(loc) - if(20) - new /obj/item/weapon/spacecash/c20(loc) - if(50) - new /obj/item/weapon/spacecash/c50(loc) - if(100) - new /obj/item/weapon/spacecash/c100(loc) - if(200) - new /obj/item/weapon/spacecash/c200(loc) - if(500) - new /obj/item/weapon/spacecash/c500(loc) - if(1000) - new /obj/item/weapon/spacecash/c1000(loc) - else - user << "\red Error: Insufficient funds." - return - - scan(var/mob/user) - if(istype(user,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = user - if(H.wear_id) - if(istype(H.wear_id, /obj/item/weapon/card/id)) - card = H.wear_id - return 1 - if(istype(H.wear_id,/obj/item/device/pda)) - var/obj/item/device/pda/P = H.wear_id - if(istype(P.id,/obj/item/weapon/card/id)) - card = P.id - return 1 - return 0 - return 0 - - insert() - if(accepted) - card.money += inserted - inserted = 0 - - Topic(href,href_list) - if (usr.machine==src && get_dist(src, usr) <= 1 || istype(usr, /mob/living/silicon/ai)) - if(href_list["eca"]) - if(accepted) - for(var/obj/item/weapon/spacecash/M in cashes) - M.loc = loc - inserted = 0 - if(!cashes) - cashes = null - if(href_list["with"] && card) - withdraw(usr) - if(href_list["ins"] && card) - if(accepted) - card.money += inserted - inserted = 0 - if(cashes) - cashes = null - if(href_list["lock"]) - card = null - accepted = 0 - usr.machine = null - usr << browse(null,"window=atm") - src.updateUsrDialog() - else - usr.machine = null - usr << browse(null,"window=atm") - - -/obj/item/weapon/card/id/proc/checkaccess(p,var/mob/user) - if(p == pin) - user << "\green Access granted" - return 1 - user << "\red Access denied" - return 0 \ No newline at end of file diff --git a/code/WorkInProgress/carn/Explosion2.dm b/code/WorkInProgress/carn/Explosion2.dm deleted file mode 100644 index 06b85690024..00000000000 --- a/code/WorkInProgress/carn/Explosion2.dm +++ /dev/null @@ -1,117 +0,0 @@ -//TODO: Flash range does nothing currently -//NOTE: This has not yet been updated with the lighting deferal stuff. ~Carn -//Needs some work anyway. - -proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog = 1) - spawn(0) - var/start = world.timeofday - epicenter = get_turf(epicenter) - if(!epicenter) return - - if(adminlog) - message_admins("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range]) in area [epicenter.loc.name] ([epicenter.x],[epicenter.y],[epicenter.z] - JMP)") - log_game("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range]) in area [epicenter.loc.name] ") - - playsound(epicenter, 'sound/effects/explosionfar.ogg', 100, 1, round(devastation_range*2,1) ) - playsound(epicenter, "explosion", 100, 1, round(devastation_range,1) ) - - tension_master.explosion() - - if(defer_powernet_rebuild != 2) - defer_powernet_rebuild = 1 - - if(heavy_impact_range > 1) - var/datum/effect/system/explosion/E = new/datum/effect/system/explosion() - E.set_up(epicenter) - E.start() - - var/x = epicenter.x - var/y = epicenter.y - var/z = epicenter.z - - var/counter = 0 - - if(devastation_range > 0) - counter += explosion_turf(x,y,z,1) - else - devastation_range = 0 - if(heavy_impact_range > 0) - counter += explosion_turf(x,y,z,2) - else - heavy_impact_range = 0 - if(light_impact_range > 0) - counter += explosion_turf(x,y,z,3) - else - return - - //Diamond 'splosions (looks more round than square version) - for(var/i=0, i[copytext("\ref[powernets[i]]",8,12)]" - - -client/verb/powernet_overlays() - for(var/obj/structure/cable/C in cable_list) - C.maptext = "[copytext("\ref[C.powernet]",8,12)]" - for(var/obj/machinery/power/M in machines) - M.maptext = "[copytext("\ref[M.powernet]",8,12)]" -*/ diff --git a/code/WorkInProgress/carn/master_controller_old.dm b/code/WorkInProgress/carn/master_controller_old.dm deleted file mode 100644 index 80a7659035d..00000000000 --- a/code/WorkInProgress/carn/master_controller_old.dm +++ /dev/null @@ -1,210 +0,0 @@ -var/global/datum/controller/game_controller/master_controller //Set in world.New() -var/global/datum/failsafe/Failsafe -var/global/controller_iteration = 0 - - -var/global/last_tick_timeofday = world.timeofday -var/global/last_tick_duration = 0 - -datum/controller/game_controller - var/processing = 0 - - var/global/air_master_ready = 0 - var/global/sun_ready = 0 - var/global/mobs_ready = 0 - var/global/diseases_ready = 0 - var/global/machines_ready = 0 - var/global/objects_ready = 0 - var/global/networks_ready = 0 - var/global/powernets_ready = 0 - var/global/ticker_ready = 0 - - //Used for MC 'proc break' debugging - var/global/obj/last_obj_processed - var/global/datum/disease/last_disease_processed - var/global/obj/machinery/last_machine_processed - var/global/mob/last_mob_processed - - - proc/setup() - if(master_controller && (master_controller != src)) - del(src) - return - //There can be only one master. - - if(!air_master) - air_master = new /datum/controller/air_system() - air_master.setup() - - if(!job_master) - job_master = new /datum/controller/occupations() - if(job_master.SetupOccupations()) - world << "\red \b Job setup complete" - job_master.LoadJobs("config/jobs.txt") - - world.tick_lag = config.Ticklag - - createRandomZlevel() - - setup_objects() - - setupgenetics() - - - for(var/i = 0, i < max_secret_rooms, i++) - make_mining_asteroid_secret() - - syndicate_code_phrase = generate_code_phrase()//Sets up code phrase for traitors, for the round. - syndicate_code_response = generate_code_phrase() - - emergency_shuttle = new /datum/shuttle_controller/emergency_shuttle() - - if(!ticker) - ticker = new /datum/controller/gameticker() - - setupfactions() - - spawn - ticker.pregame() - - proc/setup_objects() - world << "\red \b Initializing objects" - sleep(-1) - - for(var/obj/object in world) - object.initialize() - - world << "\red \b Initializing pipe networks" - sleep(-1) - - for(var/obj/machinery/atmospherics/machine in world) - machine.build_network() - - world << "\red \b Initializing atmos machinery." - sleep(-1) - for(var/obj/machinery/atmospherics/unary/vent_pump/T in world) - T.broadcast_status() - for(var/obj/machinery/atmospherics/unary/vent_scrubber/T in world) - T.broadcast_status() - - world << "\red \b Initializations complete." - - - proc/process() - processing = 1 - spawn(0) - set background = 1 - while(1) - var/currenttime = world.timeofday - var/diff = (currenttime - last_tick_timeofday) / 10 - last_tick_timeofday = currenttime - last_tick_duration = diff - - if(processing) - - controller_iteration++ - - var/start_time = world.timeofday - - air_master_ready = 0 - sun_ready = 0 - mobs_ready = 0 - diseases_ready = 0 - machines_ready = 0 - objects_ready = 0 - networks_ready = 0 - powernets_ready = 0 - ticker_ready = 0 - - spawn(0) - air_master.process() - air_master_ready = 1 - - sleep(1) - - spawn(0) - sun.calc_position() - sun_ready = 1 - - sleep(-1) - - spawn(0) - for(var/mob/M in world) - last_mob_processed = M - M.Life() - mobs_ready = 1 - - sleep(-1) - - spawn(0) - for(var/datum/disease/D in active_diseases) - last_disease_processed = D - D.process() - diseases_ready = 1 - - spawn(0) - for(var/obj/machinery/machine in machines) - if(machine) - last_machine_processed = machine - machine.process() - if(machine && machine.use_power) - machine.auto_use_power() - - machines_ready = 1 - - sleep(1) - - spawn(-1) - for(var/obj/object in processing_objects) - last_obj_processed = object - object.process() - objects_ready = 1 - - sleep(-1) - - spawn(-1) - for(var/datum/pipe_network/network in pipe_networks) - network.process() - networks_ready = 1 - - spawn(-1) - for(var/datum/powernet/P in powernets) - P.reset() - powernets_ready = 1 - - sleep(-1) - - spawn(-1) - ticker.process() - ticker_ready = 1 - - var/IL_check = 0 //Infinite loop check (To report when the master controller breaks.) - while(!air_master_ready || !sun_ready || !mobs_ready || !diseases_ready || !machines_ready || !objects_ready || !networks_ready || !powernets_ready || !ticker_ready) - IL_check++ - if(IL_check > 600) - var/MC_report = "air_master_ready = [air_master_ready]; sun_ready = [sun_ready]; mobs_ready = [mobs_ready]; diseases_ready = [diseases_ready]; machines_ready = [machines_ready]; objects_ready = [objects_ready]; networks_ready = [networks_ready]; powernets_ready = [powernets_ready]; ticker_ready = [ticker_ready];" - message_admins("PROC BREAKAGE WARNING: The game's master contorller appears to be stuck in one of it's cycles. It has looped through it's delaying loop [IL_check] times.") - message_admins("The master controller reports: [MC_report]") - if(!diseases_ready) - if(last_disease_processed) - message_admins("DISEASE PROCESSING stuck on [last_disease_processed]", 0, 1) - else - message_admins("DISEASE PROCESSING stuck on unknown") - if(!machines_ready) - if(last_machine_processed) - message_admins("MACHINE PROCESSING stuck on [last_machine_processed]", 0, 1) - else - message_admins("MACHINE PROCESSING stuck on unknown") - if(!objects_ready) - if(last_obj_processed) - message_admins("OBJ PROCESSING stuck on [last_obj_processed]", 0, 1) - else - message_admins("OBJ PROCESSING stuck on unknown") - log_admin("PROC BREAKAGE WARNING: infinite_loop_check = [IL_check]; [MC_report];") - message_admins("Master controller breaking out of delaying loop. Restarting the round is advised if problem persists. DO NOT manually restart the master controller.") - break; - sleep(1) - - sleep(world.timeofday+12-start_time) - else - sleep(10) \ No newline at end of file diff --git a/code/WorkInProgress/carn/master_controller_semi-seq.dm b/code/WorkInProgress/carn/master_controller_semi-seq.dm deleted file mode 100644 index 96e7eacda6e..00000000000 --- a/code/WorkInProgress/carn/master_controller_semi-seq.dm +++ /dev/null @@ -1,258 +0,0 @@ -//Nothing spectacular, just a slightly more configurable MC. - -var/global/datum/controller/game_controller/master_controller //Set in world.New() -var/global/datum/failsafe/Failsafe -var/global/controller_iteration = 0 - - -var/global/last_tick_timeofday = world.timeofday -var/global/last_tick_duration = 0 - -var/global/obj/machinery/last_obj_processed //Used for MC 'proc break' debugging -var/global/datum/disease/last_disease_processed //Used for MC 'proc break' debugging -var/global/obj/machinery/last_machine_processed //Used for MC 'proc break' debugging - -datum/controller/game_controller - var/processing = 0 - var/breather_ticks = 1 //a somewhat crude attempt to iron over the 'bumps' caused by high-cpu use by letting the MC have a breather for this many ticks after every step - var/minimum_ticks = 10 //The minimum length of time between MC ticks - - var/global/air_master_ready = 0 - var/global/tension_master_ready = 0 - var/global/sun_ready = 0 - var/global/mobs_ready = 0 - var/global/diseases_ready = 0 - var/global/machines_ready = 0 - var/global/objects_ready = 0 - var/global/networks_ready = 0 - var/global/powernets_ready = 0 - var/global/ticker_ready = 0 - -datum/controller/game_controller/New() - //There can be only one master_controller. Out with the old and in with the new. - if(master_controller) - if(master_controller != src) - del(master_controller) - master_controller = src - - if(!air_master) - air_master = new /datum/controller/air_system() - air_master.setup() - - if(!job_master) - job_master = new /datum/controller/occupations() - if(job_master.SetupOccupations()) - world << "\red \b Job setup complete" - job_master.LoadJobs("config/jobs.txt") - - if(!tension_master) tension_master = new /datum/tension() - if(!syndicate_code_phrase) syndicate_code_phrase = generate_code_phrase() - if(!syndicate_code_response) syndicate_code_response = generate_code_phrase() - if(!ticker) ticker = new /datum/controller/gameticker() - if(!emergency_shuttle) emergency_shuttle = new /datum/shuttle_controller/emergency_shuttle() - - -datum/controller/game_controller/proc/setup() - world.tick_lag = config.Ticklag - - createRandomZlevel() - setup_objects() - setupgenetics() - setupfactions() - - for(var/i = 0, i < max_secret_rooms, i++) - make_mining_asteroid_secret() - - spawn(0) - if(ticker) - ticker.pregame() - -datum/controller/game_controller/proc/setup_objects() - world << "\red \b Initializing objects" - sleep(-1) - for(var/obj/object in world) - object.initialize() - - world << "\red \b Initializing pipe networks" - sleep(-1) - for(var/obj/machinery/atmospherics/machine in world) - machine.build_network() - - world << "\red \b Initializing atmos machinery." - sleep(-1) - for(var/obj/machinery/atmospherics/unary/vent_pump/T in world) - T.broadcast_status() - for(var/obj/machinery/atmospherics/unary/vent_scrubber/T in world) - T.broadcast_status() - - world << "\red \b Initializations complete." - sleep(-1) - - -datum/controller/game_controller/proc/process() - set background = 1 - processing = 1 - while(1) //far more efficient than recursively calling ourself - if(!Failsafe) new /datum/failsafe() - - var/currenttime = world.timeofday - last_tick_duration = (currenttime - last_tick_timeofday) / 10 - last_tick_timeofday = currenttime - - if(processing) - var/start_time = world.timeofday - controller_iteration++ - - air_master_ready = 0 - tension_master_ready = 0 - sun_ready = 0 - mobs_ready = 0 - diseases_ready = 0 - machines_ready = 0 - objects_ready = 0 - networks_ready = 0 - powernets_ready = 0 - ticker_ready = 0 - - spawn(0) - air_master.process() - air_master_ready = 1 - sleep(breather_ticks) - - spawn(0) - tension_master.process() - tension_master_ready = 1 - sleep(breather_ticks) - - spawn(0) - sun.calc_position() - sun_ready = 1 - sleep(breather_ticks) - - spawn(0) - for(var/mob/living/M in world) //only living mobs have life processes - M.Life() - mobs_ready = 1 - sleep(breather_ticks) - - spawn(0) - for(var/datum/disease/D in active_diseases) - last_disease_processed = D - D.process() - diseases_ready = 1 - sleep(breather_ticks) - - spawn(0) - for(var/obj/machinery/machine in machines) - if(machine) - last_machine_processed = machine - machine.process() - if(machine && machine.use_power) - machine.auto_use_power() - machines_ready = 1 - sleep(breather_ticks) - - spawn(0) - for(var/obj/object in processing_objects) - last_obj_processed = object - object.process() - objects_ready = 1 - sleep(breather_ticks) - - spawn(0) - for(var/datum/pipe_network/network in pipe_networks) - network.process() - networks_ready = 1 - sleep(breather_ticks) - - spawn(0) - for(var/datum/powernet/P in powernets) - P.reset() - powernets_ready = 1 - sleep(breather_ticks) - - spawn(0) - ticker.process() - ticker_ready = 1 - - sleep( minimum_ticks - max(world.timeofday-start_time,0) ) //to prevent long delays happening at midnight - - var/IL_check = 0 //Infinite loop check (To report when the master controller breaks.) - while(!air_master_ready || !tension_master_ready || !sun_ready || !mobs_ready || !diseases_ready || !machines_ready || !objects_ready || !networks_ready || !powernets_ready || !ticker_ready) - IL_check++ - if(IL_check > 200) - var/MC_report = "air_master_ready = [air_master_ready]; tension_master_ready = [tension_master_ready]; sun_ready = [sun_ready]; mobs_ready = [mobs_ready]; diseases_ready = [diseases_ready]; machines_ready = [machines_ready]; objects_ready = [objects_ready]; networks_ready = [networks_ready]; powernets_ready = [powernets_ready]; ticker_ready = [ticker_ready];" - var/MC_admin_report = "PROC BREAKAGE WARNING: The game's master contorller appears to be stuck in one of it's cycles. It has looped through it's delaying loop [IL_check] times.
      The master controller reports: [MC_report]

      " - if(!diseases_ready) - if(last_disease_processed) - MC_admin_report += "DISEASE PROCESSING stuck on [last_disease_processed]
      " - else - MC_admin_report += "DISEASE PROCESSING stuck on unknown
      " - if(!machines_ready) - if(last_machine_processed) - MC_admin_report += "MACHINE PROCESSING stuck on [last_machine_processed]
      " - else - MC_admin_report += "MACHINE PROCESSING stuck on unknown
      " - if(!objects_ready) - if(last_obj_processed) - MC_admin_report += "OBJ PROCESSING stuck on [last_obj_processed]
      " - else - MC_admin_report += "OBJ PROCESSING stuck on unknown
      " - MC_admin_report += "Master controller breaking out of delaying loop. Restarting the round is advised if problem persists. DO NOT manually restart the master controller.
      " - message_admins(MC_admin_report) - log_admin("PROC BREAKAGE WARNING: infinite_loop_check = [IL_check]; [MC_report];") - break - sleep(3) - else - sleep(10) - - - -/datum/failsafe // This thing pretty much just keeps poking the master controller - var/spinning = 1 - var/current_iteration = 0 - var/ticks_per_spin = 200 //poke the MC every 20 seconds - var/defcon = 0 //alert level. For every poke that fails this is raised by 1. When it reaches 5 the MC is replaced with a new one. (effectively killing any master_controller.process() and starting a new one) - -/datum/failsafe/New() - //There can be only one failsafe. Out with the old in with the new (that way we can restart the Failsafe by spawning a new one) - if(Failsafe && (Failsafe != src)) - del(Failsafe) - Failsafe = src - - current_iteration = controller_iteration - spawn(0) - Failsafe.spin() - - -/datum/failsafe/proc/spin() - set background = 1 - while(1) //more efficient than recursivly calling ourself over and over. background = 1 ensures we do not trigger an infinite loop - if(master_controller) - if(spinning && master_controller.processing) //only poke if these overrides aren't in effect - if(current_iteration == controller_iteration) //master_controller hasn't finished processing in the defined interval - switch(defcon) - if(0 to 3) - defcon++ - if(4) - defcon = 5 - for(var/client/C) - if(C.holder) - C << "Warning. The Master Controller has not fired in the last [4*ticks_per_spin] ticks. Automatic restart in [ticks_per_spin] ticks." - if(5) - for(var/client/C) - if(C.holder) - C << "Warning. The Master Controller has still not fired within the last [5*ticks_per_spin] ticks. Killing and restarting..." - spawn(0) - new /datum/controller/game_controller() //replace the old master_controller (hence killing the old one's process) - master_controller.process() //Start it rolling again - defcon = 0 - else - defcon = 0 - current_iteration = controller_iteration - else - defcon = 0 - else - new /datum/controller/game_controller() //replace the missing master_controller! This should never happen. - sleep(ticks_per_spin) - diff --git a/code/WorkInProgress/kilakk/responseteam.dm b/code/WorkInProgress/kilakk/responseteam.dm deleted file mode 100644 index dbaf2242cb7..00000000000 --- a/code/WorkInProgress/kilakk/responseteam.dm +++ /dev/null @@ -1,256 +0,0 @@ -// emergency response teams -// work in progress - -var/const/members_possible = 5 -var/const/members_required = 1 // We need at least *one* person ;_; -var/global/admin_emergency_team = 0 // Used for admin-spawned response teams -// 'sent_response_team' for automagic response teams - -/client/proc/response_team() - set name = "Dispatch Emergency Response Team" - set category = "Special Verbs" - set desc = "Send an emergency response team to the station" - - if(!holder) - usr << "\red Only administrators may use this command." - return - if(!ticker) - usr << "\red The game hasn't started yet!" - return - if(ticker.current_state == GAME_STATE_PREGAME) - usr << "\red The round hasn't started yet!" - return - if(admin_emergency_team || send_emergency_team) - usr << "\red Central Command has already dispatched an emergency response team!" - return - if(alert("Do you want to dispatch an Emergency Response Team?",,"Yes","No") != "Yes") - return - if(get_security_level() != "red") // Allow admins to reconsider if the alert level isn't Red - switch(alert("The station has not entered code red recently. Do you still want to dispatch a response team?",,"Yes","No")) - if("No") - return - - var/situation = null - while(!situation) - situation = copytext(sanitize(input(src, "Please specify the mission the emergency response team will undertake.", "Specify Mission", "")),1,MAX_MESSAGE_LEN) - if(!situation) - if(alert("You haven't specified a mission. Exit the setup process?",,"No","Yes")=="Yes") - return - - if(admin_emergency_team || send_emergency_team) - usr << "\red Looks like somebody beat you to it!" - return - - admin_emergency_team = 1 - message_admins("[key_name_admin(usr)] is dispatching an Emergency Response Team.", 1) - log_admin("[key_name(usr)] used Dispatch Response Team.") - - var/member_number = members_possible - var/leader_selected = 0 - - // Shamelessly stolen nuke code - var/nuke_code - var/temp_code - for(var/obj/machinery/nuclearbomb/N in machines) - temp_code = text2num(N.r_code) - if(temp_code) - nuke_code = N.r_code - break - -/* var/list/candidates = list() // ghosts who can be picked - var/list/members = list() // ghosts who have been picked - for(var/mob/dead/observer/G in player_list) - if(!G.client.holder && !G.client.is_afk()) - if(!(G.mind && G.mind.current && G.mind.current.stat != DEAD)) - candidates += G.key - for(var/i=members_possible,(i>0&&candidates.len), i--) - var/candidate = input("Choose characters to spawn as response team members. This will go on until there are no more ghosts to pick from or until all slots are full.", "Active Players") as null|anything in candidates */ - - // I tried doing this differently. Ghosts get a pop-up box similar to pAIs and one-click-antag - // Biggest diff here is in how the candidates list is updated - alert(usr, "Active ghosts will be given a chance to choose whether or not they want to be considered for the emergency reponse team. This will take about 30 seconds.") // There's probably a better way to do this, with a fancy count-down timer or something - - var/list/candidates = list() - var/list/members = list() - var/time_passed = world.time - - for(var/mob/dead/observer/G in player_list) - if(!jobban_isbanned(G, "Syndicate") && !jobban_isbanned(G, "Emergency Response Team") && !jobban_isbanned(G, "Security Officer")) - spawn(0) - switch(alert(G, "Do you want to be considered for the Emergency Response Team? Please answer in 30 seconds!",,"Yes","No")) - if("Yes") - if((world.time-time_passed)>300) - return - candidates += G.key - if("No") - return - else - return - - sleep(300) - - if(candidates.len < members_required) - message_admins("Not enough people signed up for [key_name_admin(usr)]'s response team! Aborting.") - log_admin("Response Team aborted: Not Enough Signups.") - admin_emergency_team = 0 - return - - for(var/i=members_possible,(i>0&&candidates.len), i--) // The rest of the choosing process is just an input with a list of candidates on it - var/chosen = input("Time's up! Choose characters to spawn as reponse team members. This will go on until there are no more ghosts to pick from or until all slots are full.", "Considered Players") as null|anything in candidates - candidates -= chosen - members += chosen - - command_alert("Sensors indicate that [station_name()] has entered Code Red and is in need of assistance. We will prepare and dispatch an emergency response team to deal with the situation.", "NMV Icarus Command") - - for(var/obj/effect/landmark/L in landmarks_list) - if(L.name == "Response Team") - leader_selected = member_number == 1?1:0 // The last person selected will be the leader - - var/mob/living/carbon/human/new_member = spawn_response_team(L, leader_selected) - - new_member.age = !leader_selected ? rand(23,35) : rand(35,45) - - if(members.len) - new_member.key = pick(members) - members -= new_member.key - - if(!new_member.key) // It works ok? sort of - del(new_member) - break - - spawn(0) - - switch(alert(new_member, "You are an Emergency Response Team member! Are you a boy or a girl?",,"Male","Female")) - if("Male") - new_member.gender = MALE - if("Female") - new_member.gender = FEMALE - - var/new_name = input(new_member, "...Erm, what was your name again?", "Choose your name") as text - - if(!new_name) - new_member.real_name = "Agent [pick("Red","Yellow","Orange","Silver","Gold", "Pink", "Purple", "Rainbow")]" // Choose a "random" agent name - new_member.name = usr.real_name - new_member.mind.name = usr.real_name - - else - new_member.real_name = new_name - new_member.name = new_name - new_member.mind.name = new_name - - // -- CHANGE APPEARANCE -- - var/new_tone = input(new_member, "Please select your new skin tone: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation") as num - - if(new_tone) - new_member.s_tone = max(min(round(text2num(new_tone)), 220), 1) - new_member.s_tone = -new_member.s_tone + 35 - - var/new_hair = input(new_member, "Please select your new hair color.","Character Generation") as color - - if(new_hair) - new_member.r_hair = hex2num(copytext(new_hair, 2, 4)) - new_member.g_hair = hex2num(copytext(new_hair, 4, 6)) - new_member.b_hair = hex2num(copytext(new_hair, 6, 8)) - - var/new_facial = input(new_member, "Please select your new facial hair color.","Character Generation") as color - - if(new_facial) - new_member.r_facial = hex2num(copytext(new_facial, 2, 4)) - new_member.g_facial = hex2num(copytext(new_facial, 4, 6)) - new_member.b_facial = hex2num(copytext(new_facial, 6, 8)) - - var/new_eyes = input(new_member, "Please select eye color.", "Character Generation") as color - - if(new_eyes) - new_member.r_eyes = hex2num(copytext(new_eyes, 2, 4)) - new_member.g_eyes = hex2num(copytext(new_eyes, 4, 6)) - new_member.b_eyes = hex2num(copytext(new_eyes, 6, 8)) - - var/new_hstyle = input(new_member, "Please select your new hair style!", "Grooming") as null|anything in hair_styles_list - - if(new_hstyle) - new_member.h_style = new_hstyle - - var/new_fstyle = input(new_member, "Please select your new facial hair style!", "Grooming") as null|anything in facial_hair_styles_list - - if(new_fstyle) - new_member.f_style = new_fstyle - - // -- END -- - - new_member.dna.ready_dna(new_member) - new_member.update_body(1) - new_member.update_hair(1) - - new_member.mind_initialize() - - new_member.mind.assigned_role = "Emergency Response Team" - new_member.mind.special_role = "Emergency Response Team" - ticker.mode.traitors |= new_member.mind // ERTs will show up at the end of the round on the "traitor" list - - // Join message - new_member << "\blue You are the Emergency Response Team[!leader_selected?"!":" Leader!
      "] \nAs a response team [!leader_selected?"member":"leader"] you answer directly to [!leader_selected?"your team leader.":"Central Command."] \nYou have been deployed by Nanotrasen Central Command in Tau Ceti to resolve a Code Red alert aboard [station_name()], and have been provided with the following instructions and information regarding your mission: \red [situation]" - new_member.mind.store_memory("Mission Parameters: \red [situation].") - - // Leader join message - if(leader_selected) - new_member << "\red The Nuclear Authentication Code is: [nuke_code]. You are instructed not to detonate the nuclear device aboard [station_name()] unless absolutely necessary." - new_member.mind.store_memory("Nuclear Authentication Code: \red [nuke_code]") - - new_member.equip_response_team(leader_selected) // Start equipping them - - member_number-- - return 1 - -// Mob creation -/client/proc/spawn_response_team(obj/spawn_location, leader_selected = 0) - var/mob/living/carbon/human/new_member = new(spawn_location.loc) - - return new_member - -// Equip mob -/mob/living/carbon/human/proc/equip_response_team(leader_selected = 0) - - // Headset - equip_to_slot_or_del(new /obj/item/device/radio/headset/ert(src), slot_l_ear) - - // Uniform - equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(src), slot_w_uniform) - equip_to_slot_or_del(new /obj/item/clothing/shoes/swat(src), slot_shoes) - equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(src), slot_gloves) - equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(src), slot_belt) - - // Glasses - equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(src), slot_glasses) - - // Backpack - equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/security(src), slot_back) - - // Put stuff into their backpacks - equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(src), slot_in_backpack) - // equip_to_slot_or_del(new /obj/item/weapon/storage/firstaid/regular(src), slot_in_backpack) // Regular medkit - - // Loyalty implants - var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(src) - L.imp_in = src - L.implanted = 1 - - // ID cards - var/obj/item/weapon/card/id/E = new(src) - E.name = "[real_name]'s ID Card (Emergency Response Team)" - E.icon_state = "centcom" - E.access = get_all_accesses() // ERTs can go everywhere on the station - if(leader_selected) - E.name = "[real_name]'s ID Card (Emergency Response Team Leader)" - E.access += get_all_centcom_access() - E.assignment = "Emergency Response Team Leader" - else - E.access += list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage) - E.assignment = "Emergency Response Team" - E.registered_name = real_name - equip_to_slot_or_del(E, slot_wear_id) - - update_icons() - - return 1 - diff --git a/code/WorkInProgress/meteors.dm b/code/WorkInProgress/meteors.dm deleted file mode 100644 index ce1bafdb447..00000000000 --- a/code/WorkInProgress/meteors.dm +++ /dev/null @@ -1,153 +0,0 @@ -#define METEOR_TEMPERATURE - -/var/const/meteor_wave_delay = 625 //minimum wait between waves in tenths of seconds -//set to at least 100 unless you want evarr ruining every round - -/var/const/meteors_in_wave = 20 -/var/const/meteors_in_small_wave = 10 - -/proc/meteor_wave(var/number = meteors_in_wave) - if(!ticker || wavesecret) - return - - var/startx - var/starty - var/endx - var/endy - var/turf/pickedstart - var/turf/pickedgoal - switch(pick(1,2,3,4)) - if(1) //NORTH - starty = world.maxy-3 - startx = rand(1, world.maxx-1) - endy = 1 - endx = rand(1, world.maxx-1) - if(2) //EAST - starty = rand(1,world.maxy-1) - startx = world.maxx-3 - endy = rand(1, world.maxy-1) - endx = 1 - if(3) //SOUTH - starty = 3 - startx = rand(1, world.maxx-1) - endy = world.maxy-1 - endx = rand(1, world.maxx-1) - if(4) //WEST - starty = rand(1, world.maxy-1) - startx = 3 - endy = rand(1,world.maxy-1) - endx = world.maxx-1 - pickedstart = locate(startx, starty, 1) - pickedgoal = locate(endx, endy, 1) - wavesecret = 1 - for(var/i = 0 to number) - spawn(rand(10,100)) - spawn_meteor(pickedstart, pickedgoal) - spawn(meteor_wave_delay) - wavesecret = 0 - -/proc/spawn_meteors(var/turf/pickedstart, var/turf/pickedgoal, var/number = meteors_in_small_wave) - for(var/i = 0; i < number; i++) - spawn(0) - spawn_meteor(pickedstart, pickedgoal) - -/proc/spawn_meteor(var/turf/pickedstart, var/turf/pickedgoal) - - var/route = rand(1,5) - var/turf/tempgoal = pickedgoal - for(var/i, i < route, i++) - tempgoal = get_step(tempgoal,rand(1,8)) - - var/obj/effect/meteor/M - switch(rand(1, 100)) - if(1 to 15) - M = new /obj/effect/meteor/big(pickedstart) - if(16 to 75) - M = new /obj/effect/meteor( pickedstart ) - if(76 to 100) - M = new /obj/effect/meteor/small( pickedstart ) - - M.dest = tempgoal - - do - sleep(1) - walk_towards(M, M.dest, 1) - while (!istype(M.loc, /turf/space) || pickedstart.loc.name != "Space" ) //FUUUCK, should never happen. - - return - -/obj/effect/meteor - name = "meteor" - icon = 'icons/obj/meteor.dmi' - icon_state = "flaming" - density = 1 - anchored = 1.0 - var/hits = 1 - var/dest - pass_flags = PASSTABLE - -/obj/effect/meteor/small - name = "small meteor" - icon_state = "smallf" - pass_flags = PASSTABLE | PASSGRILLE - -/obj/effect/meteor/Move() - var/turf/T = src.loc - if (istype(T, /turf)) - T.hotspot_expose(METEOR_TEMPERATURE, 1000) - ..() - return - -/obj/effect/meteor/Bump(atom/A) - spawn(0) - for(var/mob/M in range(10, src)) - if(!M.stat && !istype(M, /mob/living/silicon/ai)) //bad idea to shake an ai's view - shake_camera(M, 3, 1) - if (A) - A.meteorhit(src) - playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 40, 1) - if (--src.hits <= 0) - if(prob(15))// && !istype(A, /obj/structure/grille)) - explosion(get_turf(src), 4, 5, 6, 7, 0) - playsound(get_turf(src), "explosion", 50, 1) - del(src) - return - - -/obj/effect/meteor/ex_act(severity) - spawn(0) - del(src) - return - -/obj/effect/meteor/big - name = "big meteor" - hits = 5 - - ex_act(severity) - return - - Bump(atom/A) - spawn(0) - for(var/mob/M in range(10, src)) - if(!M.stat && !istype(M, /mob/living/silicon/ai)) //bad idea to shake an ai's view - shake_camera(M, 3, 1) - if (A) - if(isobj(A)) - del(A) - else - A.meteorhit(src) - src.hits-- - return - playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 40, 1) - if (--src.hits <= 0) - if(prob(15) && !istype(A, /obj/structure/grille)) - explosion(get_turf(src), 1, 2, 3, 4, 0) - playsound(get_turf(src), "explosion", 50, 1) - del(src) - return - -/obj/effect/meteor/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(istype(W, /obj/item/weapon/pickaxe)) - del(src) - return - ..() \ No newline at end of file diff --git a/code/WorkInProgress/organs/implants.dm b/code/WorkInProgress/organs/implants.dm deleted file mode 100644 index c8f83bc6a3a..00000000000 --- a/code/WorkInProgress/organs/implants.dm +++ /dev/null @@ -1,13 +0,0 @@ -/*------ -SPELL IMPLANTS - + Most diverse effects - - Limited charges, failure rate - -CYBERNETIC IMPLANTS - + Easiest to make - - Require power - -GRAFTS (includes basic human bodyparts) - + Permanent effects - - Horrible side effects -*/ \ No newline at end of file diff --git a/code/WorkInProgress/organs/organs.dm b/code/WorkInProgress/organs/organs.dm deleted file mode 100644 index 22f51bffc6e..00000000000 --- a/code/WorkInProgress/organs/organs.dm +++ /dev/null @@ -1,700 +0,0 @@ -<<<<<<< HEAD -/obj/effect/organstructure //used obj for the "contents" var - name = "organs" - - var/species = "mob" //for speaking in unknown languages purposes - - var/obj/effect/organ/limb/arms/arms = null - var/obj/effect/organ/limb/legs/legs = null - var/obj/effect/organ/torso/torso = null - var/obj/effect/organ/head/head = null - - - proc/GetSpeciesName() - var/list/speciesPresent = list() - - for(var/obj/effect/organ/organ in src) //only external organs count, since it's judging by the appearance - if(speciesPresent[organ.species]) - speciesPresent[organ.species]++ - else - speciesPresent[organ.species] = 1 //not sure, but I think it's not initialised before that, so can't ++ - - var/list/dominantSpecies = list() - - for(var/speciesName in speciesPresent) - if(!dominantSpecies.len) - dominantSpecies += speciesName - else - if(speciesPresent[dominantSpecies[1]] == speciesPresent[speciesName]) - dominantSpecies += speciesName - else if(speciesPresent[dominantSpecies[1]] < speciesPresent[speciesName]) - dominantSpecies = list(speciesName) - - if(!dominantSpecies.len) - species = "mob" - else - species = pick(dominantSpecies) - - return species - - proc/RecalculateStructure() - var/list/organs = GetAllContents() - - arms = locate(/obj/effect/organ/limb/arms) in organs - legs = locate(/obj/effect/organ/limb/legs) in organs - torso = locate(/obj/effect/organ/torso) in organs - head = locate(/obj/effect/organ/head) in organs - - GetSpeciesName() - - return - - proc/ProcessOrgans() - set background = 1 - - var/list/organs = GetAllContents() - for(var/obj/effect/organ/organ in organs) - organ.ProcessOrgan() - - return - - New() - ..() - RecalculateStructure() - -/obj/effect/organstructure/human - name = "human organs" - - New() - new /obj/effect/organ/torso/human(src) - ..() - -/obj/effect/organstructure/alien - name = "alien organs" - - New() - new /obj/effect/organ/torso/alien(src) - ..() - -/obj/effect/organ - name = "organ" - - //All types - var/organType = 0 //CYBER and SPELL go here - var/species = "mob" - var/obj/effect/organstructure/rootOrganStructure = null - - New(location) - ..() - - rootOrganStructure = FindRootStructure() - - proc/FindRootStructure() - if(istype(loc,/obj/effect/organ)) - var/obj/effect/organ/parent = loc - return parent.FindRootStructure() - else if(istype(loc,/obj/effect/organstructure)) - return loc - return null - - proc/ProcessOrgan() - return - -/obj/effect/organ/torso - name = "torso" - var/maxHealth = 50 //right now, the mob's (only humans for now) health depends only on it. Will be fixed later - -/obj/effect/organ/torso/human - name = "human torso" - species = "human" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/human(src) - new /obj/effect/organ/limb/legs/human(src) - new /obj/effect/organ/head/human(src) -/obj/effect/organ/torso/alien - name = "alien torso" - species = "alien" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/alien(src) - new /obj/effect/organ/limb/legs/alien(src) - new /obj/effect/organ/head/alien(src) - - -/obj/effect/organ/limb - name = "limb" - -/obj/effect/organ/limb/arms - name = "arms" - - var/minDamage = 5 //punching damage - var/maxDamage = 5 - -/obj/effect/organ/limb/arms/alien - name = "alien arms" - species = "alien" - minDamage = 5 - maxDamage = 15 - - -/obj/effect/organ/limb/arms/human - name = "human arms" - species = "human" - minDamage = 1 - maxDamage = 9 - -/obj/effect/organ/limb/legs - name = "legs" - -/obj/effect/organ/limb/legs/human - name = "human legs" - species = "human" - -/obj/effect/organ/limb/legs/alien - name = "alien legs" - species = "alien" - - -/obj/effect/organ/head - name = "head" - -/obj/effect/organ/head/human - name = "human head" - species = "human" - -/obj/effect/organ/head/alien - name = "alien head" - species = "alien" - -/obj/effect/organ/limb/arms/alien - name = "alien arms" - species = "alien" - minDamage = 5 - maxDamage = 15 - -/obj/effect/organ/limb/legs/alien - name = "alien legs" - species = "alien" - -/obj/effect/organ/head/alien - name = "alien head" - species = "alien" - -// ++++STUB ORGAN STRUCTURE. THIS IS THE DEFAULT STRUCTURE. USED TO PREVENT EXCEPTIONS++++ -/obj/effect/organstructure/stub - name = "stub organs" - - New() - new /obj/effect/organ/torso/stub(src) - ..() - -/obj/effect/organ/torso/stub - name = "stub torso" - species = "stub" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/stub(src) - new /obj/effect/organ/limb/legs/stub(src) - new /obj/effect/organ/head/stub(src) - -/obj/effect/organ/limb/arms/stub - name = "stub arms" - species = "stub" - -/obj/effect/organ/limb/legs/stub - name = "stub legs" - species = "stub" - -/obj/effect/organ/head/stub - name = "stub head" - species = "stub" - -// ++++STUB ORGAN STRUCTURE. END++++ - - -// ++++MONKEY++++ - -/obj/effect/organstructure/monkey - name = "monkey organs" - - New() - new /obj/effect/organ/torso/monkey(src) - ..() - -/obj/effect/organ/torso/monkey - name = "monkey torso" - species = "monkey" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/monkey(src) - new /obj/effect/organ/limb/legs/monkey(src) - new /obj/effect/organ/head/monkey(src) - -/obj/effect/organ/limb/arms/monkey - name = "monkey arms" - species = "monkey" - -/obj/effect/organ/limb/legs/monkey - name = "monkey legs" - species = "monkey" - -/obj/effect/organ/head/monkey - name = "monkey head" - species = "monkey" - - -// +++++CYBORG+++++ -/obj/effect/organstructure/cyborg - name = "cyborg organs" - - New() - new /obj/effect/organ/torso/cyborg(src) - ..() - -/obj/effect/organ/torso/cyborg - name = "cyborg torso" - species = "cyborg" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/cyborg(src) - new /obj/effect/organ/limb/legs/cyborg(src) - new /obj/effect/organ/head/cyborg(src) - -/obj/effect/organ/limb/arms/cyborg - name = "cyborg arms" - species = "cyborg" - -/obj/effect/organ/limb/legs/cyborg - name = "cyborg legs" - species = "cyborg" - -/obj/effect/organ/head/cyborg - name = "cyborg head" - species = "cyborg" - -// +++++AI++++++ -/obj/effect/organstructure/AI - name = "AI organs" - - New() - new /obj/effect/organ/torso/AI(src) - ..() - -/obj/effect/organ/torso/AI - name = "AI torso" - species = "AI" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/AI(src) - new /obj/effect/organ/limb/legs/AI(src) - new /obj/effect/organ/head/AI(src) - -/obj/effect/organ/limb/arms/AI - name = "AI arms" - species = "AI" - -/obj/effect/organ/limb/legs/AI - name = "AI legs" - species = "AI" - -/obj/effect/organ/head/AI - name = "AI head" - species = "AI" - -/* New organ structure template - - -/obj/effect/organstructure/template - name = "template organs" - - New() - new /obj/effect/organ/torso/template(src) - ..() - -/obj/effect/organ/torso/template - name = "template torso" - species = "template" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/template(src) - new /obj/effect/organ/limb/legs/template(src) - new /obj/effect/organ/head/template(src) - -/obj/effect/organ/limb/arms/template - name = "template arms" - species = "template" - -/obj/effect/organ/limb/legs/template - name = "template legs" - species = "template" - -/obj/effect/organ/head/template - name = "template head" - species = "template" - -======= -/obj/effect/organstructure //used obj for the "contents" var - name = "organs" - - var/species = "mob" //for speaking in unknown languages purposes - - var/obj/effect/organ/limb/arms/arms = null - var/obj/effect/organ/limb/legs/legs = null - var/obj/effect/organ/torso/torso = null - var/obj/effect/organ/head/head = null - - - proc/GetSpeciesName() - var/list/speciesPresent = list() - - for(var/obj/effect/organ/organ in src) //only external organs count, since it's judging by the appearance - if(speciesPresent[organ.species]) - speciesPresent[organ.species]++ - else - speciesPresent[organ.species] = 1 //not sure, but I think it's not initialised before that, so can't ++ - - var/list/dominantSpecies = list() - - for(var/speciesName in speciesPresent) - if(!dominantSpecies.len) - dominantSpecies += speciesName - else - if(speciesPresent[dominantSpecies[1]] == speciesPresent[speciesName]) - dominantSpecies += speciesName - else if(speciesPresent[dominantSpecies[1]] < speciesPresent[speciesName]) - dominantSpecies = list(speciesName) - - if(!dominantSpecies.len) - species = "mob" - else - species = pick(dominantSpecies) - - return species - - proc/RecalculateStructure() - var/list/organs = GetAllContents() - - arms = locate(/obj/effect/organ/limb/arms) in organs - legs = locate(/obj/effect/organ/limb/legs) in organs - torso = locate(/obj/effect/organ/torso) in organs - head = locate(/obj/effect/organ/head) in organs - - GetSpeciesName() - - return - - proc/ProcessOrgans() - set background = 1 - - var/list/organs = GetAllContents() - for(var/obj/effect/organ/organ in organs) - organ.ProcessOrgan() - - return - - New() - ..() - RecalculateStructure() - -/obj/effect/organstructure/human - name = "human organs" - - New() - new /obj/effect/organ/torso/human(src) - ..() - -/obj/effect/organstructure/alien - name = "alien organs" - - New() - new /obj/effect/organ/torso/alien(src) - ..() - -/obj/effect/organ - name = "organ" - - //All types - var/organType = 0 //CYBER and SPELL go here - var/species = "mob" - var/obj/effect/organstructure/rootOrganStructure = null - - New(location) - ..() - - rootOrganStructure = FindRootStructure() - - proc/FindRootStructure() - if(istype(loc,/obj/effect/organ)) - var/obj/effect/organ/parent = loc - return parent.FindRootStructure() - else if(istype(loc,/obj/effect/organstructure)) - return loc - return null - - proc/ProcessOrgan() - return - -/obj/effect/organ/torso - name = "torso" - var/maxHealth = 50 //right now, the mob's (only humans for now) health depends only on it. Will be fixed later - -/obj/effect/organ/torso/human - name = "human torso" - species = "human" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/human(src) - new /obj/effect/organ/limb/legs/human(src) - new /obj/effect/organ/head/human(src) -/obj/effect/organ/torso/alien - name = "alien torso" - species = "alien" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/alien(src) - new /obj/effect/organ/limb/legs/alien(src) - new /obj/effect/organ/head/alien(src) - - -/obj/effect/organ/limb - name = "limb" - -/obj/effect/organ/limb/arms - name = "arms" - - var/minDamage = 5 //punching damage - var/maxDamage = 5 - -/obj/effect/organ/limb/arms/alien - name = "alien arms" - species = "alien" - minDamage = 5 - maxDamage = 15 - - -/obj/effect/organ/limb/arms/human - name = "human arms" - species = "human" - minDamage = 1 - maxDamage = 9 - -/obj/effect/organ/limb/legs - name = "legs" - -/obj/effect/organ/limb/legs/human - name = "human legs" - species = "human" - -/obj/effect/organ/limb/legs/alien - name = "alien legs" - species = "alien" - - -/obj/effect/organ/head - name = "head" - -/obj/effect/organ/head/human - name = "human head" - species = "human" - -/obj/effect/organ/head/alien - name = "alien head" - species = "alien" - -/obj/effect/organ/limb/arms/alien - name = "alien arms" - species = "alien" - minDamage = 5 - maxDamage = 15 - -/obj/effect/organ/limb/legs/alien - name = "alien legs" - species = "alien" - -/obj/effect/organ/head/alien - name = "alien head" - species = "alien" - -// ++++STUB ORGAN STRUCTURE. THIS IS THE DEFAULT STRUCTURE. USED TO PREVENT EXCEPTIONS++++ -/obj/effect/organstructure/stub - name = "stub organs" - - New() - new /obj/effect/organ/torso/stub(src) - ..() - -/obj/effect/organ/torso/stub - name = "stub torso" - species = "stub" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/stub(src) - new /obj/effect/organ/limb/legs/stub(src) - new /obj/effect/organ/head/stub(src) - -/obj/effect/organ/limb/arms/stub - name = "stub arms" - species = "stub" - -/obj/effect/organ/limb/legs/stub - name = "stub legs" - species = "stub" - -/obj/effect/organ/head/stub - name = "stub head" - species = "stub" - -// ++++STUB ORGAN STRUCTURE. END++++ - - -// ++++MONKEY++++ - -/obj/effect/organstructure/monkey - name = "monkey organs" - - New() - new /obj/effect/organ/torso/monkey(src) - ..() - -/obj/effect/organ/torso/monkey - name = "monkey torso" - species = "monkey" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/monkey(src) - new /obj/effect/organ/limb/legs/monkey(src) - new /obj/effect/organ/head/monkey(src) - -/obj/effect/organ/limb/arms/monkey - name = "monkey arms" - species = "monkey" - -/obj/effect/organ/limb/legs/monkey - name = "monkey legs" - species = "monkey" - -/obj/effect/organ/head/monkey - name = "monkey head" - species = "monkey" - - -// +++++CYBORG+++++ -/obj/effect/organstructure/cyborg - name = "cyborg organs" - - New() - new /obj/effect/organ/torso/cyborg(src) - ..() - -/obj/effect/organ/torso/cyborg - name = "cyborg torso" - species = "cyborg" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/cyborg(src) - new /obj/effect/organ/limb/legs/cyborg(src) - new /obj/effect/organ/head/cyborg(src) - -/obj/effect/organ/limb/arms/cyborg - name = "cyborg arms" - species = "cyborg" - -/obj/effect/organ/limb/legs/cyborg - name = "cyborg legs" - species = "cyborg" - -/obj/effect/organ/head/cyborg - name = "cyborg head" - species = "cyborg" - -// +++++AI++++++ -/obj/effect/organstructure/AI - name = "AI organs" - - New() - new /obj/effect/organ/torso/AI(src) - ..() - -/obj/effect/organ/torso/AI - name = "AI torso" - species = "AI" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/AI(src) - new /obj/effect/organ/limb/legs/AI(src) - new /obj/effect/organ/head/AI(src) - -/obj/effect/organ/limb/arms/AI - name = "AI arms" - species = "AI" - -/obj/effect/organ/limb/legs/AI - name = "AI legs" - species = "AI" - -/obj/effect/organ/head/AI - name = "AI head" - species = "AI" - -/* New organ structure template - - -/obj/effect/organstructure/template - name = "template organs" - - New() - new /obj/effect/organ/torso/template(src) - ..() - -/obj/effect/organ/torso/template - name = "template torso" - species = "template" - maxHealth = 100 - - New() - ..() - new /obj/effect/organ/limb/arms/template(src) - new /obj/effect/organ/limb/legs/template(src) - new /obj/effect/organ/head/template(src) - -/obj/effect/organ/limb/arms/template - name = "template arms" - species = "template" - -/obj/effect/organ/limb/legs/template - name = "template legs" - species = "template" - -/obj/effect/organ/head/template - name = "template head" - species = "template" - ->>>>>>> remotes/git-svn -*/ \ No newline at end of file diff --git a/code/ZAS - oldbs12/Airflow.dm b/code/ZAS - oldbs12/Airflow.dm deleted file mode 100644 index efa45700f4e..00000000000 --- a/code/ZAS - oldbs12/Airflow.dm +++ /dev/null @@ -1,420 +0,0 @@ -/* - -CONTAINS: -All AirflowX() procs, all Variable Setting Controls for airflow, save/load variable tweaks for airflow. - -VARIABLES: - -atom/movable/airflow_dest - The destination turf of a flying object. - -atom/movable/airflow_speed - The speed (1-15) at which a flying object is traveling to airflow_dest. Decays over time. - - -OVERLOADABLE PROCS: - -mob/airflow_stun() - Contains checks for and results of being stunned by airflow. - Called when airflow quantities exceed airflow_medium_pressure. - RETURNS: Null - -atom/movable/check_airflow_movable(n) - Contains checks for moving any object due to airflow. - n is the pressure that is flowing. - RETURNS: 1 if the object moves under the air conditions, 0 if it stays put. - -atom/movable/airflow_hit(atom/A) - Contains results of hitting a solid object (A) due to airflow. - A is the dense object hit. - Use airflow_speed to determine how fast the projectile was going. - - -AUTOMATIC PROCS: - -Airflow(zone/A, zone/B) - Causes objects to fly along a pressure gradient. - Called by zone updates. A and B are two connected zones. - -AirflowSpace(zone/A) - Causes objects to fly into space. - Called by zone updates. A is a zone connected to space. - -atom/movable/GotoAirflowDest(n) -atom/movable/RepelAirflowDest(n) - Called by main airflow procs to cause the object to fly to or away from destination at speed n. - Probably shouldn't call this directly unless you know what you're - doing and have set airflow_dest. airflow_hit() will be called if the object collides with an obstacle. - -*/ - -mob/var/tmp/last_airflow_stun = 0 -mob/proc/airflow_stun() - if(stat == 2) - return 0 - if(last_airflow_stun > world.time - vsc.airflow_stun_cooldown) return 0 - if(!(status_flags & CANSTUN) && !(status_flags & CANWEAKEN)) - src << "\blue You stay upright as the air rushes past you." - return 0 - if(weakened <= 0) src << "\red The sudden rush of air knocks you over!" - weakened = max(weakened,5) - last_airflow_stun = world.time - -mob/living/silicon/airflow_stun() - return - -mob/living/carbon/metroid/airflow_stun() - return - -mob/living/carbon/human/airflow_stun() - if(last_airflow_stun > world.time - vsc.airflow_stun_cooldown) return 0 - if(buckled) return 0 - if(shoes) - if((shoes.flags & NOSLIP) || (species.bodyflags & FEET_NOSLIP)) return 0 - if(!(status_flags & CANSTUN) && !(status_flags & CANWEAKEN)) - src << "\blue You stay upright as the air rushes past you." - return 0 - if(weakened <= 0) src << "\red The sudden rush of air knocks you over!" - weakened = max(weakened,rand(1,5)) - last_airflow_stun = world.time - -atom/movable/proc/check_airflow_movable(n) - - if(anchored && !ismob(src)) return 0 - - if(!istype(src,/obj/item) && n < vsc.airflow_dense_pressure) return 0 - - return 1 - -mob/check_airflow_movable(n) - if(n < vsc.airflow_heavy_pressure) - return 0 - return 1 - -mob/dead/observer/check_airflow_movable() - return 0 - -mob/living/silicon/check_airflow_movable() - return 0 - - -obj/item/check_airflow_movable(n) - . = ..() - switch(w_class) - if(2) - if(n < vsc.airflow_lightest_pressure) return 0 - if(3) - if(n < vsc.airflow_light_pressure) return 0 - if(4,5) - if(n < vsc.airflow_medium_pressure) return 0 - -//The main airflow code. Called by zone updates. -//Zones A and B are air zones. n represents the amount of air moved. - -proc/Airflow(zone/A, zone/B) - - var/n = B.air.return_pressure() - A.air.return_pressure() - - //Don't go any further if n is lower than the lowest value needed for airflow. - if(abs(n) < vsc.airflow_lightest_pressure) return - - //These turfs are the midway point between A and B, and will be the destination point for thrown objects. - var/list/connection/connections_A = A.connections - var/list/turf/connected_turfs = list() - for(var/connection/C in connections_A) //Grab the turf that is in the zone we are flowing to (determined by n) - if( ( A == C.A.zone || A == C.zone_A ) && ( B == C.B.zone || B == C.zone_B ) ) - if(n < 0) - connected_turfs |= C.B - else - connected_turfs |= C.A - else if( ( A == C.B.zone || A == C.zone_B ) && ( B == C.A.zone || B == C.zone_A ) ) - if(n < 0) - connected_turfs |= C.A - else - connected_turfs |= C.B - - //Get lists of things that can be thrown across the room for each zone (assumes air is moving from zone B to zone A) - var/list/air_sucked = B.movables() - var/list/air_repelled = A.movables() - if(n < 0) - //air is moving from zone A to zone B - var/list/temporary_pplz = air_sucked - air_sucked = air_repelled - air_repelled = temporary_pplz - - for(var/atom/movable/M in air_sucked) - - if(M.last_airflow > world.time - vsc.airflow_delay) continue - - //Check for knocking people over - if(ismob(M) && n > vsc.airflow_stun_pressure) - if(M:status_flags & GODMODE) continue - M:airflow_stun() - - if(M.check_airflow_movable(n)) - - //Check for things that are in range of the midpoint turfs. - var/list/close_turfs = list() - for(var/turf/U in connected_turfs) - if(M in range(U)) close_turfs += U - if(!close_turfs.len) continue - - //If they're already being tossed, don't do it again. - if(!M.airflow_speed) - - M.airflow_dest = pick(close_turfs) //Pick a random midpoint to fly towards. - - spawn M.GotoAirflowDest(abs(n)/5) - - //Do it again for the stuff in the other zone, making it fly away. - for(var/atom/movable/M in air_repelled) - - if(M.last_airflow > world.time - vsc.airflow_delay) continue - - if(ismob(M) && abs(n) > vsc.airflow_medium_pressure) - if(M:status_flags & GODMODE) continue - M:airflow_stun() - - if(M.check_airflow_movable(abs(n))) - - var/list/close_turfs = list() - for(var/turf/U in connected_turfs) - if(M in range(U)) close_turfs += U - if(!close_turfs.len) continue - - //If they're already being tossed, don't do it again. - if(!M.airflow_speed) - - M.airflow_dest = pick(close_turfs) //Pick a random midpoint to fly towards. - - spawn M.RepelAirflowDest(abs(n)/5) - -proc/AirflowSpace(zone/A) - - //The space version of the Airflow(A,B,n) proc. - - var/n = A.air.return_pressure() - //Here, n is determined by only the pressure in the room. - - if(n < vsc.airflow_lightest_pressure) return - - var/list/connected_turfs = A.unsimulated_tiles //The midpoints are now all the space connections. - var/list/pplz = A.movables() //We only need to worry about things in the zone, not things in space. - - for(var/atom/movable/M in pplz) - - if(M.last_airflow > world.time - vsc.airflow_delay) continue - - if(ismob(M) && n > vsc.airflow_stun_pressure) - var/mob/O = M - if(O.status_flags & GODMODE) continue - O.airflow_stun() - - if(M.check_airflow_movable(n)) - - var/list/close_turfs = list() - for(var/turf/U in connected_turfs) - if(M in range(U)) close_turfs += U - if(!close_turfs.len) continue - - //If they're already being tossed, don't do it again. - if(!M.airflow_speed) - - M.airflow_dest = pick(close_turfs) //Pick a random midpoint to fly towards. - spawn - if(M) M.GotoAirflowDest(n/10) - //Sometimes shit breaks, and M isn't there after the spawn. - - -/atom/movable/var/tmp/turf/airflow_dest -/atom/movable/var/tmp/airflow_speed = 0 -/atom/movable/var/tmp/airflow_time = 0 -/atom/movable/var/tmp/last_airflow = 0 - -/atom/movable/proc/GotoAirflowDest(n) - if(!airflow_dest) return - if(airflow_speed < 0) return - if(last_airflow > world.time - vsc.airflow_delay) return - if(airflow_speed) - airflow_speed = n/max(get_dist(src,airflow_dest),1) - return - last_airflow = world.time - if(airflow_dest == loc) - step_away(src,loc) - if(ismob(src)) - if(src:status_flags & GODMODE) - return - if(istype(src, /mob/living/carbon/human)) - if(src:buckled) - return - if(src:shoes) - if(istype(src:shoes, /obj/item/clothing/shoes/magboots)) - if(src:shoes:magpulse) - return - src << "\red You are sucked away by airflow!" - var/airflow_falloff = 9 - ul_FalloffAmount(airflow_dest) //It's a fast falloff calc. Very useful. - if(airflow_falloff < 1) - airflow_dest = null - return - airflow_speed = min(max(n * (9/airflow_falloff),1),9) - var - xo = airflow_dest.x - src.x - yo = airflow_dest.y - src.y - od = 0 - airflow_dest = null - if(!density) - density = 1 - od = 1 - while(airflow_speed > 0) - if(airflow_speed <= 0) return - airflow_speed = min(airflow_speed,15) - airflow_speed -= vsc.airflow_speed_decay - if(airflow_speed > 7) - if(airflow_time++ >= airflow_speed - 7) - if(od) - density = 0 - sleep(1 * tick_multiplier) - else - if(od) - density = 0 - sleep(max(1,10-(airflow_speed+3)) * tick_multiplier) - if(od) - density = 1 - if ((!( src.airflow_dest ) || src.loc == src.airflow_dest)) - src.airflow_dest = locate(min(max(src.x + xo, 1), world.maxx), min(max(src.y + yo, 1), world.maxy), src.z) - if ((src.x == 1 || src.x == world.maxx || src.y == 1 || src.y == world.maxy)) - return - if(!istype(loc, /turf)) - return - step_towards(src, src.airflow_dest) - if(ismob(src) && src:client) - src:client:move_delay = world.time + vsc.airflow_mob_slowdown - airflow_dest = null - airflow_speed = 0 - airflow_time = 0 - if(od) - density = 0 - - -/atom/movable/proc/RepelAirflowDest(n) - if(!airflow_dest) return - if(airflow_speed < 0) return - if(last_airflow > world.time - vsc.airflow_delay) return - if(airflow_speed) - airflow_speed = n/max(get_dist(src,airflow_dest),1) - return - if(airflow_dest == loc) - step_away(src,loc) - if(ismob(src)) - if(src:status_flags & GODMODE) - return - if(istype(src, /mob/living/carbon/human)) - if(src:buckled) - return - if(src:shoes) - if(istype(src:shoes, /obj/item/clothing/shoes/magboots)) - if(src:shoes.flags & NOSLIP) - return - src << "\red You are pushed away by airflow!" - last_airflow = world.time - var/airflow_falloff = 9 - ul_FalloffAmount(airflow_dest) //It's a fast falloff calc. Very useful. - if(airflow_falloff < 1) - airflow_dest = null - return - airflow_speed = min(max(n * (9/airflow_falloff),1),9) - var - xo = -(airflow_dest.x - src.x) - yo = -(airflow_dest.y - src.y) - od = 0 - airflow_dest = null - if(!density) - density = 1 - od = 1 - while(airflow_speed > 0) - if(airflow_speed <= 0) return - airflow_speed = min(airflow_speed,15) - airflow_speed -= vsc.airflow_speed_decay - if(airflow_speed > 7) - if(airflow_time++ >= airflow_speed - 7) - sleep(1 * tick_multiplier) - else - sleep(max(1,10-(airflow_speed+3)) * tick_multiplier) - if ((!( src.airflow_dest ) || src.loc == src.airflow_dest)) - src.airflow_dest = locate(min(max(src.x + xo, 1), world.maxx), min(max(src.y + yo, 1), world.maxy), src.z) - if ((src.x == 1 || src.x == world.maxx || src.y == 1 || src.y == world.maxy)) - return - if(!istype(loc, /turf)) - return - step_towards(src, src.airflow_dest) - if(ismob(src) && src:client) - src:client:move_delay = world.time + vsc.airflow_mob_slowdown - airflow_dest = null - airflow_speed = 0 - airflow_time = 0 - if(od) - density = 0 - -/atom/movable/Bump(atom/A) - if(airflow_speed > 0 && airflow_dest) - airflow_hit(A) - else - airflow_speed = 0 - airflow_time = 0 - . = ..() - -atom/movable/proc/airflow_hit(atom/A) - airflow_speed = 0 - airflow_dest = null - -mob/airflow_hit(atom/A) - for(var/mob/M in hearers(src)) - M.show_message("\red \The [src] slams into \a [A]!",1,"\red You hear a loud slam!",2) - playsound(src.loc, "smash.ogg", 25, 1, -1) - weakened = max(weakened, (istype(A,/obj/item) ? A:w_class : rand(1,5))) //Heheheh - . = ..() - -obj/airflow_hit(atom/A) - for(var/mob/M in hearers(src)) - M.show_message("\red \The [src] slams into \a [A]!",1,"\red You hear a loud slam!",2) - playsound(src.loc, "smash.ogg", 25, 1, -1) - . = ..() - -obj/item/airflow_hit(atom/A) - airflow_speed = 0 - airflow_dest = null - -mob/living/carbon/human/airflow_hit(atom/A) -// for(var/mob/M in hearers(src)) -// M.show_message("\red [src] slams into [A]!",1,"\red You hear a loud slam!",2) - playsound(src.loc, "punch", 25, 1, -1) - loc:add_blood(src) - if (src.wear_suit) - src.wear_suit.add_blood(src) - if (src.w_uniform) - src.w_uniform.add_blood(src) - var/b_loss = airflow_speed * vsc.airflow_damage - - var/blocked = run_armor_check("head","melee") - apply_damage(b_loss/3, BRUTE, "head", blocked, 0, "Airflow") - - blocked = run_armor_check("chest","melee") - apply_damage(b_loss/3, BRUTE, "chest", blocked, 0, "Airflow") - - blocked = run_armor_check("groin","melee") - apply_damage(b_loss/3, BRUTE, "groin", blocked, 0, "Airflow") - - if(airflow_speed > 10) - paralysis += round(airflow_speed * vsc.airflow_stun) - stunned = max(stunned,paralysis + 3) - else - stunned += round(airflow_speed * vsc.airflow_stun/2) - . = ..() - -zone/proc/movables() - . = list() - for(var/turf/T in contents) - for(var/atom/A in T) -// if(istype(A, /obj/effect) || istype(A, /mob/aiEye)) - if(istype(A, /obj/effect) || istype(A, /mob/camera/aiEye)) - continue - . += A diff --git a/code/ZAS - oldbs12/Connection.dm b/code/ZAS - oldbs12/Connection.dm deleted file mode 100644 index 1bb8f9ca54d..00000000000 --- a/code/ZAS - oldbs12/Connection.dm +++ /dev/null @@ -1,448 +0,0 @@ -/* -This object is contained within zone/var/connections. It's generated whenever two turfs from different zones are linked. -Indirect connections will not merge the two zones after they reach equilibrium. -*/ -#define CONNECTION_DIRECT 2 -#define CONNECTION_INDIRECT 1 -#define CONNECTION_CLOSED 0 - -/connection - var/turf/simulated/A - var/turf/simulated/B - - var/zone/zone_A - var/zone/zone_B - - var/indirect = CONNECTION_DIRECT //If the connection is purely indirect, the zones should not join. - - -/connection/New(turf/T,turf/O) - . = ..() - - A = T - B = O - - if(A.zone && B.zone) - if(!A.zone.connections) - A.zone.connections = list() - A.zone.connections += src - zone_A = A.zone - - if(!B.zone.connections) - B.zone.connections = list() - B.zone.connections += src - zone_B = B.zone - - if(A in air_master.turfs_with_connections) - var/list/connections = air_master.turfs_with_connections[A] - connections.Add(src) - else - air_master.turfs_with_connections[A] = list(src) - - if(B in air_master.turfs_with_connections) - var/list/connections = air_master.turfs_with_connections[B] - connections.Add(src) - else - air_master.turfs_with_connections[B] = list(src) - - if(A.CanPass(null, B, 0, 0)) - - if(!A.CanPass(null, B, 1.5, 1)) - indirect = CONNECTION_INDIRECT - - ConnectZones(A.zone, B.zone, indirect) - - else - ConnectZones(A.zone, B.zone) - indirect = CONNECTION_CLOSED - - else - world.log << "Attempted to create connection object for non-zone tiles: [T] ([T.x],[T.y],[T.z]) -> [O] ([O.x],[O.y],[O.z])" - SoftDelete() - - -/connection/Del() - //remove connections from master lists. - if(B in air_master.turfs_with_connections) - var/list/connections = air_master.turfs_with_connections[B] - connections.Remove(src) - - if(A in air_master.turfs_with_connections) - var/list/connections = air_master.turfs_with_connections[A] - connections.Remove(src) - - //Remove connection from zones. - if(A) - if(A.zone && A.zone.connections) - A.zone.connections.Remove(src) - if(!A.zone.connections.len) - A.zone.connections = null - - if(istype(zone_A) && (!A || A.zone != zone_A)) - if(zone_A.connections) - zone_A.connections.Remove(src) - if(!zone_A.connections.len) - zone_A.connections = null - - if(B) - if(B.zone && B.zone.connections) - B.zone.connections.Remove(src) - if(!B.zone.connections.len) - B.zone.connections = null - - if(istype(zone_B) && (!B || B.zone != zone_B)) - if(zone_B.connections) - zone_B.connections.Remove(src) - if(!zone_B.connections.len) - zone_B.connections = null - - //Disconnect zones while handling unusual conditions. - // e.g. loss of a zone on a turf - DisconnectZones(zone_A, zone_B) - - //Finally, preform actual deletion. - . = ..() - - -/connection/proc/SoftDelete() - //remove connections from master lists. - if(B in air_master.turfs_with_connections) - var/list/connections = air_master.turfs_with_connections[B] - connections.Remove(src) - - if(A in air_master.turfs_with_connections) - var/list/connections = air_master.turfs_with_connections[A] - connections.Remove(src) - - //Remove connection from zones. - if(A) - if(A.zone && A.zone.connections) - A.zone.connections.Remove(src) - if(!A.zone.connections.len) - A.zone.connections = null - - if(istype(zone_A) && (!A || A.zone != zone_A)) - if(zone_A.connections) - zone_A.connections.Remove(src) - if(!zone_A.connections.len) - zone_A.connections = null - - if(B) - if(B.zone && B.zone.connections) - B.zone.connections.Remove(src) - if(!B.zone.connections.len) - B.zone.connections = null - - if(istype(zone_B) && (!B || B.zone != zone_B)) - if(zone_B.connections) - zone_B.connections.Remove(src) - if(!zone_B.connections.len) - zone_B.connections = null - - //Disconnect zones while handling unusual conditions. - // e.g. loss of a zone on a turf - DisconnectZones(zone_A, zone_B) - - -/connection/proc/ConnectZones(var/zone/zone_1, var/zone/zone_2, open = 0) - - //Sanity checking - if(!istype(zone_1) || !istype(zone_2)) - return - - //Handle zones connecting indirectly/directly. - if(open) - - //Create the lists if necessary. - if(!zone_1.connected_zones) - zone_1.connected_zones = list() - - if(!zone_2.connected_zones) - zone_2.connected_zones = list() - - //Increase the number of connections between zones. - if(zone_2 in zone_1.connected_zones) - zone_1.connected_zones[zone_2]++ - else - zone_1.connected_zones += zone_2 - zone_1.connected_zones[zone_2] = 1 - - if(zone_1 in zone_2.connected_zones) - zone_2.connected_zones[zone_1]++ - else - zone_2.connected_zones += zone_1 - zone_2.connected_zones[zone_1] = 1 - - if(open == CONNECTION_DIRECT) - if(!zone_1.direct_connections) - zone_1.direct_connections = list(src) - else - zone_1.direct_connections += src - - if(!zone_2.direct_connections) - zone_2.direct_connections = list(src) - else - zone_2.direct_connections += src - - - //Handle closed connections. - else - - //Create the lists - if(!zone_1.closed_connection_zones) - zone_1.closed_connection_zones = list() - - if(!zone_2.closed_connection_zones) - zone_2.closed_connection_zones = list() - - //Increment the connections. - if(zone_2 in zone_1.closed_connection_zones) - zone_1.closed_connection_zones[zone_2]++ - else - zone_1.closed_connection_zones += zone_2 - zone_1.closed_connection_zones[zone_2] = 1 - - if(zone_1 in zone_2.closed_connection_zones) - zone_2.closed_connection_zones[zone_1]++ - else - zone_2.closed_connection_zones += zone_1 - zone_2.closed_connection_zones[zone_1] = 1 - - if(zone_1.status == ZONE_SLEEPING) - zone_1.SetStatus(ZONE_ACTIVE) - - if(zone_2.status == ZONE_SLEEPING) - zone_2.SetStatus(ZONE_ACTIVE) - -/connection/proc/DisconnectZones(var/zone/zone_1, var/zone/zone_2) - //Sanity checking - if(!istype(zone_1) || !istype(zone_2)) - return - - if(indirect != CONNECTION_CLOSED) - //Handle disconnection of indirectly or directly connected zones. - if( (zone_1 in zone_2.connected_zones) || (zone_2 in zone_1.connected_zones) ) - - //If there are more than one connection, decrement the number of connections - //Otherwise, remove all connections between the zones. - if(zone_2 in zone_1.connected_zones) - if(zone_1.connected_zones[zone_2] > 1) - zone_1.connected_zones[zone_2]-- - else - zone_1.connected_zones -= zone_2 - //remove the list if it is empty - if(!zone_1.connected_zones.len) - zone_1.connected_zones = null - - //Then do the same for the other zone. - if(zone_1 in zone_2.connected_zones) - if(zone_2.connected_zones[zone_1] > 1) - zone_2.connected_zones[zone_1]-- - else - zone_2.connected_zones -= zone_1 - if(!zone_2.connected_zones.len) - zone_2.connected_zones = null - - if(indirect == CONNECTION_DIRECT) - zone_1.direct_connections -= src - if(!zone_1.direct_connections.len) - zone_1.direct_connections = null - - zone_2.direct_connections -= src - if(!zone_2.direct_connections.len) - zone_2.direct_connections = null - - else - //Handle disconnection of closed zones. - if( (zone_1 in zone_2.closed_connection_zones) || (zone_2 in zone_1.closed_connection_zones) ) - - //If there are more than one connection, decrement the number of connections - //Otherwise, remove all connections between the zones. - if(zone_2 in zone_1.closed_connection_zones) - if(zone_1.closed_connection_zones[zone_2] > 1) - zone_1.closed_connection_zones[zone_2]-- - else - zone_1.closed_connection_zones -= zone_2 - //remove the list if it is empty - if(!zone_1.closed_connection_zones.len) - zone_1.closed_connection_zones = null - - //Then do the same for the other zone. - if(zone_1 in zone_2.closed_connection_zones) - if(zone_2.closed_connection_zones[zone_1] > 1) - zone_2.closed_connection_zones[zone_1]-- - else - zone_2.closed_connection_zones -= zone_1 - if(!zone_2.closed_connection_zones.len) - zone_2.closed_connection_zones = null - - -/connection/proc/Cleanup() - - //Check sanity: existance of turfs - if(!A || !B) - SoftDelete() - return - - //Check sanity: loss of zone - if(!A.zone || !B.zone) - SoftDelete() - return - - //Check sanity: zones are different - if(A.zone == B.zone) - SoftDelete() - return - - //Handle zones changing on a turf. - if((A.zone && A.zone != zone_A) || (B.zone && B.zone != zone_B)) - Sanitize() - - if(A.zone && B.zone) - - //If no walls are blocking us... - if(A.ZAirPass(B)) - //...we check to see if there is a door in the way... - var/door_pass = A.CanPass(null,B,1.5,1) - //...and if it is opened. - if(door_pass || A.CanPass(null,B,0,0)) - - //Make and remove connections to let air pass. - if(indirect == CONNECTION_CLOSED) - DisconnectZones(A.zone, B.zone) - ConnectZones(A.zone, B.zone, door_pass + 1) - - if(door_pass) - indirect = CONNECTION_DIRECT - else if(!door_pass) - indirect = CONNECTION_INDIRECT - - //The door is instead closed. - else if(indirect > CONNECTION_CLOSED) - DisconnectZones(A.zone, B.zone) - indirect = CONNECTION_CLOSED - ConnectZones(A.zone, B.zone) - - //If I can no longer pass air, better delete - else - SoftDelete() - return - -/connection/proc/Sanitize() - //If the zones change on connected turfs, update it. - - //Both zones changed (wat) - if(A.zone && A.zone != zone_A && B.zone && B.zone != zone_B) - - //If the zones have gotten swapped - // (do not ask me how, I am just being anal retentive about sanity) - if(A.zone == zone_B && B.zone == zone_A) - var/turf/temp = B - B = A - A = temp - zone_B = B.zone - zone_A = A.zone - return - - //Handle removal of connections from archived zones. - if(zone_A && zone_A.connections) - zone_A.connections.Remove(src) - if(!zone_A.connections.len) - zone_A.connections = null - - if(zone_B && zone_B.connections) - zone_B.connections.Remove(src) - if(!zone_B.connections.len) - zone_B.connections = null - - if(A.zone) - if(!A.zone.connections) - A.zone.connections = list() - A.zone.connections |= src - - if(B.zone) - if(!B.zone.connections) - B.zone.connections = list() - B.zone.connections |= src - - //If either zone is null, we disconnect the archived ones after cleaning up the connections. - if(!A.zone || !B.zone) - if(zone_A && zone_B) - DisconnectZones(zone_B, zone_A) - - if(!A.zone) - zone_A = A.zone - - if(!B.zone) - zone_B = B.zone - return - - //Handle diconnection and reconnection of zones. - if(zone_A && zone_B) - DisconnectZones(zone_A, zone_B) - ConnectZones(A.zone, B.zone, indirect) - - //resetting values of archived values. - zone_B = B.zone - zone_A = A.zone - - //The "A" zone changed. - else if(A.zone && A.zone != zone_A) - - //Handle connection cleanup - if(zone_A) - if(zone_A.connections) - zone_A.connections.Remove(src) - if(!zone_A.connections.len) - zone_A.connections = null - - if(A.zone) - if(!A.zone.connections) - A.zone.connections = list() - A.zone.connections |= src - - //If the "A" zone is null, we disconnect the archived ones after cleaning up the connections. - if(!A.zone) - if(zone_A && zone_B) - DisconnectZones(zone_A, zone_B) - zone_A = A.zone - return - - //Handle diconnection and reconnection of zones. - if(zone_A && zone_B) - DisconnectZones(zone_A, zone_B) - ConnectZones(A.zone, B.zone, indirect) - zone_A = A.zone - - //The "B" zone changed. - else if(B.zone && B.zone != zone_B) - - //Handle connection cleanup - if(zone_B) - if(zone_B.connections) - zone_B.connections.Remove(src) - if(!zone_B.connections.len) - zone_B.connections = null - - if(B.zone) - if(!B.zone.connections) - B.zone.connections = list() - B.zone.connections |= src - - //If the "B" zone is null, we disconnect the archived ones after cleaning up the connections. - if(!B.zone) - if(zone_A && zone_B) - DisconnectZones(zone_A, zone_B) - zone_B = B.zone - return - - //Handle diconnection and reconnection of zones. - if(zone_A && zone_B) - DisconnectZones(zone_A, zone_B) - ConnectZones(A.zone, B.zone, indirect) - zone_B = B.zone - - -#undef CONNECTION_DIRECT -#undef CONNECTION_INDIRECT -#undef CONNECTION_CLOSED diff --git a/code/ZAS - oldbs12/Debug.dm b/code/ZAS - oldbs12/Debug.dm deleted file mode 100644 index 39f5a7caabd..00000000000 --- a/code/ZAS - oldbs12/Debug.dm +++ /dev/null @@ -1,219 +0,0 @@ -client/proc/ZoneTick() - set category = "Debug" - set name = "Process Atmos" - - var/result = air_master.Tick() - if(result) - src << "Sucessfully Processed." - - else - src << "Failed to process! ([air_master.tick_progress])" - - -client/proc/Zone_Info(turf/T as null|turf) - set category = "Debug" - if(T) - if(T.zone) - T.zone.DebugDisplay(src) - else - mob << "No zone here." - else - if(zone_debug_images) - for(var/zone in zone_debug_images) - images -= zone_debug_images[zone] - zone_debug_images = null - -client/var/list/zone_debug_images - -client/proc/Test_ZAS_Connection(var/turf/simulated/T as turf) - set category = "Debug" - if(!istype(T)) - return - - var/direction_list = list(\ - "North" = NORTH,\ - "South" = SOUTH,\ - "East" = EAST,\ - "West" = WEST,\ - "N/A" = null) - var/direction = input("What direction do you wish to test?","Set direction") as null|anything in direction_list - if(!direction) - return - - if(direction == "N/A") - if(T.CanPass(null, T, 0,0)) - mob << "The turf can pass air! :D" - else - mob << "No air passage :x" - return - - var/turf/simulated/other_turf = get_step(T, direction_list[direction]) - if(!istype(other_turf)) - return - - var/pass_directions = T.CanPass(null, other_turf, 0, 0) + 2 * other_turf.CanPass(null, T, 0, 0) - - switch(pass_directions) - if(0) - mob << "Neither turf can connect. :(" - - if(1) - mob << "The initial turf only can connect. :\\" - - if(2) - mob << "The other turf can connect, but not the initial turf. :/" - - if(3) - mob << "Both turfs can connect! :)" - - -zone/proc/DebugDisplay(client/client) - if(!istype(client)) - return - - if(!dbg_output) - dbg_output = 1 //Don't want to be spammed when someone investigates a zone... - - if(!client.zone_debug_images) - client.zone_debug_images = list() - - var/list/current_zone_images = list() - - for(var/turf/T in contents) - current_zone_images += image('icons/misc/debug_group.dmi', T, null, TURF_LAYER) - - for(var/turf/space/S in unsimulated_tiles) - current_zone_images += image('icons/misc/debug_space.dmi', S, null, TURF_LAYER) - - client << "Zone Air Contents" - client << "Oxygen: [air.oxygen]" - client << "Nitrogen: [air.nitrogen]" - client << "Plasma: [air.toxins]" - client << "Carbon Dioxide: [air.carbon_dioxide]" - client << "Temperature: [air.temperature] K" - client << "Heat Energy: [air.temperature * air.heat_capacity()] J" - client << "Pressure: [air.return_pressure()] KPa" - client << "" - client << "Space Tiles: [length(unsimulated_tiles)]" - client << "Movable Objects: [length(movables())]" - client << "Connections: [length(connections)]" - - for(var/connection/C in connections) - client << "\ref[C] [C.A] --> [C.B] [(C.indirect?"Open":"Closed")]" - current_zone_images += image('icons/misc/debug_connect.dmi', C.A, null, TURF_LAYER) - current_zone_images += image('icons/misc/debug_connect.dmi', C.B, null, TURF_LAYER) - - client << "Connected Zones:" - for(var/zone/zone in connected_zones) - client << "\ref[zone] [zone] - [connected_zones[zone]] (Connected)" - - for(var/zone/zone in closed_connection_zones) - client << "\ref[zone] [zone] - [closed_connection_zones[zone]] (Unconnected)" - - for(var/C in connections) - if(!istype(C,/connection)) - client << "[C] (Not Connection!)" - - if(!client.zone_debug_images) - client.zone_debug_images = list() - client.zone_debug_images[src] = current_zone_images - - client.images += client.zone_debug_images[src] - - else - dbg_output = 0 - - client.images -= client.zone_debug_images[src] - client.zone_debug_images.Remove(src) - - if(air_master) - for(var/zone/Z in air_master.zones) - if(Z.air == air && Z != src) - var/turf/zloc = pick(Z.contents) - client << "\red Illegal air datum shared by: [zloc.loc.name]" - - -client/proc/TestZASRebuild() - set category = "Debug" -// var/turf/turf = get_turf(mob) - var/zone/current_zone = mob.loc:zone - if(!current_zone) - src << "There is no zone there!" - return - - var/list/current_adjacents = list() - var/list/overlays = list() - var/adjacent_id - var/lowest_id - - var/list/identical_ids = list() - var/list/turfs = current_zone.contents.Copy() - var/current_identifier = 1 - - for(var/turf/simulated/current in turfs) - lowest_id = null - current_adjacents = list() - - for(var/direction in cardinal) - var/turf/simulated/adjacent = get_step(current, direction) - if(!current.ZCanPass(adjacent)) - continue - if(turfs.Find(adjacent)) - current_adjacents += adjacent - adjacent_id = turfs[adjacent] - - if(adjacent_id && (!lowest_id || adjacent_id < lowest_id)) - lowest_id = adjacent_id - - if(!lowest_id) - lowest_id = current_identifier++ - identical_ids += lowest_id - overlays += image('icons/misc/debug_rebuild.dmi',, "[lowest_id]") - - for(var/turf/simulated/adjacent in current_adjacents) - adjacent_id = turfs[adjacent] - if(adjacent_id != lowest_id) - if(adjacent_id) - adjacent.overlays -= overlays[adjacent_id] - identical_ids[adjacent_id] = lowest_id - - turfs[adjacent] = lowest_id - adjacent.overlays += overlays[lowest_id] - - sleep(5) - - if(turfs[current]) - current.overlays -= overlays[turfs[current]] - turfs[current] = lowest_id - current.overlays += overlays[lowest_id] - sleep(5) - - var/list/final_arrangement = list() - - for(var/turf/simulated/current in turfs) - current_identifier = identical_ids[turfs[current]] - current.overlays -= overlays[turfs[current]] - current.overlays += overlays[current_identifier] - sleep(5) - - if( current_identifier > final_arrangement.len ) - final_arrangement.len = current_identifier - final_arrangement[current_identifier] = list(current) - - else - final_arrangement[current_identifier] += current - - //lazy but fast - final_arrangement.Remove(null) - - src << "There are [final_arrangement.len] unique segments." - - for(var/turf/current in turfs) - current.overlays -= overlays - - return final_arrangement - -/client/proc/ZASSettings() - set category = "Debug" - - vsc.SetDefault(mob) \ No newline at end of file diff --git a/code/ZAS - oldbs12/FEA_gas_mixture.dm b/code/ZAS - oldbs12/FEA_gas_mixture.dm deleted file mode 100644 index 26df46c5812..00000000000 --- a/code/ZAS - oldbs12/FEA_gas_mixture.dm +++ /dev/null @@ -1,1089 +0,0 @@ -/* -What are the archived variables for? - Calculations are done using the archived variables with the results merged into the regular variables. - This prevents race conditions that arise based on the order of tile processing. -*/ - -#define SPECIFIC_HEAT_TOXIN 200 -#define SPECIFIC_HEAT_AIR 20 -#define SPECIFIC_HEAT_CDO 30 -#define HEAT_CAPACITY_CALCULATION(oxygen,carbon_dioxide,nitrogen,toxins) \ - max(0, carbon_dioxide * SPECIFIC_HEAT_CDO + (oxygen + nitrogen) * SPECIFIC_HEAT_AIR + toxins * SPECIFIC_HEAT_TOXIN) - -#define MINIMUM_HEAT_CAPACITY 0.0003 -#define QUANTIZE(variable) (round(variable,0.0001)) -#define TRANSFER_FRACTION 5 //What fraction (1/#) of the air difference to try and transfer - -#define TEMPERATURE_ICE_FORMATION 273.15 // 273 kelvin is the freezing point of water. -#define MIN_PRESSURE_ICE_FORMATION 10 // 10kPa should be okay - - - -/datum/gas/sleeping_agent/specific_heat = 40 //These are used for the "Trace Gases" stuff, but is buggy. - -/datum/gas/oxygen_agent_b/specific_heat = 300 - -/datum/gas/volatile_fuel/specific_heat = 30 - -/datum/gas - var/moles = 0 - - var/specific_heat = 0 - - var/moles_archived = 0 - -/datum/gas_mixture/ - var/oxygen = 0 //Holds the "moles" of each of the four gases. - var/carbon_dioxide = 0 - var/nitrogen = 0 - var/toxins = 0 - - var/total_moles = 0 //Updated when a reaction occurs. - - var/volume = CELL_VOLUME - - var/temperature = 0 //in Kelvin, use calculate_temperature() to modify - - var/group_multiplier = 1 - //Size of the group this gas_mixture is representing. - //=1 for singletons - - var/graphic - - var/list/datum/gas/trace_gases = list() //Seemed to be a good idea that was abandoned - - var/tmp/oxygen_archived //These are variables for use with the archived data - var/tmp/carbon_dioxide_archived - var/tmp/nitrogen_archived - var/tmp/toxins_archived - - var/tmp/temperature_archived - - var/tmp/graphic_archived = 0 - var/tmp/fuel_burnt = 0 - - var/reacting = 0 - -//FOR THE LOVE OF GOD PLEASE USE THIS PROC -//Call it with negative numbers to remove gases. - -/datum/gas_mixture/proc/adjust(o2 = 0, co2 = 0, n2 = 0, tx = 0, list/datum/gas/traces = list()) - //Purpose: Adjusting the gases within a airmix - //Called by: Nothing, yet! - //Inputs: The values of the gases to adjust - //Outputs: null - - oxygen = max(0, oxygen + o2) - carbon_dioxide = max(0, carbon_dioxide + co2) - nitrogen = max(0, nitrogen + n2) - toxins = max(0, toxins + tx) - - //handle trace gasses - for(var/datum/gas/G in traces) - var/datum/gas/T = locate(G.type) in trace_gases - if(T) - T.moles = max(G.moles + T.moles, 0) - else if(G.moles > 0) - trace_gases |= G - update_values() - return - - //tg seems to like using these a lot -/datum/gas_mixture/proc/return_temperature() - return temperature - - -/datum/gas_mixture/proc/return_volume() - return max(0, volume) - - -/datum/gas_mixture/proc/thermal_energy() - return temperature*heat_capacity() - -/////////////////////////////// -//PV=nRT - related procedures// -/////////////////////////////// - -/datum/gas_mixture/proc/heat_capacity() - //Purpose: Returning the heat capacity of the gas mix - //Called by: UNKNOWN - //Inputs: None - //Outputs: Heat capacity - - var/heat_capacity = HEAT_CAPACITY_CALCULATION(oxygen,carbon_dioxide,nitrogen,toxins) - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - heat_capacity += trace_gas.moles*trace_gas.specific_heat - - return max(MINIMUM_HEAT_CAPACITY,heat_capacity) - -/datum/gas_mixture/proc/heat_capacity_archived() - //Purpose: Returning the archived heat capacity of the gas mix - //Called by: UNKNOWN - //Inputs: None - //Outputs: Archived heat capacity - - var/heat_capacity_archived = HEAT_CAPACITY_CALCULATION(oxygen_archived,carbon_dioxide_archived,nitrogen_archived,toxins_archived) - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - heat_capacity_archived += trace_gas.moles_archived*trace_gas.specific_heat - - return max(MINIMUM_HEAT_CAPACITY,heat_capacity_archived) - -/datum/gas_mixture/proc/total_moles() - return total_moles - /*var/moles = oxygen + carbon_dioxide + nitrogen + toxins - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - moles += trace_gas.moles - return moles*/ - -/datum/gas_mixture/proc/return_pressure() - //Purpose: Calculating Current Pressure - //Called by: - //Inputs: None - //Outputs: Gas pressure. - - if(volume>0) - return total_moles()*R_IDEAL_GAS_EQUATION*temperature/volume - return 0 - -// proc/return_temperature() - //Purpose: - //Inputs: - //Outputs: - -// return temperature - -// proc/return_volume() - //Purpose: - //Inputs: - //Outputs: - -// return max(0, volume) - -// proc/thermal_energy() - //Purpose: - //Inputs: - //Outputs: - -// return temperature*heat_capacity() - -/datum/gas_mixture/proc/update_values() - //Purpose: Calculating and storing values which were normally called CONSTANTLY - //Called by: Anything that changes values within a gas mix. - //Inputs: None - //Outputs: None - - total_moles = oxygen + carbon_dioxide + nitrogen + toxins - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - total_moles += trace_gas.moles - - return - -//////////////////////////////////////////// -//Procedures used for very specific events// -//////////////////////////////////////////// - -/datum/gas_mixture/proc/check_tile_graphic() - //Purpose: Calculating the graphic for a tile - //Called by: Turfs updating - //Inputs: None - //Outputs: 1 if graphic changed, 0 if unchanged - - graphic = 0 - - if(temperature <= TEMPERATURE_ICE_FORMATION && return_pressure()>MIN_PRESSURE_ICE_FORMATION) - // If we're just forming, do a probability check. Otherwise, KEEP IT ON~ - // This ordering will hopefully keep it from sampling random noise every damn tick. - //if(was_icy || (!was_icy && prob(25))) - graphic = 3 - - - if(toxins > MOLES_PLASMA_VISIBLE) - graphic = 1 - else if(length(trace_gases)) - var/datum/gas/sleeping_agent = locate(/datum/gas/sleeping_agent) in trace_gases - if(sleeping_agent && (sleeping_agent.moles > 1)) - graphic = 2 - else - graphic = 0 - - return graphic != graphic_archived - -/datum/gas_mixture/proc/react(atom/dump_location) - //Purpose: Calculating if it is possible for a fire to occur in the airmix - //Called by: Air mixes updating? - //Inputs: None - //Outputs: If a fire occured - - //set to 1 if a notable reaction occured (used by pipe_network) - - zburn(null) - - return reacting - -/* -/datum/gas_mixture/proc/fire() - //Purpose: Calculating any fire reactions. - //Called by: react() (See above) - //Inputs: None - //Outputs: How much fuel burned - - return zburn(null) - - var/energy_released = 0 - var/old_heat_capacity = heat_capacity() - - var/datum/gas/volatile_fuel/fuel_store = locate(/datum/gas/volatile_fuel) in trace_gases - if(fuel_store) //General volatile gas burn - var/burned_fuel = 0 - - if(oxygen < fuel_store.moles) - burned_fuel = oxygen - fuel_store.moles -= burned_fuel - oxygen = 0 - else - burned_fuel = fuel_store.moles - oxygen -= fuel_store.moles - del(fuel_store) - - energy_released += FIRE_CARBON_ENERGY_RELEASED * burned_fuel - carbon_dioxide += burned_fuel - fuel_burnt += burned_fuel - - //Handle plasma burning - if(toxins > MINIMUM_HEAT_CAPACITY) - var/plasma_burn_rate = 0 - var/oxygen_burn_rate = 0 - //more plasma released at higher temperatures - var/temperature_scale - if(temperature > PLASMA_UPPER_TEMPERATURE) - temperature_scale = 1 - else - temperature_scale = (temperature-PLASMA_MINIMUM_BURN_TEMPERATURE)/(PLASMA_UPPER_TEMPERATURE-PLASMA_MINIMUM_BURN_TEMPERATURE) - if(temperature_scale > 0) - oxygen_burn_rate = 1.4 - temperature_scale - if(oxygen > toxins*PLASMA_OXYGEN_FULLBURN) - plasma_burn_rate = (toxins*temperature_scale)/4 - else - plasma_burn_rate = (temperature_scale*(oxygen/PLASMA_OXYGEN_FULLBURN))/4 - if(plasma_burn_rate > MINIMUM_HEAT_CAPACITY) - toxins -= plasma_burn_rate - oxygen -= plasma_burn_rate*oxygen_burn_rate - carbon_dioxide += plasma_burn_rate - - energy_released += FIRE_PLASMA_ENERGY_RELEASED * (plasma_burn_rate) - - fuel_burnt += (plasma_burn_rate)*(1+oxygen_burn_rate) - - if(energy_released > 0) - var/new_heat_capacity = heat_capacity() - if(new_heat_capacity > MINIMUM_HEAT_CAPACITY) - temperature = (temperature*old_heat_capacity + energy_released)/new_heat_capacity - update_values() - - return fuel_burnt*/ - -////////////////////////////////////////////// -//Procs for general gas spread calculations.// -////////////////////////////////////////////// - - -/datum/gas_mixture/proc/archive() - //Purpose: Archives the current gas values - //Called by: UNKNOWN - //Inputs: None - //Outputs: 1 - - oxygen_archived = oxygen - carbon_dioxide_archived = carbon_dioxide - nitrogen_archived = nitrogen - toxins_archived = toxins - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - trace_gas.moles_archived = trace_gas.moles - - temperature_archived = temperature - - graphic_archived = graphic - - return 1 - -/datum/gas_mixture/proc/check_then_merge(datum/gas_mixture/giver) - //Purpose: Similar to merge(...) but first checks to see if the amount of air assumed is small enough - // that group processing is still accurate for source (aborts if not) - //Called by: airgroups/machinery expelling air, ? - //Inputs: The gas to try and merge - //Outputs: 1 on successful merge. 0 otherwise. - - if(!giver) - return 0 - if(((giver.oxygen > MINIMUM_AIR_TO_SUSPEND) && (giver.oxygen >= oxygen*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((giver.carbon_dioxide > MINIMUM_AIR_TO_SUSPEND) && (giver.carbon_dioxide >= carbon_dioxide*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((giver.nitrogen > MINIMUM_AIR_TO_SUSPEND) && (giver.nitrogen >= nitrogen*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((giver.toxins > MINIMUM_AIR_TO_SUSPEND) && (giver.toxins >= toxins*MINIMUM_AIR_RATIO_TO_SUSPEND))) - return 0 - if(abs(giver.temperature - temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) - return 0 - - if(giver.trace_gases.len) - for(var/datum/gas/trace_gas in giver.trace_gases) - var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases - if((trace_gas.moles > MINIMUM_AIR_TO_SUSPEND) && (!corresponding || (trace_gas.moles >= corresponding.moles*MINIMUM_AIR_RATIO_TO_SUSPEND))) - return 0 - - return merge(giver) - -/datum/gas_mixture/proc/merge(datum/gas_mixture/giver) - //Purpose: Merges all air from giver into self. Deletes giver. - //Called by: Machinery expelling air, check_then_merge, ? - //Inputs: The gas to merge. - //Outputs: 1 - - if(!giver) - return 0 - - if(abs(temperature-giver.temperature)>MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/self_heat_capacity = heat_capacity()*group_multiplier - var/giver_heat_capacity = giver.heat_capacity()*giver.group_multiplier - var/combined_heat_capacity = giver_heat_capacity + self_heat_capacity - if(combined_heat_capacity != 0) - temperature = (giver.temperature*giver_heat_capacity + temperature*self_heat_capacity)/combined_heat_capacity - - if((group_multiplier>1)||(giver.group_multiplier>1)) - oxygen += giver.oxygen*giver.group_multiplier/group_multiplier - carbon_dioxide += giver.carbon_dioxide*giver.group_multiplier/group_multiplier - nitrogen += giver.nitrogen*giver.group_multiplier/group_multiplier - toxins += giver.toxins*giver.group_multiplier/group_multiplier - else - oxygen += giver.oxygen - carbon_dioxide += giver.carbon_dioxide - nitrogen += giver.nitrogen - toxins += giver.toxins - - if(giver.trace_gases.len) - for(var/datum/gas/trace_gas in giver.trace_gases) - var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases - if(!corresponding) - corresponding = new trace_gas.type() - trace_gases += corresponding - corresponding.moles += trace_gas.moles*giver.group_multiplier/group_multiplier - update_values() - - // Let the garbage collector handle it, faster according to /tg/ testers - //del(giver) - return 1 - -/datum/gas_mixture/proc/remove(amount) - //Purpose: Removes a certain number of moles from the air. - //Called by: ? - //Inputs: How many moles to remove. - //Outputs: Removed air. - - var/sum = total_moles() - amount = min(amount,sum) //Can not take more air than tile has! - if(amount <= 0) - return null - - var/datum/gas_mixture/removed = new - - - removed.oxygen = QUANTIZE((oxygen/sum)*amount) - removed.nitrogen = QUANTIZE((nitrogen/sum)*amount) - removed.carbon_dioxide = QUANTIZE((carbon_dioxide/sum)*amount) - removed.toxins = QUANTIZE(((toxins/sum)*amount)) - - oxygen -= removed.oxygen/group_multiplier - nitrogen -= removed.nitrogen/group_multiplier - carbon_dioxide -= removed.carbon_dioxide/group_multiplier - toxins -= removed.toxins/group_multiplier - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - var/datum/gas/corresponding = new trace_gas.type() - removed.trace_gases += corresponding - - corresponding.moles = ((trace_gas.moles/sum)*amount) - trace_gas.moles -= (corresponding.moles/group_multiplier) - - removed.temperature = temperature - update_values() - removed.update_values() - - return removed - -/datum/gas_mixture/proc/remove_ratio(ratio) - //Purpose: Removes a certain ratio of the air. - //Called by: ? - //Inputs: Percentage to remove. - //Outputs: Removed air. - - if(ratio <= 0) - return null - - ratio = min(ratio, 1) - - var/datum/gas_mixture/removed = new - - removed.oxygen = QUANTIZE(oxygen*ratio) - removed.nitrogen = QUANTIZE(nitrogen*ratio) - removed.carbon_dioxide = QUANTIZE(carbon_dioxide*ratio) - removed.toxins = QUANTIZE(toxins*ratio) - - oxygen -= removed.oxygen/group_multiplier - nitrogen -= removed.nitrogen/group_multiplier - carbon_dioxide -= removed.carbon_dioxide/group_multiplier - toxins -= removed.toxins/group_multiplier - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - var/datum/gas/corresponding = new trace_gas.type() - removed.trace_gases += corresponding - - corresponding.moles = trace_gas.moles*ratio - trace_gas.moles -= corresponding.moles/group_multiplier - - removed.temperature = temperature - update_values() - removed.update_values() - - return removed - -/datum/gas_mixture/proc/check_then_remove(amount) - //Purpose: Similar to remove(...) but first checks to see if the amount of air removed is small enough - // that group processing is still accurate for source (aborts if not) - //Called by: ? - //Inputs: Number of moles to remove - //Outputs: Removed air or 0 if it can remove air or not. - - amount = min(amount,total_moles()) //Can not take more air than tile has! - - if((amount > MINIMUM_AIR_RATIO_TO_SUSPEND) && (amount > total_moles()*MINIMUM_AIR_RATIO_TO_SUSPEND)) - return 0 - - return remove(amount) - -/datum/gas_mixture/proc/copy_from(datum/gas_mixture/sample) - //Purpose: Duplicates the sample air mixture. - //Called by: airgroups splitting, ? - //Inputs: Gas to copy - //Outputs: 1 - - oxygen = sample.oxygen - carbon_dioxide = sample.carbon_dioxide - nitrogen = sample.nitrogen - toxins = sample.toxins - total_moles = sample.total_moles() - - trace_gases.len=null - if(sample.trace_gases.len > 0) - for(var/datum/gas/trace_gas in sample.trace_gases) - var/datum/gas/corresponding = new trace_gas.type() - trace_gases += corresponding - - corresponding.moles = trace_gas.moles - - temperature = sample.temperature - - return 1 - -/datum/gas_mixture/proc/check_gas_mixture(datum/gas_mixture/sharer) - //Purpose: Telling if one or both airgroups needs to disable group processing. - //Called by: Airgroups sharing air, checking if group processing needs disabled. - //Inputs: Gas to compare from other airgroup - //Outputs: 0 if the self-check failed (local airgroup breaks?) - // then -1 if sharer-check failed (sharing airgroup breaks?) - // then 1 if both checks pass (share succesful?) - if(!istype(sharer)) - return - - var/delta_oxygen = QUANTIZE(oxygen_archived - sharer.oxygen_archived)/TRANSFER_FRACTION - var/delta_carbon_dioxide = QUANTIZE(carbon_dioxide_archived - sharer.carbon_dioxide_archived)/TRANSFER_FRACTION - var/delta_nitrogen = QUANTIZE(nitrogen_archived - sharer.nitrogen_archived)/TRANSFER_FRACTION - var/delta_toxins = QUANTIZE(toxins_archived - sharer.toxins_archived)/TRANSFER_FRACTION - - var/delta_temperature = (temperature_archived - sharer.temperature_archived) - - if(((abs(delta_oxygen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_oxygen) >= oxygen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_carbon_dioxide) >= carbon_dioxide_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_nitrogen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_nitrogen) >= nitrogen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_toxins) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_toxins) >= toxins_archived*MINIMUM_AIR_RATIO_TO_SUSPEND))) - return 0 - - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) - return 0 - - if(sharer.trace_gases.len) - for(var/datum/gas/trace_gas in sharer.trace_gases) - if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4) - var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases - if(corresponding) - if(trace_gas.moles_archived >= corresponding.moles_archived*MINIMUM_AIR_RATIO_TO_SUSPEND*4) - return 0 - else - return 0 - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4) - if(!locate(trace_gas.type) in sharer.trace_gases) - return 0 - - if(((abs(delta_oxygen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_oxygen) >= sharer.oxygen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_carbon_dioxide) >= sharer.carbon_dioxide_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_nitrogen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_nitrogen) >= sharer.nitrogen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_toxins) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_toxins) >= sharer.toxins_archived*MINIMUM_AIR_RATIO_TO_SUSPEND))) - return -1 - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4) - var/datum/gas/corresponding = locate(trace_gas.type) in sharer.trace_gases - if(corresponding) - if(trace_gas.moles_archived >= corresponding.moles_archived*MINIMUM_AIR_RATIO_TO_SUSPEND*4) - return -1 - else - return -1 - - return 1 - -/datum/gas_mixture/proc/check_turf(turf/model) - //Purpose: Used to compare the gases in an unsimulated turf with the gas in a simulated one. - //Called by: Sharing air (mimicing) with adjacent unsimulated turfs - //Inputs: Unsimulated turf - //Outputs: 1 if safe to mimic, 0 if needs to break airgroup. - - var/delta_oxygen = (oxygen_archived - model.oxygen)/TRANSFER_FRACTION - var/delta_carbon_dioxide = (carbon_dioxide_archived - model.carbon_dioxide)/TRANSFER_FRACTION - var/delta_nitrogen = (nitrogen_archived - model.nitrogen)/TRANSFER_FRACTION - var/delta_toxins = (toxins_archived - model.toxins)/TRANSFER_FRACTION - - var/delta_temperature = (temperature_archived - model.temperature) - - if(((abs(delta_oxygen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_oxygen) >= oxygen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_carbon_dioxide) >= carbon_dioxide_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_nitrogen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_nitrogen) >= nitrogen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_toxins) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_toxins) >= toxins_archived*MINIMUM_AIR_RATIO_TO_SUSPEND))) - return 0 - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) - return 0 - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4) - return 0 - - return 1 - -/datum/gas_mixture/proc/share(datum/gas_mixture/sharer) - //Purpose: Used to transfer gas from a more pressurised tile to a less presurised tile - // (Two directional, if the other tile is more pressurised, air travels to current tile) - //Called by: Sharing air with adjacent simulated turfs - //Inputs: Air datum to share with - //Outputs: Amount of gas exchanged (Negative if lost air, positive if gained.) - - - if(!istype(sharer)) - return - - var/delta_oxygen = QUANTIZE(oxygen_archived - sharer.oxygen_archived)/TRANSFER_FRACTION - var/delta_carbon_dioxide = QUANTIZE(carbon_dioxide_archived - sharer.carbon_dioxide_archived)/TRANSFER_FRACTION - var/delta_nitrogen = QUANTIZE(nitrogen_archived - sharer.nitrogen_archived)/TRANSFER_FRACTION - var/delta_toxins = QUANTIZE(toxins_archived - sharer.toxins_archived)/TRANSFER_FRACTION - - var/delta_temperature = (temperature_archived - sharer.temperature_archived) - - var/old_self_heat_capacity = 0 - var/old_sharer_heat_capacity = 0 - - var/heat_self_to_sharer = 0 - var/heat_capacity_self_to_sharer = 0 - var/heat_sharer_to_self = 0 - var/heat_capacity_sharer_to_self = 0 - - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - - var/delta_air = delta_oxygen+delta_nitrogen - if(delta_air) - var/air_heat_capacity = SPECIFIC_HEAT_AIR*delta_air - if(delta_air > 0) - heat_self_to_sharer += air_heat_capacity*temperature_archived - heat_capacity_self_to_sharer += air_heat_capacity - else - heat_sharer_to_self -= air_heat_capacity*sharer.temperature_archived - heat_capacity_sharer_to_self -= air_heat_capacity - - if(delta_carbon_dioxide) - var/carbon_dioxide_heat_capacity = SPECIFIC_HEAT_CDO*delta_carbon_dioxide - if(delta_carbon_dioxide > 0) - heat_self_to_sharer += carbon_dioxide_heat_capacity*temperature_archived - heat_capacity_self_to_sharer += carbon_dioxide_heat_capacity - else - heat_sharer_to_self -= carbon_dioxide_heat_capacity*sharer.temperature_archived - heat_capacity_sharer_to_self -= carbon_dioxide_heat_capacity - - if(delta_toxins) - var/toxins_heat_capacity = SPECIFIC_HEAT_TOXIN*delta_toxins - if(delta_toxins > 0) - heat_self_to_sharer += toxins_heat_capacity*temperature_archived - heat_capacity_self_to_sharer += toxins_heat_capacity - else - heat_sharer_to_self -= toxins_heat_capacity*sharer.temperature_archived - heat_capacity_sharer_to_self -= toxins_heat_capacity - - old_self_heat_capacity = heat_capacity()*group_multiplier - old_sharer_heat_capacity = sharer.heat_capacity()*sharer.group_multiplier - - oxygen -= delta_oxygen/group_multiplier - sharer.oxygen += delta_oxygen/sharer.group_multiplier - - carbon_dioxide -= delta_carbon_dioxide/group_multiplier - sharer.carbon_dioxide += delta_carbon_dioxide/sharer.group_multiplier - - nitrogen -= delta_nitrogen/group_multiplier - sharer.nitrogen += delta_nitrogen/sharer.group_multiplier - - toxins -= delta_toxins/group_multiplier - sharer.toxins += delta_toxins/sharer.group_multiplier - - var/moved_moles = (delta_oxygen + delta_carbon_dioxide + delta_nitrogen + delta_toxins) - - var/list/trace_types_considered = list() - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - - var/datum/gas/corresponding = locate(trace_gas.type) in sharer.trace_gases - var/delta = 0 - - if(corresponding) - delta = QUANTIZE(trace_gas.moles_archived - corresponding.moles_archived)/TRANSFER_FRACTION - else - corresponding = new trace_gas.type() - sharer.trace_gases += corresponding - - delta = trace_gas.moles_archived/TRANSFER_FRACTION - - trace_gas.moles -= delta/group_multiplier - corresponding.moles += delta/sharer.group_multiplier - - if(delta) - var/individual_heat_capacity = trace_gas.specific_heat*delta - if(delta > 0) - heat_self_to_sharer += individual_heat_capacity*temperature_archived - heat_capacity_self_to_sharer += individual_heat_capacity - else - heat_sharer_to_self -= individual_heat_capacity*sharer.temperature_archived - heat_capacity_sharer_to_self -= individual_heat_capacity - - moved_moles += delta - - trace_types_considered += trace_gas.type - - - if(sharer.trace_gases.len) - for(var/datum/gas/trace_gas in sharer.trace_gases) - if(trace_gas.type in trace_types_considered) continue - else - var/datum/gas/corresponding - var/delta = 0 - - corresponding = new trace_gas.type() - trace_gases += corresponding - - delta = trace_gas.moles_archived/TRANSFER_FRACTION - - trace_gas.moles -= delta/sharer.group_multiplier - corresponding.moles += delta/group_multiplier - - //Guaranteed transfer from sharer to self - var/individual_heat_capacity = trace_gas.specific_heat*delta - heat_sharer_to_self += individual_heat_capacity*sharer.temperature_archived - heat_capacity_sharer_to_self += individual_heat_capacity - - moved_moles += -delta - update_values() - sharer.update_values() - - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/new_self_heat_capacity = old_self_heat_capacity + heat_capacity_sharer_to_self - heat_capacity_self_to_sharer - var/new_sharer_heat_capacity = old_sharer_heat_capacity + heat_capacity_self_to_sharer - heat_capacity_sharer_to_self - - if(new_self_heat_capacity > MINIMUM_HEAT_CAPACITY) - temperature = (old_self_heat_capacity*temperature - heat_capacity_self_to_sharer*temperature_archived + heat_capacity_sharer_to_self*sharer.temperature_archived)/new_self_heat_capacity - - if(new_sharer_heat_capacity > MINIMUM_HEAT_CAPACITY) - sharer.temperature = (old_sharer_heat_capacity*sharer.temperature-heat_capacity_sharer_to_self*sharer.temperature_archived + heat_capacity_self_to_sharer*temperature_archived)/new_sharer_heat_capacity - - if(abs(old_sharer_heat_capacity) > MINIMUM_HEAT_CAPACITY) - if(abs(new_sharer_heat_capacity/old_sharer_heat_capacity - 1) < 0.10) // <10% change in sharer heat capacity - temperature_share(sharer, OPEN_HEAT_TRANSFER_COEFFICIENT) - - if((delta_temperature > MINIMUM_TEMPERATURE_TO_MOVE) || abs(moved_moles) > MINIMUM_MOLES_DELTA_TO_MOVE) - var/delta_pressure = temperature_archived*(total_moles() + moved_moles) - sharer.temperature_archived*(sharer.total_moles() - moved_moles) - return delta_pressure*R_IDEAL_GAS_EQUATION/volume - - else - return 0 - -/datum/gas_mixture/proc/mimic(turf/model, border_multiplier) - //Purpose: Used transfer gas from a more pressurised tile to a less presurised unsimulated tile. - //Called by: "sharing" from unsimulated to simulated turfs. - //Inputs: Unsimulated turf, Multiplier for gas transfer (optional) - //Outputs: Amount of gas exchanged - - var/delta_oxygen = QUANTIZE(oxygen_archived - model.oxygen)/TRANSFER_FRACTION - var/delta_carbon_dioxide = QUANTIZE(carbon_dioxide_archived - model.carbon_dioxide)/TRANSFER_FRACTION - var/delta_nitrogen = QUANTIZE(nitrogen_archived - model.nitrogen)/TRANSFER_FRACTION - var/delta_toxins = QUANTIZE(toxins_archived - model.toxins)/TRANSFER_FRACTION - - var/delta_temperature = (temperature_archived - model.temperature) - - var/heat_transferred = 0 - var/old_self_heat_capacity = 0 - var/heat_capacity_transferred = 0 - - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - - var/delta_air = delta_oxygen+delta_nitrogen - if(delta_air) - var/air_heat_capacity = SPECIFIC_HEAT_AIR*delta_air - heat_transferred -= air_heat_capacity*model.temperature - heat_capacity_transferred -= air_heat_capacity - - if(delta_carbon_dioxide) - var/carbon_dioxide_heat_capacity = SPECIFIC_HEAT_CDO*delta_carbon_dioxide - heat_transferred -= carbon_dioxide_heat_capacity*model.temperature - heat_capacity_transferred -= carbon_dioxide_heat_capacity - - if(delta_toxins) - var/toxins_heat_capacity = SPECIFIC_HEAT_TOXIN*delta_toxins - heat_transferred -= toxins_heat_capacity*model.temperature - heat_capacity_transferred -= toxins_heat_capacity - - old_self_heat_capacity = heat_capacity()*group_multiplier - - if(border_multiplier) - oxygen -= delta_oxygen*border_multiplier/group_multiplier - carbon_dioxide -= delta_carbon_dioxide*border_multiplier/group_multiplier - nitrogen -= delta_nitrogen*border_multiplier/group_multiplier - toxins -= delta_toxins*border_multiplier/group_multiplier - else - oxygen -= delta_oxygen/group_multiplier - carbon_dioxide -= delta_carbon_dioxide/group_multiplier - nitrogen -= delta_nitrogen/group_multiplier - toxins -= delta_toxins/group_multiplier - - var/moved_moles = (delta_oxygen + delta_carbon_dioxide + delta_nitrogen + delta_toxins) - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - var/delta = 0 - - delta = trace_gas.moles_archived/TRANSFER_FRACTION - - if(border_multiplier) - trace_gas.moles -= delta*border_multiplier/group_multiplier - else - trace_gas.moles -= delta/group_multiplier - - var/heat_cap_transferred = delta*trace_gas.specific_heat - heat_transferred += heat_cap_transferred*temperature_archived - heat_capacity_transferred += heat_cap_transferred - moved_moles += delta - update_values() - - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/new_self_heat_capacity = old_self_heat_capacity - heat_capacity_transferred - if(new_self_heat_capacity > MINIMUM_HEAT_CAPACITY) - if(border_multiplier) - temperature = (old_self_heat_capacity*temperature - heat_capacity_transferred*border_multiplier*temperature_archived)/new_self_heat_capacity - else - temperature = (old_self_heat_capacity*temperature - heat_capacity_transferred*border_multiplier*temperature_archived)/new_self_heat_capacity - - temperature_mimic(model, model.thermal_conductivity, border_multiplier) - - if((delta_temperature > MINIMUM_TEMPERATURE_TO_MOVE) || abs(moved_moles) > MINIMUM_MOLES_DELTA_TO_MOVE) - var/delta_pressure = temperature_archived*(total_moles() + moved_moles) - model.temperature*(model.oxygen+model.carbon_dioxide+model.nitrogen+model.toxins) - return delta_pressure*R_IDEAL_GAS_EQUATION/volume - else - return 0 - -/datum/gas_mixture/proc/check_both_then_temperature_share(datum/gas_mixture/sharer, conduction_coefficient) - var/delta_temperature = (temperature_archived - sharer.temperature_archived) - - var/self_heat_capacity = heat_capacity_archived() - var/sharer_heat_capacity = sharer.heat_capacity_archived() - - var/self_temperature_delta = 0 - var/sharer_temperature_delta = 0 - - if((sharer_heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY)) - var/heat = conduction_coefficient*delta_temperature* \ - (self_heat_capacity*sharer_heat_capacity/(self_heat_capacity+sharer_heat_capacity)) - - self_temperature_delta = -heat/(self_heat_capacity*group_multiplier) - sharer_temperature_delta = heat/(sharer_heat_capacity*sharer.group_multiplier) - else - return 1 - - if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \ - && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived)) - return 0 - - if((abs(sharer_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \ - && (abs(sharer_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*sharer.temperature_archived)) - return -1 - - temperature += self_temperature_delta - sharer.temperature += sharer_temperature_delta - - return 1 - //Logic integrated from: temperature_share(sharer, conduction_coefficient) for efficiency - -/datum/gas_mixture/proc/check_me_then_temperature_share(datum/gas_mixture/sharer, conduction_coefficient) - var/delta_temperature = (temperature_archived - sharer.temperature_archived) - - var/self_heat_capacity = heat_capacity_archived() - var/sharer_heat_capacity = sharer.heat_capacity_archived() - - var/self_temperature_delta = 0 - var/sharer_temperature_delta = 0 - - if((sharer_heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY)) - var/heat = conduction_coefficient*delta_temperature* \ - (self_heat_capacity*sharer_heat_capacity/(self_heat_capacity+sharer_heat_capacity)) - - self_temperature_delta = -heat/(self_heat_capacity*group_multiplier) - sharer_temperature_delta = heat/(sharer_heat_capacity*sharer.group_multiplier) - else - return 1 - - if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \ - && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived)) - return 0 - - temperature += self_temperature_delta - sharer.temperature += sharer_temperature_delta - - return 1 - //Logic integrated from: temperature_share(sharer, conduction_coefficient) for efficiency - -/datum/gas_mixture/proc/check_me_then_temperature_turf_share(turf/simulated/sharer, conduction_coefficient) - var/delta_temperature = (temperature_archived - sharer.temperature) - - var/self_temperature_delta = 0 - var/sharer_temperature_delta = 0 - - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/self_heat_capacity = heat_capacity_archived() - - if((sharer.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY)) - var/heat = conduction_coefficient*delta_temperature* \ - (self_heat_capacity*sharer.heat_capacity/(self_heat_capacity+sharer.heat_capacity)) - - self_temperature_delta = -heat/(self_heat_capacity*group_multiplier) - sharer_temperature_delta = heat/sharer.heat_capacity - else - return 1 - - if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \ - && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived)) - return 0 - - temperature += self_temperature_delta - sharer.temperature += sharer_temperature_delta - - return 1 - //Logic integrated from: temperature_turf_share(sharer, conduction_coefficient) for efficiency - -/datum/gas_mixture/proc/check_me_then_temperature_mimic(turf/model, conduction_coefficient) - var/delta_temperature = (temperature_archived - model.temperature) - var/self_temperature_delta = 0 - - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/self_heat_capacity = heat_capacity_archived() - - if((model.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY)) - var/heat = conduction_coefficient*delta_temperature* \ - (self_heat_capacity*model.heat_capacity/(self_heat_capacity+model.heat_capacity)) - - self_temperature_delta = -heat/(self_heat_capacity*group_multiplier) - - if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \ - && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived)) - return 0 - - temperature += self_temperature_delta - - return 1 - //Logic integrated from: temperature_mimic(model, conduction_coefficient) for efficiency - -/datum/gas_mixture/proc/temperature_share(datum/gas_mixture/sharer, conduction_coefficient) - var/delta_temperature = (temperature_archived - sharer.temperature_archived) - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/self_heat_capacity = heat_capacity_archived() - var/sharer_heat_capacity = sharer.heat_capacity_archived() - if(!group_multiplier) - message_admins("Error! The gas mixture (ref \ref[src]) has no group multiplier!") - return - - if((sharer_heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY)) - var/heat = conduction_coefficient*delta_temperature* \ - (self_heat_capacity*sharer_heat_capacity/(self_heat_capacity+sharer_heat_capacity)) - - temperature -= heat/(self_heat_capacity*group_multiplier) - sharer.temperature += heat/(sharer_heat_capacity*sharer.group_multiplier) - -/datum/gas_mixture/proc/temperature_mimic(turf/model, conduction_coefficient, border_multiplier) - var/delta_temperature = (temperature - model.temperature) - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/self_heat_capacity = heat_capacity()//_archived() - if(!group_multiplier) - message_admins("Error! The gas mixture (ref \ref[src]) has no group multiplier!") - return - - if((model.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY)) - var/heat = conduction_coefficient*delta_temperature* \ - (self_heat_capacity*model.heat_capacity/(self_heat_capacity+model.heat_capacity)) - - if(border_multiplier) - temperature -= heat*border_multiplier/(self_heat_capacity*group_multiplier) - else - temperature -= heat/(self_heat_capacity*group_multiplier) - -/datum/gas_mixture/proc/temperature_turf_share(turf/simulated/sharer, conduction_coefficient) - var/delta_temperature = (temperature_archived - sharer.temperature) - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/self_heat_capacity = heat_capacity() - - if((sharer.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY)) - var/heat = conduction_coefficient*delta_temperature* \ - (self_heat_capacity*sharer.heat_capacity/(self_heat_capacity+sharer.heat_capacity)) - - temperature -= heat/(self_heat_capacity*group_multiplier) - sharer.temperature += heat/sharer.heat_capacity - -/datum/gas_mixture/proc/compare(datum/gas_mixture/sample) - //Purpose: Compares sample to self to see if within acceptable ranges that group processing may be enabled - //Called by: Airgroups trying to rebuild - //Inputs: Gas mix to compare - //Outputs: 1 if can rebuild, 0 if not. - if(!sample) return 0 - - - if((abs(oxygen-sample.oxygen) > MINIMUM_AIR_TO_SUSPEND) && \ - ((oxygen < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.oxygen) || (oxygen > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.oxygen))) - return 0 - if((abs(nitrogen-sample.nitrogen) > MINIMUM_AIR_TO_SUSPEND) && \ - ((nitrogen < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.nitrogen) || (nitrogen > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.nitrogen))) - return 0 - if((abs(carbon_dioxide-sample.carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && \ - ((carbon_dioxide < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.carbon_dioxide) || (carbon_dioxide > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.carbon_dioxide))) - return 0 - if((abs(toxins-sample.toxins) > MINIMUM_AIR_TO_SUSPEND) && \ - ((toxins < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.toxins) || (toxins > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.toxins))) - return 0 - - - if(total_moles() > MINIMUM_AIR_TO_SUSPEND) - if((abs(temperature-sample.temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) && \ - ((temperature < (1-MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND)*sample.temperature) || (temperature > (1+MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND)*sample.temperature))) - //world << "temp fail [temperature] & [sample.temperature]" - return 0 - var/check_moles - if(sample.trace_gases.len) - for(var/datum/gas/trace_gas in sample.trace_gases) - var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases - if(corresponding) - check_moles = corresponding.moles - else - check_moles = 0 - - if((abs(trace_gas.moles - check_moles) > MINIMUM_AIR_TO_SUSPEND) && \ - ((check_moles < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*trace_gas.moles) || (check_moles > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*trace_gas.moles))) - return 0 - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases - if(corresponding) - check_moles = corresponding.moles - else - check_moles = 0 - - if((abs(trace_gas.moles - check_moles) > MINIMUM_AIR_TO_SUSPEND) && \ - ((trace_gas.moles < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*check_moles) || (trace_gas.moles > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*check_moles))) - return 0 - - return 1 - -/datum/gas_mixture/proc/add(datum/gas_mixture/right_side) - oxygen += right_side.oxygen - carbon_dioxide += right_side.carbon_dioxide - nitrogen += right_side.nitrogen - toxins += right_side.toxins - - if(trace_gases.len || right_side.trace_gases.len) - for(var/datum/gas/trace_gas in right_side.trace_gases) - var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases - if(!corresponding) - corresponding = new trace_gas.type() - trace_gases += corresponding - corresponding.moles += trace_gas.moles - - update_values() - return 1 - -/datum/gas_mixture/proc/subtract(datum/gas_mixture/right_side) - //Purpose: Subtracts right_side from air_mixture. Used to help turfs mingle - //Called by: Pipelines ending in a break (or something) - //Inputs: Gas mix to remove - //Outputs: 1 - - oxygen = max(oxygen - right_side.oxygen) - carbon_dioxide = max(carbon_dioxide - right_side.carbon_dioxide) - nitrogen = max(nitrogen - right_side.nitrogen) - toxins = max(toxins - right_side.toxins) - - if(trace_gases.len || right_side.trace_gases.len) - for(var/datum/gas/trace_gas in right_side.trace_gases) - var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases - if(corresponding) - corresponding.moles = max(0, corresponding.moles - trace_gas.moles) - - update_values() - return 1 - -/datum/gas_mixture/proc/multiply(factor) - oxygen *= factor - carbon_dioxide *= factor - nitrogen *= factor - toxins *= factor - - if(trace_gases && trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - trace_gas.moles *= factor - - update_values() - return 1 - -/datum/gas_mixture/proc/divide(factor) - oxygen /= factor - carbon_dioxide /= factor - nitrogen /= factor - toxins /= factor - - if(trace_gases && trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - trace_gas.moles /= factor - - update_values() - return 1 diff --git a/code/ZAS - oldbs12/FEA_system.dm b/code/ZAS - oldbs12/FEA_system.dm deleted file mode 100644 index ecc4ff37f36..00000000000 --- a/code/ZAS - oldbs12/FEA_system.dm +++ /dev/null @@ -1,356 +0,0 @@ -/* -Overview: - The air_master global variable is the workhorse for the system. - -Why are you archiving data before modifying it? - The general concept with archiving data and having each tile keep track of when they were last updated is to keep everything symmetric - and totally independent of the order they are read in an update cycle. - This prevents abnormalities like air/fire spreading rapidly in one direction and super slowly in the other. - -Why not just archive everything and then calculate? - Efficiency. While a for-loop that goes through all tils and groups to archive their information before doing any calculations seems simple, it is - slightly less efficient than the archive-before-modify/read method. - -Why is there a cycle check for calculating data as well? - This ensures that every connection between group-tile, tile-tile, and group-group is only evaluated once per loop. - - - - -Important variables: - air_master.groups_to_rebuild (list) - A list of air groups that have had their geometry occluded and thus may need to be split in half. - A set of adjacent groups put in here will join together if validly connected. - This is done before air system calculations for a cycle. - air_master.tiles_to_update (list) - Turfs that are in this list have their border data updated before the next air calculations for a cycle. - Place turfs in this list rather than call the proc directly to prevent race conditions - - turf/simulated.archive() and datum/air_group.archive() - This stores all data for. - If you modify, make sure to update the archived_cycle to prevent race conditions and maintain symmetry - - atom/CanPass(atom/movable/mover, turf/target, height, air_group) - returns 1 for allow pass and 0 for deny pass - Turfs automatically call this for all objects/mobs in its turf. - This is called both as source.CanPass(target, height, air_group) - and target.CanPass(source, height, air_group) - - Cases for the parameters - 1. This is called with args (mover, location, height>0, air_group=0) for normal objects. - 2. This is called with args (null, location, height=0, air_group=0) for flowing air. - 3. This is called with args (null, location, height=?, air_group=1) for determining group boundaries. - - Cases 2 and 3 would be different for doors or other objects open and close fairly often. - (Case 3 would return 0 always while Case 2 would return 0 only when the door is open) - This prevents the necessity of re-evaluating group geometry every time a door opens/closes. - - -Important Procedures - air_master.process() - This first processes the air_master update/rebuild lists then processes all groups and tiles for air calculations - -*/ - -var/tick_multiplier = 2 - -atom/proc/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0) - //Purpose: Determines if the object (or airflow) can pass this atom. - //Called by: Movement, airflow. - //Inputs: The moving atom (optional), target turf, "height" and air group - //Outputs: Boolean if can pass. - - return (!density || !height || air_group) - -/turf/CanPass(atom/movable/mover, turf/target, height=1.5,air_group=0) - if(!target) return 0 - - if(istype(mover)) // turf/Enter(...) will perform more advanced checks - return !density - - else // Now, doing more detailed checks for air movement and air group formation - if(target.blocks_air||blocks_air) - return 0 - - for(var/obj/obstacle in src) - if(!obstacle.CanPass(mover, target, height, air_group)) - return 0 - if(target != src) - for(var/obj/obstacle in target) - if(!obstacle.CanPass(mover, src, height, air_group)) - return 0 - - return 1 - - -var/datum/controller/air_system/air_master - -/datum/controller/air_system - //Geometry lists - var/list/turfs_with_connections = list() - var/list/active_hotspots = list() - - //Special functions lists - var/reconsidering_zones = FALSE - var/list/tiles_to_reconsider_zones = list() - var/list/tiles_to_reconsider_alternate - - //Geometry updates lists - var/updating_tiles = FALSE - var/list/tiles_to_update = list() - var/list/tiles_to_update_alternate - - var/checking_connections = FALSE - var/list/connections_to_check = list() - var/list/connections_to_check_alternate - - var/list/potential_intrazone_connections = list() - - //Zone lists - var/list/active_zones = list() - var/list/zones_needing_rebuilt = list() - var/list/zones = list() - - - var/current_cycle = 0 - var/update_delay = 5 //How long between check should it try to process atmos again. - var/failed_ticks = 0 //How many ticks have runtimed? - - var/tick_progress = 0 - - -/datum/controller/air_system/proc/Setup() - //Purpose: Call this at the start to setup air groups geometry - // (Warning: Very processor intensive but only must be done once per round) - //Called by: Gameticker/Master controller - //Inputs: None. - //Outputs: None. - - //set background = 1 - world << "\red \b Processing Geometry..." - sleep(-1) - - var/start_time = world.timeofday - - var/simulated_turf_count = 0 - - for(var/turf/simulated/S in world) - simulated_turf_count++ - if(!S.zone && !S.blocks_air) - if(S.CanPass(null, S, 0, 0)) - new/zone(S) - - for(var/turf/simulated/S in world) - S.update_air_properties() - - world << {"Geometry initialized in [round(0.1*(world.timeofday-start_time),0.1)] seconds. -Total Simulated Turfs: [simulated_turf_count] -Total Zones: [zones.len] -Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_count]"} - -// spawn Start() - - -/datum/controller/air_system/proc/Start() - //Purpose: This is kicked off by the master controller, and controls the processing of all atmosphere. - //Called by: Master controller - //Inputs: None. - //Outputs: None. - - - //set background = 1 - - while(1) - if(!air_processing_killed) - var/success = Tick() //Changed so that a runtime does not crash the ticker. - if(!success) //Runtimed. - failed_ticks++ - if(failed_ticks > 20) - world << "ERROR IN ATMOS TICKER. Killing air simulation!" - air_processing_killed = 1 - sleep(max(5,update_delay*tick_multiplier)) - - -/datum/controller/air_system/proc/Tick() - . = 1 //Set the default return value, for runtime detection. - - current_cycle++ - - //If there are tiles to update, do so. - tick_progress = "updating turf properties" - if(tiles_to_update.len) - updating_tiles = TRUE - - for(var/turf/simulated/T in tiles_to_update) - if(. && T && !T.update_air_properties()) - //If a runtime occured, make sure we can sense it. - . = 0 - - updating_tiles = FALSE - - if(.) - if(tiles_to_update_alternate) - tiles_to_update = tiles_to_update_alternate - tiles_to_update_alternate = null - else - tiles_to_update = list() - - else if(tiles_to_update_alternate) - tiles_to_update |= tiles_to_update_alternate - tiles_to_update_alternate = null - - //Rebuild zones. - if(.) - tick_progress = "rebuilding zones" - if(zones_needing_rebuilt.len) - for(var/zone/zone in zones_needing_rebuilt) - zone.Rebuild() - - zones_needing_rebuilt = list() - - //Check sanity on connection objects. - if(.) - tick_progress = "checking/creating connections" - if(connections_to_check.len) - checking_connections = TRUE - - for(var/connection/C in connections_to_check) - C.Cleanup() - - for(var/turf/simulated/turf_1 in potential_intrazone_connections) - for(var/turf/simulated/turf_2 in potential_intrazone_connections[turf_1]) - - if(!turf_1.zone || !turf_2.zone) - continue - - if(turf_1.zone == turf_2.zone) - continue - - var/should_skip = FALSE - if(turf_1 in air_master.turfs_with_connections) - - for(var/connection/C in turfs_with_connections[turf_1]) - if(C.B == turf_2 || C.A == turf_2) - should_skip = TRUE - break - if(should_skip) - continue - - new /connection(turf_1, turf_2) - - checking_connections = FALSE - - potential_intrazone_connections = list() - - if(connections_to_check_alternate) - connections_to_check = connections_to_check_alternate - connections_to_check_alternate = null - else - connections_to_check = list() - - //Process zones. - if(.) - tick_progress = "processing zones" - for(var/zone/Z in active_zones) - if(Z.last_update < current_cycle) - var/output = Z.process() - if(Z) - Z.last_update = current_cycle - if(. && Z && !output) - . = 0 - - //Ensure tiles still have zones. - if(.) - tick_progress = "reconsidering zones on turfs" - if(tiles_to_reconsider_zones.len) - reconsidering_zones = TRUE - - for(var/turf/simulated/T in tiles_to_reconsider_zones) - if(!T.zone) - new /zone(T) - - reconsidering_zones = FALSE - - if(tiles_to_reconsider_alternate) - tiles_to_reconsider_zones = tiles_to_reconsider_alternate - tiles_to_reconsider_alternate = null - else - tiles_to_reconsider_zones = list() - - //Process fires. - if(.) - tick_progress = "processing fire" - for(var/obj/fire/F in active_hotspots) - if(. && F && !F.process()) - . = 0 - - if(.) - tick_progress = "success" - - -/datum/controller/air_system/proc/AddTurfToUpdate(turf/simulated/outdated_turf) - var/list/tiles_to_check = list() - - if(istype(outdated_turf)) - tiles_to_check |= outdated_turf - - if(istype(outdated_turf, /turf)) - for(var/direction in cardinal) - var/turf/simulated/adjacent_turf = get_step(outdated_turf, direction) - if(istype(adjacent_turf)) - tiles_to_check |= adjacent_turf - - if(updating_tiles) - if(!tiles_to_update_alternate) - tiles_to_update_alternate = tiles_to_check - else - tiles_to_update_alternate |= tiles_to_check - else - tiles_to_update |= tiles_to_check - - -/datum/controller/air_system/proc/AddConnectionToCheck(connection/connection) - if(checking_connections) - if(istype(connection, /list)) - if(!connections_to_check_alternate) - connections_to_check_alternate = connection - - else if(!connections_to_check_alternate) - connections_to_check_alternate = list() - - connections_to_check_alternate |= connection - - else - connections_to_check |= connection - - -/datum/controller/air_system/proc/ReconsiderTileZone(var/turf/simulated/zoneless_turf) - if(zoneless_turf.zone) - return - - if(reconsidering_zones) - if(!tiles_to_reconsider_alternate) - tiles_to_reconsider_alternate = list() - - tiles_to_reconsider_alternate |= zoneless_turf - - else - tiles_to_reconsider_zones |= zoneless_turf - - -/datum/controller/air_system/proc/AddIntrazoneConnection(var/turf/simulated/A, var/turf/simulated/B) - if(!istype(A) || !istype(B)) - return - - if(A in potential_intrazone_connections) - if(B in potential_intrazone_connections[A]) - return - - if (B in potential_intrazone_connections) - if(A in potential_intrazone_connections[B]) - return - - potential_intrazone_connections[B] += A - - else - potential_intrazone_connections[B] = list(A) diff --git a/code/ZAS - oldbs12/Fire.dm b/code/ZAS - oldbs12/Fire.dm deleted file mode 100644 index b79d7f8b553..00000000000 --- a/code/ZAS - oldbs12/Fire.dm +++ /dev/null @@ -1,362 +0,0 @@ -/* - -Making Bombs with ZAS: -Make burny fire with lots of burning -Draw off 5000K gas from burny fire -Separate gas into oxygen and plasma components -Obtain plasma and oxygen tanks filled up about 50-75% with normal-temp gas -Fill rest with super hot gas from separated canisters, they should be about 125C now. -Attach to transfer valve and open. BOOM. - -*/ - - -//Some legacy definitions so fires can be started. -atom/proc/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) - return null - - -turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) - - -turf/simulated/hotspot_expose(exposed_temperature, exposed_volume, soh) - if(fire_protection > world.time-300) - return 0 - if(locate(/obj/fire) in src) - return 1 - var/datum/gas_mixture/air_contents = return_air() - if(!air_contents || exposed_temperature < PLASMA_MINIMUM_BURN_TEMPERATURE) - return 0 - - var/obj/structure/reagent_dispensers/fueltank/FT = locate() in src - if(exposed_temperature >= AUTOIGNITION_WELDERFUEL) - if (FT) - FT.explode() - return 1 - - var/igniting = 0 - var/obj/effect/decal/cleanable/liquid_fuel/liquid = locate() in src - - if(air_contents.check_combustability(liquid)) - igniting = 1 - - if(! (locate(/obj/fire) in src)) - - new /obj/fire(src,1000) - - return igniting - -/obj/fire - //Icon for fire on turfs. - - anchored = 1 - mouse_opacity = 0 - - //luminosity = 3 - - icon = 'icons/effects/fire.dmi' - icon_state = "1" - - layer = TURF_LAYER - - var/firelevel = 10000 //Calculated by gas_mixture.calculate_firelevel() - -/obj/fire/process() - . = 1 - - //get location and check if it is in a proper ZAS zone - var/turf/simulated/S = loc - - if(!istype(S)) - del src - - if(!S.zone) - del src - - var/datum/gas_mixture/air_contents = S.return_air() - //get liquid fuels on the ground. - var/obj/effect/decal/cleanable/liquid_fuel/liquid = locate() in S - //and the volatile stuff from the air - var/datum/gas/volatile_fuel/fuel = locate() in air_contents.trace_gases - - //since the air is processed in fractions, we need to make sure not to have any minuscle residue or - //the amount of moles might get to low for some functions to catch them and thus result in wonky behaviour - if(air_contents.oxygen < 0.001) - air_contents.oxygen = 0 - if(air_contents.toxins < 0.001) - air_contents.toxins = 0 - if(fuel) - if(fuel.moles < 0.001) - air_contents.trace_gases.Remove(fuel) - - //check if there is something to combust - if(!air_contents.check_recombustability(liquid)) - //del src - RemoveFire() - - //get a firelevel and set the icon - firelevel = air_contents.calculate_firelevel(liquid) - - if(firelevel > 6) - icon_state = "3" - SetLuminosity(7) - else if(firelevel > 2.5) - icon_state = "2" - SetLuminosity(5) - else - icon_state = "1" - SetLuminosity(3) - - //im not sure how to implement a version that works for every creature so for now monkeys are firesafe - for(var/mob/living/carbon/human/M in loc) - M.FireBurn(firelevel, air_contents.temperature, air_contents.return_pressure() ) //Burn the humans! - for(var/atom/A in loc) - A.fire_act(air_contents, air_contents.temperature, air_contents.return_volume()) - //spread - for(var/direction in cardinal) - if(S.air_check_directions&direction) //Grab all valid bordering tiles - - var/turf/simulated/enemy_tile = get_step(S, direction) - - if(istype(enemy_tile)) - var/datum/gas_mixture/acs = enemy_tile.return_air() - var/obj/effect/decal/cleanable/liquid_fuel/liq = locate() in enemy_tile - if(!acs) continue - if(!acs.check_recombustability(liq)) continue - //If extinguisher mist passed over the turf it's trying to spread to, don't spread and - //reduce firelevel. - if(enemy_tile.fire_protection > world.time-30) - firelevel -= 1.5 - continue - - //Spread the fire. - if(!(locate(/obj/fire) in enemy_tile)) - if( prob( 50 + 50 * (firelevel/vsc.fire_firelevel_multiplier) ) && S.CanPass(null, enemy_tile, 0,0) && enemy_tile.CanPass(null, S, 0,0)) - new/obj/fire(enemy_tile,firelevel) - - //seperate part of the present gas - //this is done to prevent the fire burning all gases in a single pass - var/datum/gas_mixture/flow = air_contents.remove_ratio(vsc.fire_consuption_rate) -///////////////////////////////// FLOW HAS BEEN CREATED /// DONT DELETE THE FIRE UNTIL IT IS MERGED BACK OR YOU WILL DELETE AIR /////////////////////////////////////////////// - - if(flow) - - if(flow.check_recombustability(liquid)) - //Ensure flow temperature is higher than minimum fire temperatures. - //this creates some energy ex nihilo but is necessary to get a fire started - //lets just pretend this energy comes from the ignition source and dont mention this again - //flow.temperature = max(PLASMA_MINIMUM_BURN_TEMPERATURE+0.1,flow.temperature) - - //burn baby burn! - - flow.zburn(liquid,1) - //merge the air back - S.assume_air(flow) - -///////////////////////////////// FLOW HAS BEEN REMERGED /// feel free to delete the fire again from here on ////////////////////////////////////////////////////////////////// - - -/obj/fire/New(newLoc,fl) - ..() - - if(!istype(loc, /turf)) - del src - - dir = pick(cardinal) - SetLuminosity(3) - firelevel = fl - air_master.active_hotspots.Add(src) - - -/obj/fire/Destroy() - if (istype(loc, /turf/simulated)) - SetLuminosity(0) - - loc = null - air_master.active_hotspots.Remove(src) - - ..() - -/obj/fire/proc/RemoveFire() - if (istype(loc, /turf/simulated)) - SetLuminosity(0) - loc = null - air_master.active_hotspots.Remove(src) - - - -turf/simulated/var/fire_protection = 0 //Protects newly extinguished tiles from being overrun again. -turf/proc/apply_fire_protection() -turf/simulated/apply_fire_protection() - fire_protection = world.time - - -datum/gas_mixture/proc/zburn(obj/effect/decal/cleanable/liquid_fuel/liquid, force_burn) - var/value = 0 - - if((temperature > PLASMA_MINIMUM_BURN_TEMPERATURE || force_burn) && check_recombustability(liquid)) - var/total_fuel = 0 - var/datum/gas/volatile_fuel/fuel = locate() in trace_gases - - total_fuel += toxins - - if(fuel) - //Volatile Fuel - total_fuel += fuel.moles - - if(liquid) - //Liquid Fuel - if(liquid.amount <= 0) - del liquid - else - total_fuel += liquid.amount - - //Calculate the firelevel. - var/firelevel = calculate_firelevel(liquid) - - //get the current inner energy of the gas mix - //this must be taken here to prevent the addition or deletion of energy by a changing heat capacity - var/starting_energy = temperature * heat_capacity() - - //determine the amount of oxygen used - var/total_oxygen = min(oxygen, 2 * total_fuel) - - //determine the amount of fuel actually used - var/used_fuel_ratio = min(oxygen / 2 , total_fuel) / total_fuel - total_fuel = total_fuel * used_fuel_ratio - - var/total_reactants = total_fuel + total_oxygen - - //determine the amount of reactants actually reacting - var/used_reactants_ratio = min( max(total_reactants * firelevel / vsc.fire_firelevel_multiplier, 0.2), total_reactants) / total_reactants - - //remove and add gasses as calculated - oxygen -= min(oxygen, total_oxygen * used_reactants_ratio ) - - toxins -= min(toxins, (toxins * used_fuel_ratio * used_reactants_ratio ) * 3) - if(toxins < 0) - toxins = 0 - - carbon_dioxide += max(2 * total_fuel, 0) - - if(fuel) - fuel.moles -= (fuel.moles * used_fuel_ratio * used_reactants_ratio) * 5 //Fuel burns 5 times as quick - if(fuel.moles <= 0) del fuel - - if(liquid) - liquid.amount -= (liquid.amount * used_fuel_ratio * used_reactants_ratio) * 5 // liquid fuel burns 5 times as quick - - if(liquid.amount <= 0) del liquid - - //calculate the energy produced by the reaction and then set the new temperature of the mix - temperature = (starting_energy + vsc.fire_fuel_energy_release * total_fuel) / heat_capacity() - - update_values() - value = total_reactants * used_reactants_ratio - return value - -datum/gas_mixture/proc/check_recombustability(obj/effect/decal/cleanable/liquid_fuel/liquid) - //this is a copy proc to continue a fire after its been started. - - var/datum/gas/volatile_fuel/fuel = locate() in trace_gases - - if(oxygen && (toxins || fuel || liquid)) - if(liquid) - return 1 - if (toxins) - return 1 - if(fuel) - return 1 - - return 0 - -datum/gas_mixture/proc/check_combustability(obj/effect/decal/cleanable/liquid_fuel/liquid) - //this check comes up very often and is thus centralized here to ease adding stuff - - var/datum/gas/volatile_fuel/fuel = locate() in trace_gases - - if(oxygen && (toxins || fuel || liquid)) - if(liquid) - return 1 - if (toxins >= 0.7) - return 1 - if(fuel && fuel.moles >= 1.4) - return 1 - - return 0 - -datum/gas_mixture/proc/calculate_firelevel(obj/effect/decal/cleanable/liquid_fuel/liquid) - //Calculates the firelevel based on one equation instead of having to do this multiple times in different areas. - - var/datum/gas/volatile_fuel/fuel = locate() in trace_gases - var/total_fuel = 0 - var/firelevel = 0 - - if(check_recombustability(liquid)) - - total_fuel += toxins - - if(liquid) - total_fuel += liquid.amount - - if(fuel) - total_fuel += fuel.moles - - var/total_combustables = (total_fuel + oxygen) - - if(total_fuel > 0 && oxygen > 0) - - //slows down the burning when the concentration of the reactants is low - var/dampening_multiplier = total_combustables / (total_combustables + nitrogen + carbon_dioxide) - //calculates how close the mixture of the reactants is to the optimum - var/mix_multiplier = 1 / (1 + (5 * ((oxygen / total_combustables) ** 2))) - //toss everything together - firelevel = vsc.fire_firelevel_multiplier * mix_multiplier * dampening_multiplier - - return max( 0, firelevel) - - -/mob/living/proc/FireBurn(var/firelevel, var/last_temperature, var/pressure) - var/mx = 5 * firelevel/vsc.fire_firelevel_multiplier * min(pressure / ONE_ATMOSPHERE, 1) - apply_damage(2.5*mx, BURN) - - -/mob/living/carbon/human/FireBurn(var/firelevel, var/last_temperature, var/pressure) - //Burns mobs due to fire. Respects heat transfer coefficients on various body parts. - //Due to TG reworking how fireprotection works, this is kinda less meaningful. - - var/head_exposure = 1 - var/chest_exposure = 1 - var/groin_exposure = 1 - var/legs_exposure = 1 - var/arms_exposure = 1 - - //Get heat transfer coefficients for clothing. - - for(var/obj/item/clothing/C in src) - if(l_hand == C || r_hand == C) - continue - - if( C.max_heat_protection_temperature >= last_temperature ) - if(C.body_parts_covered & HEAD) - head_exposure = 0 - if(C.body_parts_covered & UPPER_TORSO) - chest_exposure = 0 - if(C.body_parts_covered & LOWER_TORSO) - groin_exposure = 0 - if(C.body_parts_covered & LEGS) - legs_exposure = 0 - if(C.body_parts_covered & ARMS) - arms_exposure = 0 - //minimize this for low-pressure enviroments - var/mx = 5 * firelevel/vsc.fire_firelevel_multiplier * min(pressure / ONE_ATMOSPHERE, 1) - - //Always check these damage procs first if fire damage isn't working. They're probably what's wrong. - - apply_damage(2.5*mx*head_exposure, BURN, "head", 0, 0, "Fire") - apply_damage(2.5*mx*chest_exposure, BURN, "chest", 0, 0, "Fire") - apply_damage(2.0*mx*groin_exposure, BURN, "groin", 0, 0, "Fire") - apply_damage(0.6*mx*legs_exposure, BURN, "l_leg", 0, 0, "Fire") - apply_damage(0.6*mx*legs_exposure, BURN, "r_leg", 0, 0, "Fire") - apply_damage(0.4*mx*arms_exposure, BURN, "l_arm", 0, 0, "Fire") - apply_damage(0.4*mx*arms_exposure, BURN, "r_arm", 0, 0, "Fire") diff --git a/code/ZAS - oldbs12/Functions.dm b/code/ZAS - oldbs12/Functions.dm deleted file mode 100644 index 3037e13f412..00000000000 --- a/code/ZAS - oldbs12/Functions.dm +++ /dev/null @@ -1,172 +0,0 @@ -//Global Functions -//Contents: FloodFill, ZMerge, ZConnect - -//Floods outward from an initial turf to fill everywhere it's zone would reach. -proc/FloodFill(turf/simulated/start) - - if(!istype(start)) - return list() - - //The list of tiles waiting to be evaulated. - var/list/open = list(start) - //The list of tiles which have been evaulated. - var/list/closed = list() - - //Loop through the turfs in the open list in order to find which adjacent turfs should be added to the zone. - while(open.len) - var/turf/simulated/T = pick(open) - - //sanity! - if(!istype(T)) - open -= T - continue - - //Check all cardinal directions - for(var/d in cardinal) - var/turf/simulated/O = get_step(T,d) - - //Ensure the turf is of proper type, that it is not in either list, and that air can reach it. - if(istype(O) && !(O in open) && !(O in closed) && O.ZCanPass(T)) - - //Handle connections from a tile with a door. - if(T.HasDoor()) - //If they both have doors, then they are not able to connect period. - if(O.HasDoor()) - continue - - //Connect first to north and west - if(d == NORTH || d == WEST) - open += O - - //If that fails, and north/west cannot be connected to, see if west or south can be connected instead. - else - var/turf/simulated/W = get_step(O, WEST) - var/turf/simulated/N = get_step(O, NORTH) - - if( !O.ZCanPass(N) && !O.ZCanPass(W) ) - //If it cannot connect either to the north or west, connect it! - open += O - - //If no doors are involved, add it immediately. - else if(!O.HasDoor()) - open += O - - //Handle connecting to a tile with a door. - else - if(d == SOUTH || d == EAST) - //doors prefer connecting to zones to the north or west - closed += O - - else - //see if we need to force an attempted connection - //(there are no potentially viable zones to the north/west of the door) - var/turf/simulated/W = get_step(O, WEST) - var/turf/simulated/N = get_step(O, NORTH) - - if( !O.ZCanPass(N) && !O.ZCanPass(W) ) - //If it cannot connect either to the north or west, connect it! - closed += O - - //This tile is now evaluated, and can be moved to the list of evaluated tiles. - open -= T - closed += T - - return closed - - -//Procedure to merge two zones together. -proc/ZMerge(zone/A,zone/B) - - //Sanity~ - if(!istype(A) || !istype(B)) - return - - var/new_contents = A.contents + B.contents - - //Set all the zone vars. - for(var/turf/simulated/T in B.contents) - T.zone = A - - if(istype(A.air) && istype(B.air)) - //Merges two zones so that they are one. - var/a_size = A.air.group_multiplier - var/b_size = B.air.group_multiplier - var/c_size = a_size + b_size - - //Set air multipliers to one so air represents gas per tile. - A.air.group_multiplier = 1 - B.air.group_multiplier = 1 - - //Remove some air proportional to the size of this zone. - A.air.remove_ratio(a_size/c_size) - B.air.remove_ratio(b_size/c_size) - - //Merge the gases and set the multiplier to the sum of the old ones. - A.air.merge(B.air) - A.air.group_multiplier = c_size - - //I hate when the air datum somehow disappears. - // Try to make it sorta work anyways. Fakit - else if(istype(B.air)) - A.air = B.air - A.air.group_multiplier = A.contents.len - - else if(istype(A.air)) - A.air.group_multiplier = A.contents.len - - //Doublefakit. - else - A.air = new - - //Check for connections to merge into the new zone. - for(var/connection/C in B.connections) - //The Cleanup proc will delete the connection if the zones are the same. - // It will also set the zone variables correctly. - C.Cleanup() - - //Add space tiles. - if(A.unsimulated_tiles && B.unsimulated_tiles) - A.unsimulated_tiles |= B.unsimulated_tiles - else if (B.unsimulated_tiles) - A.unsimulated_tiles = B.unsimulated_tiles - - //Add contents. - A.contents = new_contents - - //Remove the "B" zone, finally. - B.SoftDelete() - - -//Connects two zones by forming a connection object representing turfs A and B. -proc/ZConnect(turf/simulated/A,turf/simulated/B) - - //Make sure that if it's space, it gets added to unsimulated_tiles instead. - if(!istype(B)) - if(A.zone) - A.zone.AddTurf(B) - return - if(!istype(A)) - if(B.zone) - B.zone.AddTurf(A) - return - - if(!istype(A) || !istype(B)) - return - - //Make some preliminary checks to see if the connection is valid. - if(!A.zone || !B.zone) return - if(A.zone == B.zone) - air_master.AddIntrazoneConnection(A,B) - return - - if(A.CanPass(null, B, 1.5, 1) && A.zone.air.compare(B.zone.air)) - return ZMerge(A.zone,B.zone) - - //Ensure the connection isn't already made. - if(A in air_master.turfs_with_connections) - for(var/connection/C in air_master.turfs_with_connections[A]) - if(C.B == B || C.A == B) - return - - //Make the connection. - new /connection(A,B) diff --git a/code/ZAS - oldbs12/Plasma.dm b/code/ZAS - oldbs12/Plasma.dm deleted file mode 100644 index 5be45be3c07..00000000000 --- a/code/ZAS - oldbs12/Plasma.dm +++ /dev/null @@ -1,163 +0,0 @@ -var/image/contamination_overlay = image('icons/effects/contamination.dmi') - -/pl_control - var/PLASMA_DMG = 3 - var/PLASMA_DMG_NAME = "Plasma Damage Amount" - var/PLASMA_DMG_DESC = "Self Descriptive" - - var/CLOTH_CONTAMINATION = 1 - var/CLOTH_CONTAMINATION_NAME = "Cloth Contamination" - var/CLOTH_CONTAMINATION_DESC = "If this is on, plasma does damage by getting into cloth." - - var/PLASMAGUARD_ONLY = 0 - var/PLASMAGUARD_ONLY_NAME = "\"PlasmaGuard Only\"" - var/PLASMAGUARD_ONLY_DESC = "If this is on, only biosuits and spacesuits protect against contamination and ill effects." - - var/GENETIC_CORRUPTION = 0 - var/GENETIC_CORRUPTION_NAME = "Genetic Corruption Chance" - var/GENETIC_CORRUPTION_DESC = "Chance of genetic corruption as well as toxic damage, X in 10,000." - - var/SKIN_BURNS = 0 - var/SKIN_BURNS_DESC = "Plasma has an effect similar to mustard gas on the un-suited." - var/SKIN_BURNS_NAME = "Skin Burns" - - var/EYE_BURNS = 1 - var/EYE_BURNS_NAME = "Eye Burns" - var/EYE_BURNS_DESC = "Plasma burns the eyes of anyone not wearing eye protection." - - var/CONTAMINATION_LOSS = 0.02 - var/CONTAMINATION_LOSS_NAME = "Contamination Loss" - var/CONTAMINATION_LOSS_DESC = "How much toxin damage is dealt from contaminated clothing" //Per tick? ASK ARYN - - var/PLASMA_HALLUCINATION = 0 - var/PLASMA_HALLUCINATION_NAME = "Plasma Hallucination" - var/PLASMA_HALLUCINATION_DESC = "Does being in plasma cause you to hallucinate?" - - var/N2O_HALLUCINATION = 1 - var/N2O_HALLUCINATION_NAME = "N2O Hallucination" - var/N2O_HALLUCINATION_DESC = "Does being in sleeping gas cause you to hallucinate?" - - -obj/var/contaminated = 0 - - -/obj/item/proc/can_contaminate() - //Clothing and backpacks can be contaminated. - if(flags & PLASMAGUARD) return 0 - else if(istype(src,/obj/item/weapon/storage/backpack)) return 0 //Cannot be washed :( - else if(istype(src,/obj/item/clothing)) return 1 - -/obj/item/proc/contaminate() - //Do a contamination overlay? Temporary measure to keep contamination less deadly than it was. - if(!contaminated) - contaminated = 1 - overlays += contamination_overlay - -/obj/item/proc/decontaminate() - contaminated = 0 - overlays -= contamination_overlay - -/mob/proc/contaminate() - -/mob/living/carbon/human/contaminate() - //See if anything can be contaminated. - - if(!pl_suit_protected()) - suit_contamination() - - if(!pl_head_protected()) - if(prob(1)) suit_contamination() //Plasma can sometimes get through such an open suit. - -//Cannot wash backpacks currently. -// if(istype(back,/obj/item/weapon/storage/backpack)) -// back.contaminate() - -/mob/proc/pl_effects() - -/mob/living/carbon/human/pl_effects() - //Handles all the bad things plasma can do. - - //Contamination - if(vsc.plc.CLOTH_CONTAMINATION) contaminate() - - //Anything else requires them to not be dead. - if(stat >= 2) - return - - //Burn skin if exposed. - if(vsc.plc.SKIN_BURNS) - if(!pl_head_protected() || !pl_suit_protected()) - burn_skin(0.75) - if(prob(20)) src << "\red Your skin burns!" - updatehealth() - - //Burn eyes if exposed. - if(vsc.plc.EYE_BURNS) - if(!head) - if(!wear_mask) - burn_eyes() - else - if(!(wear_mask.flags & MASKCOVERSEYES)) - burn_eyes() - else - if(!(head.flags & HEADCOVERSEYES)) - if(!wear_mask) - burn_eyes() - else - if(!(wear_mask.flags & MASKCOVERSEYES)) - burn_eyes() - - //Genetic Corruption - if(vsc.plc.GENETIC_CORRUPTION) - if(rand(1,10000) < vsc.plc.GENETIC_CORRUPTION) - randmutb(src) - src << "\red High levels of toxins cause you to spontaneously mutate." - domutcheck(src,null) - - -/mob/living/carbon/human/proc/burn_eyes() - //The proc that handles eye burning. - if(prob(20)) src << "\red Your eyes burn!" - var/datum/organ/internal/eyes/E = internal_organs_by_name["eyes"] - E.damage += 2.5 - eye_blurry = min(eye_blurry+1.5,50) - if (prob(max(0,E.damage - 15) + 1) &&!eye_blind) - src << "\red You are blinded!" - eye_blind += 20 - -/mob/living/carbon/human/proc/pl_head_protected() - //Checks if the head is adequately sealed. - if(head) - if(vsc.plc.PLASMAGUARD_ONLY) - if(head.flags & PLASMAGUARD) - return 1 - else if(head.flags & HEADCOVERSEYES) - return 1 - return 0 - -/mob/living/carbon/human/proc/pl_suit_protected() - //Checks if the suit is adequately sealed. - if(wear_suit) - if(vsc.plc.PLASMAGUARD_ONLY) - if(wear_suit.flags & PLASMAGUARD) return 1 - else - if(wear_suit.flags_inv & HIDEJUMPSUIT) return 1 - return 0 - -/mob/living/carbon/human/proc/suit_contamination() - //Runs over the things that can be contaminated and does so. - if(w_uniform) w_uniform.contaminate() - if(shoes) shoes.contaminate() - if(gloves) gloves.contaminate() - - -turf/Entered(obj/item/I) - . = ..() - //Items that are in plasma, but not on a mob, can still be contaminated. - if(istype(I) && vsc.plc.CLOTH_CONTAMINATION) - var/datum/gas_mixture/env = return_air(1) - if(!env) - return - if(env.toxins > MOLES_PLASMA_VISIBLE + 1) - if(I.can_contaminate()) - I.contaminate() \ No newline at end of file diff --git a/code/ZAS - oldbs12/Variable Settings.dm b/code/ZAS - oldbs12/Variable Settings.dm deleted file mode 100644 index 92841a02dcd..00000000000 --- a/code/ZAS - oldbs12/Variable Settings.dm +++ /dev/null @@ -1,336 +0,0 @@ -var/global/vs_control/vsc = new - -/vs_control - var/fire_consuption_rate = 0.25 - var/fire_consuption_rate_NAME = "Fire - Air Consumption Ratio" - var/fire_consuption_rate_DESC = "Ratio of air removed and combusted per tick." - - var/fire_firelevel_multiplier = 25 - var/fire_firelevel_multiplier_NAME = "Fire - Firelevel Constant" - var/fire_firelevel_multiplier_DESC = "Multiplied by the equation for firelevel, affects mainly the extingiushing of fires." - - var/fire_fuel_energy_release = 397000 - var/fire_fuel_energy_release_NAME = "Fire - Fuel energy release" - var/fire_fuel_energy_release_DESC = "The energy in joule released when burning one mol of a burnable substance" - - - var/IgnitionLevel = 0.5 - var/IgnitionLevel_DESC = "Determines point at which fire can ignite" - - var/airflow_lightest_pressure = 20 - var/airflow_lightest_pressure_NAME = "Airflow - Small Movement Threshold %" - var/airflow_lightest_pressure_DESC = "Percent of 1 Atm. at which items with the small weight classes will move." - - var/airflow_light_pressure = 35 - var/airflow_light_pressure_NAME = "Airflow - Medium Movement Threshold %" - var/airflow_light_pressure_DESC = "Percent of 1 Atm. at which items with the medium weight classes will move." - - var/airflow_medium_pressure = 50 - var/airflow_medium_pressure_NAME = "Airflow - Heavy Movement Threshold %" - var/airflow_medium_pressure_DESC = "Percent of 1 Atm. at which items with the largest weight classes will move." - - var/airflow_heavy_pressure = 65 - var/airflow_heavy_pressure_NAME = "Airflow - Mob Movement Threshold %" - var/airflow_heavy_pressure_DESC = "Percent of 1 Atm. at which mobs will move." - - var/airflow_dense_pressure = 85 - var/airflow_dense_pressure_NAME = "Airflow - Dense Movement Threshold %" - var/airflow_dense_pressure_DESC = "Percent of 1 Atm. at which items with canisters and closets will move." - - var/airflow_stun_pressure = 60 - var/airflow_stun_pressure_NAME = "Airflow - Mob Stunning Threshold %" - var/airflow_stun_pressure_DESC = "Percent of 1 Atm. at which mobs will be stunned by airflow." - - var/airflow_stun_cooldown = 60 - var/airflow_stun_cooldown_NAME = "Aiflow Stunning - Cooldown" - var/airflow_stun_cooldown_DESC = "How long, in tenths of a second, to wait before stunning them again." - - var/airflow_stun = 1 - var/airflow_stun_NAME = "Airflow Impact - Stunning" - var/airflow_stun_DESC = "How much a mob is stunned when hit by an object." - - var/airflow_damage = 2 - var/airflow_damage_NAME = "Airflow Impact - Damage" - var/airflow_damage_DESC = "Damage from airflow impacts." - - var/airflow_speed_decay = 1.5 - var/airflow_speed_decay_NAME = "Airflow Speed Decay" - var/airflow_speed_decay_DESC = "How rapidly the speed gained from airflow decays." - - var/airflow_delay = 30 - var/airflow_delay_NAME = "Airflow Retrigger Delay" - var/airflow_delay_DESC = "Time in deciseconds before things can be moved by airflow again." - - var/airflow_mob_slowdown = 1 - var/airflow_mob_slowdown_NAME = "Airflow Slowdown" - var/airflow_mob_slowdown_DESC = "Time in tenths of a second to add as a delay to each movement by a mob if they are fighting the pull of the airflow." - - var/connection_insulation = 1 - var/connection_insulation_NAME = "Connections - Insulation" - var/connection_insulation_DESC = "Boolean, should doors forbid heat transfer?" - - var/connection_temperature_delta = 10 - var/connection_temperature_delta_NAME = "Connections - Temperature Difference" - var/connection_temperature_delta_DESC = "The smallest temperature difference which will cause heat to travel through doors." - - -/vs_control/var/list/settings = list() -/vs_control/var/list/bitflags = list("1","2","4","8","16","32","64","128","256","512","1024") -/vs_control/var/pl_control/plc = new() - -/vs_control/New() - . = ..() - settings = vars.Copy() - - var/datum/D = new() //Ensure only unique vars are put through by making a datum and removing all common vars. - for(var/V in D.vars) - settings -= V - - for(var/V in settings) - if(findtextEx(V,"_RANDOM") || findtextEx(V,"_DESC") || findtextEx(V,"_METHOD")) - settings -= V - - settings -= "settings" - settings -= "bitflags" - settings -= "plc" - -/vs_control/proc/ChangeSettingsDialog(mob/user,list/L) - //var/which = input(user,"Choose a setting:") in L - var/dat = "" - for(var/ch in L) - if(findtextEx(ch,"_RANDOM") || findtextEx(ch,"_DESC") || findtextEx(ch,"_METHOD") || findtextEx(ch,"_NAME")) continue - var/vw - var/vw_desc = "No Description." - var/vw_name = ch - if(ch in plc.settings) - vw = plc.vars[ch] - if("[ch]_DESC" in plc.vars) vw_desc = plc.vars["[ch]_DESC"] - if("[ch]_NAME" in plc.vars) vw_name = plc.vars["[ch]_NAME"] - else - vw = vars[ch] - if("[ch]_DESC" in vars) vw_desc = vars["[ch]_DESC"] - if("[ch]_NAME" in vars) vw_name = vars["[ch]_NAME"] - dat += "[vw_name] = [vw] \[Change\]
      " - dat += "[vw_desc]

      " - user << browse(dat,"window=settings") - -/vs_control/Topic(href,href_list) - if("changevar" in href_list) - ChangeSetting(usr,href_list["changevar"]) - -/vs_control/proc/ChangeSetting(mob/user,ch) - var/vw - var/how = "Text" - var/display_description = ch - if(ch in plc.settings) - vw = plc.vars[ch] - if("[ch]_NAME" in plc.vars) - display_description = plc.vars["[ch]_NAME"] - if("[ch]_METHOD" in plc.vars) - how = plc.vars["[ch]_METHOD"] - else - if(isnum(vw)) - how = "Numeric" - else - how = "Text" - else - vw = vars[ch] - if("[ch]_NAME" in vars) - display_description = vars["[ch]_NAME"] - if("[ch]_METHOD" in vars) - how = vars["[ch]_METHOD"] - else - if(isnum(vw)) - how = "Numeric" - else - how = "Text" - var/newvar = vw - switch(how) - if("Numeric") - newvar = input(user,"Enter a number:","Settings",newvar) as num - if("Bit Flag") - var/flag = input(user,"Toggle which bit?","Settings") in bitflags - flag = text2num(flag) - if(newvar & flag) - newvar &= ~flag - else - newvar |= flag - if("Toggle") - newvar = !newvar - if("Text") - newvar = input(user,"Enter a string:","Settings",newvar) as text - if("Long Text") - newvar = input(user,"Enter text:","Settings",newvar) as message - vw = newvar - if(ch in plc.settings) - plc.vars[ch] = vw - else - vars[ch] = vw - if(how == "Toggle") - newvar = (newvar?"ON":"OFF") - world << "\blue [key_name(user)] changed the setting [display_description] to [newvar]." - if(ch in plc.settings) - ChangeSettingsDialog(user,plc.settings) - else - ChangeSettingsDialog(user,settings) - -/vs_control/proc/RandomizeWithProbability() - for(var/V in settings) - var/newvalue - if("[V]_RANDOM" in vars) - if(isnum(vars["[V]_RANDOM"])) - newvalue = prob(vars["[V]_RANDOM"]) - else if(istext(vars["[V]_RANDOM"])) - newvalue = roll(vars["[V]_RANDOM"]) - else - newvalue = vars[V] - V = newvalue - -/vs_control/proc/ChangePlasma() - for(var/V in plc.settings) - plc.Randomize(V) - -/vs_control/proc/SetDefault(var/mob/user) - var/list/setting_choices = list("Plasma - Standard", "Plasma - Low Hazard", "Plasma - High Hazard", "Plasma - Oh Shit!",\ - "ZAS - Normal", "ZAS - Forgiving", "ZAS - Dangerous", "ZAS - Hellish") - var/def = input(user, "Which of these presets should be used?") as null|anything in setting_choices - if(!def) - return - switch(def) - if("Plasma - Standard") - plc.CLOTH_CONTAMINATION = 1 //If this is on, plasma does damage by getting into cloth. - plc.PLASMAGUARD_ONLY = 0 - plc.GENETIC_CORRUPTION = 0 //Chance of genetic corruption as well as toxic damage, X in 1000. - plc.SKIN_BURNS = 0 //Plasma has an effect similar to mustard gas on the un-suited. - plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection. - plc.PLASMA_HALLUCINATION = 0 - plc.CONTAMINATION_LOSS = 0.02 - - if("Plasma - Low Hazard") - plc.CLOTH_CONTAMINATION = 0 //If this is on, plasma does damage by getting into cloth. - plc.PLASMAGUARD_ONLY = 0 - plc.GENETIC_CORRUPTION = 0 //Chance of genetic corruption as well as toxic damage, X in 1000 - plc.SKIN_BURNS = 0 //Plasma has an effect similar to mustard gas on the un-suited. - plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection. - plc.PLASMA_HALLUCINATION = 0 - plc.CONTAMINATION_LOSS = 0.01 - - if("Plasma - High Hazard") - plc.CLOTH_CONTAMINATION = 1 //If this is on, plasma does damage by getting into cloth. - plc.PLASMAGUARD_ONLY = 0 - plc.GENETIC_CORRUPTION = 0 //Chance of genetic corruption as well as toxic damage, X in 1000. - plc.SKIN_BURNS = 1 //Plasma has an effect similar to mustard gas on the un-suited. - plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection. - plc.PLASMA_HALLUCINATION = 1 - plc.CONTAMINATION_LOSS = 0.05 - - if("Plasma - Oh Shit!") - plc.CLOTH_CONTAMINATION = 1 //If this is on, plasma does damage by getting into cloth. - plc.PLASMAGUARD_ONLY = 1 - plc.GENETIC_CORRUPTION = 5 //Chance of genetic corruption as well as toxic damage, X in 1000. - plc.SKIN_BURNS = 1 //Plasma has an effect similar to mustard gas on the un-suited. - plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection. - plc.PLASMA_HALLUCINATION = 1 - plc.CONTAMINATION_LOSS = 0.075 - - if("ZAS - Normal") - airflow_lightest_pressure = 20 - airflow_light_pressure = 35 - airflow_medium_pressure = 50 - airflow_heavy_pressure = 65 - airflow_dense_pressure = 85 - airflow_stun_pressure = 60 - airflow_stun_cooldown = 60 - airflow_stun = 1 - airflow_damage = 2 - airflow_speed_decay = 1.5 - airflow_delay = 30 - airflow_mob_slowdown = 1 - - if("ZAS - Forgiving") - airflow_lightest_pressure = 45 - airflow_light_pressure = 60 - airflow_medium_pressure = 120 - airflow_heavy_pressure = 110 - airflow_dense_pressure = 200 - airflow_stun_pressure = 150 - airflow_stun_cooldown = 90 - airflow_stun = 0.15 - airflow_damage = 0.15 - airflow_speed_decay = 1.5 - airflow_delay = 50 - airflow_mob_slowdown = 0 - - if("ZAS - Dangerous") - airflow_lightest_pressure = 15 - airflow_light_pressure = 30 - airflow_medium_pressure = 45 - airflow_heavy_pressure = 55 - airflow_dense_pressure = 70 - airflow_stun_pressure = 50 - airflow_stun_cooldown = 50 - airflow_stun = 2 - airflow_damage = 3 - airflow_speed_decay = 1.2 - airflow_delay = 25 - airflow_mob_slowdown = 2 - - if("ZAS - Hellish") - airflow_lightest_pressure = 20 - airflow_light_pressure = 30 - airflow_medium_pressure = 40 - airflow_heavy_pressure = 50 - airflow_dense_pressure = 60 - airflow_stun_pressure = 40 - airflow_stun_cooldown = 40 - airflow_stun = 3 - airflow_damage = 4 - airflow_speed_decay = 1 - airflow_delay = 20 - airflow_mob_slowdown = 3 - connection_insulation = 0 - - - world << "\blue [key_name(user)] changed the global plasma/ZAS settings to \"[def]\"" - -/pl_control/var/list/settings = list() - -/pl_control/New() - . = ..() - settings = vars.Copy() - - var/datum/D = new() //Ensure only unique vars are put through by making a datum and removing all common vars. - for(var/V in D.vars) - settings -= V - - for(var/V in settings) - if(findtextEx(V,"_RANDOM") || findtextEx(V,"_DESC")) - settings -= V - - settings -= "settings" - -/pl_control/proc/Randomize(V) - var/newvalue - if("[V]_RANDOM" in vars) - if(isnum(vars["[V]_RANDOM"])) - newvalue = prob(vars["[V]_RANDOM"]) - else if(istext(vars["[V]_RANDOM"])) - var/txt = vars["[V]_RANDOM"] - if(findtextEx(txt,"PROB")) - txt = text2list(txt,"/") - txt[1] = replacetext(txt[1],"PROB","") - var/p = text2num(txt[1]) - var/r = txt[2] - if(prob(p)) - newvalue = roll(r) - else - newvalue = vars[V] - else if(findtextEx(txt,"PICK")) - txt = replacetext(txt,"PICK","") - txt = text2list(txt,",") - newvalue = pick(txt) - else - newvalue = roll(txt) - else - newvalue = vars[V] - vars[V] = newvalue diff --git a/code/ZAS - oldbs12/ZAS_Turfs.dm b/code/ZAS - oldbs12/ZAS_Turfs.dm deleted file mode 100644 index 84d3e9450e4..00000000000 --- a/code/ZAS - oldbs12/ZAS_Turfs.dm +++ /dev/null @@ -1,380 +0,0 @@ -/atom/var/pressure_resistance = ONE_ATMOSPHERE - -/turf/var/zone/zone - -/turf/assume_air(datum/gas_mixture/giver) //use this for machines to adjust air - del(giver) - return 0 - -/turf/return_air() - //Create gas mixture to hold data for passing - var/datum/gas_mixture/GM = new - - GM.oxygen = oxygen - GM.carbon_dioxide = carbon_dioxide - GM.nitrogen = nitrogen - GM.toxins = toxins - - GM.temperature = temperature - GM.update_values() - - return GM - -/turf/remove_air(amount as num) - var/datum/gas_mixture/GM = new - - var/sum = oxygen + carbon_dioxide + nitrogen + toxins - if(sum>0) - GM.oxygen = (oxygen/sum)*amount - GM.carbon_dioxide = (carbon_dioxide/sum)*amount - GM.nitrogen = (nitrogen/sum)*amount - GM.toxins = (toxins/sum)*amount - - GM.temperature = temperature - GM.update_values() - - return GM - -/turf/simulated/var/current_graphic = null - -/turf/simulated/var/tmp/datum/gas_mixture/air - -/turf/simulated/var/tmp/air_check_directions = 0 //Do not modify this, just add turf to air_master.tiles_to_update - -/turf/simulated/var/tmp/unsim_check_directions = 0 //See above. - -/turf/simulated/var/tmp/obj/fire/active_hotspot - -/turf/simulated/var/tmp/was_icy = 0 - -/turf/simulated/proc/update_visuals() - overlays = null - - var/siding_icon_state = return_siding_icon_state() - if(siding_icon_state) - overlays += image('icons/turf/floors.dmi',siding_icon_state) - var/datum/gas_mixture/model = return_air() - - - switch(model.graphic) - if(1) - overlays.Add(plmaster) //TODO: Make invisible plasma an option - if(2) - overlays.Add(slmaster) - if(3) - if(!was_icy) - wet=3 // Custom ice - was_icy=1 - var/o="" - //if(is_plating()) - // o="snowfloor_s" - //else - if(is_plasteel_floor()) - o="snowfloor" - if(o!="") - overlays += image('icons/turf/overlays.dmi',o) - else - if(was_icy) - wet=0 - was_icy=0 - if(prob(10)) - wet = 1 - if(wet_overlay) - overlays -= wet_overlay - wet_overlay = null - wet_overlay = image('icons/effects/water.dmi',src,"wet_floor") - overlays += wet_overlay - - spawn(800) - if (!istype(src)) return - if(wet >= 2) return - wet = 0 - if(wet_overlay) - overlays -= wet_overlay - wet_overlay = null - - -/turf/simulated/New() - if(!blocks_air) - air = new - - air.oxygen = oxygen - air.carbon_dioxide = carbon_dioxide - air.nitrogen = nitrogen - air.toxins = toxins - - air.temperature = temperature - air.update_values() - - if(air_master) - air_master.tiles_to_update.Add(src) - - else - if(air_master) - for(var/direction in cardinal) - var/turf/simulated/floor/target = get_step(src,direction) - if(istype(target)) - air_master.tiles_to_update |= target - - . = ..() - -/turf/simulated/Destroy() - if(active_hotspot) - del(active_hotspot) - if(blocks_air) - for(var/direction in list(NORTH, SOUTH, EAST, WEST)) - var/turf/simulated/tile = get_step(src,direction) - if(istype(tile) && !tile.blocks_air) - air_master.tiles_to_update.Add(tile) - ..() - -/turf/simulated/assume_air(datum/gas_mixture/giver) - if(!giver) return 0 - if(zone) - zone.assume_air(giver) - return 1 - else - return ..() - -/turf/simulated/return_air() - if(zone) - return zone.air - else if(air) - return air - - else - return ..() - -/turf/simulated/remove_air(amount as num) - if(zone) - return zone.remove_air(amount) - - else if(air) - var/datum/gas_mixture/removed = null - removed = air.remove(amount) - - if(air.check_tile_graphic()) - update_visuals(air) - return removed - - else - return ..() - -/turf/simulated/proc/update_air_properties() - var/air_directions_archived = air_check_directions - air_check_directions = 0 - - var/unsim_directions_archived = unsim_check_directions - unsim_check_directions = 0 - - for(var/direction in cardinal) - var/turf/check_turf = get_step(src, direction) - if(ZAirPass(check_turf)) - if(istype(check_turf, /turf/simulated)) - air_check_directions |= direction - else if(istype(check_turf, /turf/space) || istype(check_turf, /turf/unsimulated)) - unsim_check_directions |= direction - - if(!zone && !blocks_air) //No zone, but not a wall. - for(var/direction in DoorDirections) //Check door directions first. - if(air_check_directions & direction) - var/turf/simulated/T = get_step(src, direction) - if(!istype(T)) - continue - if(T.zone) - T.zone.AddTurf(src) - break - if(!zone) //Still no zone - for(var/direction in CounterDoorDirections) //Check the others second. - if(air_check_directions & direction) - var/turf/simulated/T = get_step(src,direction) - if(!istype(T)) - continue - if(T.zone) - T.zone.AddTurf(src) - break - if(!zone) //No zone found, new zone! - new/zone(src) - if(!zone) //Still no zone, the floodfill determined it is not part of a larger zone. Force a zone on it. - new/zone(list(src)) - - //Check pass sanity of the connections. - if(src in air_master.turfs_with_connections) - air_master.AddConnectionToCheck(air_master.turfs_with_connections[src]) - - if(zone && !air_master.zones_needing_rebuilt.Find(zone)) - for(var/direction in cardinal) - var/turf/T = get_step(src,direction) - if(!istype(T)) - continue - - //I can connect to air in this direction - if(air_check_directions & direction || unsim_check_directions & direction) - - //If either block air, we must look to see if the adjacent turfs need rebuilt. - if(!CanPass(null, T, 0, 0)) - - //Target blocks air - if(!T.CanPass(null, T, 0, 0)) - var/turf/NT = get_step(T, direction) - - //If that turf is in my zone still, rebuild. - if(istype(NT,/turf/simulated) && NT in zone.contents) - air_master.zones_needing_rebuilt.Add(zone) - - //If that is an unsimulated tile in my zone, see if we need to rebuild or just remove. - else if(istype(NT) && NT in zone.unsimulated_tiles) - var/consider_rebuild = 0 - for(var/d in cardinal) - var/turf/UT = get_step(NT,d) - if(istype(UT, /turf/simulated) && UT.zone == zone && UT.CanPass(null, NT, 0, 0)) //If we find a neighboring tile that is in the same zone, check if we need to rebuild - consider_rebuild = 1 - break - if(consider_rebuild) - air_master.zones_needing_rebuilt.Add(zone) //Gotta check if we need to rebuild, dammit - else - zone.RemoveTurf(NT) //Not adjacent to anything, and unsimulated. Goodbye~ - - //To make a closed connection through closed door. - ZConnect(T, src) - - //If I block air. - else if(T.zone && !air_master.zones_needing_rebuilt.Find(T.zone)) - var/turf/NT = get_step(src, reverse_direction(direction)) - - //If I am splitting a zone, rebuild. - if(istype(NT,/turf/simulated) && (NT in T.zone.contents || (NT.zone && T in NT.zone.contents))) - air_master.zones_needing_rebuilt.Add(T.zone) - - //If NT is unsimulated, parse if I should remove it or rebuild. - else if(istype(NT) && NT in T.zone.unsimulated_tiles) - var/consider_rebuild = 0 - for(var/d in cardinal) - var/turf/UT = get_step(NT,d) - if(istype(UT, /turf/simulated) && UT.zone == T.zone && UT.CanPass(null, NT, 0, 0)) //If we find a neighboring tile that is in the same zone, check if we need to rebuild - consider_rebuild = 1 - break - - //Needs rebuilt. - if(consider_rebuild) - air_master.zones_needing_rebuilt.Add(T.zone) - - //Not adjacent to anything, and unsimulated. Goodbye~ - else - T.zone.RemoveTurf(NT) - - else - //Produce connection through open door. - ZConnect(src,T) - - //Something like a wall was built, changing the geometry. - else if(air_directions_archived & direction || unsim_directions_archived & direction) - var/turf/NT = get_step(T, direction) - - //If the tile is in our own zone, and we cannot connect to it, better rebuild. - if(istype(NT,/turf/simulated) && NT in zone.contents) - air_master.zones_needing_rebuilt.Add(zone) - - //Parse if we need to remove the tile, or rebuild the zone. - else if(istype(NT) && NT in zone.unsimulated_tiles) - var/consider_rebuild = 0 - - //Loop through all neighboring turfs to see if we should remove the turf or just rebuild. - for(var/d in cardinal) - var/turf/UT = get_step(NT,d) - - //If we find a neighboring tile that is in the same zone, rebuild - if(istype(UT, /turf/simulated) && UT.zone == zone && UT.CanPass(null, NT, 0, 0)) - consider_rebuild = 1 - break - - //The unsimulated turf is adjacent to another one of our zone's turfs, - // better rebuild to be sure we didn't get cut in twain - if(consider_rebuild) - air_master.zones_needing_rebuilt.Add(NT.zone) - - //Not adjacent to anything, and unsimulated. Goodbye~ - else - zone.RemoveTurf(NT) - - return 1 - -/turf/proc/HasDoor(turf/O) - //Checks for the presence of doors, used for zone spreading and connection. - //A positive numerical argument checks only for closed doors. - //Another turf as an argument checks for windoors between here and there. - for(var/obj/machinery/door/D in src) - if(isnum(O) && O) - if(!D.density) continue - if(istype(D,/obj/machinery/door/window)) - if(!istype(O)) - continue - if(D.dir == get_dir(D,O)) - return 1 - else - return 1 - -/turf/proc/ZCanPass(turf/simulated/T, var/include_space = 0) - //Fairly standard pass checks for turfs, objects and directional windows. Also stops at the edge of space. - if(!istype(T)) - return 0 - - if(!istype(T) && !include_space) - return 0 - else - if(T.blocks_air||blocks_air) - return 0 - - for(var/obj/obstacle in src) - if(istype(obstacle, /obj/machinery/door) && !(obstacle:air_properties_vary_with_direction)) - continue - if(!obstacle.CanPass(null, T, 1.5, 1)) - return 0 - - for(var/obj/obstacle in T) - if(istype(obstacle, /obj/machinery/door) && !(obstacle:air_properties_vary_with_direction)) - continue - if(!obstacle.CanPass(null, src, 1.5, 1)) - return 0 - - return 1 - -/turf/proc/ZAirPass(turf/T) - //Fairly standard pass checks for turfs, objects and directional windows. - if(!istype(T)) - return 0 - - if(T.blocks_air||blocks_air) - return 0 - - for(var/obj/obstacle in src) - if(istype(obstacle, /obj/machinery/door) && !(obstacle:air_properties_vary_with_direction)) - continue - if(!obstacle.CanPass(null, T, 0, 0)) - return 0 - - for(var/obj/obstacle in T) - if(istype(obstacle, /obj/machinery/door) && !(obstacle:air_properties_vary_with_direction)) - continue - if(!obstacle.CanPass(null, src, 0, 0)) - return 0 - - return 1 - -/*UNUSED -/turf/proc/check_connections() - //Checks for new connections that can be made. - for(var/d in cardinal) - var/turf/simulated/T = get_step(src,d) - if(istype(T) && ( !T.zone || !T.CanPass(0,src,0,0) ) ) - continue - if(T.zone != zone) - ZConnect(src,T) - -/turf/proc/check_for_space() - //Checks for space around the turf. - for(var/d in cardinal) - var/turf/T = get_step(src,d) - if(istype(T,/turf/space) && T.CanPass(0,src,0,0)) - zone.AddSpace(T) - */ \ No newline at end of file diff --git a/code/ZAS - oldbs12/ZAS_Zones.dm b/code/ZAS - oldbs12/ZAS_Zones.dm deleted file mode 100644 index db1e1b6f466..00000000000 --- a/code/ZAS - oldbs12/ZAS_Zones.dm +++ /dev/null @@ -1,875 +0,0 @@ -var/list/DoorDirections = list(NORTH,WEST) //Which directions doors turfs can connect to zones -var/list/CounterDoorDirections = list(SOUTH,EAST) //Which directions doors turfs can connect to zones - -/zone - var/dbg_output = 0 //Enables debug output. - - var/datum/gas_mixture/air //The air contents of the zone. - var/datum/gas_mixture/archived_air - - var/list/contents //All the tiles that are contained in this zone. - var/list/unsimulated_tiles // Any space tiles in this list will cause air to flow out. - - var/datum/gas_mixture/air_unsim //Overall average of the air in connected unsimualted tiles. - var/unsim_air_needs_update = 0 //Set to 1 on geometry changes, marks air_unsim as needing update. - - var/list/connections //connection objects which refer to connections with other zones, e.g. through a door. - var/list/direct_connections //connections which directly connect two zones. - - var/list/connected_zones //Parallels connections, but lists zones to which this one is connected and the number - //of points they're connected at. - var/list/closed_connection_zones //Same as connected_zones, but for zones where the door or whatever is closed. - - var/last_update = 0 - var/last_rebuilt = 0 - var/status = ZONE_ACTIVE - var/interactions_with_neighbors = 0 - var/interactions_with_unsim = 0 - var/progress = "nothing" - -//CREATION AND DELETION -/zone/New(turf/start) - . = ..() - //Get the turfs that are part of the zone using a floodfill method - if(istype(start,/list)) - contents = start - else - contents = FloodFill(start) - - //Change all the zone vars of the turfs, check for space to be added to unsimulated_tiles. - for(var/turf/T in contents) - if(T.zone && T.zone != src) - T.zone.RemoveTurf(T) - T.zone = src - if(!istype(T,/turf/simulated)) - AddTurf(T) - - //Generate the gas_mixture for use in txhis zone by using the average of the gases - //defined at startup. - //Changed to try and find the source of the error. - air = new - air.group_multiplier = contents.len - for(var/turf/simulated/T in contents) - if(!T.air) - continue - air.oxygen += T.air.oxygen / air.group_multiplier - air.nitrogen += T.air.nitrogen / air.group_multiplier - air.carbon_dioxide += T.air.carbon_dioxide / air.group_multiplier - air.toxins += T.air.toxins / air.group_multiplier - air.temperature += T.air.temperature / air.group_multiplier - for(var/datum/gas/trace in T.air.trace_gases) - var/datum/gas/corresponding_gas = locate(trace.type) in air.trace_gases - if(!corresponding_gas) - corresponding_gas = new trace.type() - air.trace_gases.Add(corresponding_gas) - corresponding_gas.moles += trace.moles - air.update_values() - - //Add this zone to the global list. - if(air_master) - air_master.zones.Add(src) - air_master.active_zones.Add(src) - - -//DO NOT USE. Use the SoftDelete proc. -/zone/Del() - //Ensuring the zone list doesn't get clogged with null values. - for(var/turf/simulated/T in contents) - RemoveTurf(T) - air_master.ReconsiderTileZone(T) - - if(air_master) - air_master.AddConnectionToCheck(connections) - - air = null - - . = ..() - - -//Handles deletion via garbage collection. -/zone/proc/SoftDelete() - air = null - - if(air_master) - air_master.zones.Remove(src) - air_master.active_zones.Remove(src) - air_master.zones_needing_rebuilt.Remove(src) - air_master.AddConnectionToCheck(connections) - - connections = null - for(var/connection/C in direct_connections) - if(C.A.zone == src) - C.A.zone = null - if(C.B.zone == src) - C.B.zone = null - if(C.zone_A == src) - C.zone_A = null - if(C.zone_B == src) - C.zone_B = null - direct_connections = null - - //Ensuring the zone list doesn't get clogged with null values. - for(var/turf/simulated/T in contents) - RemoveTurf(T) - air_master.ReconsiderTileZone(T) - - contents.Cut() - - //Removing zone connections and scheduling connection cleanup - for(var/zone/Z in connected_zones) - Z.connected_zones.Remove(src) - if(!Z.connected_zones.len) - Z.connected_zones = null - - if(Z.closed_connection_zones) - Z.closed_connection_zones.Remove(src) - if(!Z.closed_connection_zones.len) - Z.closed_connection_zones = null - - connected_zones = null - closed_connection_zones = null - - return 1 - - -//ZONE MANAGEMENT FUNCTIONS -/zone/proc/AddTurf(turf/T) - //Adds the turf to contents, increases the size of the zone, and sets the zone var. - if(istype(T, /turf/simulated)) - if(T in contents) - return - if(T.zone) - T.zone.RemoveTurf(T) - contents += T - if(air) - air.group_multiplier++ - - T.zone = src - - else - if(!unsimulated_tiles) - unsimulated_tiles = list() - else if(T in unsimulated_tiles) - return - unsimulated_tiles += T - contents -= T - - unsim_air_needs_update = 1 - -/zone/proc/RemoveTurf(turf/T) - //Same, but in reverse. - if(istype(T, /turf/simulated)) - if(!(T in contents)) - return - contents -= T - if(air) - air.group_multiplier-- - - if(T.zone == src) - T.zone = null - - if(!contents.len) - SoftDelete() - - else if(unsimulated_tiles) - unsimulated_tiles -= T - if(!unsimulated_tiles.len) - unsimulated_tiles = null - - unsim_air_needs_update = 1 - -//Updates the air_unsim var -/zone/proc/UpdateUnsimAvg() - if(!unsimulated_tiles || !unsimulated_tiles.len) //if we don't have any unsimulated tiles, we can't do much. - return - - if(!unsim_air_needs_update && air_unsim) //if air_unsim doesn't exist, we need to create it even if we don't need an update. - return - - //Tempfix. - if(!air) - return - - unsim_air_needs_update = 0 - - if(!air_unsim) - air_unsim = new /datum/gas_mixture - - air_unsim.oxygen = 0 - air_unsim.nitrogen = 0 - air_unsim.carbon_dioxide = 0 - air_unsim.toxins = 0 - air_unsim.temperature = 0 - - var/correction_ratio = max(1, max(max(1, air.group_multiplier) + 3, 1) + unsimulated_tiles.len) / unsimulated_tiles.len - - for(var/turf/T in unsimulated_tiles) - if(!istype(T, /turf/simulated)) - air_unsim.oxygen += T.oxygen - air_unsim.carbon_dioxide += T.carbon_dioxide - air_unsim.nitrogen += T.nitrogen - air_unsim.toxins += T.toxins - air_unsim.temperature += T.temperature/unsimulated_tiles.len - - //These values require adjustment in order to properly represent a room of the specified size. - air_unsim.oxygen *= correction_ratio - air_unsim.carbon_dioxide *= correction_ratio - air_unsim.nitrogen *= correction_ratio - air_unsim.toxins *= correction_ratio - - air_unsim.group_multiplier = unsimulated_tiles.len - - air_unsim.update_values() - return - - ////////////// - //PROCESSING// -////////////// - -#define QUANTIZE(variable) (round(variable,0.0001)) - -/zone/proc/process() - . = 1 - - progress = "problem with: SoftDelete()" - - //Deletes zone if empty. - if(!contents.len) - return SoftDelete() - - progress = "problem with: Rebuild()" - - if(!contents.len) //If we got soft deleted. - return - - progress = "problem with: air regeneration" - - //Sometimes explosions will cause the air to be deleted for some reason. - if(!air) - air = new() - air.oxygen = MOLES_O2STANDARD - air.nitrogen = MOLES_N2STANDARD - air.temperature = T0C - air.total_moles() - world.log << "Air object lost in zone. Regenerating." - - - progress = "problem with: ShareSpace()" - - if(unsim_air_needs_update) - unsim_air_needs_update = 0 - UpdateUnsimAvg() - - if(unsimulated_tiles) - if(locate(/turf/simulated) in unsimulated_tiles) - for(var/turf/simulated/T in unsimulated_tiles) - unsimulated_tiles -= T - - if(unsimulated_tiles.len) - var/moved_air = ShareSpace(air, air_unsim) - - if(!air.compare(air_unsim)) - interactions_with_unsim++ - - if(moved_air > vsc.airflow_lightest_pressure) - AirflowSpace(src) - else - unsimulated_tiles = null - - //Check the graphic. - progress = "problem with: modifying turf graphics" - - air.graphic = 0 - if(air.toxins > MOLES_PLASMA_VISIBLE) - air.graphic = 1 - if(air.trace_gases.len) - var/datum/gas/sleeping_agent = locate(/datum/gas/sleeping_agent) in air.trace_gases - if(sleeping_agent && (sleeping_agent.moles > 1)) - air.graphic = 2 - if(air.temperature <= TEMPERATURE_ICE_FORMATION && air.return_pressure()>MIN_PRESSURE_ICE_FORMATION) - air.graphic = 3 - - progress = "problem with an inbuilt byond function: some conditional checks" - - //Only run through the individual turfs if there's reason to. - if(air.graphic != air.graphic_archived || air.temperature > PLASMA_FLASHPOINT) - - progress = "problem with: turf/simulated/update_visuals()" - - for(var/turf/simulated/S in contents) - //Update overlays. - if(air.graphic != air.graphic_archived) - if(S.HasDoor(1)) - S.update_visuals() - else - S.update_visuals(air) - - progress = "problem with: item or turf temperature_expose()" - - //Expose stuff to extreme heat. - if(air.temperature > PLASMA_FLASHPOINT) - for(var/atom/movable/item in S) - item.temperature_expose(air, air.temperature, CELL_VOLUME) - S.hotspot_expose(air.temperature, CELL_VOLUME) - - progress = "problem with: calculating air graphic" - - //Archive graphic so we can know if it's different. - air.graphic_archived = air.graphic - - progress = "problem with: calculating air temp" - - //Ensure temperature does not reach absolute zero. - air.temperature = max(TCMB,air.temperature) - - progress = "problem with an inbuilt byond function: length(connections)" - - //Handle connections to other zones. - if(length(connections)) - - progress = "problem with: ZMerge(), a couple of misc procs" - - if(length(direct_connections)) - for(var/connection/C in direct_connections) - - //Do merging if conditions are met. Specifically, if there's a non-door connection - //to somewhere with space, the zones are merged regardless of equilibrium, to speed - //up spacing in areas with double-plated windows. - if(C.A.zone && C.B.zone) - if(C.A.zone.air.compare(C.B.zone.air) || unsimulated_tiles) - ZMerge(C.A.zone,C.B.zone) - - progress = "problem with: ShareRatio(), Airflow(), a couple of misc procs" - - //Share some - for(var/zone/Z in connected_zones) - //If that zone has already processed, skip it. - if(Z.last_update > last_update) - continue - - //Handle adjacent zones that are sleeping - if(Z.status == ZONE_SLEEPING) - if(air.compare(Z.air)) - continue - - else - Z.SetStatus(ZONE_ACTIVE) - - if(air && Z.air) - //Ensure we're not doing pointless calculations on equilibrium zones. - if(!air.compare(Z.air)) - if(abs(Z.air.return_pressure() - air.return_pressure()) > vsc.airflow_lightest_pressure) - Airflow(src,Z) - var/unsimulated_boost = 0 - if(unsimulated_tiles) - unsimulated_boost += unsimulated_tiles.len - if(Z.unsimulated_tiles) - unsimulated_boost += Z.unsimulated_tiles.len - unsimulated_boost = max(0, min(3, unsimulated_boost)) - ShareRatio( air , Z.air , connected_zones[Z] + unsimulated_boost) - - Z.interactions_with_neighbors++ - interactions_with_neighbors++ - - if(!vsc.connection_insulation) - for(var/zone/Z in closed_connection_zones) - //If that zone has already processed, skip it. - if(Z.last_update > last_update || !Z.air) - continue - - var/handle_temperature = abs(air.temperature - Z.air.temperature) > vsc.connection_temperature_delta - - if(Z.status == ZONE_SLEEPING) - if (handle_temperature) - Z.SetStatus(ZONE_ACTIVE) - else - continue - - if(air && Z.air) - if( handle_temperature ) - ShareHeat(air, Z.air, closed_connection_zones[Z]) - - Z.interactions_with_neighbors++ - interactions_with_neighbors++ - - if(!interactions_with_neighbors && !interactions_with_unsim) - SetStatus(ZONE_SLEEPING) - - interactions_with_neighbors = 0 - interactions_with_unsim = 0 - - progress = "all components completed successfully, the problem is not here" - - -/zone/proc/SetStatus(var/new_status) - if(status == ZONE_SLEEPING && new_status == ZONE_ACTIVE) - air_master.active_zones.Add(src) - status = ZONE_ACTIVE - - else if(status == ZONE_ACTIVE && new_status == ZONE_SLEEPING) - air_master.active_zones.Remove(src) - status = ZONE_SLEEPING - - if(unsimulated_tiles && unsimulated_tiles.len) - UpdateUnsimAvg() - air.copy_from(air_unsim) - - if(!archived_air) - archived_air = new - archived_air.copy_from(air) - - -/zone/proc/CheckStatus() - return status - - -/zone/proc/ActivateIfNeeded() - if(status == ZONE_ACTIVE) return - - var/difference = 0 - - if(unsimulated_tiles && unsimulated_tiles.len) - UpdateUnsimAvg() - if(!air.compare(air_unsim)) - difference = 1 - - if(!difference) - for(var/zone/Z in connected_zones) //Check adjacent zones for air difference. - if(!air.compare(Z.air)) - difference = 1 - break - - if(difference) //We have a difference, activate the zone. - SetStatus(ZONE_ACTIVE) - - return - - -/zone/proc/assume_air(var/datum/gas_mixture/giver) - if(status == ZONE_ACTIVE) - return air.merge(giver) - - else - if(unsimulated_tiles && unsimulated_tiles.len) - UpdateUnsimAvg() - var/datum/gas_mixture/compare_air = new - compare_air.copy_from(giver) - compare_air.add(air_unsim) - compare_air.divide(air.group_multiplier) - - if(air_unsim.compare(compare_air)) - return 0 - - var/result = air.merge(giver) - - if(!archived_air.compare(air)) - SetStatus(ZONE_ACTIVE) - return result - - -/zone/proc/remove_air(var/amount) - if(status == ZONE_ACTIVE) - return air.remove(amount) - - else - var/result = air.remove(amount) - - if(!archived_air.compare(air)) - SetStatus(ZONE_ACTIVE) - - return result - - //////////////// - //Air Movement// -//////////////// - -var/list/sharing_lookup_table = list(0.30, 0.40, 0.48, 0.54, 0.60, 0.66) - -proc/ShareRatio(datum/gas_mixture/A, datum/gas_mixture/B, connecting_tiles) - //Shares a specific ratio of gas between mixtures using simple weighted averages. - var - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - ratio = sharing_lookup_table[6] - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - - size = max(1,A.group_multiplier) - share_size = max(1,B.group_multiplier) - - full_oxy = A.oxygen * size - full_nitro = A.nitrogen * size - full_co2 = A.carbon_dioxide * size - full_plasma = A.toxins * size - - full_heat_capacity = A.heat_capacity() * size - - s_full_oxy = B.oxygen * share_size - s_full_nitro = B.nitrogen * share_size - s_full_co2 = B.carbon_dioxide * share_size - s_full_plasma = B.toxins * share_size - - s_full_heat_capacity = B.heat_capacity() * share_size - - oxy_avg = (full_oxy + s_full_oxy) / (size + share_size) - nit_avg = (full_nitro + s_full_nitro) / (size + share_size) - co2_avg = (full_co2 + s_full_co2) / (size + share_size) - plasma_avg = (full_plasma + s_full_plasma) / (size + share_size) - - temp_avg = (A.temperature * full_heat_capacity + B.temperature * s_full_heat_capacity) / (full_heat_capacity + s_full_heat_capacity) - - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - if(sharing_lookup_table.len >= connecting_tiles) //6 or more interconnecting tiles will max at 42% of air moved per tick. - ratio = sharing_lookup_table[connecting_tiles] - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - - A.oxygen = max(0, (A.oxygen - oxy_avg) * (1-ratio) + oxy_avg ) - A.nitrogen = max(0, (A.nitrogen - nit_avg) * (1-ratio) + nit_avg ) - A.carbon_dioxide = max(0, (A.carbon_dioxide - co2_avg) * (1-ratio) + co2_avg ) - A.toxins = max(0, (A.toxins - plasma_avg) * (1-ratio) + plasma_avg ) - - A.temperature = max(0, (A.temperature - temp_avg) * (1-ratio) + temp_avg ) - - B.oxygen = max(0, (B.oxygen - oxy_avg) * (1-ratio) + oxy_avg ) - B.nitrogen = max(0, (B.nitrogen - nit_avg) * (1-ratio) + nit_avg ) - B.carbon_dioxide = max(0, (B.carbon_dioxide - co2_avg) * (1-ratio) + co2_avg ) - B.toxins = max(0, (B.toxins - plasma_avg) * (1-ratio) + plasma_avg ) - - B.temperature = max(0, (B.temperature - temp_avg) * (1-ratio) + temp_avg ) - - for(var/datum/gas/G in A.trace_gases) - var/datum/gas/H = locate(G.type) in B.trace_gases - if(H) - var/G_avg = (G.moles*size + H.moles*share_size) / (size+share_size) - G.moles = (G.moles - G_avg) * (1-ratio) + G_avg - - H.moles = (H.moles - G_avg) * (1-ratio) + G_avg - else - H = new G.type - B.trace_gases += H - var/G_avg = (G.moles*size) / (size+share_size) - G.moles = (G.moles - G_avg) * (1-ratio) + G_avg - H.moles = (H.moles - G_avg) * (1-ratio) + G_avg - - for(var/datum/gas/G in B.trace_gases) - var/datum/gas/H = locate(G.type) in A.trace_gases - if(!H) - H = new G.type - A.trace_gases += H - var/G_avg = (G.moles*size) / (size+share_size) - G.moles = (G.moles - G_avg) * (1-ratio) + G_avg - H.moles = (H.moles - G_avg) * (1-ratio) + G_avg - - A.update_values() - B.update_values() - - if(A.compare(B)) return 1 - else return 0 - -proc/ShareSpace(datum/gas_mixture/A, list/unsimulated_tiles, dbg_output) - //A modified version of ShareRatio for spacing gas at the same rate as if it were going into a large airless room. - if(!unsimulated_tiles) - return 0 - - var - unsim_oxygen = 0 - unsim_nitrogen = 0 - unsim_co2 = 0 - unsim_plasma = 0 - unsim_heat_capacity = 0 - unsim_temperature = 0 - - size = max(1,A.group_multiplier) - - var/tileslen - var/share_size - - if(istype(unsimulated_tiles, /datum/gas_mixture)) - var/datum/gas_mixture/avg_unsim = unsimulated_tiles - unsim_oxygen = avg_unsim.oxygen - unsim_co2 = avg_unsim.carbon_dioxide - unsim_nitrogen = avg_unsim.nitrogen - unsim_plasma = avg_unsim.toxins - unsim_temperature = avg_unsim.temperature - share_size = max(1, max(size + 3, 1) + avg_unsim.group_multiplier) - tileslen = avg_unsim.group_multiplier - - else if(istype(unsimulated_tiles, /list)) - if(!unsimulated_tiles.len) - return 0 - // We use the same size for the potentially single space tile - // as we use for the entire room. Why is this? - // Short answer: We do not want larger rooms to depressurize more - // slowly than small rooms, preserving our good old "hollywood-style" - // oh-shit effect when large rooms get breached, but still having small - // rooms remain pressurized for long enough to make escape possible. - share_size = max(1, max(size + 3, 1) + unsimulated_tiles.len) - var/correction_ratio = share_size / unsimulated_tiles.len - - for(var/turf/T in unsimulated_tiles) - unsim_oxygen += T.oxygen - unsim_co2 += T.carbon_dioxide - unsim_nitrogen += T.nitrogen - unsim_plasma += T.toxins - unsim_temperature += T.temperature/unsimulated_tiles.len - - //These values require adjustment in order to properly represent a room of the specified size. - unsim_oxygen *= correction_ratio - unsim_co2 *= correction_ratio - unsim_nitrogen *= correction_ratio - unsim_plasma *= correction_ratio - tileslen = unsimulated_tiles.len - - else //invalid input type - return 0 - - unsim_heat_capacity = HEAT_CAPACITY_CALCULATION(unsim_oxygen, unsim_co2, unsim_nitrogen, unsim_plasma) - - var - ratio = sharing_lookup_table[6] - - old_pressure = A.return_pressure() - - full_oxy = A.oxygen * size - full_nitro = A.nitrogen * size - full_co2 = A.carbon_dioxide * size - full_plasma = A.toxins * size - - full_heat_capacity = A.heat_capacity() * size - - oxy_avg = (full_oxy + unsim_oxygen) / (size + share_size) - nit_avg = (full_nitro + unsim_nitrogen) / (size + share_size) - co2_avg = (full_co2 + unsim_co2) / (size + share_size) - plasma_avg = (full_plasma + unsim_plasma) / (size + share_size) - - temp_avg = 0 - - if((full_heat_capacity + unsim_heat_capacity) > 0) - temp_avg = (A.temperature * full_heat_capacity + unsim_temperature * unsim_heat_capacity) / (full_heat_capacity + unsim_heat_capacity) - - if(sharing_lookup_table.len >= tileslen) //6 or more interconnecting tiles will max at 42% of air moved per tick. - ratio = sharing_lookup_table[tileslen] - - A.oxygen = max(0, (A.oxygen - oxy_avg) * (1 - ratio) + oxy_avg ) - A.nitrogen = max(0, (A.nitrogen - nit_avg) * (1 - ratio) + nit_avg ) - A.carbon_dioxide = max(0, (A.carbon_dioxide - co2_avg) * (1 - ratio) + co2_avg ) - A.toxins = max(0, (A.toxins - plasma_avg) * (1 - ratio) + plasma_avg ) - - A.temperature = max(TCMB, (A.temperature - temp_avg) * (1 - ratio) + temp_avg ) - - for(var/datum/gas/G in A.trace_gases) - var/G_avg = (G.moles * size) / (size + share_size) - G.moles = (G.moles - G_avg) * (1 - ratio) + G_avg - - A.update_values() - - return abs(old_pressure - A.return_pressure()) - - -proc/ShareHeat(datum/gas_mixture/A, datum/gas_mixture/B, connecting_tiles) - //This implements a simplistic version of the Stefan-Boltzmann law. - var/energy_delta = ((A.temperature - B.temperature) ** 4) * 5.6704e-8 * connecting_tiles * 2.5 - var/maximum_energy_delta = max(0, min(A.temperature * A.heat_capacity() * A.group_multiplier, B.temperature * B.heat_capacity() * B.group_multiplier)) - if(maximum_energy_delta > abs(energy_delta)) - if(energy_delta < 0) - maximum_energy_delta *= -1 - energy_delta = maximum_energy_delta - - A.temperature -= energy_delta / (A.heat_capacity() * A.group_multiplier) - B.temperature += energy_delta / (B.heat_capacity() * B.group_multiplier) - - /* This was bad an I feel bad. - //Shares a specific ratio of gas between mixtures using simple weighted averages. - var - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - ratio = sharing_lookup_table[6] - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - - full_heat_capacity = A.heat_capacity() - - s_full_heat_capacity = B.heat_capacity() - - temp_avg = (A.temperature * full_heat_capacity + B.temperature * s_full_heat_capacity) / (full_heat_capacity + s_full_heat_capacity) - - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - if(sharing_lookup_table.len >= connecting_tiles) //6 or more interconnecting tiles will max at 42% of air moved per tick. - ratio = sharing_lookup_table[connecting_tiles] - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - - //We need to adjust it to account for the insulation settings. - ratio *= 1 - vsc.connection_insulation - - A.temperature = max(0, (A.temperature - temp_avg) * (1- (ratio / max(1,A.group_multiplier)) ) + temp_avg ) - B.temperature = max(0, (B.temperature - temp_avg) * (1- (ratio / max(1,B.group_multiplier)) ) + temp_avg ) - */ - - /////////////////// - //Zone Rebuilding// -/////////////////// -//Used for updating zone geometry when a zone is cut into two parts. - -zone/proc/Rebuild() - if(last_rebuilt == air_master.current_cycle) - return - - last_rebuilt = air_master.current_cycle - - var/list/new_zone_contents = IsolateContents() - if(new_zone_contents.len == 1) - return - - var/list/current_contents - var/list/new_zones = list() - - contents = new_zone_contents[1] - air.group_multiplier = contents.len - - for(var/identifier in 2 to new_zone_contents.len) - current_contents = new_zone_contents[identifier] - var/zone/new_zone = new (current_contents) - new_zone.air.copy_from(air) - new_zones += new_zone - - for(var/connection/connection in connections) - connection.Cleanup() - - var/turf/simulated/adjacent - - for(var/turf/unsimulated in unsimulated_tiles) - for(var/direction in cardinal) - adjacent = get_step(unsimulated, direction) - - if(istype(adjacent) && adjacent.CanPass(null, unsimulated, 0, 0)) - for(var/zone/zone in new_zones) - if(adjacent in zone) - zone.AddTurf(unsimulated) - - -//Implements a two-pass connected component labeling algorithm to determine if the zone is, in fact, split. - -/zone/proc/IsolateContents() - var/list/current_adjacents = list() - var/adjacent_id - var/lowest_id - - var/list/identical_ids = list() - var/list/turfs = contents.Copy() - var/current_identifier = 1 - - for(var/turf/simulated/current in turfs) - lowest_id = null - current_adjacents = list() - - for(var/direction in cardinal) - var/turf/simulated/adjacent = get_step(current, direction) - if(!current.ZCanPass(adjacent)) - continue - if(adjacent in turfs) - current_adjacents += adjacent - adjacent_id = turfs[adjacent] - - if(adjacent_id && (!lowest_id || adjacent_id < lowest_id)) - lowest_id = adjacent_id - - if(!lowest_id) - lowest_id = current_identifier++ - identical_ids += lowest_id - - for(var/turf/simulated/adjacent in current_adjacents) - adjacent_id = turfs[adjacent] - if(adjacent_id != lowest_id) - if(adjacent_id) - identical_ids[adjacent_id] = lowest_id - turfs[adjacent] = lowest_id - turfs[current] = lowest_id - - var/list/final_arrangement = list() - - for(var/turf/simulated/current in turfs) - current_identifier = identical_ids[turfs[current]] - - if( current_identifier > final_arrangement.len ) - final_arrangement.len = current_identifier - final_arrangement[current_identifier] = list(current) - - else - //Sanity check. - if(!islist(final_arrangement[current_identifier])) - final_arrangement[current_identifier] = list() - final_arrangement[current_identifier] += current - - //lazy but fast - final_arrangement.Remove(null) - - return final_arrangement - - -/* - if(!RequiresRebuild()) - return - - //Choose a random turf and regenerate the zone from it. - var/list/new_contents - var/list/new_unsimulated - - var/list/turfs_needing_zones = list() - - var/list/zones_to_check_connections = list(src) - - if(!locate(/turf/simulated/floor) in contents) - for(var/turf/simulated/turf in contents) - air_master.ReconsiderTileZone(turf) - return SoftDelete() - - var/turfs_to_ignore = list() - if(direct_connections) - for(var/connection/connection in direct_connections) - if(connection.A.zone != src) - turfs_to_ignore += A - else if(connection.B.zone != src) - turfs_to_ignore += B - - new_unsimulated = ( unsimulated_tiles ? unsimulated_tiles : list() ) - - //Now, we have allocated the new turfs into proper lists, and we can start actually rebuilding. - - //If something isn't carried over, it will need a new zone. - for(var/turf/T in contents) - if(!(T in new_contents)) - RemoveTurf(T) - turfs_needing_zones += T - - //Handle addition of new turfs - for(var/turf/S in new_contents) - if(!istype(S, /turf/simulated)) - new_unsimulated |= S - new_contents.Remove(S) - - //If something new is added, we need to deal with it seperately. - else if(!(S in contents) && istype(S, /turf/simulated)) - if(!(S.zone in zones_to_check_connections)) - zones_to_check_connections += S.zone - - S.zone.RemoveTurf(S) - AddTurf(S) - - //Handle the addition of new unsimulated tiles. - unsimulated_tiles = null - - if(new_unsimulated.len) - for(var/turf/S in new_unsimulated) - if(istype(S, /turf/simulated)) - continue - for(var/direction in cardinal) - var/turf/simulated/T = get_step(S,direction) - if(istype(T) && T.zone && S.CanPass(null, T, 0, 0)) - T.zone.AddTurf(S) - - //Finally, handle the orphaned turfs - - for(var/turf/simulated/T in turfs_needing_zones) - if(!T.zone) - zones_to_check_connections += new /zone(T) - - for(var/zone/zone in zones_to_check_connections) - for(var/connection/C in zone.connections) - C.Cleanup()*/ - diff --git a/code/ZAS - vg/Airflow.dm b/code/ZAS - vg/Airflow.dm deleted file mode 100644 index 87f4bda7ecf..00000000000 --- a/code/ZAS - vg/Airflow.dm +++ /dev/null @@ -1,434 +0,0 @@ -/* - -CONTAINS: -All AirflowX() procs, all Variable Setting Controls for airflow, save/load variable tweaks for airflow. - -VARIABLES: - -atom/movable/airflow_dest - The destination turf of a flying object. - -atom/movable/airflow_speed - The speed (1-15) at which a flying object is traveling to airflow_dest. Decays over time. - - -OVERLOADABLE PROCS: - -mob/airflow_stun() - Contains checks for and results of being stunned by airflow. - Called when airflow quantities exceed airflow_medium_pressure. - RETURNS: Null - -atom/movable/check_airflow_movable(n) - Contains checks for moving any object due to airflow. - n is the pressure that is flowing. - RETURNS: 1 if the object moves under the air conditions, 0 if it stays put. - -atom/movable/airflow_hit(atom/A) - Contains results of hitting a solid object (A) due to airflow. - A is the dense object hit. - Use airflow_speed to determine how fast the projectile was going. - - -AUTOMATIC PROCS: - -Airflow(zone/A, zone/B) - Causes objects to fly along a pressure gradient. - Called by zone updates. A and B are two connected zones. - -AirflowSpace(zone/A) - Causes objects to fly into space. - Called by zone updates. A is a zone connected to space. - -atom/movable/GotoAirflowDest(n) -atom/movable/RepelAirflowDest(n) - Called by main airflow procs to cause the object to fly to or away from destination at speed n. - Probably shouldn't call this directly unless you know what you're - doing and have set airflow_dest. airflow_hit() will be called if the object collides with an obstacle. - -*/ - -mob/var/tmp/last_airflow_stun = 0 -mob/proc/airflow_stun() - if(stat == 2) - return 0 - if(last_airflow_stun > world.time - zas_settings.Get(/datum/ZAS_Setting/airflow_stun_cooldown)) return 0 - if(!(status_flags & CANSTUN) && !(status_flags & CANWEAKEN)) - src << "\blue You stay upright as the air rushes past you." - return 0 - - if(zas_settings.Get(/datum/ZAS_Setting/airflow_push)) - if(weakened <= 0) src << "\red The sudden rush of air knocks you over!" - weakened = max(weakened,5) - last_airflow_stun = world.time - return - src << "\blue You stay upright as the air rushes past you." - last_airflow_stun = world.time - -mob/living/silicon/airflow_stun() - return - -mob/living/carbon/metroid/airflow_stun() - return - -mob/living/carbon/human/airflow_stun() - if(last_airflow_stun > world.time - zas_settings.Get(/datum/ZAS_Setting/airflow_stun_cooldown)) return 0 - if(buckled) return 0 - if(shoes) - if(shoes.flags & NOSLIP) return 0 - if(!(status_flags & CANSTUN) && !(status_flags & CANWEAKEN)) - src << "\blue You stay upright as the air rushes past you." - return 0 - - if(zas_settings.Get(/datum/ZAS_Setting/airflow_push)) - if(weakened <= 0) src << "\red The sudden rush of air knocks you over!" - weakened = max(weakened,rand(1,5)) - last_airflow_stun = world.time - return - src << "\blue You stay upright as the air rushes past you." - last_airflow_stun = world.time - -atom/movable/proc/check_airflow_movable(n) - if(!zas_settings.Get(/datum/ZAS_Setting/airflow_push)) - return 0 - if(anchored && !ismob(src)) - return 0 - if(!istype(src,/obj/item) && n < zas_settings.Get(/datum/ZAS_Setting/airflow_dense_pressure)) - return 0 - - return 1 - -mob/check_airflow_movable(n) - if(n < zas_settings.Get(/datum/ZAS_Setting/airflow_heavy_pressure)) - return 0 - return 1 - -mob/dead/observer/check_airflow_movable() - return 0 - -mob/living/silicon/check_airflow_movable() - return 0 - - -obj/item/check_airflow_movable(n) - . = ..() - switch(w_class) - if(2) - if(n < zas_settings.Get(/datum/ZAS_Setting/airflow_lightest_pressure)) return 0 - if(3) - if(n < zas_settings.Get(/datum/ZAS_Setting/airflow_light_pressure)) return 0 - if(4,5) - if(n < zas_settings.Get(/datum/ZAS_Setting/airflow_medium_pressure)) return 0 - -//The main airflow code. Called by zone updates. -//Zones A and B are air zones. n represents the amount of air moved. - -proc/Airflow(zone/A, zone/B) - - var/n = B.air.return_pressure() - A.air.return_pressure() - - //Don't go any further if n is lower than the lowest value needed for airflow. - if(abs(n) < zas_settings.Get(/datum/ZAS_Setting/airflow_lightest_pressure)) return - - //These turfs are the midway point between A and B, and will be the destination point for thrown objects. - var/list/connection/connections_A = A.connections - var/list/turf/connected_turfs = list() - for(var/connection/C in connections_A) //Grab the turf that is in the zone we are flowing to (determined by n) - if( ( A == C.A.zone || A == C.zone_A ) && ( B == C.B.zone || B == C.zone_B ) ) - if(n < 0) - connected_turfs |= C.B - else - connected_turfs |= C.A - else if( ( A == C.B.zone || A == C.zone_B ) && ( B == C.A.zone || B == C.zone_A ) ) - if(n < 0) - connected_turfs |= C.A - else - connected_turfs |= C.B - - //Get lists of things that can be thrown across the room for each zone (assumes air is moving from zone B to zone A) - var/list/air_sucked = B.movables() - var/list/air_repelled = A.movables() - if(n < 0) - //air is moving from zone A to zone B - var/list/temporary_pplz = air_sucked - air_sucked = air_repelled - air_repelled = temporary_pplz - if(zas_settings.Get(/datum/ZAS_Setting/airflow_push)) // If enabled - for(var/atom/movable/M in air_sucked) - if(M.last_airflow > world.time - zas_settings.Get(/datum/ZAS_Setting/airflow_delay)) continue - - //Check for knocking people over - if(ismob(M) && n > zas_settings.Get(/datum/ZAS_Setting/airflow_stun_pressure)) - if(M:status_flags & GODMODE) continue - M:airflow_stun() - - if(M.check_airflow_movable(n)) - - //Check for things that are in range of the midpoint turfs. - var/list/close_turfs = list() - for(var/turf/U in connected_turfs) - if(M in range(U)) close_turfs += U - if(!close_turfs.len) continue - - //If they're already being tossed, don't do it again. - if(!M.airflow_speed) - - M.airflow_dest = pick(close_turfs) //Pick a random midpoint to fly towards. - - spawn M.GotoAirflowDest(abs(n)/5) - - //Do it again for the stuff in the other zone, making it fly away. - for(var/atom/movable/M in air_repelled) - - if(M.last_airflow > world.time - zas_settings.Get(/datum/ZAS_Setting/airflow_delay)) continue - - if(ismob(M) && abs(n) > zas_settings.Get(/datum/ZAS_Setting/airflow_medium_pressure)) - if(M:status_flags & GODMODE) continue - M:airflow_stun() - - if(M.check_airflow_movable(abs(n))) - - var/list/close_turfs = list() - for(var/turf/U in connected_turfs) - if(M in range(U)) close_turfs += U - if(!close_turfs.len) continue - - //If they're already being tossed, don't do it again. - if(!M.airflow_speed) - - M.airflow_dest = pick(close_turfs) //Pick a random midpoint to fly towards. - - spawn M.RepelAirflowDest(abs(n)/5) - -proc/AirflowSpace(zone/A) - - //The space version of the Airflow(A,B,n) proc. - - var/n = A.air.return_pressure() - //Here, n is determined by only the pressure in the room. - - if(n < zas_settings.Get(/datum/ZAS_Setting/airflow_lightest_pressure)) return - - var/list/connected_turfs = A.unsimulated_tiles //The midpoints are now all the space connections. - var/list/pplz = A.movables() //We only need to worry about things in the zone, not things in space. - - if(zas_settings.Get(/datum/ZAS_Setting/airflow_push)) // If enabled - for(var/atom/movable/M in pplz) - if(M.last_airflow > world.time - zas_settings.Get(/datum/ZAS_Setting/airflow_delay)) continue - - if(ismob(M) && n > zas_settings.Get(/datum/ZAS_Setting/airflow_stun_pressure)) - var/mob/O = M - if(O.status_flags & GODMODE) continue - O.airflow_stun() - - if(M.check_airflow_movable(n)) - - var/list/close_turfs = list() - for(var/turf/U in connected_turfs) - if(M in range(U)) close_turfs += U - if(!close_turfs.len) continue - - //If they're already being tossed, don't do it again. - if(!M.airflow_speed) - - M.airflow_dest = pick(close_turfs) //Pick a random midpoint to fly towards. - spawn - if(M) M.GotoAirflowDest(n/10) - //Sometimes shit breaks, and M isn't there after the spawn. - - -/atom/movable/var/tmp/turf/airflow_dest -/atom/movable/var/tmp/airflow_speed = 0 -/atom/movable/var/tmp/airflow_time = 0 -/atom/movable/var/tmp/last_airflow = 0 - -/atom/movable/proc/GotoAirflowDest(n) - if(!zas_settings.Get(/datum/ZAS_Setting/airflow_push)) return // If not enabled, fuck it. - if(!airflow_dest) return - if(airflow_speed < 0) return - if(last_airflow > world.time - zas_settings.Get(/datum/ZAS_Setting/airflow_delay)) return - if(airflow_speed) - airflow_speed = n/max(get_dist(src,airflow_dest),1) - return - last_airflow = world.time - if(airflow_dest == loc) - step_away(src,loc) - if(ismob(src)) - if(src:status_flags & GODMODE) - return - if(istype(src, /mob/living/carbon/human)) - if(src:buckled) - return - if(src:shoes) - if(istype(src:shoes, /obj/item/clothing/shoes/magboots)) - if(src:shoes:magpulse) - return - src << "\red You are sucked away by airflow!" - var/airflow_falloff = 9 - ul_FalloffAmount(airflow_dest) //It's a fast falloff calc. Very useful. - if(airflow_falloff < 1) - airflow_dest = null - return - airflow_speed = min(max(n * (9/airflow_falloff),1),9) - var - xo = airflow_dest.x - src.x - yo = airflow_dest.y - src.y - od = 0 - airflow_dest = null - if(!density) - density = 1 - od = 1 - while(airflow_speed > 0) - if(airflow_speed <= 0) return - airflow_speed = min(airflow_speed,15) - airflow_speed -= zas_settings.Get(/datum/ZAS_Setting/airflow_speed_decay) - if(airflow_speed > 7) - if(airflow_time++ >= airflow_speed - 7) - if(od) - density = 0 - sleep(1 * tick_multiplier) - else - if(od) - density = 0 - sleep(max(1,10-(airflow_speed+3)) * tick_multiplier) - if(od) - density = 1 - if ((!( src.airflow_dest ) || src.loc == src.airflow_dest)) - src.airflow_dest = locate(min(max(src.x + xo, 1), world.maxx), min(max(src.y + yo, 1), world.maxy), src.z) - if ((src.x == 1 || src.x == world.maxx || src.y == 1 || src.y == world.maxy)) - return - if(!istype(loc, /turf)) - return - step_towards(src, src.airflow_dest) - if(ismob(src) && src:client) - src:client:move_delay = world.time + zas_settings.Get(/datum/ZAS_Setting/airflow_mob_slowdown) - airflow_dest = null - airflow_speed = 0 - airflow_time = 0 - if(od) - density = 0 - - -/atom/movable/proc/RepelAirflowDest(n) - if(!zas_settings.Get(/datum/ZAS_Setting/airflow_push)) return // If not enabled, fuck it. - if(!airflow_dest) return - if(airflow_speed < 0) return - if(last_airflow > world.time - zas_settings.Get(/datum/ZAS_Setting/airflow_delay)) return - if(airflow_speed) - airflow_speed = n/max(get_dist(src,airflow_dest),1) - return - if(airflow_dest == loc) - step_away(src,loc) - if(ismob(src)) - if(src:status_flags & GODMODE) - return - if(istype(src, /mob/living/carbon/human)) - if(src:buckled) - return - if(src:shoes) - if(istype(src:shoes, /obj/item/clothing/shoes/magboots)) - if(src:shoes.flags & NOSLIP) - return - src << "\red You are pushed away by airflow!" - last_airflow = world.time - var/airflow_falloff = 9 - ul_FalloffAmount(airflow_dest) //It's a fast falloff calc. Very useful. - if(airflow_falloff < 1) - airflow_dest = null - return - airflow_speed = min(max(n * (9/airflow_falloff),1),9) - var - xo = -(airflow_dest.x - src.x) - yo = -(airflow_dest.y - src.y) - od = 0 - airflow_dest = null - if(!density) - density = 1 - od = 1 - while(airflow_speed > 0) - if(airflow_speed <= 0) return - airflow_speed = min(airflow_speed,15) - airflow_speed -= zas_settings.Get(/datum/ZAS_Setting/airflow_speed_decay) - if(airflow_speed > 7) - if(airflow_time++ >= airflow_speed - 7) - sleep(1 * tick_multiplier) - else - sleep(max(1,10-(airflow_speed+3)) * tick_multiplier) - if ((!( src.airflow_dest ) || src.loc == src.airflow_dest)) - src.airflow_dest = locate(min(max(src.x + xo, 1), world.maxx), min(max(src.y + yo, 1), world.maxy), src.z) - if ((src.x == 1 || src.x == world.maxx || src.y == 1 || src.y == world.maxy)) - return - if(!istype(loc, /turf)) - return - step_towards(src, src.airflow_dest) - if(ismob(src) && src:client) - src:client:move_delay = world.time + zas_settings.Get(/datum/ZAS_Setting/airflow_mob_slowdown) - airflow_dest = null - airflow_speed = 0 - airflow_time = 0 - if(od) - density = 0 - -/atom/movable/Bump(atom/A) - if(airflow_speed > 0 && airflow_dest) - airflow_hit(A) - else - airflow_speed = 0 - airflow_time = 0 - . = ..() - -atom/movable/proc/airflow_hit(atom/A) - airflow_speed = 0 - airflow_dest = null - -mob/airflow_hit(atom/A) - for(var/mob/M in hearers(src)) - M.show_message("\red \The [src] slams into \a [A]!",1,"\red You hear a loud slam!",2) - //playsound(src.loc, "smash.ogg", 25, 1, -1) - weakened = max(weakened, (istype(A,/obj/item) ? A:w_class : rand(1,5))) //Heheheh - . = ..() - -obj/airflow_hit(atom/A) - for(var/mob/M in hearers(src)) - M.show_message("\red \The [src] slams into \a [A]!",1,"\red You hear a loud slam!",2) - //playsound(src.loc, "smash.ogg", 25, 1, -1) - . = ..() - -obj/item/airflow_hit(atom/A) - airflow_speed = 0 - airflow_dest = null - -mob/living/carbon/human/airflow_hit(atom/A) -// for(var/mob/M in hearers(src)) -// M.show_message("\red [src] slams into [A]!",1,"\red You hear a loud slam!",2) - //playsound(src.loc, "punch", 25, 1, -1) - loc:add_blood(src) - if (src.wear_suit) - src.wear_suit.add_blood(src) - if (src.w_uniform) - src.w_uniform.add_blood(src) - var/b_loss = airflow_speed * zas_settings.Get(/datum/ZAS_Setting/airflow_damage) - - var/blocked = run_armor_check("head","melee") - apply_damage(b_loss/3, BRUTE, "head", blocked, 0, "Airflow") - - blocked = run_armor_check("chest","melee") - apply_damage(b_loss/3, BRUTE, "chest", blocked, 0, "Airflow") - - blocked = run_armor_check("groin","melee") - apply_damage(b_loss/3, BRUTE, "groin", blocked, 0, "Airflow") - - if(zas_settings.Get(/datum/ZAS_Setting/airflow_push)) - if(airflow_speed > 10) - paralysis += round(airflow_speed * zas_settings.Get(/datum/ZAS_Setting/airflow_stun)) - stunned = max(stunned,paralysis + 3) - else - stunned += round(airflow_speed * zas_settings.Get(/datum/ZAS_Setting/airflow_stun)/2) - - . = ..() - -zone/proc/movables() - . = list() - for(var/turf/T in contents) - for(var/atom/A in T) - if(istype(A, /obj/effect) || isobserver(A) || istype(A, /mob/camera)) - continue - . += A diff --git a/code/ZAS - vg/Connection.dm b/code/ZAS - vg/Connection.dm deleted file mode 100644 index 8a919d50435..00000000000 --- a/code/ZAS - vg/Connection.dm +++ /dev/null @@ -1,403 +0,0 @@ -/* -This object is contained within zone/var/connections. It's generated whenever two turfs from different zones are linked. -Indirect connections will not merge the two zones after they reach equilibrium. -*/ -#define CONNECTION_DIRECT 2 -#define CONNECTION_INDIRECT 1 -#define CONNECTION_CLOSED 0 - -/connection - var/turf/simulated/A - var/turf/simulated/B - - var/zone/zone_A - var/zone/zone_B - - var/ref_A - var/ref_B - - var/indirect = CONNECTION_DIRECT //If the connection is purely indirect, the zones should not join. - - var/last_updated //The tick at which this was last updated. - - var/no_zone_count = 0 - - - -/connection/New(turf/T,turf/O) - A = T - B = O - if(A.zone && B.zone) - if(!A.zone.connections) A.zone.connections = list() - A.zone.connections += src - zone_A = A.zone - ref_A = "\ref[A]" - - if(!B.zone.connections) B.zone.connections = list() - B.zone.connections += src - zone_B = B.zone - ref_B = "\ref[B]" - - if(ref_A in air_master.turfs_with_connections) - var/list/connections = air_master.turfs_with_connections[ref_A] - connections.Add(src) - else - air_master.turfs_with_connections[ref_A] = list(src) - - if(ref_B in air_master.turfs_with_connections) - var/list/connections = air_master.turfs_with_connections[ref_B] - connections.Add(src) - else - air_master.turfs_with_connections[ref_B] = list(src) - - if(A.CanPass(null, B, 0, 0)) - - ConnectZones(A.zone, B.zone, 1) - - if(A.HasDoor(B) || B.HasDoor(A)) - indirect = CONNECTION_INDIRECT - - else - ConnectZones(A.zone, B.zone) - indirect = CONNECTION_CLOSED - - - else - world.log << "Attempted to create connection object for non-zone tiles: [T] ([T.x],[T.y],[T.z]) -> [O] ([O.x],[O.y],[O.z])" - del(src) - - -/connection/Del() - //remove connections from master lists. - if(ref_B in air_master.turfs_with_connections) - var/list/connections = air_master.turfs_with_connections[ref_B] - connections.Remove(src) - - if(ref_A in air_master.turfs_with_connections) - var/list/connections = air_master.turfs_with_connections[ref_A] - connections.Remove(src) - - //Remove connection from zones. - if(A) - if(A.zone && A.zone.connections) - A.zone.connections.Remove(src) - if(!A.zone.connections.len) - A.zone.connections = null - - if(istype(zone_A) && (!A || A.zone != zone_A)) - if(zone_A.connections) - zone_A.connections.Remove(src) - if(!zone_A.connections.len) - zone_A.connections = null - - if(B) - if(B.zone && B.zone.connections) - B.zone.connections.Remove(src) - if(!B.zone.connections.len) - B.zone.connections = null - - if(istype(zone_B) && (!B || B.zone != zone_B)) - if(zone_B.connections) - zone_B.connections.Remove(src) - if(!zone_B.connections.len) - zone_B.connections = null - - //Disconnect zones while handling unusual conditions. - // e.g. loss of a zone on a turf - if(A && A.zone && B && B.zone) - DisconnectZones(A.zone, B.zone) - - //Finally, preform actual deletion. - . = ..() - - -/connection/proc/ConnectZones(var/zone/zone_1, var/zone/zone_2, open = 0) - - //Sanity checking - if(!istype(zone_1) || !istype(zone_2)) - return - - //Handle zones connecting indirectly/directly. - if(open) - - //Create the lists if necessary. - if(!zone_1.connected_zones) - zone_1.connected_zones = list() - - if(!zone_2.connected_zones) - zone_2.connected_zones = list() - - //Increase the number of connections between zones. - if(zone_2 in zone_1.connected_zones) - zone_1.connected_zones[zone_2]++ - else - zone_1.connected_zones += zone_2 - zone_1.connected_zones[zone_2] = 1 - - if(zone_1 in zone_2.connected_zones) - zone_2.connected_zones[zone_1]++ - else - zone_2.connected_zones += zone_1 - zone_2.connected_zones[zone_1] = 1 - - //Handle closed connections. - else - - //Create the lists - if(!zone_1.closed_connection_zones) - zone_1.closed_connection_zones = list() - - if(!zone_2.closed_connection_zones) - zone_2.closed_connection_zones = list() - - //Increment the connections. - if(zone_2 in zone_1.closed_connection_zones) - zone_1.closed_connection_zones[zone_2]++ - else - zone_1.closed_connection_zones += zone_2 - zone_1.closed_connection_zones[zone_2] = 1 - - if(zone_1 in zone_2.closed_connection_zones) - zone_2.closed_connection_zones[zone_1]++ - else - zone_2.closed_connection_zones += zone_1 - zone_2.closed_connection_zones[zone_1] = 1 - - -/connection/proc/DisconnectZones(var/zone/zone_1, var/zone/zone_2) - //Sanity checking - if(!istype(zone_1) || !istype(zone_2)) - return - - if(indirect != CONNECTION_CLOSED) - //Handle disconnection of indirectly or directly connected zones. - if( (zone_1 in zone_2.connected_zones) || (zone_2 in zone_1.connected_zones) ) - - //If there are more than one connection, decrement the number of connections - //Otherwise, remove all connections between the zones. - if(zone_2 in zone_1.connected_zones) - if(zone_1.connected_zones[zone_2] > 1) - zone_1.connected_zones[zone_2]-- - else - zone_1.connected_zones -= zone_2 - //remove the list if it is empty - if(!zone_1.connected_zones.len) - zone_1.connected_zones = null - - //Then do the same for the other zone. - if(zone_1 in zone_2.connected_zones) - if(zone_2.connected_zones[zone_1] > 1) - zone_2.connected_zones[zone_1]-- - else - zone_2.connected_zones -= zone_1 - if(!zone_2.connected_zones.len) - zone_2.connected_zones = null - - else - //Handle disconnection of closed zones. - if( (zone_1 in zone_2.closed_connection_zones) || (zone_2 in zone_1.closed_connection_zones) ) - - //If there are more than one connection, decrement the number of connections - //Otherwise, remove all connections between the zones. - if(zone_2 in zone_1.closed_connection_zones) - if(zone_1.closed_connection_zones[zone_2] > 1) - zone_1.closed_connection_zones[zone_2]-- - else - zone_1.closed_connection_zones -= zone_2 - //remove the list if it is empty - if(!zone_1.closed_connection_zones.len) - zone_1.closed_connection_zones = null - - //Then do the same for the other zone. - if(zone_1 in zone_2.closed_connection_zones) - if(zone_2.closed_connection_zones[zone_1] > 1) - zone_2.closed_connection_zones[zone_1]-- - else - zone_2.closed_connection_zones -= zone_1 - if(!zone_2.closed_connection_zones.len) - zone_2.closed_connection_zones = null - - -/connection/proc/Cleanup() - - //Check sanity: existance of turfs - if(!A || !B) - del src - - //Check sanity: zones are different - if(A.zone == B.zone) - del src - - //Check sanity: same turfs as before. - if(ref_A != "\ref[A]" || ref_B != "\ref[B]") - del src - - //Handle zones changing on a turf. - if((A.zone && A.zone != zone_A) || (B.zone && B.zone != zone_B)) - Sanitize() - - //Manage sudden loss of a turfs zone. (e.g. a wall being built) - if(!A.zone || !B.zone) - no_zone_count++ - if(no_zone_count >= 5) - //world.log << "Connection removed: [A] or [B] missing a zone." - del src - return 0 - - return 1 - - -/connection/proc/CheckPassSanity() - //Sanity check, first. - Cleanup() - - if(A.zone && B.zone) - - //If no walls are blocking us... - if(A.ZAirPass(B)) - //...we check to see if there is a door in the way... - var/door_pass = A.CanPass(null,B,1.5,1) - //...and if it is opened. - if(door_pass || A.CanPass(null,B,0,0)) - - //Make and remove connections to let air pass. - if(indirect == CONNECTION_CLOSED) - DisconnectZones(A.zone, B.zone) - ConnectZones(A.zone, B.zone, 1) - - if(door_pass) - indirect = CONNECTION_DIRECT - else if(!door_pass) - indirect = CONNECTION_INDIRECT - - //The door is instead closed. - else if(indirect > CONNECTION_CLOSED) - DisconnectZones(A.zone, B.zone) - indirect = CONNECTION_CLOSED - ConnectZones(A.zone, B.zone) - - //If I can no longer pass air, better delete - else - del src - -/connection/proc/Sanitize() - //If the zones change on connected turfs, update it. - - //Both zones changed (wat) - if(A.zone && A.zone != zone_A && B.zone && B.zone != zone_B) - - //If the zones have gotten swapped - // (do not ask me how, I am just being anal retentive about sanity) - if(A.zone == zone_B && B.zone == zone_A) - var/turf/temp = B - B = A - A = temp - zone_B = B.zone - zone_A = A.zone - var/temp_ref = ref_A - ref_A = ref_B - ref_B = temp_ref - return - - //Handle removal of connections from archived zones. - if(zone_A && zone_A.connections) - zone_A.connections.Remove(src) - if(!zone_A.connections.len) - zone_A.connections = null - - if(zone_B && zone_B.connections) - zone_B.connections.Remove(src) - if(!zone_B.connections.len) - zone_B.connections = null - - if(A.zone) - if(!A.zone.connections) - A.zone.connections = list() - A.zone.connections |= src - - if(B.zone) - if(!B.zone.connections) - B.zone.connections = list() - B.zone.connections |= src - - //If either zone is null, we disconnect the archived ones after cleaning up the connections. - if(!A.zone || !B.zone) - if(zone_A && zone_B) - DisconnectZones(zone_B, zone_A) - - if(!A.zone) - zone_A = A.zone - - if(!B.zone) - zone_B = B.zone - return - - //Handle diconnection and reconnection of zones. - if(zone_A && zone_B) - DisconnectZones(zone_A, zone_B) - ConnectZones(A.zone, B.zone, indirect) - - //resetting values of archived values. - zone_B = B.zone - zone_A = A.zone - - //The "A" zone changed. - else if(A.zone && A.zone != zone_A) - - //Handle connection cleanup - if(zone_A) - if(zone_A.connections) - zone_A.connections.Remove(src) - if(!zone_A.connections.len) - zone_A.connections = null - - if(A.zone) - if(!A.zone.connections) - A.zone.connections = list() - A.zone.connections |= src - - //If the "A" zone is null, we disconnect the archived ones after cleaning up the connections. - if(!A.zone) - if(zone_A && zone_B) - DisconnectZones(zone_A, zone_B) - zone_A = A.zone - return - - //Handle diconnection and reconnection of zones. - if(zone_A && zone_B) - DisconnectZones(zone_A, zone_B) - ConnectZones(A.zone, B.zone, indirect) - zone_A = A.zone - - //The "B" zone changed. - else if(B.zone && B.zone != zone_B) - - //Handle connection cleanup - if(zone_B) - if(zone_B.connections) - zone_B.connections.Remove(src) - if(!zone_B.connections.len) - zone_B.connections = null - - if(B.zone) - if(!B.zone.connections) - B.zone.connections = list() - B.zone.connections |= src - - //If the "B" zone is null, we disconnect the archived ones after cleaning up the connections. - if(!B.zone) - if(zone_A && zone_B) - DisconnectZones(zone_A, zone_B) - zone_B = B.zone - return - - //Handle diconnection and reconnection of zones. - if(zone_A && zone_B) - DisconnectZones(zone_A, zone_B) - ConnectZones(A.zone, B.zone, indirect) - zone_B = B.zone - - -#undef CONNECTION_DIRECT -#undef CONNECTION_INDIRECT -#undef CONNECTION_CLOSED \ No newline at end of file diff --git a/code/ZAS - vg/Debug.dm b/code/ZAS - vg/Debug.dm deleted file mode 100644 index 6586cbaaecf..00000000000 --- a/code/ZAS - vg/Debug.dm +++ /dev/null @@ -1,122 +0,0 @@ - -client/proc/Zone_Info(turf/T as null|turf) - set category = "Debug" - if(T) - if(T.zone) - T.zone.DebugDisplay(src) - else - mob << "No zone here." - else - if(zone_debug_images) - for(var/zone in zone_debug_images) - images -= zone_debug_images[zone] - zone_debug_images = null - -client/var/list/zone_debug_images - -client/proc/Test_ZAS_Connection(var/turf/simulated/T as turf) - set category = "Debug" - if(!istype(T)) - return - - var/direction_list = list(\ - "North" = NORTH,\ - "South" = SOUTH,\ - "East" = EAST,\ - "West" = WEST,\ - "N/A" = null) - var/direction = input("What direction do you wish to test?","Set direction") as null|anything in direction_list - if(!direction) - return - - if(direction == "N/A") - if(T.CanPass(null, T, 0,0)) - mob << "The turf can pass air! :D" - else - mob << "No air passage :x" - return - - var/turf/simulated/other_turf = get_step(T, direction_list[direction]) - if(!istype(other_turf)) - return - - var/pass_directions = T.CanPass(null, other_turf, 0, 0) + 2 * other_turf.CanPass(null, T, 0, 0) - - switch(pass_directions) - if(0) - mob << "Neither turf can connect. :(" - - if(1) - mob << "The initial turf only can connect. :\\" - - if(2) - mob << "The other turf can connect, but not the initial turf. :/" - - if(3) - mob << "Both turfs can connect! :)" - - -zone/proc/DebugDisplay(client/client) - if(!istype(client)) - return - - if(!dbg_output) - dbg_output = 1 //Don't want to be spammed when someone investigates a zone... - - if(!client.zone_debug_images) - client.zone_debug_images = list() - - var/list/current_zone_images = list() - - for(var/turf/T in contents) - current_zone_images += image('icons/misc/debug_group.dmi', T, null, TURF_LAYER) - - for(var/turf/space/S in unsimulated_tiles) - current_zone_images += image('icons/misc/debug_space.dmi', S, null, TURF_LAYER) - - client << "Zone Air Contents" - client << "Oxygen: [air.oxygen]" - client << "Nitrogen: [air.nitrogen]" - client << "Plasma: [air.toxins]" - client << "Carbon Dioxide: [air.carbon_dioxide]" - client << "Temperature: [air.temperature] K" - client << "Heat Energy: [air.temperature * air.heat_capacity()] J" - client << "Pressure: [air.return_pressure()] KPa" - client << "" - client << "Space Tiles: [length(unsimulated_tiles)]" - client << "Movable Objects: [length(movables())]" - client << "Connections: [length(connections)]" - - for(var/connection/C in connections) - client << "\ref[C] [C.A] --> [C.B] [(C.indirect?"Open":"Closed")]" - current_zone_images += image('icons/misc/debug_connect.dmi', C.A, null, TURF_LAYER) - current_zone_images += image('icons/misc/debug_connect.dmi', C.B, null, TURF_LAYER) - - client << "Connected Zones:" - for(var/zone/zone in connected_zones) - client << "\ref[zone] [zone] - [connected_zones[zone]] (Connected)" - - for(var/zone/zone in closed_connection_zones) - client << "\ref[zone] [zone] - [closed_connection_zones[zone]] (Unconnected)" - - for(var/C in connections) - if(!istype(C,/connection)) - client << "[C] (Not Connection!)" - - if(!client.zone_debug_images) - client.zone_debug_images = list() - client.zone_debug_images[src] = current_zone_images - - client.images += client.zone_debug_images[src] - - else - dbg_output = 0 - - client.images -= client.zone_debug_images[src] - client.zone_debug_images.Remove(src) - - for(var/zone/Z in zones) - if(Z.air == air && Z != src) - var/turf/zloc = pick(Z.contents) - client << "\red Illegal air datum shared by: [zloc.loc.name]" - diff --git a/code/ZAS - vg/FEA_gas_mixture.dm b/code/ZAS - vg/FEA_gas_mixture.dm deleted file mode 100644 index 37c53c8feda..00000000000 --- a/code/ZAS - vg/FEA_gas_mixture.dm +++ /dev/null @@ -1,1055 +0,0 @@ -/* -What are the archived variables for? - Calculations are done using the archived variables with the results merged into the regular variables. - This prevents race conditions that arise based on the order of tile processing. -*/ - -#define SPECIFIC_HEAT_TOXIN 200 -#define SPECIFIC_HEAT_AIR 20 -#define SPECIFIC_HEAT_CDO 30 -#define HEAT_CAPACITY_CALCULATION(oxygen,carbon_dioxide,nitrogen,toxins) \ - (carbon_dioxide*SPECIFIC_HEAT_CDO + (oxygen+nitrogen)*SPECIFIC_HEAT_AIR + toxins*SPECIFIC_HEAT_TOXIN) - -#define MINIMUM_HEAT_CAPACITY 0.0003 -#define QUANTIZE(variable) (round(variable,0.0001)) -#define TRANSFER_FRACTION 5 //What fraction (1/#) of the air difference to try and transfer - -#define TEMPERATURE_ICE_FORMATION 273.15 // 273 kelvin is the freezing point of water. -#define MIN_PRESSURE_ICE_FORMATION 10 // 10kPa should be okay - -#define GRAPHICS_PLASMA 1 -#define GRAPHICS_N2O 2 -#define GRAPHICS_REAGENTS 4 // Not used. Yet. -#define GRAPHICS_COLD 8 - - -/datum/gas/sleeping_agent/specific_heat = 40 //These are used for the "Trace Gases" stuff, but is buggy. - -/datum/gas/oxygen_agent_b/specific_heat = 300 - -/datum/gas/volatile_fuel/specific_heat = 30 - -/datum/gas - var/moles = 0 - - var/specific_heat = 0 - - var/moles_archived = 0 - -/datum/gas_mixture/ - var/oxygen = 0 //Holds the "moles" of each of the four gases. - var/carbon_dioxide = 0 - var/nitrogen = 0 - var/toxins = 0 - - var/total_moles = 0 //Updated when a reaction occurs. - - var/volume = CELL_VOLUME - - var/temperature = 0 //in Kelvin, use calculate_temperature() to modify - - var/group_multiplier = 1 - //Size of the group this gas_mixture is representing. - //=1 for singletons - - var/graphics=0 - - var/list/datum/gas/trace_gases = list() //Seemed to be a good idea that was abandoned - - var/tmp/oxygen_archived //These are variables for use with the archived data - var/tmp/carbon_dioxide_archived - var/tmp/nitrogen_archived - var/tmp/toxins_archived - - var/tmp/temperature_archived - - var/tmp/graphics_archived = 0 - var/tmp/fuel_burnt = 0 - -//FOR THE LOVE OF GOD PLEASE USE THIS PROC -//Call it with negative numbers to remove gases. - -/datum/gas_mixture/proc/adjust(o2 = 0, co2 = 0, n2 = 0, tx = 0, list/datum/gas/traces = list()) - //Purpose: Adjusting the gases within a airmix - //Called by: Nothing, yet! - //Inputs: The values of the gases to adjust - //Outputs: null - - oxygen = max(0, oxygen + o2) - carbon_dioxide = max(0, carbon_dioxide + co2) - nitrogen = max(0, nitrogen + n2) - toxins = max(0, toxins + tx) - - //handle trace gasses - for(var/datum/gas/G in traces) - var/datum/gas/T = locate(G.type) in trace_gases - if(T) - T.moles = max(G.moles + T.moles, 0) - else if(G.moles > 0) - trace_gases |= G - update_values() - return - -//tg seems to like using these a lot -/datum/gas_mixture/proc/return_temperature() - return temperature - - -/datum/gas_mixture/proc/return_volume() - return max(0, volume) - - -/datum/gas_mixture/proc/thermal_energy() - return temperature*heat_capacity() - -/////////////////////////////// -//PV=nRT - related procedures// -/////////////////////////////// - -/datum/gas_mixture/proc/heat_capacity() - //Purpose: Returning the heat capacity of the gas mix - //Called by: UNKNOWN - //Inputs: None - //Outputs: Heat capacity - - var/heat_capacity = HEAT_CAPACITY_CALCULATION(oxygen,carbon_dioxide,nitrogen,toxins) - - if(trace_gases && trace_gases.len) //sanity check because somehow the tracegases gets nulled? - for(var/datum/gas/trace_gas in trace_gases) - heat_capacity += trace_gas.moles*trace_gas.specific_heat - - return max(MINIMUM_HEAT_CAPACITY,heat_capacity) - -/datum/gas_mixture/proc/heat_capacity_archived() - //Purpose: Returning the archived heat capacity of the gas mix - //Called by: UNKNOWN - //Inputs: None - //Outputs: Archived heat capacity - - var/heat_capacity_archived = HEAT_CAPACITY_CALCULATION(oxygen_archived,carbon_dioxide_archived,nitrogen_archived,toxins_archived) - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - heat_capacity_archived += trace_gas.moles_archived*trace_gas.specific_heat - - return max(MINIMUM_HEAT_CAPACITY,heat_capacity_archived) - -/datum/gas_mixture/proc/total_moles() - return total_moles - /*var/moles = oxygen + carbon_dioxide + nitrogen + toxins - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - moles += trace_gas.moles - return moles*/ - -/datum/gas_mixture/proc/return_pressure() - //Purpose: Calculating Current Pressure - //Called by: - //Inputs: None - //Outputs: Gas pressure. - - if(volume>0) - return total_moles()*R_IDEAL_GAS_EQUATION*temperature/volume - return 0 - -// proc/return_temperature() - //Purpose: - //Inputs: - //Outputs: - -// return temperature - -// proc/return_volume() - //Purpose: - //Inputs: - //Outputs: - -// return max(0, volume) - -// proc/thermal_energy() - //Purpose: - //Inputs: - //Outputs: - -// return temperature*heat_capacity() - -/datum/gas_mixture/proc/update_values() - //Purpose: Calculating and storing values which were normally called CONSTANTLY - //Called by: Anything that changes values within a gas mix. - //Inputs: None - //Outputs: None - - total_moles = oxygen + carbon_dioxide + nitrogen + toxins - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - total_moles += trace_gas.moles - - return - -//////////////////////////////////////////// -//Procedures used for very specific events// -//////////////////////////////////////////// - -/datum/gas_mixture/proc/check_tile_graphic() - //Purpose: Calculating the graphic for a tile - //Called by: Turfs updating - //Inputs: None - //Outputs: 1 if graphic changed, 0 if unchanged - - graphics = 0 - - // If configured and cold, maek ice - if(zas_settings.Get(/datum/ZAS_Setting/ice_formation)) - if(temperature <= TEMPERATURE_ICE_FORMATION && return_pressure()>MIN_PRESSURE_ICE_FORMATION) - // If we're just forming, do a probability check. Otherwise, KEEP IT ON~ - // This ordering will hopefully keep it from sampling random noise every damn tick. - //if(was_icy || (!was_icy && prob(25))) - graphics |= GRAPHICS_COLD - - if(toxins > MOLES_PLASMA_VISIBLE) - graphics |= GRAPHICS_PLASMA - if(length(trace_gases)) - var/datum/gas/sleeping_agent = locate(/datum/gas/sleeping_agent) in trace_gases - if(sleeping_agent && (sleeping_agent.moles > 1)) - graphics |= GRAPHICS_N2O - - /* - var/datum/gas/reagent = exact_locate(/datum/gas/reagent,trace_gases) - if(reagent && (reagent.moles > 0.1)) - graphics |= GRAPHICS_REAGENTS - */ - - return graphics != graphics_archived - -/datum/gas_mixture/proc/react(atom/dump_location) - //Purpose: Calculating if it is possible for a fire to occur in the airmix - //Called by: Air mixes updating? - //Inputs: None - //Outputs: If a fire occured - - var/reacting = 0 //set to 1 if a notable reaction occured (used by pipe_network) - - if(temperature > FIRE_MINIMUM_TEMPERATURE_TO_EXIST) - if(zburn(null) > 0) - reacting = 1 - - return reacting - -/datum/gas_mixture/proc/fire() - //Purpose: Calculating any fire reactions. - //Called by: react() (See above) - //Inputs: None - //Outputs: How much fuel burned - - return zburn(null) - - /*var/energy_released = 0 - var/old_heat_capacity = heat_capacity() - - var/datum/gas/volatile_fuel/fuel_store = locate(/datum/gas/volatile_fuel) in trace_gases - if(fuel_store) //General volatile gas burn - var/burned_fuel = 0 - - if(oxygen < fuel_store.moles) - burned_fuel = oxygen - fuel_store.moles -= burned_fuel - oxygen = 0 - else - burned_fuel = fuel_store.moles - oxygen -= fuel_store.moles - del(fuel_store) - - energy_released += FIRE_CARBON_ENERGY_RELEASED * burned_fuel - carbon_dioxide += burned_fuel - fuel_burnt += burned_fuel - - //Handle plasma burning - if(toxins > MINIMUM_HEAT_CAPACITY) - var/plasma_burn_rate = 0 - var/oxygen_burn_rate = 0 - //more plasma released at higher temperatures - var/temperature_scale - if(temperature > PLASMA_UPPER_TEMPERATURE) - temperature_scale = 1 - else - temperature_scale = (temperature-PLASMA_MINIMUM_BURN_TEMPERATURE)/(PLASMA_UPPER_TEMPERATURE-PLASMA_MINIMUM_BURN_TEMPERATURE) - if(temperature_scale > 0) - oxygen_burn_rate = 1.4 - temperature_scale - if(oxygen > toxins*PLASMA_OXYGEN_FULLBURN) - plasma_burn_rate = (toxins*temperature_scale)/4 - else - plasma_burn_rate = (temperature_scale*(oxygen/PLASMA_OXYGEN_FULLBURN))/4 - if(plasma_burn_rate > MINIMUM_HEAT_CAPACITY) - toxins -= plasma_burn_rate - oxygen -= plasma_burn_rate*oxygen_burn_rate - carbon_dioxide += plasma_burn_rate - - energy_released += FIRE_PLASMA_ENERGY_RELEASED * (plasma_burn_rate) - - fuel_burnt += (plasma_burn_rate)*(1+oxygen_burn_rate) - - if(energy_released > 0) - var/new_heat_capacity = heat_capacity() - if(new_heat_capacity > MINIMUM_HEAT_CAPACITY) - temperature = (temperature*old_heat_capacity + energy_released)/new_heat_capacity - update_values() - - return fuel_burnt*/ - -////////////////////////////////////////////// -//Procs for general gas spread calculations.// -////////////////////////////////////////////// - - -/datum/gas_mixture/proc/archive() - //Purpose: Archives the current gas values - //Called by: UNKNOWN - //Inputs: None - //Outputs: 1 - - oxygen_archived = oxygen - carbon_dioxide_archived = carbon_dioxide - nitrogen_archived = nitrogen - toxins_archived = toxins - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - trace_gas.moles_archived = trace_gas.moles - - temperature_archived = temperature - - graphics_archived = graphics - - return 1 - -/datum/gas_mixture/proc/check_then_merge(datum/gas_mixture/giver) - //Purpose: Similar to merge(...) but first checks to see if the amount of air assumed is small enough - // that group processing is still accurate for source (aborts if not) - //Called by: airgroups/machinery expelling air, ? - //Inputs: The gas to try and merge - //Outputs: 1 on successful merge. 0 otherwise. - - if(!giver) - return 0 - if(((giver.oxygen > MINIMUM_AIR_TO_SUSPEND) && (giver.oxygen >= oxygen*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((giver.carbon_dioxide > MINIMUM_AIR_TO_SUSPEND) && (giver.carbon_dioxide >= carbon_dioxide*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((giver.nitrogen > MINIMUM_AIR_TO_SUSPEND) && (giver.nitrogen >= nitrogen*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((giver.toxins > MINIMUM_AIR_TO_SUSPEND) && (giver.toxins >= toxins*MINIMUM_AIR_RATIO_TO_SUSPEND))) - return 0 - if(abs(giver.temperature - temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) - return 0 - - if(giver.trace_gases.len) - for(var/datum/gas/trace_gas in giver.trace_gases) - var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases - if((trace_gas.moles > MINIMUM_AIR_TO_SUSPEND) && (!corresponding || (trace_gas.moles >= corresponding.moles*MINIMUM_AIR_RATIO_TO_SUSPEND))) - return 0 - - return merge(giver) - -/datum/gas_mixture/proc/merge(datum/gas_mixture/giver) - //Purpose: Merges all air from giver into self. Deletes giver. - //Called by: Machinery expelling air, check_then_merge, ? - //Inputs: The gas to merge. - //Outputs: 1 - - if(!giver) - return 0 - - if(abs(temperature-giver.temperature)>MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/self_heat_capacity = heat_capacity()*group_multiplier - var/giver_heat_capacity = giver.heat_capacity()*giver.group_multiplier - var/combined_heat_capacity = giver_heat_capacity + self_heat_capacity - if(combined_heat_capacity != 0) - temperature = (giver.temperature*giver_heat_capacity + temperature*self_heat_capacity)/combined_heat_capacity - - if((group_multiplier>1)||(giver.group_multiplier>1)) - oxygen += giver.oxygen*giver.group_multiplier/group_multiplier - carbon_dioxide += giver.carbon_dioxide*giver.group_multiplier/group_multiplier - nitrogen += giver.nitrogen*giver.group_multiplier/group_multiplier - toxins += giver.toxins*giver.group_multiplier/group_multiplier - else - oxygen += giver.oxygen - carbon_dioxide += giver.carbon_dioxide - nitrogen += giver.nitrogen - toxins += giver.toxins - - if(giver.trace_gases.len) - for(var/datum/gas/trace_gas in giver.trace_gases) - var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases - if(!corresponding) - corresponding = new trace_gas.type() - trace_gases += corresponding - corresponding.moles += trace_gas.moles*giver.group_multiplier/group_multiplier - update_values() - - // Let the garbage collector handle it, faster according to /tg/ testers - //del(giver) - return 1 - -/datum/gas_mixture/proc/remove(amount) - //Purpose: Removes a certain number of moles from the air. - //Called by: ? - //Inputs: How many moles to remove. - //Outputs: Removed air. - - // Fix a singuloth problem - if(group_multiplier==0) - return null - - var/sum = total_moles() - amount = min(amount,sum) //Can not take more air than tile has! - if(amount <= 0) - return null - - var/datum/gas_mixture/removed = new - - - removed.oxygen = QUANTIZE((oxygen/sum)*amount) - removed.nitrogen = QUANTIZE((nitrogen/sum)*amount) - removed.carbon_dioxide = QUANTIZE((carbon_dioxide/sum)*amount) - removed.toxins = QUANTIZE((toxins/sum)*amount) - - oxygen -= removed.oxygen/group_multiplier - nitrogen -= removed.nitrogen/group_multiplier - carbon_dioxide -= removed.carbon_dioxide/group_multiplier - toxins -= removed.toxins/group_multiplier - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - var/datum/gas/corresponding = new trace_gas.type() - removed.trace_gases += corresponding - - corresponding.moles = (trace_gas.moles/sum)*amount - trace_gas.moles -= corresponding.moles/group_multiplier - - removed.temperature = temperature - update_values() - removed.update_values() - - return removed - -/datum/gas_mixture/proc/remove_ratio(ratio) - //Purpose: Removes a certain ratio of the air. - //Called by: ? - //Inputs: Percentage to remove. - //Outputs: Removed air. - - if(ratio <= 0) - return null - - ratio = min(ratio, 1) - - var/datum/gas_mixture/removed = new - - removed.oxygen = QUANTIZE(oxygen*ratio) - removed.nitrogen = QUANTIZE(nitrogen*ratio) - removed.carbon_dioxide = QUANTIZE(carbon_dioxide*ratio) - removed.toxins = QUANTIZE(toxins*ratio) - - oxygen -= removed.oxygen/group_multiplier - nitrogen -= removed.nitrogen/group_multiplier - carbon_dioxide -= removed.carbon_dioxide/group_multiplier - toxins -= removed.toxins/group_multiplier - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - var/datum/gas/corresponding = new trace_gas.type() - removed.trace_gases += corresponding - - corresponding.moles = trace_gas.moles*ratio - trace_gas.moles -= corresponding.moles/group_multiplier - - removed.temperature = temperature - update_values() - removed.update_values() - - return removed - -/datum/gas_mixture/proc/check_then_remove(amount) - //Purpose: Similar to remove(...) but first checks to see if the amount of air removed is small enough - // that group processing is still accurate for source (aborts if not) - //Called by: ? - //Inputs: Number of moles to remove - //Outputs: Removed air or 0 if it can remove air or not. - - amount = min(amount,total_moles()) //Can not take more air than tile has! - - if((amount > MINIMUM_AIR_RATIO_TO_SUSPEND) && (amount > total_moles()*MINIMUM_AIR_RATIO_TO_SUSPEND)) - return 0 - - return remove(amount) - -/datum/gas_mixture/proc/copy_from(datum/gas_mixture/sample) - //Purpose: Duplicates the sample air mixture. - //Called by: airgroups splitting, ? - //Inputs: Gas to copy - //Outputs: 1 - - oxygen = sample.oxygen - carbon_dioxide = sample.carbon_dioxide - nitrogen = sample.nitrogen - toxins = sample.toxins - total_moles = sample.total_moles() - - trace_gases.len=null - if(sample.trace_gases.len > 0) - for(var/datum/gas/trace_gas in sample.trace_gases) - var/datum/gas/corresponding = new trace_gas.type() - trace_gases += corresponding - - corresponding.moles = trace_gas.moles - - temperature = sample.temperature - - return 1 - -/datum/gas_mixture/proc/check_gas_mixture(datum/gas_mixture/sharer) - //Purpose: Telling if one or both airgroups needs to disable group processing. - //Called by: Airgroups sharing air, checking if group processing needs disabled. - //Inputs: Gas to compare from other airgroup - //Outputs: 0 if the self-check failed (local airgroup breaks?) - // then -1 if sharer-check failed (sharing airgroup breaks?) - // then 1 if both checks pass (share succesful?) - if(!istype(sharer)) - return - - var/delta_oxygen = QUANTIZE(oxygen_archived - sharer.oxygen_archived)/TRANSFER_FRACTION - var/delta_carbon_dioxide = QUANTIZE(carbon_dioxide_archived - sharer.carbon_dioxide_archived)/TRANSFER_FRACTION - var/delta_nitrogen = QUANTIZE(nitrogen_archived - sharer.nitrogen_archived)/TRANSFER_FRACTION - var/delta_toxins = QUANTIZE(toxins_archived - sharer.toxins_archived)/TRANSFER_FRACTION - - var/delta_temperature = (temperature_archived - sharer.temperature_archived) - - if(((abs(delta_oxygen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_oxygen) >= oxygen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_carbon_dioxide) >= carbon_dioxide_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_nitrogen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_nitrogen) >= nitrogen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_toxins) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_toxins) >= toxins_archived*MINIMUM_AIR_RATIO_TO_SUSPEND))) - return 0 - - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) - return 0 - - if(sharer.trace_gases.len) - for(var/datum/gas/trace_gas in sharer.trace_gases) - if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4) - var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases - if(corresponding) - if(trace_gas.moles_archived >= corresponding.moles_archived*MINIMUM_AIR_RATIO_TO_SUSPEND*4) - return 0 - else - return 0 - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4) - if(!locate(trace_gas.type) in sharer.trace_gases) - return 0 - - if(((abs(delta_oxygen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_oxygen) >= sharer.oxygen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_carbon_dioxide) >= sharer.carbon_dioxide_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_nitrogen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_nitrogen) >= sharer.nitrogen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_toxins) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_toxins) >= sharer.toxins_archived*MINIMUM_AIR_RATIO_TO_SUSPEND))) - return -1 - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4) - var/datum/gas/corresponding = locate(trace_gas.type) in sharer.trace_gases - if(corresponding) - if(trace_gas.moles_archived >= corresponding.moles_archived*MINIMUM_AIR_RATIO_TO_SUSPEND*4) - return -1 - else - return -1 - - return 1 - -/datum/gas_mixture/proc/check_turf(turf/model) - //Purpose: Used to compare the gases in an unsimulated turf with the gas in a simulated one. - //Called by: Sharing air (mimicing) with adjacent unsimulated turfs - //Inputs: Unsimulated turf - //Outputs: 1 if safe to mimic, 0 if needs to break airgroup. - - var/delta_oxygen = (oxygen_archived - model.oxygen)/TRANSFER_FRACTION - var/delta_carbon_dioxide = (carbon_dioxide_archived - model.carbon_dioxide)/TRANSFER_FRACTION - var/delta_nitrogen = (nitrogen_archived - model.nitrogen)/TRANSFER_FRACTION - var/delta_toxins = (toxins_archived - model.toxins)/TRANSFER_FRACTION - - var/delta_temperature = (temperature_archived - model.temperature) - - if(((abs(delta_oxygen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_oxygen) >= oxygen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_carbon_dioxide) >= carbon_dioxide_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_nitrogen) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_nitrogen) >= nitrogen_archived*MINIMUM_AIR_RATIO_TO_SUSPEND)) \ - || ((abs(delta_toxins) > MINIMUM_AIR_TO_SUSPEND) && (abs(delta_toxins) >= toxins_archived*MINIMUM_AIR_RATIO_TO_SUSPEND))) - return 0 - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) - return 0 - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND*4) - return 0 - - return 1 - -/datum/gas_mixture/proc/share(datum/gas_mixture/sharer) - //Purpose: Used to transfer gas from a more pressurised tile to a less presurised tile - // (Two directional, if the other tile is more pressurised, air travels to current tile) - //Called by: Sharing air with adjacent simulated turfs - //Inputs: Air datum to share with - //Outputs: Amount of gas exchanged (Negative if lost air, positive if gained.) - - - if(!istype(sharer)) - return - - var/delta_oxygen = QUANTIZE(oxygen_archived - sharer.oxygen_archived)/TRANSFER_FRACTION - var/delta_carbon_dioxide = QUANTIZE(carbon_dioxide_archived - sharer.carbon_dioxide_archived)/TRANSFER_FRACTION - var/delta_nitrogen = QUANTIZE(nitrogen_archived - sharer.nitrogen_archived)/TRANSFER_FRACTION - var/delta_toxins = QUANTIZE(toxins_archived - sharer.toxins_archived)/TRANSFER_FRACTION - - var/delta_temperature = (temperature_archived - sharer.temperature_archived) - - var/old_self_heat_capacity = 0 - var/old_sharer_heat_capacity = 0 - - var/heat_self_to_sharer = 0 - var/heat_capacity_self_to_sharer = 0 - var/heat_sharer_to_self = 0 - var/heat_capacity_sharer_to_self = 0 - - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - - var/delta_air = delta_oxygen+delta_nitrogen - if(delta_air) - var/air_heat_capacity = SPECIFIC_HEAT_AIR*delta_air - if(delta_air > 0) - heat_self_to_sharer += air_heat_capacity*temperature_archived - heat_capacity_self_to_sharer += air_heat_capacity - else - heat_sharer_to_self -= air_heat_capacity*sharer.temperature_archived - heat_capacity_sharer_to_self -= air_heat_capacity - - if(delta_carbon_dioxide) - var/carbon_dioxide_heat_capacity = SPECIFIC_HEAT_CDO*delta_carbon_dioxide - if(delta_carbon_dioxide > 0) - heat_self_to_sharer += carbon_dioxide_heat_capacity*temperature_archived - heat_capacity_self_to_sharer += carbon_dioxide_heat_capacity - else - heat_sharer_to_self -= carbon_dioxide_heat_capacity*sharer.temperature_archived - heat_capacity_sharer_to_self -= carbon_dioxide_heat_capacity - - if(delta_toxins) - var/toxins_heat_capacity = SPECIFIC_HEAT_TOXIN*delta_toxins - if(delta_toxins > 0) - heat_self_to_sharer += toxins_heat_capacity*temperature_archived - heat_capacity_self_to_sharer += toxins_heat_capacity - else - heat_sharer_to_self -= toxins_heat_capacity*sharer.temperature_archived - heat_capacity_sharer_to_self -= toxins_heat_capacity - - old_self_heat_capacity = heat_capacity()*group_multiplier - old_sharer_heat_capacity = sharer.heat_capacity()*sharer.group_multiplier - - oxygen -= delta_oxygen/group_multiplier - sharer.oxygen += delta_oxygen/sharer.group_multiplier - - carbon_dioxide -= delta_carbon_dioxide/group_multiplier - sharer.carbon_dioxide += delta_carbon_dioxide/sharer.group_multiplier - - nitrogen -= delta_nitrogen/group_multiplier - sharer.nitrogen += delta_nitrogen/sharer.group_multiplier - - toxins -= delta_toxins/group_multiplier - sharer.toxins += delta_toxins/sharer.group_multiplier - - var/moved_moles = (delta_oxygen + delta_carbon_dioxide + delta_nitrogen + delta_toxins) - - var/list/trace_types_considered = list() - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - - var/datum/gas/corresponding = locate(trace_gas.type) in sharer.trace_gases - var/delta = 0 - - if(corresponding) - delta = QUANTIZE(trace_gas.moles_archived - corresponding.moles_archived)/TRANSFER_FRACTION - else - corresponding = new trace_gas.type() - sharer.trace_gases += corresponding - - delta = trace_gas.moles_archived/TRANSFER_FRACTION - - trace_gas.moles -= delta/group_multiplier - corresponding.moles += delta/sharer.group_multiplier - - if(delta) - var/individual_heat_capacity = trace_gas.specific_heat*delta - if(delta > 0) - heat_self_to_sharer += individual_heat_capacity*temperature_archived - heat_capacity_self_to_sharer += individual_heat_capacity - else - heat_sharer_to_self -= individual_heat_capacity*sharer.temperature_archived - heat_capacity_sharer_to_self -= individual_heat_capacity - - moved_moles += delta - - trace_types_considered += trace_gas.type - - - if(sharer.trace_gases.len) - for(var/datum/gas/trace_gas in sharer.trace_gases) - if(trace_gas.type in trace_types_considered) continue - else - var/datum/gas/corresponding - var/delta = 0 - - corresponding = new trace_gas.type() - trace_gases += corresponding - - delta = trace_gas.moles_archived/TRANSFER_FRACTION - - trace_gas.moles -= delta/sharer.group_multiplier - corresponding.moles += delta/group_multiplier - - //Guaranteed transfer from sharer to self - var/individual_heat_capacity = trace_gas.specific_heat*delta - heat_sharer_to_self += individual_heat_capacity*sharer.temperature_archived - heat_capacity_sharer_to_self += individual_heat_capacity - - moved_moles += -delta - update_values() - sharer.update_values() - - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/new_self_heat_capacity = old_self_heat_capacity + heat_capacity_sharer_to_self - heat_capacity_self_to_sharer - var/new_sharer_heat_capacity = old_sharer_heat_capacity + heat_capacity_self_to_sharer - heat_capacity_sharer_to_self - - if(new_self_heat_capacity > MINIMUM_HEAT_CAPACITY) - temperature = (old_self_heat_capacity*temperature - heat_capacity_self_to_sharer*temperature_archived + heat_capacity_sharer_to_self*sharer.temperature_archived)/new_self_heat_capacity - - if(new_sharer_heat_capacity > MINIMUM_HEAT_CAPACITY) - sharer.temperature = (old_sharer_heat_capacity*sharer.temperature-heat_capacity_sharer_to_self*sharer.temperature_archived + heat_capacity_self_to_sharer*temperature_archived)/new_sharer_heat_capacity - - if(abs(old_sharer_heat_capacity) > MINIMUM_HEAT_CAPACITY) - if(abs(new_sharer_heat_capacity/old_sharer_heat_capacity - 1) < 0.10) // <10% change in sharer heat capacity - temperature_share(sharer, OPEN_HEAT_TRANSFER_COEFFICIENT) - - if((delta_temperature > MINIMUM_TEMPERATURE_TO_MOVE) || abs(moved_moles) > MINIMUM_MOLES_DELTA_TO_MOVE) - var/delta_pressure = temperature_archived*(total_moles() + moved_moles) - sharer.temperature_archived*(sharer.total_moles() - moved_moles) - return delta_pressure*R_IDEAL_GAS_EQUATION/volume - - else - return 0 - -/datum/gas_mixture/proc/mimic(turf/model, border_multiplier) - //Purpose: Used transfer gas from a more pressurised tile to a less presurised unsimulated tile. - //Called by: "sharing" from unsimulated to simulated turfs. - //Inputs: Unsimulated turf, Multiplier for gas transfer (optional) - //Outputs: Amount of gas exchanged - - var/delta_oxygen = QUANTIZE(oxygen_archived - model.oxygen)/TRANSFER_FRACTION - var/delta_carbon_dioxide = QUANTIZE(carbon_dioxide_archived - model.carbon_dioxide)/TRANSFER_FRACTION - var/delta_nitrogen = QUANTIZE(nitrogen_archived - model.nitrogen)/TRANSFER_FRACTION - var/delta_toxins = QUANTIZE(toxins_archived - model.toxins)/TRANSFER_FRACTION - - var/delta_temperature = (temperature_archived - model.temperature) - - var/heat_transferred = 0 - var/old_self_heat_capacity = 0 - var/heat_capacity_transferred = 0 - - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - - var/delta_air = delta_oxygen+delta_nitrogen - if(delta_air) - var/air_heat_capacity = SPECIFIC_HEAT_AIR*delta_air - heat_transferred -= air_heat_capacity*model.temperature - heat_capacity_transferred -= air_heat_capacity - - if(delta_carbon_dioxide) - var/carbon_dioxide_heat_capacity = SPECIFIC_HEAT_CDO*delta_carbon_dioxide - heat_transferred -= carbon_dioxide_heat_capacity*model.temperature - heat_capacity_transferred -= carbon_dioxide_heat_capacity - - if(delta_toxins) - var/toxins_heat_capacity = SPECIFIC_HEAT_TOXIN*delta_toxins - heat_transferred -= toxins_heat_capacity*model.temperature - heat_capacity_transferred -= toxins_heat_capacity - - old_self_heat_capacity = heat_capacity()*group_multiplier - - if(border_multiplier) - oxygen -= delta_oxygen*border_multiplier/group_multiplier - carbon_dioxide -= delta_carbon_dioxide*border_multiplier/group_multiplier - nitrogen -= delta_nitrogen*border_multiplier/group_multiplier - toxins -= delta_toxins*border_multiplier/group_multiplier - else - oxygen -= delta_oxygen/group_multiplier - carbon_dioxide -= delta_carbon_dioxide/group_multiplier - nitrogen -= delta_nitrogen/group_multiplier - toxins -= delta_toxins/group_multiplier - - var/moved_moles = (delta_oxygen + delta_carbon_dioxide + delta_nitrogen + delta_toxins) - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - var/delta = 0 - - delta = trace_gas.moles_archived/TRANSFER_FRACTION - - if(border_multiplier) - trace_gas.moles -= delta*border_multiplier/group_multiplier - else - trace_gas.moles -= delta/group_multiplier - - var/heat_cap_transferred = delta*trace_gas.specific_heat - heat_transferred += heat_cap_transferred*temperature_archived - heat_capacity_transferred += heat_cap_transferred - moved_moles += delta - update_values() - - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/new_self_heat_capacity = old_self_heat_capacity - heat_capacity_transferred - if(new_self_heat_capacity > MINIMUM_HEAT_CAPACITY) - if(border_multiplier) - temperature = (old_self_heat_capacity*temperature - heat_capacity_transferred*border_multiplier*temperature_archived)/new_self_heat_capacity - else - temperature = (old_self_heat_capacity*temperature - heat_capacity_transferred*border_multiplier*temperature_archived)/new_self_heat_capacity - - temperature_mimic(model, model.thermal_conductivity, border_multiplier) - - if((delta_temperature > MINIMUM_TEMPERATURE_TO_MOVE) || abs(moved_moles) > MINIMUM_MOLES_DELTA_TO_MOVE) - var/delta_pressure = temperature_archived*(total_moles() + moved_moles) - model.temperature*(model.oxygen+model.carbon_dioxide+model.nitrogen+model.toxins) - return delta_pressure*R_IDEAL_GAS_EQUATION/volume - else - return 0 - -/datum/gas_mixture/proc/check_both_then_temperature_share(datum/gas_mixture/sharer, conduction_coefficient) - var/delta_temperature = (temperature_archived - sharer.temperature_archived) - - var/self_heat_capacity = heat_capacity_archived() - var/sharer_heat_capacity = sharer.heat_capacity_archived() - - var/self_temperature_delta = 0 - var/sharer_temperature_delta = 0 - - if((sharer_heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY)) - var/heat = conduction_coefficient*delta_temperature* \ - (self_heat_capacity*sharer_heat_capacity/(self_heat_capacity+sharer_heat_capacity)) - - self_temperature_delta = -heat/(self_heat_capacity*group_multiplier) - sharer_temperature_delta = heat/(sharer_heat_capacity*sharer.group_multiplier) - else - return 1 - - if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \ - && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived)) - return 0 - - if((abs(sharer_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \ - && (abs(sharer_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*sharer.temperature_archived)) - return -1 - - temperature += self_temperature_delta - sharer.temperature += sharer_temperature_delta - - return 1 - //Logic integrated from: temperature_share(sharer, conduction_coefficient) for efficiency - -/datum/gas_mixture/proc/check_me_then_temperature_share(datum/gas_mixture/sharer, conduction_coefficient) - var/delta_temperature = (temperature_archived - sharer.temperature_archived) - - var/self_heat_capacity = heat_capacity_archived() - var/sharer_heat_capacity = sharer.heat_capacity_archived() - - var/self_temperature_delta = 0 - var/sharer_temperature_delta = 0 - - if((sharer_heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY)) - var/heat = conduction_coefficient*delta_temperature* \ - (self_heat_capacity*sharer_heat_capacity/(self_heat_capacity+sharer_heat_capacity)) - - self_temperature_delta = -heat/(self_heat_capacity*group_multiplier) - sharer_temperature_delta = heat/(sharer_heat_capacity*sharer.group_multiplier) - else - return 1 - - if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \ - && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived)) - return 0 - - temperature += self_temperature_delta - sharer.temperature += sharer_temperature_delta - - return 1 - //Logic integrated from: temperature_share(sharer, conduction_coefficient) for efficiency - -/datum/gas_mixture/proc/check_me_then_temperature_turf_share(turf/simulated/sharer, conduction_coefficient) - var/delta_temperature = (temperature_archived - sharer.temperature) - - var/self_temperature_delta = 0 - var/sharer_temperature_delta = 0 - - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/self_heat_capacity = heat_capacity_archived() - - if((sharer.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY)) - var/heat = conduction_coefficient*delta_temperature* \ - (self_heat_capacity*sharer.heat_capacity/(self_heat_capacity+sharer.heat_capacity)) - - self_temperature_delta = -heat/(self_heat_capacity*group_multiplier) - sharer_temperature_delta = heat/sharer.heat_capacity - else - return 1 - - if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \ - && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived)) - return 0 - - temperature += self_temperature_delta - sharer.temperature += sharer_temperature_delta - - return 1 - //Logic integrated from: temperature_turf_share(sharer, conduction_coefficient) for efficiency - -/datum/gas_mixture/proc/check_me_then_temperature_mimic(turf/model, conduction_coefficient) - var/delta_temperature = (temperature_archived - model.temperature) - var/self_temperature_delta = 0 - - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/self_heat_capacity = heat_capacity_archived() - - if((model.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY)) - var/heat = conduction_coefficient*delta_temperature* \ - (self_heat_capacity*model.heat_capacity/(self_heat_capacity+model.heat_capacity)) - - self_temperature_delta = -heat/(self_heat_capacity*group_multiplier) - - if((abs(self_temperature_delta) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) \ - && (abs(self_temperature_delta) > MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND*temperature_archived)) - return 0 - - temperature += self_temperature_delta - - return 1 - //Logic integrated from: temperature_mimic(model, conduction_coefficient) for efficiency - -/datum/gas_mixture/proc/temperature_share(datum/gas_mixture/sharer, conduction_coefficient) - var/delta_temperature = (temperature_archived - sharer.temperature_archived) - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/self_heat_capacity = heat_capacity_archived() - var/sharer_heat_capacity = sharer.heat_capacity_archived() - if(!group_multiplier) - message_admins("Error! The gas mixture (ref \ref[src]) has no group multiplier!") - return - - if((sharer_heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY)) - var/heat = conduction_coefficient*delta_temperature* \ - (self_heat_capacity*sharer_heat_capacity/(self_heat_capacity+sharer_heat_capacity)) - - temperature -= heat/(self_heat_capacity*group_multiplier) - sharer.temperature += heat/(sharer_heat_capacity*sharer.group_multiplier) - -/datum/gas_mixture/proc/temperature_mimic(turf/model, conduction_coefficient, border_multiplier) - var/delta_temperature = (temperature - model.temperature) - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/self_heat_capacity = heat_capacity()//_archived() - if(!group_multiplier) - message_admins("Error! The gas mixture (ref \ref[src]) has no group multiplier!") - return - - if((model.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY)) - var/heat = conduction_coefficient*delta_temperature* \ - (self_heat_capacity*model.heat_capacity/(self_heat_capacity+model.heat_capacity)) - - if(border_multiplier) - temperature -= heat*border_multiplier/(self_heat_capacity*group_multiplier) - else - temperature -= heat/(self_heat_capacity*group_multiplier) - -/datum/gas_mixture/proc/temperature_turf_share(turf/simulated/sharer, conduction_coefficient) - var/delta_temperature = (temperature_archived - sharer.temperature) - if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER) - var/self_heat_capacity = heat_capacity() - - if((sharer.heat_capacity > MINIMUM_HEAT_CAPACITY) && (self_heat_capacity > MINIMUM_HEAT_CAPACITY)) - var/heat = conduction_coefficient*delta_temperature* \ - (self_heat_capacity*sharer.heat_capacity/(self_heat_capacity+sharer.heat_capacity)) - - temperature -= heat/(self_heat_capacity*group_multiplier) - sharer.temperature += heat/sharer.heat_capacity - -/datum/gas_mixture/proc/compare(datum/gas_mixture/sample) - //Purpose: Compares sample to self to see if within acceptable ranges that group processing may be enabled - //Called by: Airgroups trying to rebuild - //Inputs: Gas mix to compare - //Outputs: 1 if can rebuild, 0 if not. - if(!sample) return 0 - - if((abs(oxygen-sample.oxygen) > MINIMUM_AIR_TO_SUSPEND) && \ - ((oxygen < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.oxygen) || (oxygen > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.oxygen))) - return 0 - if((abs(nitrogen-sample.nitrogen) > MINIMUM_AIR_TO_SUSPEND) && \ - ((nitrogen < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.nitrogen) || (nitrogen > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.nitrogen))) - return 0 - if((abs(carbon_dioxide-sample.carbon_dioxide) > MINIMUM_AIR_TO_SUSPEND) && \ - ((carbon_dioxide < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.carbon_dioxide) || (oxygen > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.carbon_dioxide))) - return 0 - if((abs(toxins-sample.toxins) > MINIMUM_AIR_TO_SUSPEND) && \ - ((toxins < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.toxins) || (toxins > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*sample.toxins))) - return 0 - - if(total_moles() > MINIMUM_AIR_TO_SUSPEND) - if((abs(temperature-sample.temperature) > MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND) && \ - ((temperature < (1-MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND)*sample.temperature) || (temperature > (1+MINIMUM_TEMPERATURE_RATIO_TO_SUSPEND)*sample.temperature))) - //world << "temp fail [temperature] & [sample.temperature]" - return 0 - - if(sample.trace_gases.len) - for(var/datum/gas/trace_gas in sample.trace_gases) - if(trace_gas.moles_archived > MINIMUM_AIR_TO_SUSPEND) - var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases - if(corresponding) - if((abs(trace_gas.moles - corresponding.moles) > MINIMUM_AIR_TO_SUSPEND) && \ - ((corresponding.moles < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*trace_gas.moles) || (corresponding.moles > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*trace_gas.moles))) - return 0 - else - return 0 - - if(trace_gases.len) - for(var/datum/gas/trace_gas in trace_gases) - if(trace_gas.moles > MINIMUM_AIR_TO_SUSPEND) - var/datum/gas/corresponding = locate(trace_gas.type) in sample.trace_gases - if(corresponding) - if((abs(trace_gas.moles - corresponding.moles) > MINIMUM_AIR_TO_SUSPEND) && \ - ((trace_gas.moles < (1-MINIMUM_AIR_RATIO_TO_SUSPEND)*corresponding.moles) || (trace_gas.moles > (1+MINIMUM_AIR_RATIO_TO_SUSPEND)*corresponding.moles))) - return 0 - else - return 0 - return 1 - -/datum/gas_mixture/proc/subtract(datum/gas_mixture/right_side) - //Purpose: Subtracts right_side from air_mixture. Used to help turfs mingle - //Called by: Pipelines ending in a break (or something) - //Inputs: Gas mix to remove - //Outputs: 1 - - oxygen -= right_side.oxygen - carbon_dioxide -= right_side.carbon_dioxide - nitrogen -= right_side.nitrogen - toxins -= right_side.toxins - - if((trace_gases.len > 0)||(right_side.trace_gases.len > 0)) - for(var/datum/gas/trace_gas in right_side.trace_gases) - var/datum/gas/corresponding = locate(trace_gas.type) in trace_gases - if(!corresponding) - corresponding = new trace_gas.type() - trace_gases += corresponding - - corresponding.moles -= trace_gas.moles - update_values() - return 1 \ No newline at end of file diff --git a/code/ZAS - vg/FEA_system.dm b/code/ZAS - vg/FEA_system.dm deleted file mode 100644 index c2a33ad99db..00000000000 --- a/code/ZAS - vg/FEA_system.dm +++ /dev/null @@ -1,221 +0,0 @@ -/* -Overview: - The air_master global variable is the workhorse for the system. - -Why are you archiving data before modifying it? - The general concept with archiving data and having each tile keep track of when they were last updated is to keep everything symmetric - and totally independent of the order they are read in an update cycle. - This prevents abnormalities like air/fire spreading rapidly in one direction and super slowly in the other. - -Why not just archive everything and then calculate? - Efficiency. While a for-loop that goes through all tils and groups to archive their information before doing any calculations seems simple, it is - slightly less efficient than the archive-before-modify/read method. - -Why is there a cycle check for calculating data as well? - This ensures that every connection between group-tile, tile-tile, and group-group is only evaluated once per loop. - - - - -Important variables: - air_master.groups_to_rebuild (list) - A list of air groups that have had their geometry occluded and thus may need to be split in half. - A set of adjacent groups put in here will join together if validly connected. - This is done before air system calculations for a cycle. - air_master.tiles_to_update (list) - Turfs that are in this list have their border data updated before the next air calculations for a cycle. - Place turfs in this list rather than call the proc directly to prevent race conditions - - turf/simulated.archive() and datum/air_group.archive() - This stores all data for. - If you modify, make sure to update the archived_cycle to prevent race conditions and maintain symmetry - - atom/CanPass(atom/movable/mover, turf/target, height, air_group) - returns 1 for allow pass and 0 for deny pass - Turfs automatically call this for all objects/mobs in its turf. - This is called both as source.CanPass(target, height, air_group) - and target.CanPass(source, height, air_group) - - Cases for the parameters - 1. This is called with args (mover, location, height>0, air_group=0) for normal objects. - 2. This is called with args (null, location, height=0, air_group=0) for flowing air. - 3. This is called with args (null, location, height=?, air_group=1) for determining group boundaries. - - Cases 2 and 3 would be different for doors or other objects open and close fairly often. - (Case 3 would return 0 always while Case 2 would return 0 only when the door is open) - This prevents the necessity of re-evaluating group geometry every time a door opens/closes. - - -Important Procedures - air_master.process() - This first processes the air_master update/rebuild lists then processes all groups and tiles for air calculations - - -*/ - -var/kill_air = 0 -var/tick_multiplier = 2 - -atom/proc/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0) - //Purpose: Determines if the object (or airflow) can pass this atom. - //Called by: Movement, airflow. - //Inputs: The moving atom (optional), target turf, "height" and air group - //Outputs: Boolean if can pass. - - return (!density || !height || air_group) - -/turf/CanPass(atom/movable/mover, turf/target, height=1.5,air_group=0) - if(!target) return 0 - - if(istype(mover)) // turf/Enter(...) will perform more advanced checks - return !density - - else // Now, doing more detailed checks for air movement and air group formation - if(target.blocks_air||blocks_air) - return 0 - - for(var/obj/obstacle in src) - if(!obstacle.CanPass(mover, target, height, air_group)) - return 0 - if(target != src) - for(var/obj/obstacle in target) - if(!obstacle.CanPass(mover, src, height, air_group)) - return 0 - - return 1 - - -var/datum/controller/air_system/air_master - -/datum/controller/air_system/ - //Geoemetry lists - var/list/turfs_with_connections = list() - var/list/active_hotspots = list() - - //Special functions lists - var/list/tiles_to_reconsider_zones = list() - - //Geometry updates lists - var/list/tiles_to_update = list() - var/list/connections_to_check = list() - - var/current_cycle = 0 - var/update_delay = 5 //How long between check should it try to process atmos again. - var/failed_ticks = 0 //How many ticks have runtimed? - - var/tick_progress = 0 - - -/* process() - //Call this to process air movements for a cycle - - process_rebuild_select_groups() - //Used by process() - //Warning: Do not call this - - rebuild_group(datum/air_group) - //Used by process_rebuild_select_groups() - //Warning: Do not call this, add the group to air_master.groups_to_rebuild instead - */ - - -/datum/controller/air_system/proc/setup() - //Purpose: Call this at the start to setup air groups geometry - // (Warning: Very processor intensive but only must be done once per round) - //Called by: Gameticker/Master controller - //Inputs: None. - //Outputs: None. - - set background = 1 - world << "\red \b Processing Geometry..." - sleep(-1) - - var/start_time = world.timeofday - - var/simulated_turf_count = 0 - - for(var/turf/simulated/S in world) - simulated_turf_count++ - if(!S.zone && !S.blocks_air) - if(S.CanPass(null, S, 0, 0)) - new/zone(S) - - for(var/turf/simulated/S in world) - S.update_air_properties() - - world << {"Geometry initialized in [round(0.1*(world.timeofday-start_time),0.1)] seconds. -Total Simulated Turfs: [simulated_turf_count] -Total Zones: [zones.len] -Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_count]"} - /* - spawn start() - -/datum/controller/air_system/proc/start() - //Purpose: This is kicked off by the master controller, and controls the processing of all atmosphere. - //Called by: Master controller - //Inputs: None. - //Outputs: None. - - - set background = 1 - - while(1) - if(!kill_air) - current_cycle++ - var/success = tick() //Changed so that a runtime does not crash the ticker. - if(!success) //Runtimed. - failed_ticks++ - if(failed_ticks > 20) - world << "ERROR IN ATMOS TICKER. Killing air simulation!" - kill_air = 1 - sleep(max(5,update_delay*tick_multiplier)) - */ - -/datum/controller/air_system/proc/tick() - . = 1 //Set the default return value, for runtime detection. - - tick_progress = "update_air_properties" - if(tiles_to_update.len) //If there are tiles to update, do so. - for(var/turf/simulated/T in tiles_to_update) - if(. && T && !T.update_air_properties()) - . = 0 //If a runtime occured, make sure we can sense it. - //message_admins("ZASALERT: Unable run turf/simualted/update_air_properties()") - if(.) - tiles_to_update = list() - - //Check sanity on connection objects. - if(.) - tick_progress = "connections_to_check" - if(connections_to_check.len) - for(var/connection/C in connections_to_check) - C.CheckPassSanity() - connections_to_check = list() - - //Ensure tiles still have zones. - if(.) - tick_progress = "tiles_to_reconsider_zones" - if(tiles_to_reconsider_zones.len) - for(var/turf/simulated/T in tiles_to_reconsider_zones) - if(!T.zone) - new /zone(T) - tiles_to_reconsider_zones = list() - - //Process zones. - if(.) - tick_progress = "zone/process()" - for(var/zone/Z in zones) - if(Z.last_update < current_cycle) - var/output = Z.process() - if(Z) - Z.last_update = current_cycle - if(. && Z && !output) - . = 0 - //Process fires. - if(.) - tick_progress = "active_hotspots (fire)" - for(var/obj/fire/F in active_hotspots) - if(. && F && !F.process()) - . = 0 - - if(.) - tick_progress = "success" \ No newline at end of file diff --git a/code/ZAS - vg/Fire.dm b/code/ZAS - vg/Fire.dm deleted file mode 100644 index 6909ccd213d..00000000000 --- a/code/ZAS - vg/Fire.dm +++ /dev/null @@ -1,363 +0,0 @@ -/* - -Making Bombs with ZAS: -Make burny fire with lots of burning -Draw off 5000K gas from burny fire -Separate gas into oxygen and plasma components -Obtain plasma and oxygen tanks filled up about 50-75% with normal-temp gas -Fill rest with super hot gas from separated canisters, they should be about 125C now. -Attach to transfer valve and open. BOOM. - -*/ - - -//Some legacy definitions so fires can be started. -atom/proc/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) - return null - - -turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) - - -turf/simulated/hotspot_expose(exposed_temperature, exposed_volume, soh) - if(fire_protection > world.time-300) - return 0 - if(locate(/obj/fire) in src) - return 1 - var/datum/gas_mixture/air_contents = return_air() - if(!air_contents || exposed_temperature < PLASMA_MINIMUM_BURN_TEMPERATURE) - return 0 - - var/igniting = 0 - var/obj/effect/decal/cleanable/liquid_fuel/liquid = locate() in src - - if(air_contents.check_combustability(liquid)) - igniting = 1 - - if(! (locate(/obj/fire) in src)) - - new /obj/fire(src,1000) - - //active_hotspot.just_spawned = (current_cycle < air_master.current_cycle) - //remove just_spawned protection if no longer processing this cell - - return igniting - -/obj/fire - //Icon for fire on turfs. - - anchored = 1 - mouse_opacity = 0 - - //luminosity = 3 - - icon = 'icons/effects/fire.dmi' - icon_state = "1" - - layer = TURF_LAYER - - var/firelevel = 10000 //Calculated by gas_mixture.calculate_firelevel() - -/obj/fire/process() - . = 1 - - //get location and check if it is in a proper ZAS zone - var/turf/simulated/S = loc - - if(!istype(S)) - del src - - if(!S.zone) - del src - - var/datum/gas_mixture/air_contents = S.return_air() - //get liquid fuels on the ground. - var/obj/effect/decal/cleanable/liquid_fuel/liquid = locate() in S - //and the volatile stuff from the air - var/datum/gas/volatile_fuel/fuel = locate() in air_contents.trace_gases - - //since the air is processed in fractions, we need to make sure not to have any minuscle residue or - //the amount of moles might get to low for some functions to catch them and thus result in wonky behaviour - if(air_contents.oxygen < 0.001) - air_contents.oxygen = 0 - if(air_contents.toxins < 0.001) - air_contents.toxins = 0 - if(fuel) - if(fuel.moles < 0.001) - air_contents.trace_gases.Remove(fuel) - - //check if there is something to combust - if(!air_contents.check_recombustability(liquid)) - //del src - RemoveFire() - - //get a firelevel and set the icon - firelevel = air_contents.calculate_firelevel(liquid) - - if(firelevel > 6) - icon_state = "3" - SetLuminosity(7) - else if(firelevel > 2.5) - icon_state = "2" - SetLuminosity(5) - else - icon_state = "1" - SetLuminosity(3) - - //im not sure how to implement a version that works for every creature so for now monkeys are firesafe - for(var/mob/living/carbon/human/M in loc) - M.FireBurn(firelevel, air_contents.temperature, air_contents.return_pressure() ) //Burn the humans! - for(var/atom/A in loc) - A.fire_act(air_contents, air_contents.temperature, air_contents.return_volume()) - //spread - for(var/direction in cardinal) - if(S.air_check_directions&direction) //Grab all valid bordering tiles - - var/turf/simulated/enemy_tile = get_step(S, direction) - - if(istype(enemy_tile)) - var/datum/gas_mixture/acs = enemy_tile.return_air() - var/obj/effect/decal/cleanable/liquid_fuel/liq = locate() in enemy_tile - if(!acs) continue - if(!acs.check_recombustability(liq)) continue - //If extinguisher mist passed over the turf it's trying to spread to, don't spread and - //reduce firelevel. - if(enemy_tile.fire_protection > world.time-30) - firelevel -= 1.5 - continue - - //Spread the fire. - if(!(locate(/obj/fire) in enemy_tile)) - if( prob( 50 + 50 * (firelevel/zas_settings.Get(/datum/ZAS_Setting/fire_firelevel_multiplier)) ) && S.CanPass(null, enemy_tile, 0,0) && enemy_tile.CanPass(null, S, 0,0)) - new/obj/fire(enemy_tile,firelevel) - - //seperate part of the present gas - //this is done to prevent the fire burning all gases in a single pass - var/datum/gas_mixture/flow = air_contents.remove_ratio(zas_settings.Get(/datum/ZAS_Setting/fire_consumption_rate)) -///////////////////////////////// FLOW HAS BEEN CREATED /// DONT DELETE THE FIRE UNTIL IT IS MERGED BACK OR YOU WILL DELETE AIR /////////////////////////////////////////////// - - if(flow) - - if(flow.check_recombustability(liquid)) - //Ensure flow temperature is higher than minimum fire temperatures. - //this creates some energy ex nihilo but is necessary to get a fire started - //lets just pretend this energy comes from the ignition source and dont mention this again - //flow.temperature = max(PLASMA_MINIMUM_BURN_TEMPERATURE+0.1,flow.temperature) - - //burn baby burn! - - flow.zburn(liquid,1) - //merge the air back - S.assume_air(flow) - -///////////////////////////////// FLOW HAS BEEN REMERGED /// feel free to delete the fire again from here on ////////////////////////////////////////////////////////////////// - - -/obj/fire/New(newLoc,fl) - ..() - - if(!istype(loc, /turf)) - del src - - dir = pick(cardinal) - SetLuminosity(3) - firelevel = fl - air_master.active_hotspots.Add(src) - - -/obj/fire/Del() - if (istype(loc, /turf/simulated)) - SetLuminosity(0) - - loc = null - air_master.active_hotspots.Remove(src) - - ..() - -/obj/fire/proc/RemoveFire() - if (istype(loc, /turf/simulated)) - SetLuminosity(0) - loc = null - air_master.active_hotspots.Remove(src) - - - -turf/simulated/var/fire_protection = 0 //Protects newly extinguished tiles from being overrun again. -turf/proc/apply_fire_protection() -turf/simulated/apply_fire_protection() - fire_protection = world.time - - -datum/gas_mixture/proc/zburn(obj/effect/decal/cleanable/liquid_fuel/liquid, force_burn) - var/value = 0 - - if((temperature > PLASMA_MINIMUM_BURN_TEMPERATURE || force_burn) && check_recombustability(liquid)) - var/total_fuel = 0 - var/datum/gas/volatile_fuel/fuel = locate() in trace_gases - - total_fuel += toxins - - if(fuel) - //Volatile Fuel - total_fuel += fuel.moles - - if(liquid) - //Liquid Fuel - if(liquid.amount <= 0) - del liquid - else - total_fuel += liquid.amount - - //Calculate the firelevel. - var/firelevel = calculate_firelevel(liquid) - - //get the current inner energy of the gas mix - //this must be taken here to prevent the addition or deletion of energy by a changing heat capacity - var/starting_energy = temperature * heat_capacity() - - //determine the amount of oxygen used - var/total_oxygen = min(oxygen, 2 * total_fuel) - - //determine the amount of fuel actually used - var/used_fuel_ratio = min(oxygen / 2 , total_fuel) / total_fuel - total_fuel = total_fuel * used_fuel_ratio - - var/total_reactants = total_fuel + total_oxygen - - //determine the amount of reactants actually reacting - var/used_reactants_ratio = min( max(total_reactants * firelevel / zas_settings.Get(/datum/ZAS_Setting/fire_firelevel_multiplier), 0.2), total_reactants) / total_reactants - - //remove and add gasses as calculated - oxygen -= min(oxygen, total_oxygen * used_reactants_ratio ) - - toxins -= min(toxins, (toxins * used_fuel_ratio * used_reactants_ratio ) * 3) - if(toxins < 0) - toxins = 0 - - carbon_dioxide += max(2 * total_fuel, 0) - - if(fuel) - fuel.moles -= (fuel.moles * used_fuel_ratio * used_reactants_ratio) * 5 //Fuel burns 5 times as quick - if(fuel.moles <= 0) del fuel - - if(liquid) - liquid.amount -= (liquid.amount * used_fuel_ratio * used_reactants_ratio) * 5 // liquid fuel burns 5 times as quick - - if(liquid.amount <= 0) del liquid - - //calculate the energy produced by the reaction and then set the new temperature of the mix - temperature = (starting_energy + zas_settings.Get(/datum/ZAS_Setting/fire_fuel_energy_release) * total_fuel) / heat_capacity() - - update_values() - value = total_reactants * used_reactants_ratio - return value - -datum/gas_mixture/proc/check_recombustability(obj/effect/decal/cleanable/liquid_fuel/liquid) - //this is a copy proc to continue a fire after its been started. - - var/datum/gas/volatile_fuel/fuel = locate() in trace_gases - var/value = 0 - - if(oxygen && (toxins || fuel || liquid)) - if(liquid) - value = 1 - else if (toxins && !value) - value = 1 - else if(fuel && !value) - value = 1 - - return value - -datum/gas_mixture/proc/check_combustability(obj/effect/decal/cleanable/liquid_fuel/liquid) - //this check comes up very often and is thus centralized here to ease adding stuff - - var/datum/gas/volatile_fuel/fuel = locate() in trace_gases - var/value = 0 - - if(oxygen && (toxins || fuel || liquid)) - if(liquid) - value = 1 - else if (toxins >= 0.7 && !value) - value = 1 - else if(fuel && !value) - if(fuel.moles >= 1.4) - value = 1 - - return value - -datum/gas_mixture/proc/calculate_firelevel(obj/effect/decal/cleanable/liquid_fuel/liquid) - //Calculates the firelevel based on one equation instead of having to do this multiple times in different areas. - - var/datum/gas/volatile_fuel/fuel = locate() in trace_gases - var/total_fuel = 0 - var/firelevel = 0 - - if(check_recombustability(liquid)) - - total_fuel += toxins - - if(liquid) - total_fuel += liquid.amount - - if(fuel) - total_fuel += fuel.moles - - var/total_combustables = (total_fuel + oxygen) - - if(total_fuel > 0 && oxygen > 0) - - //slows down the burning when the concentration of the reactants is low - var/dampening_multiplier = total_combustables / (total_combustables + nitrogen + carbon_dioxide) - //calculates how close the mixture of the reactants is to the optimum - var/mix_multiplier = 1 / (1 + (5 * ((oxygen / total_combustables) ^2))) - //toss everything together - firelevel = zas_settings.Get(/datum/ZAS_Setting/fire_firelevel_multiplier) * mix_multiplier * dampening_multiplier - - return max( 0, firelevel) - - -/mob/living/carbon/human/proc/FireBurn(var/firelevel, var/last_temperature, var/pressure) -// mostly using the old proc from Sky until I can think of something better - //Burns mobs due to fire. Respects heat transfer coefficients on various body parts. - //Due to TG reworking how fireprotection works, this is kinda less meaningful. - - var - head_exposure = 1 - chest_exposure = 1 - groin_exposure = 1 - legs_exposure = 1 - arms_exposure = 1 - - //determine the multiplier - //minimize this for low-pressure enviroments - var/mx = 5 * firelevel/zas_settings.Get(/datum/ZAS_Setting/fire_firelevel_multiplier) * min(pressure / ONE_ATMOSPHERE, 1) - - //Get heat transfer coefficients for clothing. - //skytodo: kill anyone who breaks things then orders me to fix them - for(var/obj/item/clothing/C in src) - if(l_hand == C || r_hand == C) - continue - - if( C.max_heat_protection_temperature >= last_temperature ) - if(C.body_parts_covered & HEAD) - head_exposure = 0 - if(C.body_parts_covered & UPPER_TORSO) - chest_exposure = 0 - if(C.body_parts_covered & LOWER_TORSO) - groin_exposure = 0 - if(C.body_parts_covered & LEGS) - legs_exposure = 0 - if(C.body_parts_covered & ARMS) - arms_exposure = 0 - - //Always check these damage procs first if fire damage isn't working. They're probably what's wrong. - - apply_damage(2.5*mx*head_exposure, BURN, "head", 0, 0, "Fire") - apply_damage(2.5*mx*chest_exposure, BURN, "chest", 0, 0, "Fire") - apply_damage(2.0*mx*groin_exposure, BURN, "groin", 0, 0, "Fire") - apply_damage(0.6*mx*legs_exposure, BURN, "l_leg", 0, 0, "Fire") - apply_damage(0.6*mx*legs_exposure, BURN, "r_leg", 0, 0, "Fire") - apply_damage(0.4*mx*arms_exposure, BURN, "l_arm", 0, 0, "Fire") - apply_damage(0.4*mx*arms_exposure, BURN, "r_arm", 0, 0, "Fire") - - //flash_pain() diff --git a/code/ZAS - vg/Functions.dm b/code/ZAS - vg/Functions.dm deleted file mode 100644 index ce24513418e..00000000000 --- a/code/ZAS - vg/Functions.dm +++ /dev/null @@ -1,171 +0,0 @@ -//Global Functions -//Contents: FloodFill, ZMerge, ZConnect - -//Floods outward from an initial turf to fill everywhere it's zone would reach. -proc/FloodFill(turf/simulated/start) - - if(!istype(start)) - return list() - - //The list of tiles waiting to be evaulated. - var/list/open = list(start) - //The list of tiles which have been evaulated. - var/list/closed = list() - - //Loop through the turfs in the open list in order to find which adjacent turfs should be added to the zone. - while(open.len) - var/turf/simulated/T = pick(open) - - //sanity! - if(!istype(T)) - open -= T - continue - - //Check all cardinal directions - for(var/d in cardinal) - var/turf/simulated/O = get_step(T,d) - - //Ensure the turf is of proper type, that it is not in either list, and that air can reach it. - if(istype(O) && !(O in open) && !(O in closed) && O.ZCanPass(T)) - - //Handle connections from a tile with a door. - if(T.HasDoor()) - //If they both have doors, then they are not able to connect period. - if(O.HasDoor()) - continue - - //Connect first to north and west - if(d == NORTH || d == WEST) - open += O - - //If that fails, and north/west cannot be connected to, see if west or south can be connected instead. - else - var/turf/simulated/W = get_step(O, WEST) - var/turf/simulated/N = get_step(O, NORTH) - - if( !O.ZCanPass(N) && !O.ZCanPass(W) ) - //If it cannot connect either to the north or west, connect it! - open += O - - //If no doors are involved, add it immediately. - else if(!O.HasDoor()) - open += O - - //Handle connecting to a tile with a door. - else - if(d == SOUTH || d == EAST) - //doors prefer connecting to zones to the north or west - closed += O - - else - //see if we need to force an attempted connection - //(there are no potentially viable zones to the north/west of the door) - var/turf/simulated/W = get_step(O, WEST) - var/turf/simulated/N = get_step(O, NORTH) - - if( !O.ZCanPass(N) && !O.ZCanPass(W) ) - //If it cannot connect either to the north or west, connect it! - closed += O - - //This tile is now evaluated, and can be moved to the list of evaluated tiles. - open -= T - closed += T - - return closed - - -//Procedure to merge two zones together. -proc/ZMerge(zone/A,zone/B) - - //Sanity~ - if(!istype(A) || !istype(B)) - return - - var/new_contents = A.contents + B.contents - - //Set all the zone vars. - for(var/turf/simulated/T in B.contents) - T.zone = A - - if(istype(A.air) && istype(B.air)) - //Merges two zones so that they are one. - var/a_size = A.air.group_multiplier - var/b_size = B.air.group_multiplier - var/c_size = a_size + b_size - - //Set air multipliers to one so air represents gas per tile. - A.air.group_multiplier = 1 - B.air.group_multiplier = 1 - - //Remove some air proportional to the size of this zone. - A.air.remove_ratio(a_size/c_size) - B.air.remove_ratio(b_size/c_size) - - //Merge the gases and set the multiplier to the sum of the old ones. - A.air.merge(B.air) - A.air.group_multiplier = c_size - - //I hate when the air datum somehow disappears. - // Try to make it sorta work anyways. Fakit - else if(istype(B.air)) - A.air = B.air - A.air.group_multiplier = A.contents.len - - else if(istype(A.air)) - A.air.group_multiplier = A.contents.len - - //Doublefakit. - else - A.air = new - - //Check for connections to merge into the new zone. - for(var/connection/C in B.connections) - //The Cleanup proc will delete the connection if the zones are the same. - // It will also set the zone variables correctly. - C.Cleanup() - - //Add space tiles. - if(A.unsimulated_tiles && B.unsimulated_tiles) - A.unsimulated_tiles |= B.unsimulated_tiles - else if (B.unsimulated_tiles) - A.unsimulated_tiles = B.unsimulated_tiles - - //Add contents. - A.contents = new_contents - - //Remove the "B" zone, finally. - B.SoftDelete() - - -//Connects two zones by forming a connection object representing turfs A and B. -proc/ZConnect(turf/simulated/A,turf/simulated/B) - - //Make sure that if it's space, it gets added to unsimulated_tiles instead. - if(!istype(B)) - if(A.zone) - A.zone.AddTurf(B) - return - if(!istype(A)) - if(B.zone) - B.zone.AddTurf(A) - return - - if(!istype(A) || !istype(B)) - return - - //Make some preliminary checks to see if the connection is valid. - if(!A.zone || !B.zone) return - if(A.zone == B.zone) return - - if(A.CanPass(null,B,0,1)) - return ZMerge(A.zone,B.zone) - - //Ensure the connection isn't already made. - if("\ref[A]" in air_master.turfs_with_connections) - for(var/connection/C in air_master.turfs_with_connections["\ref[A]"]) - C.Cleanup() - if(C && (C.B == B || C.A == B)) - return - - //Make the connection. - new /connection(A,B) diff --git a/code/ZAS - vg/NewSettings.dm b/code/ZAS - vg/NewSettings.dm deleted file mode 100644 index 2f189bd0315..00000000000 --- a/code/ZAS - vg/NewSettings.dm +++ /dev/null @@ -1,517 +0,0 @@ -/* -ZAS Settings System 2.0 - -Okay, so VariableSettings is a mess of spaghetticode and - is about as flexible as a grandmother covered in - starch. - -This is an attempt to fix that by using getters and - setters instead of stupidity. It's a little more difficult - to code with, but dammit, it's better than hackery. - -NOTE: plc was merged into the main settings. We can set up - visual groups later. - -HOW2GET: - zas_setting.Get(/datum/ZAS_Setting/herp) - -HOW2SET: - zas_setting.Set(/datum/ZAS_Setting/herp, "dsfargeg") -*/ - -var/global/ZAS_Settings/zas_settings = new - -#define ZAS_TYPE_UNDEFINED -1 -#define ZAS_TYPE_BOOLEAN 0 -#define ZAS_TYPE_NUMERIC 1 - -/** -* ZAS Setting Datum -* -* Stores a single setting. -* @author N3X15 -* @package SS13 -* @subpackage ZAS -*/ -/datum/ZAS_Setting/ - var/name="Clown" // Friendly name. - var/desc="Honk" - var/value=null - var/valtype=ZAS_TYPE_UNDEFINED - -/datum/ZAS_Setting/fire_consumption_rate - name = "Fire - Air Consumption Ratio" - desc = "Ratio of air removed and combusted per tick." - valtype=ZAS_TYPE_NUMERIC - value = 0.75 - -/datum/ZAS_Setting/fire_firelevel_multiplier - value = 25 - name = "Fire - Firelevel Constant" - desc = "Multiplied by the equation for firelevel, affects mainly the extingiushing of fires." - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/fire_fuel_energy_release - value = 550000 - name = "Fire - Fuel energy release" - desc = "The energy in joule released when burning one mol of a burnable substance" - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/airflow_lightest_pressure - value = 20 - name = "Airflow - Small Movement Threshold %" - desc = "Percent of 1 Atm. at which items with the small weight classes will move." - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/airflow_light_pressure - value = 35 - name = "Airflow - Medium Movement Threshold %" - desc = "Percent of 1 Atm. at which items with the medium weight classes will move." - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/airflow_medium_pressure - value = 50 - name = "Airflow - Heavy Movement Threshold %" - desc = "Percent of 1 Atm. at which items with the largest weight classes will move." - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/airflow_heavy_pressure - value = 65 - name = "Airflow - Mob Movement Threshold %" - desc = "Percent of 1 Atm. at which mobs will move." - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/airflow_dense_pressure - value = 85 - name = "Airflow - Dense Movement Threshold %" - desc = "Percent of 1 Atm. at which items with canisters and closets will move." - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/airflow_stun_pressure - value = 60 - name = "Airflow - Mob Stunning Threshold %" - desc = "Percent of 1 Atm. at which mobs will be stunned by airflow." - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/airflow_stun_cooldown - value = 60 - name = "Aiflow Stunning - Cooldown" - desc = "How long, in tenths of a second, to wait before stunning them again." - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/airflow_stun - value = 1 - name = "Airflow Impact - Stunning" - desc = "How much a mob is stunned when hit by an object." - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/airflow_damage - value = 2 - name = "Airflow Impact - Damage" - desc = "Damage from airflow impacts." - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/airflow_speed_decay - value = 1.5 - name = "Airflow Speed Decay" - desc = "How rapidly the speed gained from airflow decays." - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/airflow_delay - value = 30 - name = "Airflow Retrigger Delay" - desc = "Time in deciseconds before things can be moved by airflow again." - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/airflow_mob_slowdown - value = 1 - name = "Airflow Slowdown" - desc = "Time in tenths of a second to add as a delay to each movement by a mob if they are fighting the pull of the airflow." - valtype=ZAS_TYPE_NUMERIC - -// N3X15 - Added back in so we can tweak performance. -/datum/ZAS_Setting/airflow_push - name="Airflow - Push" - value = 0 - desc="1=yes please rape my server, 0=no" - valtype=ZAS_TYPE_BOOLEAN - -/datum/ZAS_Setting/connection_insulation - value = 0.4 - name = "Connections - Insulation" - desc = "How insulative a connection is, in terms of heat transfer. 1 is perfectly insulative, and 0 is perfectly conductive." - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/connection_temperature_delta - value = 10 - name = "Connections - Temperature Difference" - desc = "The smallest temperature difference which will cause heat to travel through doors." - valtype=ZAS_TYPE_NUMERIC - -// N3X15 - Ice is disabled by default, per Pomf's request. -/datum/ZAS_Setting/ice_formation - name="Airflow - Enable Ice Formation" - value = 1 - desc="1=yes, 0=no - Slippin' and slidin' when pressure > 10kPa and temperature < 273K" - valtype=ZAS_TYPE_BOOLEAN - -/datum/ZAS_Setting/space_isnt_cold - name="Airflow - Disable Cold Space" - value = 0 // Pomf requested - desc="1=yes, 0=no - Disables space behaving as being very fucking cold (0K)." - valtype=ZAS_TYPE_BOOLEAN - - -/////////////////////////////////////// -// PLASMA SHIT -/////////////////////////////////////// -// ALL CAPS BECAUSE PLASMA IS HARDCORE YO -// And I'm too lazy to fix the refs. - -/datum/ZAS_Setting/PLASMA_DMG - name = "Plasma Damage Amount" - desc = "Self Descriptive" - value = 3 - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/CLOTH_CONTAMINATION - name = "Cloth Contamination" - desc = "If this is on, plasma does damage by getting into cloth." - value = 1 - valtype=ZAS_TYPE_BOOLEAN - -/datum/ZAS_Setting/PLASMAGUARD_ONLY - name = "PlasmaGuard Only" - desc = "If this is on, only biosuits and spacesuits protect against contamination and ill effects." - value = 0 - valtype=ZAS_TYPE_BOOLEAN - -/datum/ZAS_Setting/GENETIC_CORRUPTION - name = "Genetic Corruption Chance" - desc = "Chance of genetic corruption as well as toxic damage, X in 10,000." - value = 0 - valtype=ZAS_TYPE_BOOLEAN - -/datum/ZAS_Setting/SKIN_BURNS - name = "Skin Burns" - desc = "Plasma has an effect similar to mustard gas on the un-suited." - value = 0 - valtype=ZAS_TYPE_BOOLEAN - -/datum/ZAS_Setting/EYE_BURNS - name = "Eye Burns" - desc = "Plasma burns the eyes of anyone not wearing eye protection." - value = 1 - valtype=ZAS_TYPE_BOOLEAN - -/datum/ZAS_Setting/CONTAMINATION_LOSS - name = "Contamination Loss" - desc = "How much toxin damage is dealt from contaminated clothing" - value = 0.02 //Per tick? ASK ARYN - valtype=ZAS_TYPE_NUMERIC - -/datum/ZAS_Setting/PLASMA_HALLUCINATION - name = "Plasma Hallucination" - desc = "Does being in plasma cause you to hallucinate?" - value = 0 - valtype=ZAS_TYPE_BOOLEAN - -/datum/ZAS_Setting/N2O_HALLUCINATION - name = "N2O Hallucination" - desc = "Does being in sleeping gas cause you to hallucinate?" - value = 1 - valtype=ZAS_TYPE_BOOLEAN - -/** -* ZAS Settings -* -* Stores our settings for ZAS in an editable form. -* @author N3X15 -* @package SS13 -* @subpackage ZAS -*/ -/ZAS_Settings - // INTERNAL USE ONLY - var/list/datum/ZAS_Setting/settings = list() - -/ZAS_Settings/New() - .=..() - for(var/S in typesof(/datum/ZAS_Setting) - /datum/ZAS_Setting) - var/id=idfrompath("[S]") - //testing("Creating zas_settings\[[id]\] = new [S]") - src.settings[id]=new S - - - if(fexists("config/ZAS.txt") == 0) - Save() - Load() - -/ZAS_Settings/proc/Save() - var/F = file("config/ZAS.txt") - fdel(F) - for(var/id in src.settings) - var/datum/ZAS_Setting/setting = src.settings[id] - F << "# [setting.name]" - F << "# [setting.desc]" - F << "[id] [setting.value]" - F << "" - -/ZAS_Settings/proc/Load() - for(var/t in file2list("config/ZAS.txt")) - if(!t) continue - - t = trim(t) - if (length(t) == 0) - continue - else if (copytext(t, 1, 2) == "#") - continue - - var/pos = findtext(t, " ") - var/name = null - var/value = null - - if (pos) - name = copytext(t, 1, pos) - value = copytext(t, pos + 1) - else - name = t - - if (!name) - continue - - src.SetFromConfig(name,value) - -// INTERNAL USE ONLY -/ZAS_Settings/proc/idfrompath(var/str) - return replacetext(str,"/datum/ZAS_Setting/","") - -// INTERNAL USE ONLY -/ZAS_Settings/proc/ChangeSetting(var/user,var/id) - var/datum/ZAS_Setting/setting = src.settings[id] - var/displayedValue="" - switch(setting.valtype) - if(ZAS_TYPE_NUMERIC) - setting.value = input(user,"Enter a number:","Settings",setting.value) as num - displayedValue="\"[setting.value]\"" - /* - if(ZAS_TYPE_BITFLAG) - var/flag = input(user,"Toggle which bit?","Settings") in bitflags - flag = text2num(flag) - if(newvar & flag) - newvar &= ~flag - else - newvar |= flag - */ - if(ZAS_TYPE_BOOLEAN) - setting.value = !setting.value - displayedValue = (setting.value) ? "ON" : "OFF" - /* - if(ZAS_TYPE_STRING) - setting.value = input(user,"Enter text:","Settings",newvar) as message - */ - else - error("[id] has an invalid typeval.") - return - world << "\blue [key_name(user)] changed ZAS setting [setting.name] to [displayedValue]." - - ChangeSettingsDialog(user) - -/** -* Set the value of a setting. -* -* Recommended to use the actual type of the setting rather than the ID, since -* this will allow for the compiler to check the validity of id. Kinda. -* -* @param id Either the typepath of the desired setting, or the string ID of the setting. -* @param value The value that the setting should be set to. -*/ -/ZAS_Settings/proc/Set(var/id, var/value) - var/datum/ZAS_Setting/setting = src.settings[idfrompath(id)] - setting.value=value - -// INTERNAL USE ONLY -/ZAS_Settings/proc/SetFromConfig(var/id, var/value) - var/datum/ZAS_Setting/setting = src.settings[id] - switch(setting.valtype) - if(ZAS_TYPE_NUMERIC) - setting.value = text2num(value) - /* - if(ZAS_TYPE_BITFLAG) - var/flag = input(user,"Toggle which bit?","Settings") in bitflags - flag = text2num(flag) - if(newvar & flag) - newvar &= ~flag - else - newvar |= flag - */ - if(ZAS_TYPE_BOOLEAN) - setting.value = (value == "1") - /* - if(ZAS_TYPE_STRING) - setting.value = input(user,"Enter text:","Settings",newvar) as message - */ - -/** -* Get a setting. -* -* Recommended to use the actual type of the setting rather than the ID, since -* this will allow for the compiler to check the validity of id. Kinda. -* -* @param id Either the typepath of the desired setting, or the string ID of the setting. -* @returns Value of the desired setting -*/ -/ZAS_Settings/proc/Get(var/id) - if(ispath(id)) - id="[id]" - var/datum/ZAS_Setting/setting = src.settings[idfrompath(id)] - if(!setting || !istype(setting)) - world.log << "ZAS_SETTING DEBUG: [id] | [idfrompath(id)]" - return setting.value - -/ZAS_Settings/proc/ChangeSettingsDialog(mob/user) - var/dat = {" - - - ZAS Settings 2.0 - - - -

      ZAS Configuration

      -

      Save Settings | Load Settings

      -

      Please note that changing these settings can and probably will result in death, destruction and mayhem. Change at your own risk.

      -
      "} - for(var/id in src.settings) - var/datum/ZAS_Setting/s = src.settings[id] - - // AUTOFIXED BY fix_string_idiocy.py - // C:\Users\Rob\Documents\Projects\vgstation13\code\ZAS\NewSettings.dm:393: dat += "
      [s.name] = [s.value] \[Change\]
      " - dat += {"
      [s.name] = [s.value] \[Change\]
      -
      [s.desc]
      "} - // END AUTOFIX - dat += "
      " - user << browse(dat,"window=settings") - -/ZAS_Settings/Topic(href,href_list) - if("changevar" in href_list) - ChangeSetting(usr,href_list["changevar"]) - if("save" in href_list) - var/sure = input(usr,"Are you sure? This will overwrite your ZAS configuration!","Overwrite ZAS.txt?", "No") in list("Yes","No") - if(sure=="Yes") - Save() - message_admins("[key_name(usr)] saved ZAS settings to disk.") - if("load" in href_list) - var/sure = input(usr,"Are you sure?","Reload ZAS.txt?", "No") in list("Yes","No") - if(sure=="Yes") - Load() - message_admins("[key_name(usr)] reloaded ZAS settings from disk.") - -/ZAS_Settings/proc/SetDefault(var/mob/user) - var/list/setting_choices = list("Plasma - Standard", "Plasma - Low Hazard", "Plasma - High Hazard", "Plasma - Oh Shit!", "ZAS - Normal", "ZAS - Forgiving", "ZAS - Dangerous", "ZAS - Hellish") - var/def = input(user, "Which of these presets should be used?") as null|anything in setting_choices - if(!def) - return - switch(def) - if("Plasma - Standard") - Set("CLOTH_CONTAMINATION", 1) //If this is on, plasma does damage by getting into cloth. - Set("PLASMAGUARD_ONLY", 0) - Set("GENETIC_CORRUPTION", 0) //Chance of genetic corruption as well as toxic damage, X in 1000. - Set("SKIN_BURNS", 0) //Plasma has an effect similar to mustard gas on the un-suited. - Set("EYE_BURNS", 1) //Plasma burns the eyes of anyone not wearing eye protection. - Set("PLASMA_HALLUCINATION", 0) - Set("CONTAMINATION_LOSS", 0.02) - - if("Plasma - Low Hazard") - Set("CLOTH_CONTAMINATION", 0) //If this is on, plasma does damage by getting into cloth. - Set("PLASMAGUARD_ONLY", 0) - Set("GENETIC_CORRUPTION", 0) //Chance of genetic corruption as well as toxic damage, X in 1000 - Set("SKIN_BURNS", 0) //Plasma has an effect similar to mustard gas on the un-suited. - Set("EYE_BURNS", 1) //Plasma burns the eyes of anyone not wearing eye protection. - Set("PLASMA_HALLUCINATION", 0) - Set("CONTAMINATION_LOSS", 0.01) - - if("Plasma - High Hazard") - Set("CLOTH_CONTAMINATION", 1) //If this is on, plasma does damage by getting into cloth. - Set("PLASMAGUARD_ONLY", 0) - Set("GENETIC_CORRUPTION", 0) //Chance of genetic corruption as well as toxic damage, X in 1000. - Set("SKIN_BURNS", 1) //Plasma has an effect similar to mustard gas on the un-suited. - Set("EYE_BURNS", 1) //Plasma burns the eyes of anyone not wearing eye protection. - Set("PLASMA_HALLUCINATION", 1) - Set("CONTAMINATION_LOSS", 0.05) - - if("Plasma - Oh Shit!") - Set("CLOTH_CONTAMINATION", 1) //If this is on, plasma does damage by getting into cloth. - Set("PLASMAGUARD_ONLY", 1) - Set("GENETIC_CORRUPTION", 5) //Chance of genetic corruption as well as toxic damage, X in 1000. - Set("SKIN_BURNS", 1) //Plasma has an effect similar to mustard gas on the un-suited. - Set("EYE_BURNS", 1) //Plasma burns the eyes of anyone not wearing eye protection. - Set("PLASMA_HALLUCINATION", 1) - Set("CONTAMINATION_LOSS", 0.075) - - if("ZAS - Normal") - Set("airflow_push", 0) - Set("airflow_lightest_pressure", 20) - Set("airflow_light_pressure", 35) - Set("airflow_medium_pressure", 50) - Set("airflow_heavy_pressure", 65) - Set("airflow_dense_pressure", 85) - Set("airflow_stun_pressure", 60) - Set("airflow_stun_cooldown", 60) - Set("airflow_stun", 1) - Set("airflow_damage", 2) - Set("airflow_speed_decay", 1.5) - Set("airflow_delay", 30) - Set("airflow_mob_slowdown", 1) - - if("ZAS - Forgiving") - Set("airflow_push", 0) - Set("airflow_lightest_pressure", 45) - Set("airflow_light_pressure", 60) - Set("airflow_medium_pressure", 120) - Set("airflow_heavy_pressure", 110) - Set("airflow_dense_pressure", 200) - Set("airflow_stun_pressure", 150) - Set("airflow_stun_cooldown", 90) - Set("airflow_stun", 0.15) - Set("airflow_damage", 0.15) - Set("airflow_speed_decay", 1.5) - Set("airflow_delay", 50) - Set("airflow_mob_slowdown", 0) - - if("ZAS - Dangerous") - Set("airflow_push", 1) - Set("airflow_lightest_pressure", 15) - Set("airflow_light_pressure", 30) - Set("airflow_medium_pressure", 45) - Set("airflow_heavy_pressure", 55) - Set("airflow_dense_pressure", 70) - Set("airflow_stun_pressure", 50) - Set("airflow_stun_cooldown", 50) - Set("airflow_stun", 2) - Set("airflow_damage", 3) - Set("airflow_speed_decay", 1.2) - Set("airflow_delay", 25) - Set("airflow_mob_slowdown", 2) - - if("ZAS - Hellish") - Set("airflow_push", 1) - Set("airflow_lightest_pressure", 20) - Set("airflow_light_pressure", 30) - Set("airflow_medium_pressure", 40) - Set("airflow_heavy_pressure", 50) - Set("airflow_dense_pressure", 60) - Set("airflow_stun_pressure", 40) - Set("airflow_stun_cooldown", 40) - Set("airflow_stun", 3) - Set("airflow_damage", 4) - Set("airflow_speed_decay", 1) - Set("airflow_delay", 20) - Set("airflow_mob_slowdown", 3) - world << "\blue [key_name(usr)] loaded ZAS preset [def]" \ No newline at end of file diff --git a/code/ZAS - vg/Plasma.dm b/code/ZAS - vg/Plasma.dm deleted file mode 100644 index 5936f3843b0..00000000000 --- a/code/ZAS - vg/Plasma.dm +++ /dev/null @@ -1,125 +0,0 @@ -var/image/contamination_overlay = image('icons/effects/contamination.dmi') - -obj/var/contaminated = 0 - - -/obj/item/proc/can_contaminate() - //Clothing and backpacks can be contaminated. - if(flags & PLASMAGUARD) return 0 - else if(istype(src,/obj/item/weapon/storage/backpack)) return 0 //Cannot be washed :( - else if(istype(src,/obj/item/clothing)) return 1 - -/obj/item/proc/contaminate() - //Do a contamination overlay? Temporary measure to keep contamination less deadly than it was. - if(!contaminated) - contaminated = 1 - overlays += contamination_overlay - -/obj/item/proc/decontaminate() - contaminated = 0 - overlays -= contamination_overlay - -/mob/proc/contaminate() - -/mob/living/carbon/human/contaminate() - //See if anything can be contaminated. - - if(!pl_suit_protected()) - suit_contamination() - - if(!pl_head_protected()) - if(prob(1)) suit_contamination() //Plasma can sometimes get through such an open suit. - -//Cannot wash backpacks currently. -// if(istype(back,/obj/item/weapon/storage/backpack)) -// back.contaminate() - -/mob/proc/pl_effects() - -/mob/living/carbon/human/pl_effects() - //Handles all the bad things plasma can do. - - //Contamination - if(zas_settings.Get(/datum/ZAS_Setting/CLOTH_CONTAMINATION)) contaminate() - - //Anything else requires them to not be dead. - if(stat >= 2) - return - - //Burn skin if exposed. - if(zas_settings.Get(/datum/ZAS_Setting/SKIN_BURNS)) - if(!pl_head_protected() || !pl_suit_protected()) - burn_skin(0.75) - if(prob(20)) src << "\red Your skin burns!" - updatehealth() - - //Burn eyes if exposed. - if(zas_settings.Get(/datum/ZAS_Setting/EYE_BURNS)) - if(!head) - if(!wear_mask) - burn_eyes() - else - if(!(wear_mask.flags & MASKCOVERSEYES)) - burn_eyes() - else - if(!(head.flags & HEADCOVERSEYES)) - if(!wear_mask) - burn_eyes() - else - if(!(wear_mask.flags & MASKCOVERSEYES)) - burn_eyes() - - //Genetic Corruption - if(zas_settings.Get(/datum/ZAS_Setting/GENETIC_CORRUPTION)) - if(rand(1,10000) < zas_settings.Get(/datum/ZAS_Setting/GENETIC_CORRUPTION)) - randmutb(src) - src << "\red High levels of toxins cause you to spontaneously mutate." - domutcheck(src,null) - - -/mob/living/carbon/human/proc/burn_eyes() - //The proc that handles eye burning. - if(prob(20)) src << "\red Your eyes burn!" - eye_stat += 2.5 - eye_blurry = min(eye_blurry+1.5,50) - if (prob(max(0,eye_stat - 20) + 1) &&!eye_blind) - src << "\red You are blinded!" - eye_blind += 20 - eye_stat = 0 - -/mob/living/carbon/human/proc/pl_head_protected() - //Checks if the head is adequately sealed. - if(head) - if(zas_settings.Get(/datum/ZAS_Setting/PLASMAGUARD_ONLY)) - if(head.flags & PLASMAGUARD) - return 1 - else if(head.flags & HEADCOVERSEYES) - return 1 - return 0 - -/mob/living/carbon/human/proc/pl_suit_protected() - //Checks if the suit is adequately sealed. - if(wear_suit) - if(zas_settings.Get(/datum/ZAS_Setting/PLASMAGUARD_ONLY)) - if(wear_suit.flags & PLASMAGUARD) return 1 - else - if(wear_suit.flags_inv & HIDEJUMPSUIT) return 1 - return 0 - -/mob/living/carbon/human/proc/suit_contamination() - //Runs over the things that can be contaminated and does so. - if(w_uniform) w_uniform.contaminate() - if(shoes) shoes.contaminate() - if(gloves) gloves.contaminate() - - -turf/Entered(obj/item/I) - . = ..() - //Items that are in plasma, but not on a mob, can still be contaminated. - if(istype(I) && zas_settings.Get(/datum/ZAS_Setting/CLOTH_CONTAMINATION)) - var/datum/gas_mixture/env = return_air(1) - if(!env) - return - if(env.toxins > MOLES_PLASMA_VISIBLE + 1) - if(I.can_contaminate()) - I.contaminate() \ No newline at end of file diff --git a/code/ZAS - vg/Variable Settings.dm b/code/ZAS - vg/Variable Settings.dm deleted file mode 100644 index 09501ffc78a..00000000000 --- a/code/ZAS - vg/Variable Settings.dm +++ /dev/null @@ -1,340 +0,0 @@ -var/global/vs_control/vsc = new - -// Whoever made this fucking thing: I hate you so much. -vs_control/var - // N3X15 - Added back in so we can tweak performance. - airflow_push = 0 - airflow_push_NAME="Airflow - Push shit around" - airflow_push_DESC="1=yes please rape my server, 0=no" - airflow_push_METHOD="Toggle" // See ChangeSettings(). I'd rather not let people break this. - - fire_consuption_rate = 0.75 - fire_consuption_rate_NAME = "Fire - Air Consumption Ratio" - fire_consuption_rate_DESC = "Ratio of air removed and combusted per tick." - - fire_firelevel_multiplier = 25 - fire_firelevel_multiplier_NAME = "Fire - Firelevel Constant" - fire_firelevel_multiplier_DESC = "Multiplied by the equation for firelevel, affects mainly the extingiushing of fires." - - fire_fuel_energy_release = 550000 - fire_fuel_energy_release_NAME = "Fire - Fuel energy release" - fire_fuel_energy_release_DESC = "The energy in joule released when burning one mol of a burnable substance" - - - airflow_lightest_pressure = 20 - airflow_lightest_pressure_NAME = "Airflow - Small Movement Threshold %" - airflow_lightest_pressure_DESC = "Percent of 1 Atm. at which items with the small weight classes will move." - - airflow_light_pressure = 35 - airflow_light_pressure_NAME = "Airflow - Medium Movement Threshold %" - airflow_light_pressure_DESC = "Percent of 1 Atm. at which items with the medium weight classes will move." - - airflow_medium_pressure = 50 - airflow_medium_pressure_NAME = "Airflow - Heavy Movement Threshold %" - airflow_medium_pressure_DESC = "Percent of 1 Atm. at which items with the largest weight classes will move." - - airflow_heavy_pressure = 65 - airflow_heavy_pressure_NAME = "Airflow - Mob Movement Threshold %" - airflow_heavy_pressure_DESC = "Percent of 1 Atm. at which mobs will move." - - airflow_dense_pressure = 85 - airflow_dense_pressure_NAME = "Airflow - Dense Movement Threshold %" - airflow_dense_pressure_DESC = "Percent of 1 Atm. at which items with canisters and closets will move." - - airflow_stun_pressure = 60 - airflow_stun_pressure_NAME = "Airflow - Mob Stunning Threshold %" - airflow_stun_pressure_DESC = "Percent of 1 Atm. at which mobs will be stunned by airflow." - - airflow_stun_cooldown = 60 - airflow_stun_cooldown_NAME = "Aiflow Stunning - Cooldown" - airflow_stun_cooldown_DESC = "How long, in tenths of a second, to wait before stunning them again." - - airflow_stun = 1 - airflow_stun_NAME = "Airflow Impact - Stunning" - airflow_stun_DESC = "How much a mob is stunned when hit by an object." - - airflow_damage = 2 - airflow_damage_NAME = "Airflow Impact - Damage" - airflow_damage_DESC = "Damage from airflow impacts." - - airflow_speed_decay = 1.5 - airflow_speed_decay_NAME = "Airflow Speed Decay" - airflow_speed_decay_DESC = "How rapidly the speed gained from airflow decays." - - airflow_delay = 30 - airflow_delay_NAME = "Airflow Retrigger Delay" - airflow_delay_DESC = "Time in deciseconds before things can be moved by airflow again." - - airflow_mob_slowdown = 1 - airflow_mob_slowdown_NAME = "Airflow Slowdown" - airflow_mob_slowdown_DESC = "Time in tenths of a second to add as a delay to each movement by a mob if they are fighting the pull of the airflow." - - var/connection_insulation = 0.4 - var/connection_insulation_NAME = "Connections - Insulation" - var/connection_insulation_DESC = "How insulative a connection is, in terms of heat transfer. 1 is perfectly insulative, and 0 is perfectly conductive." - - var/connection_temperature_delta = 10 - var/connection_temperature_delta_NAME = "Connections - Temperature Difference" - var/connection_temperature_delta_DESC = "The smallest temperature difference which will cause heat to travel through doors." - -vs_control - var - list/settings = list() - list/bitflags = list("1","2","4","8","16","32","64","128","256","512","1024") // Oh jesus why. Learn to shift bits, you idiots. - pl_control/plc = new() - - New() - . = ..() - settings = vars.Copy() - - var/datum/D = new() //Ensure only unique vars are put through by making a datum and removing all common vars. - for(var/V in D.vars) - settings -= V - - for(var/V in settings) - if(findtextEx(V,"_RANDOM") || findtextEx(V,"_DESC") || findtextEx(V,"_METHOD")) - settings -= V - - settings -= "settings" - settings -= "bitflags" - settings -= "plc" - - proc/ChangeSettingsDialog(mob/user,list/L) - //var/which = input(user,"Choose a setting:") in L - var/dat = "" - for(var/ch in L) - if(findtextEx(ch,"_RANDOM") || findtextEx(ch,"_DESC") || findtextEx(ch,"_METHOD") || findtextEx(ch,"_NAME")) continue - var/vw - var/vw_desc = "No Description." - var/vw_name = ch - if(ch in plc.settings) - vw = plc.vars[ch] - if("[ch]_DESC" in plc.vars) vw_desc = plc.vars["[ch]_DESC"] - if("[ch]_NAME" in plc.vars) vw_name = plc.vars["[ch]_NAME"] - else - vw = vars[ch] - if("[ch]_DESC" in vars) vw_desc = vars["[ch]_DESC"] - if("[ch]_NAME" in vars) vw_name = vars["[ch]_NAME"] - dat += "[vw_name] = [vw] \[Change\]
      " - dat += "[vw_desc]

      " - user << browse(dat,"window=settings") - Topic(href,href_list) - if("changevar" in href_list) - ChangeSetting(usr,href_list["changevar"]) - proc/ChangeSetting(mob/user,ch) - var/vw - var/how = "Text" - var/display_description = ch - if(ch in plc.settings) - vw = plc.vars[ch] - if("[ch]_NAME" in plc.vars) - display_description = plc.vars["[ch]_NAME"] - if("[ch]_METHOD" in plc.vars) - how = plc.vars["[ch]_METHOD"] - else - if(isnum(vw)) - how = "Numeric" - else - how = "Text" - else - vw = vars[ch] - if("[ch]_NAME" in vars) - display_description = vars["[ch]_NAME"] - if("[ch]_METHOD" in vars) - how = vars["[ch]_METHOD"] - else - if(isnum(vw)) - how = "Numeric" - else - how = "Text" - var/newvar = vw - switch(how) - if("Numeric") - newvar = input(user,"Enter a number:","Settings",newvar) as num - if("Bit Flag") - var/flag = input(user,"Toggle which bit?","Settings") in bitflags - flag = text2num(flag) - if(newvar & flag) - newvar &= ~flag - else - newvar |= flag - if("Toggle") - newvar = !newvar - if("Text") - newvar = input(user,"Enter a string:","Settings",newvar) as text - if("Long Text") - newvar = input(user,"Enter text:","Settings",newvar) as message - vw = newvar - if(ch in plc.settings) - plc.vars[ch] = vw - else - vars[ch] = vw - if(how == "Toggle") - newvar = (newvar?"ON":"OFF") - world << "\blue [key_name(user)] changed the setting [display_description] to [newvar]." - if(ch in plc.settings) - ChangeSettingsDialog(user,plc.settings) - else - ChangeSettingsDialog(user,settings) - proc/RandomizeWithProbability() - for(var/V in settings) - var/newvalue - if("[V]_RANDOM" in vars) - if(isnum(vars["[V]_RANDOM"])) - newvalue = prob(vars["[V]_RANDOM"]) - else if(istext(vars["[V]_RANDOM"])) - newvalue = roll(vars["[V]_RANDOM"]) - else - newvalue = vars[V] - V = newvalue - - proc/ChangePlasma() - for(var/V in plc.settings) - plc.Randomize(V) - - proc/SetDefault(var/mob/user) - var/list/setting_choices = list("Plasma - Standard", "Plasma - Low Hazard", "Plasma - High Hazard", "Plasma - Oh Shit!",\ - "ZAS - Normal", "ZAS - Forgiving", "ZAS - Dangerous", "ZAS - Hellish") - var/def = input(user, "Which of these presets should be used?") as null|anything in setting_choices - if(!def) - return - switch(def) - if("Plasma - Standard") - plc.CLOTH_CONTAMINATION = 1 //If this is on, plasma does damage by getting into cloth. - plc.PLASMAGUARD_ONLY = 0 - plc.GENETIC_CORRUPTION = 0 //Chance of genetic corruption as well as toxic damage, X in 1000. - plc.SKIN_BURNS = 0 //Plasma has an effect similar to mustard gas on the un-suited. - plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection. - plc.PLASMA_HALLUCINATION = 0 - plc.CONTAMINATION_LOSS = 0.02 - - if("Plasma - Low Hazard") - plc.CLOTH_CONTAMINATION = 0 //If this is on, plasma does damage by getting into cloth. - plc.PLASMAGUARD_ONLY = 0 - plc.GENETIC_CORRUPTION = 0 //Chance of genetic corruption as well as toxic damage, X in 1000 - plc.SKIN_BURNS = 0 //Plasma has an effect similar to mustard gas on the un-suited. - plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection. - plc.PLASMA_HALLUCINATION = 0 - plc.CONTAMINATION_LOSS = 0.01 - - if("Plasma - High Hazard") - plc.CLOTH_CONTAMINATION = 1 //If this is on, plasma does damage by getting into cloth. - plc.PLASMAGUARD_ONLY = 0 - plc.GENETIC_CORRUPTION = 0 //Chance of genetic corruption as well as toxic damage, X in 1000. - plc.SKIN_BURNS = 1 //Plasma has an effect similar to mustard gas on the un-suited. - plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection. - plc.PLASMA_HALLUCINATION = 1 - plc.CONTAMINATION_LOSS = 0.05 - - if("Plasma - Oh Shit!") - plc.CLOTH_CONTAMINATION = 1 //If this is on, plasma does damage by getting into cloth. - plc.PLASMAGUARD_ONLY = 1 - plc.GENETIC_CORRUPTION = 5 //Chance of genetic corruption as well as toxic damage, X in 1000. - plc.SKIN_BURNS = 1 //Plasma has an effect similar to mustard gas on the un-suited. - plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection. - plc.PLASMA_HALLUCINATION = 1 - plc.CONTAMINATION_LOSS = 0.075 - - if("ZAS - Normal") - airflow_push=0 - airflow_lightest_pressure = 20 - airflow_light_pressure = 35 - airflow_medium_pressure = 50 - airflow_heavy_pressure = 65 - airflow_dense_pressure = 85 - airflow_stun_pressure = 60 - airflow_stun_cooldown = 60 - airflow_stun = 1 - airflow_damage = 2 - airflow_speed_decay = 1.5 - airflow_delay = 30 - airflow_mob_slowdown = 1 - - if("ZAS - Forgiving") - airflow_push=0 - airflow_lightest_pressure = 45 - airflow_light_pressure = 60 - airflow_medium_pressure = 120 - airflow_heavy_pressure = 110 - airflow_dense_pressure = 200 - airflow_stun_pressure = 150 - airflow_stun_cooldown = 90 - airflow_stun = 0.15 - airflow_damage = 0.15 - airflow_speed_decay = 1.5 - airflow_delay = 50 - airflow_mob_slowdown = 0 - - if("ZAS - Dangerous") - airflow_push=1 - airflow_lightest_pressure = 15 - airflow_light_pressure = 30 - airflow_medium_pressure = 45 - airflow_heavy_pressure = 55 - airflow_dense_pressure = 70 - airflow_stun_pressure = 50 - airflow_stun_cooldown = 50 - airflow_stun = 2 - airflow_damage = 3 - airflow_speed_decay = 1.2 - airflow_delay = 25 - airflow_mob_slowdown = 2 - - if("ZAS - Hellish") - airflow_push=1 - airflow_lightest_pressure = 20 - airflow_light_pressure = 30 - airflow_medium_pressure = 40 - airflow_heavy_pressure = 50 - airflow_dense_pressure = 60 - airflow_stun_pressure = 40 - airflow_stun_cooldown = 40 - airflow_stun = 3 - airflow_damage = 4 - airflow_speed_decay = 1 - airflow_delay = 20 - airflow_mob_slowdown = 3 - - - world << "\blue [key_name(user)] changed the global plasma/ZAS settings to \"[def]\"" - -pl_control - var/list/settings = list() - New() - . = ..() - settings = vars.Copy() - - var/datum/D = new() //Ensure only unique vars are put through by making a datum and removing all common vars. - for(var/V in D.vars) - settings -= V - - for(var/V in settings) - if(findtextEx(V,"_RANDOM") || findtextEx(V,"_DESC")) - settings -= V - - settings -= "settings" - proc/Randomize(V) - var/newvalue - if("[V]_RANDOM" in vars) - if(isnum(vars["[V]_RANDOM"])) - newvalue = prob(vars["[V]_RANDOM"]) - else if(istext(vars["[V]_RANDOM"])) - var/txt = vars["[V]_RANDOM"] - if(findtextEx(txt,"PROB")) - txt = text2list(txt,"/") - txt[1] = replacetext(txt[1],"PROB","") - var/p = text2num(txt[1]) - var/r = txt[2] - if(prob(p)) - newvalue = roll(r) - else - newvalue = vars[V] - else if(findtextEx(txt,"PICK")) - txt = replacetext(txt,"PICK","") - txt = text2list(txt,",") - newvalue = pick(txt) - else - newvalue = roll(txt) - else - newvalue = vars[V] - vars[V] = newvalue diff --git a/code/ZAS - vg/ZAS_Turfs.dm b/code/ZAS - vg/ZAS_Turfs.dm deleted file mode 100644 index e7f5f4402f8..00000000000 --- a/code/ZAS - vg/ZAS_Turfs.dm +++ /dev/null @@ -1,394 +0,0 @@ -/atom/var/pressure_resistance = ONE_ATMOSPHERE - -/turf/var/zone/zone - -/turf/assume_air(datum/gas_mixture/giver) //use this for machines to adjust air - del(giver) - return 0 - -/turf/return_air() - //Create gas mixture to hold data for passing - var/datum/gas_mixture/GM = new - - GM.oxygen = oxygen - GM.carbon_dioxide = carbon_dioxide - GM.nitrogen = nitrogen - GM.toxins = toxins - - GM.temperature = temperature - GM.update_values() - - return GM - -// For new turfs -/turf/proc/copy_air_from(var/turf/T) - oxygen = T.oxygen - carbon_dioxide = T.carbon_dioxide - nitrogen = T.nitrogen - toxins = T.toxins - - temperature = T.temperature - -/turf/remove_air(amount as num) - var/datum/gas_mixture/GM = new - - var/sum = oxygen + carbon_dioxide + nitrogen + toxins - if(sum>0) - GM.oxygen = (oxygen/sum)*amount - GM.carbon_dioxide = (carbon_dioxide/sum)*amount - GM.nitrogen = (nitrogen/sum)*amount - GM.toxins = (toxins/sum)*amount - - GM.temperature = temperature - GM.update_values() - - return GM - -/turf/simulated/var/current_graphic = null -/turf/simulated/var/tmp/datum/gas_mixture/air -/turf/simulated/var/tmp/processing = 1 -/turf/simulated/var/tmp/air_check_directions = 0 //Do not modify this, just add turf to air_master.tiles_to_update -/turf/simulated/var/tmp/obj/fire/active_hotspot -/turf/simulated/var/tmp/was_icy=0 - -/turf/simulated/proc/update_visuals() - overlays = null - - var/siding_icon_state = return_siding_icon_state() - if(siding_icon_state) - overlays += image('icons/turf/floors.dmi',siding_icon_state) - - // ONLY USED IF ZAS_SETTINGS SAYS SO. - var/datum/gas_mixture/model = return_air() - if(model.graphics & GRAPHICS_COLD) - if(!was_icy) - wet=3 // Custom ice - was_icy=1 - var/o="" - //if(is_plating()) - // o="snowfloor_s" - //else - if(is_plasteel_floor()) - o="snowfloor" - if(o!="") - overlays += image('icons/turf/overlays.dmi',o) - else - if(was_icy) - wet=0 - was_icy=0 - if(prob(10)) - wet = 1 - if(wet_overlay) - overlays -= wet_overlay - wet_overlay = null - wet_overlay = image('icons/effects/water.dmi',src,"wet_floor") - overlays += wet_overlay - - spawn(800) - if (!istype(src)) return - if(wet >= 2) return - wet = 0 - if(wet_overlay) - overlays -= wet_overlay - wet_overlay = null - if(model.graphics & GRAPHICS_PLASMA) - overlays.Add(plmaster) - if(model.graphics & GRAPHICS_N2O) - overlays.Add(slmaster) - //if(model.graphics & GRAPHICS_REAGENTS) - // overlays.Add(slmaster/*rlmaster*/) - - -/turf/simulated/New() - ..() - - if(!blocks_air) - air = new - - air.oxygen = oxygen - air.carbon_dioxide = carbon_dioxide - air.nitrogen = nitrogen - air.toxins = toxins - - air.temperature = temperature - air.update_values() - - if(air_master) - air_master.tiles_to_update.Add(src) - - else - if(air_master) - for(var/direction in cardinal) - var/turf/simulated/floor/target = get_step(src,direction) - if(istype(target)) - air_master.tiles_to_update |= target - -/turf/simulated/Del() - if(active_hotspot) - del(active_hotspot) - if(blocks_air) - for(var/direction in list(NORTH, SOUTH, EAST, WEST)) - var/turf/simulated/tile = get_step(src,direction) - if(istype(tile) && !tile.blocks_air) - air_master.tiles_to_update.Add(tile) - ..() - -/turf/simulated/copy_air_from(var/turf/T) - //if(istype(T,/turf/simulated)) - // var/turf/simulated/ST=T - // air=ST.air - air=T.return_air() - -/turf/simulated/assume_air(datum/gas_mixture/giver) - if(!giver) return 0 - if(zone) - zone.air.merge(giver) - return 1 - else - return ..() - -/turf/simulated/return_air() - if(zone) - return zone.air - else if(air) - return air - - else - return ..() - -/turf/simulated/remove_air(amount as num) - if(zone) - var/datum/gas_mixture/removed = null - removed = zone.air.remove(amount) - if(zone.air.check_tile_graphic()) - update_visuals(zone.air) - return removed - else if(air) - var/datum/gas_mixture/removed = null - removed = air.remove(amount) - - if(air.check_tile_graphic()) - update_visuals(air) - return removed - - else - return ..() - -/turf/simulated/proc/update_air_properties() - var/air_directions_archived = air_check_directions - air_check_directions = 0 - - for(var/direction in cardinal) - if(ZAirPass(get_step(src,direction))) - air_check_directions |= direction - - if(!zone && !blocks_air) //No zone, but not a wall. - for(var/direction in DoorDirections) //Check door directions first. - if(air_check_directions&direction) - var/turf/simulated/T = get_step(src,direction) - if(!istype(T)) - continue - if(T.zone) - T.zone.AddTurf(src) - break - if(!zone) //Still no zone - for(var/direction in CounterDoorDirections) //Check the others second. - if(air_check_directions&direction) - var/turf/simulated/T = get_step(src,direction) - if(!istype(T)) - continue - if(T.zone) - T.zone.AddTurf(src) - break - if(!zone) //No zone found, new zone! - new/zone(src) - if(!zone) //Still no zone, the floodfill determined it is not part of a larger zone. Force a zone on it. - new/zone(list(src)) - - //Check pass sanity of the connections. - if("\ref[src]" in air_master.turfs_with_connections) - for(var/connection/C in air_master.turfs_with_connections["\ref[src]"]) - air_master.connections_to_check |= C - - if(zone && !zone.rebuild) - if(zone.air.check_tile_graphic()) - update_visuals(zone.air) - for(var/direction in cardinal) - var/turf/T = get_step(src,direction) - if(!istype(T)) - continue - - //I can connect to air in this direction - if(air_check_directions&direction) - - //If either block air, we must look to see if the adjacent turfs need rebuilt. - if(!CanPass(null, T, 0, 0)) - - //Target blocks air - if(!T.CanPass(null, T, 0, 0)) - var/turf/NT = get_step(T, direction) - - //If that turf is in my zone still, rebuild. - if(istype(NT,/turf/simulated) && NT in zone.contents) - zone.rebuild = 1 - - //If that is an unsimulated tile in my zone, see if we need to rebuild or just remove. - else if(istype(NT) && NT in zone.unsimulated_tiles) - var/consider_rebuild = 0 - for(var/d in cardinal) - var/turf/UT = get_step(NT,d) - if(istype(UT, /turf/simulated) && UT.zone == zone && UT.CanPass(null, NT, 0, 0)) //If we find a neighboring tile that is in the same zone, check if we need to rebuild - consider_rebuild = 1 - break - if(consider_rebuild) - zone.rebuild = 1 //Gotta check if we need to rebuild, dammit - else - zone.RemoveTurf(NT) //Not adjacent to anything, and unsimulated. Goodbye~ - - //To make a closed connection through closed door. - ZConnect(T, src) - - //If I block air. - else if(T.zone && !T.zone.rebuild) - var/turf/NT = get_step(src, reverse_direction(direction)) - - //If I am splitting a zone, rebuild. - if(istype(NT,/turf/simulated) && (NT in T.zone.contents || (NT.zone && T in NT.zone.contents))) - T.zone.rebuild = 1 - - //If NT is unsimulated, parse if I should remove it or rebuild. - else if(istype(NT) && NT in T.zone.unsimulated_tiles) - var/consider_rebuild = 0 - for(var/d in cardinal) - var/turf/UT = get_step(NT,d) - if(istype(UT, /turf/simulated) && UT.zone == T.zone && UT.CanPass(null, NT, 0, 0)) //If we find a neighboring tile that is in the same zone, check if we need to rebuild - consider_rebuild = 1 - break - - //Needs rebuilt. - if(consider_rebuild) - T.zone.rebuild = 1 - - //Not adjacent to anything, and unsimulated. Goodbye~ - else - T.zone.RemoveTurf(NT) - - else - //Produce connection through open door. - ZConnect(src,T) - - //Something like a wall was built, changing the geometry. - else if(air_directions_archived&direction) - var/turf/NT = get_step(T, direction) - - //If the tile is in our own zone, and we cannot connect to it, better rebuild. - if(istype(NT,/turf/simulated) && NT in zone.contents) - zone.rebuild = 1 - - //Parse if we need to remove the tile, or rebuild the zone. - else if(istype(NT) && NT in zone.unsimulated_tiles) - var/consider_rebuild = 0 - - //Loop through all neighboring turfs to see if we should remove the turf or just rebuild. - for(var/d in cardinal) - var/turf/UT = get_step(NT,d) - - //If we find a neighboring tile that is in the same zone, rebuild - if(istype(UT, /turf/simulated) && UT.zone == zone && UT.CanPass(null, NT, 0, 0)) - consider_rebuild = 1 - break - - //The unsimulated turf is adjacent to another one of our zone's turfs, - // better rebuild to be sure we didn't get cut in twain - if(consider_rebuild) - zone.rebuild = 1 - - //Not adjacent to anything, and unsimulated. Goodbye~ - else - zone.RemoveTurf(NT) - - if(air_check_directions) - processing = 1 - else - processing = 0 - return 1 - -/turf/proc/HasDoor(turf/O) - //Checks for the presence of doors, used for zone spreading and connection. - //A positive numerical argument checks only for closed doors. - //Another turf as an argument checks for windoors between here and there. - for(var/obj/machinery/door/D in src) - if(isnum(O) && O) - if(!D.density) continue - if(istype(D,/obj/machinery/door/window)) - if(!istype(O)) - continue - if(D.dir == get_dir(D,O)) - return 1 - else - return 1 - -/turf/proc/ZCanPass(turf/simulated/T, var/include_space = 0) - //Fairly standard pass checks for turfs, objects and directional windows. Also stops at the edge of space. - if(!istype(T)) - return 0 - - if(!istype(T) && !include_space) - return 0 - else - if(T.blocks_air||blocks_air) - return 0 - - for(var/obj/obstacle in src) - if(istype(obstacle, /obj/machinery/door) && !obstacle:air_properties_vary_with_direction) - continue - if(!obstacle.CanPass(null, T, 1.5, 1)) - return 0 - - for(var/obj/obstacle in T) - if(istype(obstacle, /obj/machinery/door) && !obstacle:air_properties_vary_with_direction) - continue - if(!obstacle.CanPass(null, src, 1.5, 1)) - return 0 - - return 1 - -/turf/proc/ZAirPass(turf/T) - //Fairly standard pass checks for turfs, objects and directional windows. - if(!istype(T)) - return 0 - - if(T.blocks_air||blocks_air) - return 0 - - for(var/obj/obstacle in src) - if(istype(obstacle, /obj/machinery/door) && !obstacle:air_properties_vary_with_direction) - continue - if(!obstacle.CanPass(null, T, 0, 0)) - return 0 - - for(var/obj/obstacle in T) - if(istype(obstacle, /obj/machinery/door) && !obstacle:air_properties_vary_with_direction) - continue - if(!obstacle.CanPass(null, src, 0, 0)) - return 0 - - return 1 - -/*UNUSED -/turf/proc/check_connections() - //Checks for new connections that can be made. - for(var/d in cardinal) - var/turf/simulated/T = get_step(src,d) - if(istype(T) && ( !T.zone || !T.CanPass(0,src,0,0) ) ) - continue - if(T.zone != zone) - ZConnect(src,T) - -/turf/proc/check_for_space() - //Checks for space around the turf. - for(var/d in cardinal) - var/turf/T = get_step(src,d) - if(istype(T,/turf/space) && T.CanPass(0,src,0,0)) - zone.AddSpace(T) - */ \ No newline at end of file diff --git a/code/ZAS - vg/ZAS_Zones.dm b/code/ZAS - vg/ZAS_Zones.dm deleted file mode 100644 index c538a6c7c2a..00000000000 --- a/code/ZAS - vg/ZAS_Zones.dm +++ /dev/null @@ -1,554 +0,0 @@ -var/list/zones = list() -var/list/DoorDirections = list(NORTH,WEST) //Which directions doors turfs can connect to zones -var/list/CounterDoorDirections = list(SOUTH,EAST) //Which directions doors turfs can connect to zones - -/zone - var/dbg_output = 0 //Enables debug output. - var/rebuild = 0 //If 1, zone will be rebuilt on next process. Not sure if used. - var/datum/gas_mixture/air //The air contents of the zone. - var/list/contents //All the tiles that are contained in this zone. - var/list/connections // /connection objects which refer to connections with other zones, e.g. through a door. - var/list/connected_zones //Parallels connections, but lists zones to which this one is connected and the number - //of points they're connected at. - var/list/closed_connection_zones //Same as connected_zones, but for zones where the door or whatever is closed. - var/list/unsimulated_tiles // Any space tiles in this list will cause air to flow out. - var/last_update = 0 - var/progress = "nothing" - - -//CREATION AND DELETION -/zone/New(turf/start) - . = ..() - //Get the turfs that are part of the zone using a floodfill method - if(istype(start,/list)) - contents = start - else - contents = FloodFill(start) - - //Change all the zone vars of the turfs, check for space to be added to unsimulated_tiles. - for(var/turf/T in contents) - if(T.zone && T.zone != src) - T.zone.RemoveTurf(T) - T.zone = src - if(!istype(T,/turf/simulated)) - AddTurf(T) - - //Generate the gas_mixture for use in txhis zone by using the average of the gases - //defined at startup. - air = new - air.group_multiplier = contents.len - for(var/turf/simulated/T in contents) - air.oxygen += T.oxygen / air.group_multiplier - air.nitrogen += T.nitrogen / air.group_multiplier - air.carbon_dioxide += T.carbon_dioxide / air.group_multiplier - air.toxins += T.toxins / air.group_multiplier - air.temperature += T.temperature / air.group_multiplier - air.update_values() - - //Add this zone to the global list. - zones.Add(src) - - - //LEGACY, DO NOT USE. Use the SoftDelete proc. -/zone/Del() - //Ensuring the zone list doesn't get clogged with null values. - for(var/turf/simulated/T in contents) - RemoveTurf(T) - air_master.tiles_to_reconsider_zones += T - for(var/zone/Z in connected_zones) - if(src in Z.connected_zones) - Z.connected_zones.Remove(src) - for(var/connection/C in connections) - air_master.connections_to_check += C - zones.Remove(src) - air = null - . = ..() - - - //Handles deletion via garbage collection. -/zone/proc/SoftDelete() - zones.Remove(src) - air = null - - //Ensuring the zone list doesn't get clogged with null values. - for(var/turf/simulated/T in contents) - RemoveTurf(T) - air_master.tiles_to_reconsider_zones += T - - //Removing zone connections and scheduling connection cleanup - for(var/zone/Z in connected_zones) - if(src in Z.connected_zones) - Z.connected_zones.Remove(src) - connected_zones = null - - for(var/connection/C in connections) - air_master.connections_to_check += C - connections = null - - return 1 - - -//ZONE MANAGEMENT FUNCTIONS -/zone/proc/AddTurf(turf/T) - //Adds the turf to contents, increases the size of the zone, and sets the zone var. - if(istype(T, /turf/simulated)) - if(T in contents) - return - if(T.zone) - T.zone.RemoveTurf(T) - contents += T - if(air) - air.group_multiplier++ - T.zone = src - else - if(!unsimulated_tiles) - unsimulated_tiles = list() - else if(T in unsimulated_tiles) - return - unsimulated_tiles += T - contents -= T - -/zone/proc/RemoveTurf(turf/T) - //Same, but in reverse. - if(istype(T, /turf/simulated)) - if(!(T in contents)) - return - contents -= T - if(air) - air.group_multiplier-- - if(T.zone == src) - T.zone = null - else if(unsimulated_tiles) - unsimulated_tiles -= T - if(!unsimulated_tiles.len) - unsimulated_tiles = null - - ////////////// - //PROCESSING// -////////////// - -#define QUANTIZE(variable) (round(variable,0.0001)) - -/zone/proc/process() - . = 1 - - progress = "problem with: SoftDelete()" - - //Deletes zone if empty. - if(!contents.len) - return SoftDelete() - - progress = "problem with: Rebuild()" - - //Does rebuilding stuff. - if(rebuild) - rebuild = 0 - Rebuild() //Shoving this into a proc. - - if(!contents.len) //If we got soft deleted. - return - - progress = "problem with: air regeneration" - - //Sometimes explosions will cause the air to be deleted for some reason. - if(!air) - air = new() - air.oxygen = MOLES_O2STANDARD - air.nitrogen = MOLES_N2STANDARD - air.temperature = T0C - air.total_moles() - world.log << "Air object lost in zone. Regenerating." - - - progress = "problem with: ShareSpace()" - - if(unsimulated_tiles) - if(locate(/turf/simulated) in unsimulated_tiles) - for(var/turf/simulated/T in unsimulated_tiles) - unsimulated_tiles -= T - - if(unsimulated_tiles.len) - var/moved_air = ShareSpace(air,unsimulated_tiles) - - if(moved_air > zas_settings.Get(/datum/ZAS_Setting/airflow_lightest_pressure)) - AirflowSpace(src) - else - unsimulated_tiles = null - - //Check the graphic. - progress = "problem with: modifying turf graphics" - - air.graphics = 0 - if(air.toxins > MOLES_PLASMA_VISIBLE) - air.graphics |= GRAPHICS_PLASMA - if(air.trace_gases.len) - var/datum/gas/sleeping_agent = locate(/datum/gas/sleeping_agent) in air.trace_gases - if(sleeping_agent && (sleeping_agent.moles > 1)) - air.graphics |= GRAPHICS_N2O - // If configured and cold, maek ice - if(zas_settings.Get(/datum/ZAS_Setting/ice_formation)) - if(air.temperature <= TEMPERATURE_ICE_FORMATION && air.return_pressure()>MIN_PRESSURE_ICE_FORMATION) - air.graphics |= GRAPHICS_COLD - - progress = "problem with an inbuilt byond function: some conditional checks" - - //Only run through the individual turfs if there's reason to. - if(air.graphics != air.graphics_archived || air.temperature > PLASMA_FLASHPOINT) - - progress = "problem with: turf/simulated/update_visuals()" - - for(var/turf/simulated/S in contents) - //Update overlays. - if(air.graphics != air.graphics_archived) - if(S.HasDoor(1)) - S.update_visuals() - else - S.update_visuals(air) - - progress = "problem with: item or turf temperature_expose()" - - //Expose stuff to extreme heat. - if(air.temperature > PLASMA_FLASHPOINT) - for(var/atom/movable/item in S) - item.temperature_expose(air, air.temperature, CELL_VOLUME) - S.hotspot_expose(air.temperature, CELL_VOLUME) - - progress = "problem with: calculating air graphic" - - //Archive graphic so we can know if it's different. - air.graphics_archived = air.graphics - - progress = "problem with: calculating air temp" - - //Ensure temperature does not reach absolute zero. - air.temperature = max(TCMB,air.temperature) - - progress = "problem with an inbuilt byond function: length(connections)" - - //Handle connections to other zones. - if(length(connections)) - - progress = "problem with: ZMerge(), a couple of misc procs" - - for(var/connection/C in connections) - //Check if the connection is valid first. - if(!C.Cleanup()) - continue - - //Do merging if conditions are met. Specifically, if there's a non-door connection - //to somewhere with space, the zones are merged regardless of equilibrium, to speed - //up spacing in areas with double-plated windows. - if(C && C.A.zone && C.B.zone) - //indirect = 2 is a direct connection. - if( C.indirect == 2 ) - if(C.A.zone.air.compare(C.B.zone.air) || unsimulated_tiles) - ZMerge(C.A.zone,C.B.zone) - - progress = "problem with: ShareRatio(), Airflow(), a couple of misc procs" - - //Share some - for(var/zone/Z in connected_zones) - //If that zone has already processed, skip it. - if(Z.last_update > last_update) - continue - - if(air && Z.air) - //Ensure we're not doing pointless calculations on equilibrium zones. - var/moles_delta = abs(air.total_moles() - Z.air.total_moles()) - if(moles_delta > 0.1 || abs(air.temperature - Z.air.temperature) > 0.1) - if(abs(Z.air.return_pressure() - air.return_pressure()) > zas_settings.Get(/datum/ZAS_Setting/airflow_lightest_pressure)) - Airflow(src,Z) - var/unsimulated_boost = 0 - if(unsimulated_tiles) - unsimulated_boost += unsimulated_tiles.len - if(Z.unsimulated_tiles) - unsimulated_boost += Z.unsimulated_tiles.len - unsimulated_boost = max(0, min(3, unsimulated_boost)) - ShareRatio( air , Z.air , connected_zones[Z] + unsimulated_boost) - - for(var/zone/Z in closed_connection_zones) - //If that zone has already processed, skip it. - if(Z.last_update > last_update) - continue - if(air && Z.air) - if( abs(air.temperature - Z.air.temperature) > zas_settings.Get(/datum/ZAS_Setting/connection_temperature_delta) ) - ShareHeat(air, Z.air, closed_connection_zones[Z]) - - progress = "all components completed successfully, the problem is not here" - - //////////////// - //Air Movement// -//////////////// - -var/list/sharing_lookup_table = list(0.30, 0.40, 0.48, 0.54, 0.60, 0.66) - -proc/ShareRatio(datum/gas_mixture/A, datum/gas_mixture/B, connecting_tiles) - //Shares a specific ratio of gas between mixtures using simple weighted averages. - var - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - ratio = sharing_lookup_table[6] - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - - size = max(1,A.group_multiplier) - share_size = max(1,B.group_multiplier) - - full_oxy = A.oxygen * size - full_nitro = A.nitrogen * size - full_co2 = A.carbon_dioxide * size - full_plasma = A.toxins * size - - full_heat_capacity = A.heat_capacity() * size - - s_full_oxy = B.oxygen * share_size - s_full_nitro = B.nitrogen * share_size - s_full_co2 = B.carbon_dioxide * share_size - s_full_plasma = B.toxins * share_size - - s_full_heat_capacity = B.heat_capacity() * share_size - - oxy_avg = (full_oxy + s_full_oxy) / (size + share_size) - nit_avg = (full_nitro + s_full_nitro) / (size + share_size) - co2_avg = (full_co2 + s_full_co2) / (size + share_size) - plasma_avg = (full_plasma + s_full_plasma) / (size + share_size) - - temp_avg = (A.temperature * full_heat_capacity + B.temperature * s_full_heat_capacity) / (full_heat_capacity + s_full_heat_capacity) - - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - if(sharing_lookup_table.len >= connecting_tiles) //6 or more interconnecting tiles will max at 42% of air moved per tick. - ratio = sharing_lookup_table[connecting_tiles] - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - - A.oxygen = max(0, (A.oxygen - oxy_avg) * (1-ratio) + oxy_avg ) - A.nitrogen = max(0, (A.nitrogen - nit_avg) * (1-ratio) + nit_avg ) - A.carbon_dioxide = max(0, (A.carbon_dioxide - co2_avg) * (1-ratio) + co2_avg ) - A.toxins = max(0, (A.toxins - plasma_avg) * (1-ratio) + plasma_avg ) - - A.temperature = max(0, (A.temperature - temp_avg) * (1-ratio) + temp_avg ) - - B.oxygen = max(0, (B.oxygen - oxy_avg) * (1-ratio) + oxy_avg ) - B.nitrogen = max(0, (B.nitrogen - nit_avg) * (1-ratio) + nit_avg ) - B.carbon_dioxide = max(0, (B.carbon_dioxide - co2_avg) * (1-ratio) + co2_avg ) - B.toxins = max(0, (B.toxins - plasma_avg) * (1-ratio) + plasma_avg ) - - B.temperature = max(0, (B.temperature - temp_avg) * (1-ratio) + temp_avg ) - - for(var/datum/gas/G in A.trace_gases) - var/datum/gas/H = locate(G.type) in B.trace_gases - if(H) - var/G_avg = (G.moles*size + H.moles*share_size) / (size+share_size) - G.moles = (G.moles - G_avg) * (1-ratio) + G_avg - H.moles = (H.moles - G_avg) * (1-ratio) + G_avg - else - H = new G.type - B.trace_gases += H - var/G_avg = (G.moles*size) / (size+share_size) - G.moles = (G.moles - G_avg) * (1-ratio) + G_avg - H.moles = (H.moles - G_avg) * (1-ratio) + G_avg - - A.update_values() - B.update_values() - - if(A.compare(B)) return 1 - else return 0 - -proc/ShareSpace(datum/gas_mixture/A, list/unsimulated_tiles, dbg_output) - //A modified version of ShareRatio for spacing gas at the same rate as if it were going into a large airless room. - if(!unsimulated_tiles || !unsimulated_tiles.len) - return 0 - - var - unsim_oxygen = 0 - unsim_nitrogen = 0 - unsim_co2 = 0 - unsim_plasma = 0 - unsim_heat_capacity = 0 - unsim_temperature = 0 - - size = max(1,A.group_multiplier) - - // We use the same size for the potentially single space tile - // as we use for the entire room. Why is this? - // Short answer: We do not want larger rooms to depressurize more - // slowly than small rooms, preserving our good old "hollywood-style" - // oh-shit effect when large rooms get breached, but still having small - // rooms remain pressurized for long enough to make escape possible. - share_size = max(1, max(size + 3, 1) + unsimulated_tiles.len) - correction_ratio = share_size / unsimulated_tiles.len - - for(var/turf/T in unsimulated_tiles) - unsim_oxygen += T.oxygen - unsim_co2 += T.carbon_dioxide - unsim_nitrogen += T.nitrogen - unsim_plasma += T.toxins - unsim_temperature += T.temperature/unsimulated_tiles.len - - //These values require adjustment in order to properly represent a room of the specified size. - unsim_oxygen *= correction_ratio - unsim_co2 *= correction_ratio - unsim_nitrogen *= correction_ratio - unsim_plasma *= correction_ratio - unsim_heat_capacity = HEAT_CAPACITY_CALCULATION(unsim_oxygen,unsim_co2,unsim_nitrogen,unsim_plasma) - - var - ratio = sharing_lookup_table[6] - - old_pressure = A.return_pressure() - - full_oxy = A.oxygen * size - full_nitro = A.nitrogen * size - full_co2 = A.carbon_dioxide * size - full_plasma = A.toxins * size - - full_heat_capacity = A.heat_capacity() * size - - oxy_avg = (full_oxy + unsim_oxygen) / (size + share_size) - nit_avg = (full_nitro + unsim_nitrogen) / (size + share_size) - co2_avg = (full_co2 + unsim_co2) / (size + share_size) - plasma_avg = (full_plasma + unsim_plasma) / (size + share_size) - - temp_avg = (A.temperature * full_heat_capacity + unsim_temperature * unsim_heat_capacity) / (full_heat_capacity + unsim_heat_capacity) - - if(sharing_lookup_table.len >= unsimulated_tiles.len) //6 or more interconnecting tiles will max at 42% of air moved per tick. - ratio = sharing_lookup_table[unsimulated_tiles.len] - - A.oxygen = max(0, (A.oxygen - oxy_avg) * (1 - ratio) + oxy_avg ) - A.nitrogen = max(0, (A.nitrogen - nit_avg) * (1 - ratio) + nit_avg ) - A.carbon_dioxide = max(0, (A.carbon_dioxide - co2_avg) * (1 - ratio) + co2_avg ) - A.toxins = max(0, (A.toxins - plasma_avg) * (1 - ratio) + plasma_avg ) - - // EXPERIMENTAL: Disable space being cold - // N3X: Made this togglable for Pomf. Comment recovered from older code. - if(!zas_settings.Get(/datum/ZAS_Setting/space_isnt_cold)) - A.temperature = max(TCMB, (A.temperature - temp_avg) * (1 - ratio) + temp_avg ) - - for(var/datum/gas/G in A.trace_gases) - var/G_avg = (G.moles * size) / (size + share_size) - G.moles = (G.moles - G_avg) * (1 - ratio) + G_avg - - A.update_values() - - return abs(old_pressure - A.return_pressure()) - - -proc/ShareHeat(datum/gas_mixture/A, datum/gas_mixture/B, connecting_tiles) - //Shares a specific ratio of gas between mixtures using simple weighted averages. - var - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - ratio = sharing_lookup_table[6] - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - - full_heat_capacity = A.heat_capacity() - - s_full_heat_capacity = B.heat_capacity() - - temp_avg = (A.temperature * full_heat_capacity + B.temperature * s_full_heat_capacity) / (full_heat_capacity + s_full_heat_capacity) - - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - if(sharing_lookup_table.len >= connecting_tiles) //6 or more interconnecting tiles will max at 42% of air moved per tick. - ratio = sharing_lookup_table[connecting_tiles] - //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD - - //We need to adjust it to account for the insulation settings. - ratio *= 1 - zas_settings.Get(/datum/ZAS_Setting/connection_insulation) - - A.temperature = max(0, (A.temperature - temp_avg) * (1- (ratio / max(1,A.group_multiplier)) ) + temp_avg ) - B.temperature = max(0, (B.temperature - temp_avg) * (1- (ratio / max(1,B.group_multiplier)) ) + temp_avg ) - - - /////////////////// - //Zone Rebuilding// -/////////////////// - -zone/proc/Rebuild() - //Choose a random turf and regenerate the zone from it. - var - turf/simulated/sample = locate() in contents - list/new_contents - problem = 0 - - // - var/list/turfs_to_consider = contents.Copy() - - while(!sample || !sample.CanPass(null, sample, 1.5, 1)) - if(sample) - turfs_to_consider.Remove(sample) - sample = locate() in turfs_to_consider - if(!sample) - break - - if(!istype(sample) || !sample.CanPass(null, sample, 1.5, 1)) //Not a single valid turf. - for(var/turf/simulated/T in contents) - air_master.tiles_to_update |= T - return SoftDelete() - - new_contents = FloodFill(sample) - - var/list/new_unsimulated = ( unsimulated_tiles ? unsimulated_tiles : list() ) - - for(var/turf/S in new_contents) - if(!istype(S, /turf/simulated)) - new_unsimulated |= S - new_contents.Remove(S) - - if(contents.len != new_contents.len) - problem = 1 - - //If something isn't carried over, there was a complication. - for(var/turf/T in contents) - if(!(T in new_contents)) - T.zone = null - problem = 1 - - if(problem) - //Build some new zones for stuff that wasn't included. - var/list/turf/simulated/rebuild_turfs = contents - new_contents - var/list/turf/simulated/reconsider_turfs = list() - contents = new_contents - for(var/turf/simulated/T in rebuild_turfs) - if(!T.zone && T.CanPass(null, T, 1.5, 1)) - var/zone/Z = new /zone(T) - Z.air.copy_from(air) - else - reconsider_turfs |= T - for(var/turf/simulated/T in reconsider_turfs) - if(!T.zone && T.CanPass(null, T, 1.5, 1)) - var/zone/Z = new /zone(T) - Z.air.copy_from(air) - else if(!T in air_master.tiles_to_update) - air_master.tiles_to_update.Add(T) - - for(var/turf/simulated/T in contents) - if(T.zone && T.zone != src) - T.zone.RemoveTurf(T) - T.zone = src - else if(!T.zone) - T.zone = src - air.group_multiplier = contents.len - unsimulated_tiles = null - - if(new_unsimulated.len) - for(var/turf/S in new_unsimulated) - if(istype(S, /turf/simulated)) - continue - for(var/direction in cardinal) - var/turf/simulated/T = get_step(S,direction) - if(istype(T) && T.zone && S.CanPass(null, T, 0, 0)) - T.zone.AddTurf(S) - -//UNUSED -/* -zone/proc/connected_zones() - //A legacy proc for getting connected zones. - . = list() - for(var/connection/C in connections) - var/zone/Z - if(C.A.zone == src) - Z = C.B.zone - else - Z = C.A.zone - - if(Z in .) - .[Z]++ - else - . += Z - .[Z] = 1*/ diff --git a/code/ZAS/Airflow.dm b/code/ZAS/Airflow.dm index 9995dc53193..1b2296bffd9 100644 --- a/code/ZAS/Airflow.dm +++ b/code/ZAS/Airflow.dm @@ -251,4 +251,36 @@ zone/proc/movables() for(var/atom/A in T) if(istype(A, /obj/effect) || istype(A, /mob/aiEye)) continue - . += A \ No newline at end of file + . += A + +//ULTRALIGHT - only file where this is still used, hence why it's in here +#define UL_I_FALLOFF_SQUARE 0 +#define UL_I_FALLOFF_ROUND 1 +#define ul_FalloffStyle UL_I_FALLOFF_ROUND // Sets the lighting falloff to be either squared or circular. +var/list/ul_FastRoot = list(0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7) + +atom/proc/ul_FalloffAmount(var/atom/ref) + if (ul_FalloffStyle == UL_I_FALLOFF_ROUND) + var/delta_x = (ref.x - src.x) + var/delta_y = (ref.y - src.y) + + #ifdef ul_LightingResolution + if (round((delta_x*delta_x + delta_y*delta_y)*ul_LightingResolutionSqrt,1) > ul_FastRoot.len) + for(var/i = ul_FastRoot.len, i <= round(delta_x*delta_x+delta_y*delta_y*ul_LightingResolutionSqrt,1), i++) + ul_FastRoot += round(sqrt(i)) + return ul_FastRoot[round((delta_x*delta_x + delta_y*delta_y)*ul_LightingResolutionSqrt, 1) + 1]/ul_LightingResolution + + #else + if ((delta_x*delta_x + delta_y*delta_y) > ul_FastRoot.len) + for(var/i = ul_FastRoot.len, i <= delta_x*delta_x+delta_y*delta_y, i++) + ul_FastRoot += round(sqrt(i)) + return ul_FastRoot[delta_x*delta_x + delta_y*delta_y + 1] + + #endif + + else if (ul_FalloffStyle == UL_I_FALLOFF_SQUARE) + return get_dist(src, ref) + + return 0 \ No newline at end of file diff --git a/code/WorkInProgress/Sayu/cargoprofile.dm b/code/datums/cargoprofile.dm similarity index 99% rename from code/WorkInProgress/Sayu/cargoprofile.dm rename to code/datums/cargoprofile.dm index 257f81d27a0..22b8446aa74 100644 --- a/code/WorkInProgress/Sayu/cargoprofile.dm +++ b/code/datums/cargoprofile.dm @@ -1,3 +1,4 @@ +#define MAXCOIL 30 /datum/cargoprofile var/name = "All Items" var/id = "all" // unique ID for the UI @@ -794,4 +795,5 @@ return 0 // Be polite var/punches = punch(M,remaining / PUNCH_WORK) if(punches>1)master.sleep++ - return punches * PUNCH_WORK \ No newline at end of file + return punches * PUNCH_WORK +#undef MAXCOIL \ No newline at end of file diff --git a/code/WorkInProgress/Cib/MedicalSideEffects.dm b/code/datums/medical_effects.dm similarity index 100% rename from code/WorkInProgress/Cib/MedicalSideEffects.dm rename to code/datums/medical_effects.dm diff --git a/code/WorkInProgress/periodic_news.dm b/code/datums/periodic_news.dm similarity index 100% rename from code/WorkInProgress/periodic_news.dm rename to code/datums/periodic_news.dm diff --git a/code/WorkInProgress/Mini/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm similarity index 100% rename from code/WorkInProgress/Mini/atmos_control.dm rename to code/game/machinery/computer/atmos_control.dm diff --git a/code/WorkInProgress/Chinsky/guestpass.dm b/code/game/machinery/guestpass.dm similarity index 100% rename from code/WorkInProgress/Chinsky/guestpass.dm rename to code/game/machinery/guestpass.dm diff --git a/code/WorkInProgress/Sayu/programmable.dm b/code/game/machinery/programmable_unloader.dm similarity index 98% rename from code/WorkInProgress/Sayu/programmable.dm rename to code/game/machinery/programmable_unloader.dm index 9d2f5e09236..c481d6fa32c 100644 --- a/code/WorkInProgress/Sayu/programmable.dm +++ b/code/game/machinery/programmable_unloader.dm @@ -733,13 +733,3 @@ return //End switch - - -datum/design/programmable - name = "Circuit Design (Programmable Unloader)" - desc = "Allows for the construction of circuit boards used to build a Programmable Unloader." - id = "selunload" - req_tech = list("programming" = 5) - build_type = IMPRINTER - materials = list("$glass" = 2000, "sacid" = 20) - build_path = "/obj/item/weapon/circuitboard/programmable" diff --git a/code/WorkInProgress/ZomgPonies/oldcode/turntable.dm b/code/game/machinery/turntable.dm similarity index 100% rename from code/WorkInProgress/ZomgPonies/oldcode/turntable.dm rename to code/game/machinery/turntable.dm diff --git a/code/WorkInProgress/explosion_particles.dm b/code/game/objects/effects/explosion_particles.dm similarity index 95% rename from code/WorkInProgress/explosion_particles.dm rename to code/game/objects/effects/explosion_particles.dm index b63eeb9aab5..2666b8e9fd6 100644 --- a/code/WorkInProgress/explosion_particles.dm +++ b/code/game/objects/effects/explosion_particles.dm @@ -1,71 +1,71 @@ -/obj/effect/expl_particles - name = "explosive particles" - icon = 'icons/effects/effects.dmi' - icon_state = "explosion_particle" - opacity = 1 - anchored = 1 - mouse_opacity = 0 - -/obj/effect/expl_particles/New() - ..() - spawn (15) - src.loc = null - return - -/obj/effect/expl_particles/Move() - ..() - return - -/datum/effect/system/expl_particles - var/number = 10 - var/turf/location - var/total_particles = 0 - -/datum/effect/system/expl_particles/proc/set_up(n = 10, loca) - number = n - if(istype(loca, /turf/)) location = loca - else location = get_turf(loca) - -/datum/effect/system/expl_particles/proc/start() - var/i = 0 - for(i=0, i [user.real_name] ([user.ckey]) tried planting [name] on [target:real_name] ([target:ckey])") + user.visible_message("\red [user.name] is trying to strap a belt to [target.name]!") + + + if(do_after(user, 50) && in_range(user, target)) + user.drop_item() + target = target + loc = null + var/location + if (isturf(target)) location = target + if (ismob(target)) + target:attack_log += "\[[time_stamp()]\] Had the [name] planted on them by [user.real_name] ([user.ckey])" + user.visible_message("\red [user.name] finished planting an explosive on [target.name]!") + target.overlays += image('icons/obj/assemblies.dmi', "plastic-explosive2") + user << "You sacrifice your belt for the sake of justice. Timer counting down from 15." + spawn(150) + if(target) + if(ismob(target) || isobj(target)) + location = target.loc // These things can move + explosion(location, -1, -1, 2, 3) + if (istype(target, /turf/simulated/wall)) target:dismantle_wall(1) + else target.ex_act(1) + if (isobj(target)) + if (target) + del(target) + if (src) + del(src) +/obj/item/weapon/storage/belt/bluespace/attack(mob/M as mob, mob/user as mob, def_zone) + return + +/obj/item/weapon/storage/belt/bluespace/admin + name = "Admin's Tool-belt" + desc = "Holds everything for those that run everything." + icon_state = "soulstonebelt" + item_state = "soulstonebelt" + w_class = 10 // permit holding other storage items + storage_slots = 28 + max_w_class = 10 + max_combined_w_class = 280 + can_hold = list() + + New() + ..() + new /obj/item/weapon/crowbar(src) + new /obj/item/weapon/screwdriver(src) + new /obj/item/weapon/weldingtool/hugetank(src) + new /obj/item/weapon/wirecutters(src) + new /obj/item/weapon/wrench(src) + new /obj/item/device/multitool(src) + new /obj/item/stack/cable_coil(src) + + new /obj/item/weapon/handcuffs(src) + new /obj/item/weapon/dnainjector/xraymut(src) + new /obj/item/weapon/dnainjector/firemut(src) + new /obj/item/weapon/dnainjector/telemut(src) + new /obj/item/weapon/dnainjector/hulkmut(src) +// new /obj/item/weapon/spellbook(src) // for smoke effects, door openings, etc +// new /obj/item/weapon/magic/spellbook(src) + +// new/obj/item/weapon/reagent_containers/hypospray/admin(src) + +/obj/item/weapon/storage/belt/bluespace/sandbox + name = "Sandbox Mode Toolbelt" + desc = "Holds whatever, you can spawn your own damn stuff." + w_class = 10 // permit holding other storage items + storage_slots = 28 + max_w_class = 10 + max_combined_w_class = 280 + can_hold = list() + + New() + ..() + new /obj/item/weapon/crowbar(src) + new /obj/item/weapon/screwdriver(src) + new /obj/item/weapon/weldingtool/hugetank(src) + new /obj/item/weapon/wirecutters(src) + new /obj/item/weapon/wrench(src) + new /obj/item/device/multitool(src) + new /obj/item/stack/cable_coil(src) + + new /obj/item/device/analyzer(src) + new /obj/item/device/healthanalyzer(src) + \ No newline at end of file diff --git a/code/WorkInProgress/buildmode.dm b/code/modules/admin/buildmode.dm similarity index 97% rename from code/WorkInProgress/buildmode.dm rename to code/modules/admin/buildmode.dm index f5474e8a8b2..1c980e5272d 100644 --- a/code/WorkInProgress/buildmode.dm +++ b/code/modules/admin/buildmode.dm @@ -1,266 +1,266 @@ -/proc/togglebuildmode(mob/M as mob in player_list) - set name = "Toggle Build Mode" - set category = "Special Verbs" - if(M.client) - if(M.client.buildmode) - log_admin("[key_name(usr)] has left build mode.") - M.client.buildmode = 0 - M.client.show_popup_menus = 1 - for(var/obj/effect/bmode/buildholder/H) - if(H.cl == M.client) - del(H) - else - log_admin("[key_name(usr)] has entered build mode.") - M.client.buildmode = 1 - M.client.show_popup_menus = 0 - - var/obj/effect/bmode/buildholder/H = new/obj/effect/bmode/buildholder() - var/obj/effect/bmode/builddir/A = new/obj/effect/bmode/builddir(H) - A.master = H - var/obj/effect/bmode/buildhelp/B = new/obj/effect/bmode/buildhelp(H) - B.master = H - var/obj/effect/bmode/buildmode/C = new/obj/effect/bmode/buildmode(H) - C.master = H - var/obj/effect/bmode/buildquit/D = new/obj/effect/bmode/buildquit(H) - D.master = H - - H.builddir = A - H.buildhelp = B - H.buildmode = C - H.buildquit = D - M.client.screen += A - M.client.screen += B - M.client.screen += C - M.client.screen += D - H.cl = M.client - -/obj/effect/bmode//Cleaning up the tree a bit - density = 1 - anchored = 1 - layer = 20 - dir = NORTH - icon = 'icons/misc/buildmode.dmi' - var/obj/effect/bmode/buildholder/master = null - -/obj/effect/bmode/builddir - icon_state = "build" - screen_loc = "NORTH,WEST" - Click() - switch(dir) - if(NORTH) - dir = EAST - if(EAST) - dir = SOUTH - if(SOUTH) - dir = WEST - if(WEST) - dir = SOUTHWEST - if(SOUTHWEST) - dir = NORTH - return 1 - -/obj/effect/bmode/buildhelp - icon = 'icons/misc/buildmode.dmi' - icon_state = "buildhelp" - screen_loc = "NORTH,WEST+1" - Click() - switch(master.cl.buildmode) - if(1) - usr << "\blue ***********************************************************" - usr << "\blue Left Mouse Button = Construct / Upgrade" - usr << "\blue Right Mouse Button = Deconstruct / Delete / Downgrade" - usr << "\blue Left Mouse Button + ctrl = R-Window" - usr << "\blue Left Mouse Button + alt = Airlock" - usr << "" - usr << "\blue Use the button in the upper left corner to" - usr << "\blue change the direction of built objects." - usr << "\blue ***********************************************************" - if(2) - usr << "\blue ***********************************************************" - usr << "\blue Right Mouse Button on buildmode button = Set object type" - usr << "\blue Left Mouse Button on turf/obj = Place objects" - usr << "\blue Right Mouse Button = Delete objects" - usr << "" - usr << "\blue Use the button in the upper left corner to" - usr << "\blue change the direction of built objects." - usr << "\blue ***********************************************************" - if(3) - usr << "\blue ***********************************************************" - usr << "\blue Right Mouse Button on buildmode button = Select var(type) & value" - usr << "\blue Left Mouse Button on turf/obj/mob = Set var(type) & value" - usr << "\blue Right Mouse Button on turf/obj/mob = Reset var's value" - usr << "\blue ***********************************************************" - if(4) - usr << "\blue ***********************************************************" - usr << "\blue Left Mouse Button on turf/obj/mob = Select" - usr << "\blue Right Mouse Button on turf/obj/mob = Throw" - usr << "\blue ***********************************************************" - return 1 - -/obj/effect/bmode/buildquit - icon_state = "buildquit" - screen_loc = "NORTH,WEST+3" - - Click() - togglebuildmode(master.cl.mob) - return 1 - -/obj/effect/bmode/buildholder - density = 0 - anchored = 1 - var/client/cl = null - var/obj/effect/bmode/builddir/builddir = null - var/obj/effect/bmode/buildhelp/buildhelp = null - var/obj/effect/bmode/buildmode/buildmode = null - var/obj/effect/bmode/buildquit/buildquit = null - var/atom/movable/throw_atom = null - -/obj/effect/bmode/buildmode - icon_state = "buildmode1" - screen_loc = "NORTH,WEST+2" - var/varholder = "name" - var/valueholder = "derp" - var/objholder = /obj/structure/closet - - Click(location, control, params) - var/list/pa = params2list(params) - - if(pa.Find("left")) - switch(master.cl.buildmode) - if(1) - master.cl.buildmode = 2 - src.icon_state = "buildmode2" - if(2) - master.cl.buildmode = 3 - src.icon_state = "buildmode3" - if(3) - master.cl.buildmode = 4 - src.icon_state = "buildmode4" - if(4) - master.cl.buildmode = 1 - src.icon_state = "buildmode1" - - else if(pa.Find("right")) - switch(master.cl.buildmode) - if(1) - return 1 - if(2) - objholder = text2path(input(usr,"Enter typepath:" ,"Typepath","/obj/structure/closet")) - if(!ispath(objholder)) - objholder = /obj/structure/closet - alert("That path is not allowed.") - else - if(ispath(objholder,/mob) && !check_rights(R_DEBUG,0)) - objholder = /obj/structure/closet - if(3) - var/list/locked = list("vars", "key", "ckey", "client", "firemut", "ishulk", "telekinesis", "xray", "virus", "viruses", "cuffed", "ka", "last_eaten", "urine") - - master.buildmode.varholder = input(usr,"Enter variable name:" ,"Name", "name") - if(master.buildmode.varholder in locked && !check_rights(R_DEBUG,0)) - return 1 - var/thetype = input(usr,"Select variable type:" ,"Type") in list("text","number","mob-reference","obj-reference","turf-reference") - if(!thetype) return 1 - switch(thetype) - if("text") - master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value", "value") as text - if("number") - master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value", 123) as num - if("mob-reference") - master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as mob in mob_list - if("obj-reference") - master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as obj in world - if("turf-reference") - master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as turf in world - return 1 - - -/proc/build_click(var/mob/user, buildmode, params, var/obj/object) - var/obj/effect/bmode/buildholder/holder = null - for(var/obj/effect/bmode/buildholder/H) - if(H.cl == user.client) - holder = H - break - if(!holder) return - var/list/pa = params2list(params) - - switch(buildmode) - if(1) - if(istype(object,/turf) && pa.Find("left") && !pa.Find("alt") && !pa.Find("ctrl") ) - if(istype(object,/turf/space)) - var/turf/T = object - T.ChangeTurf(/turf/simulated/floor) - return - else if(istype(object,/turf/simulated/floor)) - var/turf/T = object - T.ChangeTurf(/turf/simulated/wall) - return - else if(istype(object,/turf/simulated/wall)) - var/turf/T = object - T.ChangeTurf(/turf/simulated/wall/r_wall) - return - else if(pa.Find("right")) - if(istype(object,/turf/simulated/wall)) - var/turf/T = object - T.ChangeTurf(/turf/simulated/floor) - return - else if(istype(object,/turf/simulated/floor)) - var/turf/T = object - T.ChangeTurf(/turf/space) - return - else if(istype(object,/turf/simulated/wall/r_wall)) - var/turf/T = object - T.ChangeTurf(/turf/simulated/wall) - return - else if(istype(object,/obj)) - del(object) - return - else if(istype(object,/turf) && pa.Find("alt") && pa.Find("left")) - new/obj/machinery/door/airlock(get_turf(object)) - else if(istype(object,/turf) && pa.Find("ctrl") && pa.Find("left")) - switch(holder.builddir.dir) - if(NORTH) - var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object)) - WIN.dir = NORTH - if(SOUTH) - var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object)) - WIN.dir = SOUTH - if(EAST) - var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object)) - WIN.dir = EAST - if(WEST) - var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object)) - WIN.dir = WEST - if(SOUTHWEST) - new/obj/structure/window/full/reinforced(get_turf(object)) - if(2) - if(pa.Find("left")) - if(ispath(holder.buildmode.objholder,/turf)) - var/turf/T = get_turf(object) - T.ChangeTurf(holder.buildmode.objholder) - else - var/obj/A = new holder.buildmode.objholder (get_turf(object)) - A.dir = holder.builddir.dir - else if(pa.Find("right")) - if(isobj(object)) del(object) - - if(3) - if(pa.Find("left")) //I cant believe this shit actually compiles. - if(object.vars.Find(holder.buildmode.varholder)) - log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]") - object.vars[holder.buildmode.varholder] = holder.buildmode.valueholder - else - usr << "\red [initial(object.name)] does not have a var called '[holder.buildmode.varholder]'" - if(pa.Find("right")) - if(object.vars.Find(holder.buildmode.varholder)) - log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]") - object.vars[holder.buildmode.varholder] = initial(object.vars[holder.buildmode.varholder]) - else - usr << "\red [initial(object.name)] does not have a var called '[holder.buildmode.varholder]'" - - if(4) - if(pa.Find("left")) - holder.throw_atom = object - if(pa.Find("right")) - if(holder.throw_atom) - holder.throw_atom.throw_at(object, 10, 1) - +/proc/togglebuildmode(mob/M as mob in player_list) + set name = "Toggle Build Mode" + set category = "Special Verbs" + if(M.client) + if(M.client.buildmode) + log_admin("[key_name(usr)] has left build mode.") + M.client.buildmode = 0 + M.client.show_popup_menus = 1 + for(var/obj/effect/bmode/buildholder/H) + if(H.cl == M.client) + del(H) + else + log_admin("[key_name(usr)] has entered build mode.") + M.client.buildmode = 1 + M.client.show_popup_menus = 0 + + var/obj/effect/bmode/buildholder/H = new/obj/effect/bmode/buildholder() + var/obj/effect/bmode/builddir/A = new/obj/effect/bmode/builddir(H) + A.master = H + var/obj/effect/bmode/buildhelp/B = new/obj/effect/bmode/buildhelp(H) + B.master = H + var/obj/effect/bmode/buildmode/C = new/obj/effect/bmode/buildmode(H) + C.master = H + var/obj/effect/bmode/buildquit/D = new/obj/effect/bmode/buildquit(H) + D.master = H + + H.builddir = A + H.buildhelp = B + H.buildmode = C + H.buildquit = D + M.client.screen += A + M.client.screen += B + M.client.screen += C + M.client.screen += D + H.cl = M.client + +/obj/effect/bmode//Cleaning up the tree a bit + density = 1 + anchored = 1 + layer = 20 + dir = NORTH + icon = 'icons/misc/buildmode.dmi' + var/obj/effect/bmode/buildholder/master = null + +/obj/effect/bmode/builddir + icon_state = "build" + screen_loc = "NORTH,WEST" + Click() + switch(dir) + if(NORTH) + dir = EAST + if(EAST) + dir = SOUTH + if(SOUTH) + dir = WEST + if(WEST) + dir = SOUTHWEST + if(SOUTHWEST) + dir = NORTH + return 1 + +/obj/effect/bmode/buildhelp + icon = 'icons/misc/buildmode.dmi' + icon_state = "buildhelp" + screen_loc = "NORTH,WEST+1" + Click() + switch(master.cl.buildmode) + if(1) + usr << "\blue ***********************************************************" + usr << "\blue Left Mouse Button = Construct / Upgrade" + usr << "\blue Right Mouse Button = Deconstruct / Delete / Downgrade" + usr << "\blue Left Mouse Button + ctrl = R-Window" + usr << "\blue Left Mouse Button + alt = Airlock" + usr << "" + usr << "\blue Use the button in the upper left corner to" + usr << "\blue change the direction of built objects." + usr << "\blue ***********************************************************" + if(2) + usr << "\blue ***********************************************************" + usr << "\blue Right Mouse Button on buildmode button = Set object type" + usr << "\blue Left Mouse Button on turf/obj = Place objects" + usr << "\blue Right Mouse Button = Delete objects" + usr << "" + usr << "\blue Use the button in the upper left corner to" + usr << "\blue change the direction of built objects." + usr << "\blue ***********************************************************" + if(3) + usr << "\blue ***********************************************************" + usr << "\blue Right Mouse Button on buildmode button = Select var(type) & value" + usr << "\blue Left Mouse Button on turf/obj/mob = Set var(type) & value" + usr << "\blue Right Mouse Button on turf/obj/mob = Reset var's value" + usr << "\blue ***********************************************************" + if(4) + usr << "\blue ***********************************************************" + usr << "\blue Left Mouse Button on turf/obj/mob = Select" + usr << "\blue Right Mouse Button on turf/obj/mob = Throw" + usr << "\blue ***********************************************************" + return 1 + +/obj/effect/bmode/buildquit + icon_state = "buildquit" + screen_loc = "NORTH,WEST+3" + + Click() + togglebuildmode(master.cl.mob) + return 1 + +/obj/effect/bmode/buildholder + density = 0 + anchored = 1 + var/client/cl = null + var/obj/effect/bmode/builddir/builddir = null + var/obj/effect/bmode/buildhelp/buildhelp = null + var/obj/effect/bmode/buildmode/buildmode = null + var/obj/effect/bmode/buildquit/buildquit = null + var/atom/movable/throw_atom = null + +/obj/effect/bmode/buildmode + icon_state = "buildmode1" + screen_loc = "NORTH,WEST+2" + var/varholder = "name" + var/valueholder = "derp" + var/objholder = /obj/structure/closet + + Click(location, control, params) + var/list/pa = params2list(params) + + if(pa.Find("left")) + switch(master.cl.buildmode) + if(1) + master.cl.buildmode = 2 + src.icon_state = "buildmode2" + if(2) + master.cl.buildmode = 3 + src.icon_state = "buildmode3" + if(3) + master.cl.buildmode = 4 + src.icon_state = "buildmode4" + if(4) + master.cl.buildmode = 1 + src.icon_state = "buildmode1" + + else if(pa.Find("right")) + switch(master.cl.buildmode) + if(1) + return 1 + if(2) + objholder = text2path(input(usr,"Enter typepath:" ,"Typepath","/obj/structure/closet")) + if(!ispath(objholder)) + objholder = /obj/structure/closet + alert("That path is not allowed.") + else + if(ispath(objholder,/mob) && !check_rights(R_DEBUG,0)) + objholder = /obj/structure/closet + if(3) + var/list/locked = list("vars", "key", "ckey", "client", "firemut", "ishulk", "telekinesis", "xray", "virus", "viruses", "cuffed", "ka", "last_eaten", "urine") + + master.buildmode.varholder = input(usr,"Enter variable name:" ,"Name", "name") + if(master.buildmode.varholder in locked && !check_rights(R_DEBUG,0)) + return 1 + var/thetype = input(usr,"Select variable type:" ,"Type") in list("text","number","mob-reference","obj-reference","turf-reference") + if(!thetype) return 1 + switch(thetype) + if("text") + master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value", "value") as text + if("number") + master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value", 123) as num + if("mob-reference") + master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as mob in mob_list + if("obj-reference") + master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as obj in world + if("turf-reference") + master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value") as turf in world + return 1 + + +/proc/build_click(var/mob/user, buildmode, params, var/obj/object) + var/obj/effect/bmode/buildholder/holder = null + for(var/obj/effect/bmode/buildholder/H) + if(H.cl == user.client) + holder = H + break + if(!holder) return + var/list/pa = params2list(params) + + switch(buildmode) + if(1) + if(istype(object,/turf) && pa.Find("left") && !pa.Find("alt") && !pa.Find("ctrl") ) + if(istype(object,/turf/space)) + var/turf/T = object + T.ChangeTurf(/turf/simulated/floor) + return + else if(istype(object,/turf/simulated/floor)) + var/turf/T = object + T.ChangeTurf(/turf/simulated/wall) + return + else if(istype(object,/turf/simulated/wall)) + var/turf/T = object + T.ChangeTurf(/turf/simulated/wall/r_wall) + return + else if(pa.Find("right")) + if(istype(object,/turf/simulated/wall)) + var/turf/T = object + T.ChangeTurf(/turf/simulated/floor) + return + else if(istype(object,/turf/simulated/floor)) + var/turf/T = object + T.ChangeTurf(/turf/space) + return + else if(istype(object,/turf/simulated/wall/r_wall)) + var/turf/T = object + T.ChangeTurf(/turf/simulated/wall) + return + else if(istype(object,/obj)) + del(object) + return + else if(istype(object,/turf) && pa.Find("alt") && pa.Find("left")) + new/obj/machinery/door/airlock(get_turf(object)) + else if(istype(object,/turf) && pa.Find("ctrl") && pa.Find("left")) + switch(holder.builddir.dir) + if(NORTH) + var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object)) + WIN.dir = NORTH + if(SOUTH) + var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object)) + WIN.dir = SOUTH + if(EAST) + var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object)) + WIN.dir = EAST + if(WEST) + var/obj/structure/window/reinforced/WIN = new/obj/structure/window/reinforced(get_turf(object)) + WIN.dir = WEST + if(SOUTHWEST) + new/obj/structure/window/full/reinforced(get_turf(object)) + if(2) + if(pa.Find("left")) + if(ispath(holder.buildmode.objholder,/turf)) + var/turf/T = get_turf(object) + T.ChangeTurf(holder.buildmode.objholder) + else + var/obj/A = new holder.buildmode.objholder (get_turf(object)) + A.dir = holder.builddir.dir + else if(pa.Find("right")) + if(isobj(object)) del(object) + + if(3) + if(pa.Find("left")) //I cant believe this shit actually compiles. + if(object.vars.Find(holder.buildmode.varholder)) + log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]") + object.vars[holder.buildmode.varholder] = holder.buildmode.valueholder + else + usr << "\red [initial(object.name)] does not have a var called '[holder.buildmode.varholder]'" + if(pa.Find("right")) + if(object.vars.Find(holder.buildmode.varholder)) + log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]") + object.vars[holder.buildmode.varholder] = initial(object.vars[holder.buildmode.varholder]) + else + usr << "\red [initial(object.name)] does not have a var called '[holder.buildmode.varholder]'" + + if(4) + if(pa.Find("left")) + holder.throw_atom = object + if(pa.Find("right")) + if(holder.throw_atom) + holder.throw_atom.throw_at(object, 10, 1) + diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 9250796e29a..012497c8e08 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -127,4 +127,35 @@ item_state = "s_helmet" desc = "A lightweight space helmet with the basic ability to protect the wearer from the vacuum of space during emergencies." flags_inv = HIDEMASK|HIDEEARS|HIDEEYES - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) \ No newline at end of file + armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20) + +//Mime's Hardsuit +/obj/item/clothing/head/helmet/space/eva/mime + name = "mime eva helmet" +// icon = 'spaceciv.dmi' + desc = "An eva helmet specifically designed for the mime." + icon_state = "spacemimehelmet" + item_state = "spacemimehelmet" + +/obj/item/clothing/suit/space/eva/mime + name = "mime eva suit" +// icon = 'spaceciv.dmi' + desc = "An EVA suit specifically designed for the mime." + icon_state = "spacemime_suit" + item_state = "spacemime_items" + allowed = list(/obj/item/weapon/tank) + +/obj/item/clothing/head/helmet/space/eva/clown + name = "clown eva helmet" +// icon = 'spaceciv.dmi' + desc = "An EVA helmet specifically designed for the clown. SPESSHONK!" + icon_state = "clownhelmet" + item_state = "clownhelmet" + +/obj/item/clothing/suit/space/eva/clown + name = "clown eva suit" +// icon = 'spaceciv.dmi' + desc = "An EVA suit specifically designed for the clown. SPESSHONK!" + icon_state = "spaceclown_suit" + item_state = "spaceclown_items" + allowed = list(/obj/item/weapon/tank) diff --git a/code/WorkInProgress/computer3/NTOS.dm b/code/modules/computer3/NTOS.dm similarity index 100% rename from code/WorkInProgress/computer3/NTOS.dm rename to code/modules/computer3/NTOS.dm diff --git a/code/WorkInProgress/computer3/bios.dm b/code/modules/computer3/bios.dm similarity index 100% rename from code/WorkInProgress/computer3/bios.dm rename to code/modules/computer3/bios.dm diff --git a/code/WorkInProgress/computer3/buildandrepair.dm b/code/modules/computer3/buildandrepair.dm similarity index 100% rename from code/WorkInProgress/computer3/buildandrepair.dm rename to code/modules/computer3/buildandrepair.dm diff --git a/code/WorkInProgress/computer3/component.dm b/code/modules/computer3/component.dm similarity index 100% rename from code/WorkInProgress/computer3/component.dm rename to code/modules/computer3/component.dm diff --git a/code/WorkInProgress/computer3/computer.dm b/code/modules/computer3/computer.dm similarity index 100% rename from code/WorkInProgress/computer3/computer.dm rename to code/modules/computer3/computer.dm diff --git a/code/WorkInProgress/computer3/computer3_notes.dm b/code/modules/computer3/computer3_notes.dm similarity index 100% rename from code/WorkInProgress/computer3/computer3_notes.dm rename to code/modules/computer3/computer3_notes.dm diff --git a/code/WorkInProgress/computer3/computers/HolodeckControl.dm b/code/modules/computer3/computers/HolodeckControl.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/HolodeckControl.dm rename to code/modules/computer3/computers/HolodeckControl.dm diff --git a/code/WorkInProgress/computer3/computers/Operating.dm b/code/modules/computer3/computers/Operating.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/Operating.dm rename to code/modules/computer3/computers/Operating.dm diff --git a/code/WorkInProgress/computer3/computers/aifixer.dm b/code/modules/computer3/computers/aifixer.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/aifixer.dm rename to code/modules/computer3/computers/aifixer.dm diff --git a/code/WorkInProgress/computer3/computers/arcade.dm b/code/modules/computer3/computers/arcade.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/arcade.dm rename to code/modules/computer3/computers/arcade.dm diff --git a/code/WorkInProgress/computer3/computers/atmos_alert.dm b/code/modules/computer3/computers/atmos_alert.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/atmos_alert.dm rename to code/modules/computer3/computers/atmos_alert.dm diff --git a/code/WorkInProgress/computer3/computers/camera.dm b/code/modules/computer3/computers/camera.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/camera.dm rename to code/modules/computer3/computers/camera.dm diff --git a/code/WorkInProgress/computer3/computers/card.dm b/code/modules/computer3/computers/card.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/card.dm rename to code/modules/computer3/computers/card.dm diff --git a/code/WorkInProgress/computer3/computers/cloning.dm b/code/modules/computer3/computers/cloning.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/cloning.dm rename to code/modules/computer3/computers/cloning.dm diff --git a/code/WorkInProgress/computer3/computers/communications.dm b/code/modules/computer3/computers/communications.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/communications.dm rename to code/modules/computer3/computers/communications.dm diff --git a/code/WorkInProgress/computer3/computers/crew.dm b/code/modules/computer3/computers/crew.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/crew.dm rename to code/modules/computer3/computers/crew.dm diff --git a/code/WorkInProgress/computer3/computers/customs.dm b/code/modules/computer3/computers/customs.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/customs.dm rename to code/modules/computer3/computers/customs.dm diff --git a/code/WorkInProgress/computer3/computers/law.dm b/code/modules/computer3/computers/law.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/law.dm rename to code/modules/computer3/computers/law.dm diff --git a/code/WorkInProgress/computer3/computers/medical.dm b/code/modules/computer3/computers/medical.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/medical.dm rename to code/modules/computer3/computers/medical.dm diff --git a/code/WorkInProgress/computer3/computers/message.dm b/code/modules/computer3/computers/message.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/message.dm rename to code/modules/computer3/computers/message.dm diff --git a/code/WorkInProgress/computer3/computers/power.dm b/code/modules/computer3/computers/power.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/power.dm rename to code/modules/computer3/computers/power.dm diff --git a/code/WorkInProgress/computer3/computers/prisoner.dm b/code/modules/computer3/computers/prisoner.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/prisoner.dm rename to code/modules/computer3/computers/prisoner.dm diff --git a/code/WorkInProgress/computer3/computers/prisonshuttle.dm b/code/modules/computer3/computers/prisonshuttle.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/prisonshuttle.dm rename to code/modules/computer3/computers/prisonshuttle.dm diff --git a/code/WorkInProgress/computer3/computers/robot.dm b/code/modules/computer3/computers/robot.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/robot.dm rename to code/modules/computer3/computers/robot.dm diff --git a/code/WorkInProgress/computer3/computers/scanconsole.dm b/code/modules/computer3/computers/scanconsole.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/scanconsole.dm rename to code/modules/computer3/computers/scanconsole.dm diff --git a/code/WorkInProgress/computer3/computers/security.dm b/code/modules/computer3/computers/security.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/security.dm rename to code/modules/computer3/computers/security.dm diff --git a/code/WorkInProgress/computer3/computers/shuttle.dm b/code/modules/computer3/computers/shuttle.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/shuttle.dm rename to code/modules/computer3/computers/shuttle.dm diff --git a/code/WorkInProgress/computer3/computers/specops_shuttle.dm b/code/modules/computer3/computers/specops_shuttle.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/specops_shuttle.dm rename to code/modules/computer3/computers/specops_shuttle.dm diff --git a/code/WorkInProgress/computer3/computers/station_alert.dm b/code/modules/computer3/computers/station_alert.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/station_alert.dm rename to code/modules/computer3/computers/station_alert.dm diff --git a/code/WorkInProgress/computer3/computers/syndicate_shuttle.dm b/code/modules/computer3/computers/syndicate_shuttle.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/syndicate_shuttle.dm rename to code/modules/computer3/computers/syndicate_shuttle.dm diff --git a/code/WorkInProgress/computer3/computers/syndicate_specops_shuttle.dm b/code/modules/computer3/computers/syndicate_specops_shuttle.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/syndicate_specops_shuttle.dm rename to code/modules/computer3/computers/syndicate_specops_shuttle.dm diff --git a/code/WorkInProgress/computer3/computers/welcome.dm b/code/modules/computer3/computers/welcome.dm similarity index 100% rename from code/WorkInProgress/computer3/computers/welcome.dm rename to code/modules/computer3/computers/welcome.dm diff --git a/code/WorkInProgress/computer3/file.dm b/code/modules/computer3/file.dm similarity index 100% rename from code/WorkInProgress/computer3/file.dm rename to code/modules/computer3/file.dm diff --git a/code/WorkInProgress/computer3/laptop.dm b/code/modules/computer3/laptop.dm similarity index 100% rename from code/WorkInProgress/computer3/laptop.dm rename to code/modules/computer3/laptop.dm diff --git a/code/WorkInProgress/computer3/lapvend.dm b/code/modules/computer3/lapvend.dm similarity index 100% rename from code/WorkInProgress/computer3/lapvend.dm rename to code/modules/computer3/lapvend.dm diff --git a/code/WorkInProgress/computer3/networking.dm b/code/modules/computer3/networking.dm similarity index 100% rename from code/WorkInProgress/computer3/networking.dm rename to code/modules/computer3/networking.dm diff --git a/code/WorkInProgress/computer3/program.dm b/code/modules/computer3/program.dm similarity index 100% rename from code/WorkInProgress/computer3/program.dm rename to code/modules/computer3/program.dm diff --git a/code/WorkInProgress/computer3/program_disks.dm b/code/modules/computer3/program_disks.dm similarity index 100% rename from code/WorkInProgress/computer3/program_disks.dm rename to code/modules/computer3/program_disks.dm diff --git a/code/WorkInProgress/computer3/server.dm b/code/modules/computer3/server.dm similarity index 100% rename from code/WorkInProgress/computer3/server.dm rename to code/modules/computer3/server.dm diff --git a/code/WorkInProgress/computer3/storage.dm b/code/modules/computer3/storage.dm similarity index 100% rename from code/WorkInProgress/computer3/storage.dm rename to code/modules/computer3/storage.dm diff --git a/code/WorkInProgress/computer3/test_machines.dm b/code/modules/computer3/test_machines.dm similarity index 100% rename from code/WorkInProgress/computer3/test_machines.dm rename to code/modules/computer3/test_machines.dm diff --git a/code/WorkInProgress/computer3/upload/lawfile.dm b/code/modules/computer3/upload/lawfile.dm similarity index 100% rename from code/WorkInProgress/computer3/upload/lawfile.dm rename to code/modules/computer3/upload/lawfile.dm diff --git a/code/WorkInProgress/computer3/upload/programs.dm b/code/modules/computer3/upload/programs.dm similarity index 100% rename from code/WorkInProgress/computer3/upload/programs.dm rename to code/modules/computer3/upload/programs.dm diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/falsewall.dm b/code/modules/jungle/falsewall.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Jungle/falsewall.dm rename to code/modules/jungle/falsewall.dm diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dm b/code/modules/jungle/jungle.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dm rename to code/modules/jungle/jungle.dm diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi b/code/modules/jungle/jungle.dmi similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Jungle/jungle.dmi rename to code/modules/jungle/jungle.dmi diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_animals.dm b/code/modules/jungle/jungle_animals.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Jungle/jungle_animals.dm rename to code/modules/jungle/jungle_animals.dm diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_plants.dm b/code/modules/jungle/jungle_plants.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Jungle/jungle_plants.dm rename to code/modules/jungle/jungle_plants.dm diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_temple.dm b/code/modules/jungle/jungle_temple.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Jungle/jungle_temple.dm rename to code/modules/jungle/jungle_temple.dm diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_tribe.dm b/code/modules/jungle/jungle_tribe.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Jungle/jungle_tribe.dm rename to code/modules/jungle/jungle_tribe.dm diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/jungle_turfs.dm b/code/modules/jungle/jungle_turfs.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Jungle/jungle_turfs.dm rename to code/modules/jungle/jungle_turfs.dm diff --git a/code/WorkInProgress/Cael_Aislinn/Jungle/misc_helpers.dm b/code/modules/jungle/misc_helpers.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/Jungle/misc_helpers.dm rename to code/modules/jungle/misc_helpers.dm diff --git a/code/WorkInProgress/ZomgPonies/mobs/pony.dm b/code/modules/mob/living/simple_animal/pony.dm similarity index 100% rename from code/WorkInProgress/ZomgPonies/mobs/pony.dm rename to code/modules/mob/living/simple_animal/pony.dm diff --git a/code/modules/research/designs/bluespace_designs.dm b/code/modules/research/designs/bluespace_designs.dm index 1a3711b3f3e..54fe591a901 100644 --- a/code/modules/research/designs/bluespace_designs.dm +++ b/code/modules/research/designs/bluespace_designs.dm @@ -23,8 +23,19 @@ build_path = /obj/item/weapon/storage/backpack/holding category = list("Bluespace") +/datum/design/bluespace_belt + name = "Belt of Holding" + desc = "An astonishingly complex belt popularized by a rich blue-space technology magnate." + id = "bluespace_belt" + req_tech = list("bluespace" = 4, "materials" = 6) + build_type = PROTOLATHE + materials = list("$gold" = 1500, "$diamond" = 3000, "$uranium" = 1000) + reliability_base = 80 + build_path = /obj/item/weapon/storage/belt/bluespace + category = list("Bluespace") + /datum/design/bluespacebeaker - name = "bluespace beaker" + name = "Bluespace Beaker" desc = "A bluespace beaker, powered by experimental bluespace technology and Element Cuban combined with the Compound Pete. Can hold up to 300 units." id = "bluespacebeaker" req_tech = list("bluespace" = 2, "materials" = 6) diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 41ae598a7ce..4567d00bfde 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -261,6 +261,16 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/arcade/orion_trail category = list("Misc. Machinery") + +/datum/design/programmable + name = "Machine Board (Programmable Unloader)" + desc = "The circuit board for a Programmable Unloader." + id = "selunload" + req_tech = list("programming" = 5) + build_type = IMPRINTER + materials = list("$glass" = 2000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/programmable + category = list("Misc. Machinery") /datum/design/vendor name = "Machine Board (Vendor)" diff --git a/code/WorkInProgress/Cael_Aislinn/ShieldGen/circuits_and_designs.dm b/code/modules/shieldgen/circuits_and_designs.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/ShieldGen/circuits_and_designs.dm rename to code/modules/shieldgen/circuits_and_designs.dm diff --git a/code/WorkInProgress/Cael_Aislinn/ShieldGen/energy_field.dm b/code/modules/shieldgen/energy_field.dm similarity index 96% rename from code/WorkInProgress/Cael_Aislinn/ShieldGen/energy_field.dm rename to code/modules/shieldgen/energy_field.dm index 4ebfda0024d..a5519fbf70a 100644 --- a/code/WorkInProgress/Cael_Aislinn/ShieldGen/energy_field.dm +++ b/code/modules/shieldgen/energy_field.dm @@ -1,55 +1,55 @@ - -//---------- actual energy field - -/obj/effect/energy_field - name = "energy field" - desc = "Impenetrable field of energy, capable of blocking anything as long as it's active." - icon = 'code/WorkInProgress/Cael_Aislinn/ShieldGen/shielding.dmi' - icon_state = "shieldsparkles" - anchored = 1 - layer = 4.1 //just above mobs - density = 0 - invisibility = 101 - var/strength = 0 - -/obj/effect/energy_field/ex_act(var/severity) - Stress(0.5 + severity) - -/obj/effect/energy_field/bullet_act(var/obj/item/projectile/Proj) - Stress(Proj.damage / 10) - -/obj/effect/energy_field/meteorhit(obj/effect/meteor/M as obj) - if(M) - walk(M,0) - Stress(2) - -/obj/effect/energy_field/proc/Stress(var/severity) - strength -= severity - - //if we take too much damage, drop out - the generator will bring us back up if we have enough power - if(strength < 1) - invisibility = 101 - density = 0 - else if(strength >= 1) - invisibility = 0 - density = 1 - -/obj/effect/energy_field/proc/Strengthen(var/severity) - strength += severity - - //if we take too much damage, drop out - the generator will bring us back up if we have enough power - if(strength >= 1) - invisibility = 0 - density = 1 - else if(strength < 1) - invisibility = 101 - density = 0 - -/obj/effect/energy_field/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0) - //Purpose: Determines if the object (or airflow) can pass this atom. - //Called by: Movement, airflow. - //Inputs: The moving atom (optional), target turf, "height" and air group - //Outputs: Boolean if can pass. - - //return (!density || !height || air_group) - return !density + +//---------- actual energy field + +/obj/effect/energy_field + name = "energy field" + desc = "Impenetrable field of energy, capable of blocking anything as long as it's active." + icon = 'code/WorkInProgress/Cael_Aislinn/ShieldGen/shielding.dmi' + icon_state = "shieldsparkles" + anchored = 1 + layer = 4.1 //just above mobs + density = 0 + invisibility = 101 + var/strength = 0 + +/obj/effect/energy_field/ex_act(var/severity) + Stress(0.5 + severity) + +/obj/effect/energy_field/bullet_act(var/obj/item/projectile/Proj) + Stress(Proj.damage / 10) + +/obj/effect/energy_field/meteorhit(obj/effect/meteor/M as obj) + if(M) + walk(M,0) + Stress(2) + +/obj/effect/energy_field/proc/Stress(var/severity) + strength -= severity + + //if we take too much damage, drop out - the generator will bring us back up if we have enough power + if(strength < 1) + invisibility = 101 + density = 0 + else if(strength >= 1) + invisibility = 0 + density = 1 + +/obj/effect/energy_field/proc/Strengthen(var/severity) + strength += severity + + //if we take too much damage, drop out - the generator will bring us back up if we have enough power + if(strength >= 1) + invisibility = 0 + density = 1 + else if(strength < 1) + invisibility = 101 + density = 0 + +/obj/effect/energy_field/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0) + //Purpose: Determines if the object (or airflow) can pass this atom. + //Called by: Movement, airflow. + //Inputs: The moving atom (optional), target turf, "height" and air group + //Outputs: Boolean if can pass. + + //return (!density || !height || air_group) + return !density diff --git a/code/WorkInProgress/Cael_Aislinn/ShieldGen/shield_capacitor.dm b/code/modules/shieldgen/shield_capacitor.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/ShieldGen/shield_capacitor.dm rename to code/modules/shieldgen/shield_capacitor.dm diff --git a/code/WorkInProgress/Cael_Aislinn/ShieldGen/shield_gen.dm b/code/modules/shieldgen/shield_gen.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/ShieldGen/shield_gen.dm rename to code/modules/shieldgen/shield_gen.dm diff --git a/code/WorkInProgress/Cael_Aislinn/ShieldGen/shield_gen_external.dm b/code/modules/shieldgen/shield_gen_external.dm similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/ShieldGen/shield_gen_external.dm rename to code/modules/shieldgen/shield_gen_external.dm diff --git a/code/WorkInProgress/Cael_Aislinn/ShieldGen/shielding.dmi b/code/modules/shieldgen/shielding.dmi similarity index 100% rename from code/WorkInProgress/Cael_Aislinn/ShieldGen/shielding.dmi rename to code/modules/shieldgen/shielding.dmi diff --git a/code/unused/AI_Visibility.dm b/code/unused/AI_Visibility.dm deleted file mode 100644 index d218f4409b8..00000000000 --- a/code/unused/AI_Visibility.dm +++ /dev/null @@ -1,310 +0,0 @@ -//All credit for this goes to Uristqwerty. - -/turf - var/image/obscured - var/image/dim - -/turf/proc/visibilityChanged() - cameranet.updateVisibility(src) - -/datum/camerachunk - var/list/obscuredTurfs = list() - var/list/visibleTurfs = list() - var/list/dimTurfs = list() - var/list/obscured = list() - var/list/dim = list() - var/list/cameras = list() - var/list/turfs = list() - var/list/seenby = list() - var/visible = 0 - var/changed = 0 - var/updating = 0 - -/mob/aiEye - var/list/visibleCameraChunks = list() - var/mob/ai = null - density = 0 - -/datum/camerachunk/proc/add(mob/aiEye/ai) - ai.visibleCameraChunks += src - if(ai.ai.client) - ai.ai.client.images += obscured - ai.ai.client.images += dim - visible++ - seenby += ai - if(changed && !updating) - update() - -/datum/camerachunk/proc/remove(mob/aiEye/ai) - ai.visibleCameraChunks -= src - if(ai.ai.client) - ai.ai.client.images -= obscured - ai.ai.client.images -= dim - seenby -= ai - if(visible > 0) - visible-- - -/datum/camerachunk/proc/visibilityChanged(turf/loc) - if(!(loc in visibleTurfs)) - return - - hasChanged() - -/datum/camerachunk/proc/hasChanged() - if(visible) - if(!updating) - updating = 1 - spawn(10)//Batch large changes, such as many doors opening or closing at once - update() - updating = 0 - else - changed = 1 - -/datum/camerachunk/proc/update() - var/list/newDimTurfs = list() - var/list/newVisibleTurfs = list() - - for(var/obj/machinery/camera/c in cameras) - var/lum = c.luminosity - c.luminosity = 6 - for(var/turf/t in view(7, c)) - if(t in turfs) - newDimTurfs += t - - for(var/turf/t in view(6, c)) - if(t in turfs) - newVisibleTurfs += t - - c.luminosity = lum - - var/list/dimAdded = newDimTurfs - dimTurfs - var/list/dimRemoved = dimTurfs - newDimTurfs - var/list/visAdded = newVisibleTurfs - visibleTurfs - var/list/visRemoved = visibleTurfs - newVisibleTurfs - - visibleTurfs = newVisibleTurfs - dimTurfs = newDimTurfs - obscuredTurfs = turfs - dimTurfs - dimTurfs -= visibleTurfs - - for(var/turf/t in dimRemoved) - if(t.dim) - dim -= t.dim - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images -= t.dim - - if(!(t in visibleTurfs)) - if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) - - obscured += t.obscured - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images += t.obscured - - for(var/turf/t in dimAdded) - if(!(t in visibleTurfs)) - if(!t.dim) - t.dim = image('icons/effects/cameravis.dmi', t, "dim", 15) - t.mouse_opacity = 0 - - dim += t.dim - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images += t.dim - - if(t.obscured) - obscured -= t.obscured - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images -= t.obscured - - for(var/turf/t in visAdded) - if(t.obscured) - obscured -= t.obscured - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images -= t.obscured - - for(var/turf/t in visRemoved) - if(t in obscuredTurfs) - if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) - - obscured += t.obscured - for(var/mob/aiEye/m in seenby) - if(m.ai.client) - m.ai.client.images += t.obscured - - - -/datum/camerachunk/New(loc, x, y, z) - x &= ~0xf - y &= ~0xf - - for(var/obj/machinery/camera/c in range(16, locate(x + 8, y + 8, z))) - if(c.status) - cameras += c - - for(var/turf/t in range(10, locate(x + 8, y + 8, z))) - if(t.x >= x && t.y >= y && t.x < x + 16 && t.y < y + 16) - turfs += t - - for(var/obj/machinery/camera/c in cameras) - var/lum = c.luminosity - c.luminosity = 6 - for(var/turf/t in view(7, c)) - if(t in turfs) - dimTurfs += t - - for(var/turf/t in view(6, c)) - if(t in turfs) - visibleTurfs += t - - c.luminosity = lum - - obscuredTurfs = turfs - dimTurfs - dimTurfs -= visibleTurfs - - for(var/turf/t in obscuredTurfs) - if(!t.obscured) - t.obscured = image('icons/effects/cameravis.dmi', t, "black", 15) - - obscured += t.obscured - - for(var/turf/t in dimTurfs) - if(!(t in visibleTurfs)) - if(!t.dim) - t.dim = image('icons/effects/cameravis.dmi', t, "dim", TURF_LAYER) - - dim += t.dim - -var/datum/cameranet/cameranet = new() - -/datum/cameranet - var/list/cameras = list() - var/list/chunks = list() - var/network = "net1" - var/ready = 0 - -/datum/cameranet/New() - ..() - -/datum/cameranet/proc/chunkGenerated(x, y, z) - var/key = "[x],[y],[z]" - return key in chunks - -/datum/cameranet/proc/getCameraChunk(x, y, z) - var/key = "[x],[y],[z]" - - if(!(key in chunks)) - chunks[key] = new /datum/camerachunk(null, x, y, z) - - return chunks[key] - -/datum/cameranet/proc/visibility(mob/aiEye/ai) - var/x1 = max(0, ai.x - 16) & ~0xf - var/y1 = max(0, ai.y - 16) & ~0xf - var/x2 = min(world.maxx, ai.x + 16) & ~0xf - var/y2 = min(world.maxy, ai.y + 16) & ~0xf - - var/list/visibleChunks = list() - - for(var/x = x1; x <= x2; x += 16) - for(var/y = y1; y <= y2; y += 16) - visibleChunks += getCameraChunk(x, y, ai.z) - - var/list/remove = ai.visibleCameraChunks - visibleChunks - var/list/add = visibleChunks - ai.visibleCameraChunks - - for(var/datum/camerachunk/c in remove) - c.remove(ai) - - for(var/datum/camerachunk/c in add) - c.add(ai) - -/datum/cameranet/proc/updateVisibility(turf/loc) - if(!chunkGenerated(loc.x & ~0xf, loc.y & ~0xf, loc.z)) - return - - var/datum/camerachunk/chunk = getCameraChunk(loc.x & ~0xf, loc.y & ~0xf, loc.z) - chunk.visibilityChanged(loc) - -/datum/cameranet/proc/addCamera(obj/machinery/camera/c) - var/x1 = max(0, c.x - 16) & ~0xf - var/y1 = max(0, c.y - 16) & ~0xf - var/x2 = min(world.maxx, c.x + 16) & ~0xf - var/y2 = min(world.maxy, c.y + 16) & ~0xf - - for(var/x = x1; x <= x2; x += 16) - for(var/y = y1; y <= y2; y += 16) - if(chunkGenerated(x, y, c.z)) - var/datum/camerachunk/chunk = getCameraChunk(x, y, c.z) - if(!(c in chunk.cameras)) - chunk.cameras += c - chunk.hasChanged() - - -/mob/living/silicon/ai/var/mob/aiEye/eyeobj = new() - -/mob/living/silicon/ai/New() - ..() - eyeobj.ai = src - -/mob/living/silicon/ai/verb/freelook() - set category = "AI Commands" - set name = "freelook" - current = null //cancel camera view first, it causes problems - cameraFollow = null - machine = null - if(client.eye == eyeobj) - client.eye = src - for(var/datum/camerachunk/c in eyeobj.visibleCameraChunks) - c.remove(eyeobj) - else - client.eye = eyeobj - eyeobj.loc = loc - cameranet.visibility(eyeobj) - cameraFollow = null -/mob/aiEye/Move() - . = ..() - if(.) - cameranet.visibility(src) - -/client/AIMove(n, direct, var/mob/living/silicon/ai/user) - if(eye == user.eyeobj) - user.eyeobj.loc = get_step(user.eyeobj, direct) - cameranet.visibility(user.eyeobj) - - else - return ..() - -/* -/client/AIMoveZ(direct, var/mob/living/silicon/ai/user) - if(eye == user.eyeobj) - var/dif = 0 - if(direct == UP && user.eyeobj.z > 1) - dif = -1 - else if(direct == DOWN && user.eyeobj.z < 4) - dif = 1 - user.eyeobj.loc = locate(user.eyeobj.x, user.eyeobj.y, user.eyeobj.z + dif) - cameranet.visibility(user.eyeobj) - else - return ..() -*/ - -/turf/move_camera_by_click() - if(istype(usr, /mob/living/silicon/ai)) - var/mob/living/silicon/ai/AI = usr - if(AI.client.eye == AI.eyeobj) - return - return ..() - -/obj/machinery/door/update_nearby_tiles(need_rebuild) - . = ..(need_rebuild) - cameranet.updateVisibility(loc) - -/obj/machinery/camera/New() - ..() - cameranet.addCamera(src) \ No newline at end of file diff --git a/code/unused/Agouri_stuff.dm b/code/unused/Agouri_stuff.dm deleted file mode 100644 index 391c44229bc..00000000000 --- a/code/unused/Agouri_stuff.dm +++ /dev/null @@ -1,1949 +0,0 @@ -/* -/obj/vehicle/airtight - //inner atmos - var/use_internal_tank = 0 - var/internal_tank_valve = ONE_ATMOSPHERE - var/obj/machinery/portable_atmospherics/canister/internal_tank - var/datum/gas_mixture/cabin_air - var/obj/machinery/atmospherics/portables_connector/connected_port = null - - var/datum/global_iterator/pr_int_temp_processor //normalizes internal air mixture temperature - var/datum/global_iterator/pr_give_air //moves air from tank to cabin - - -/obj/vehicle/airtight/New() - ..() - src.add_airtank() - src.add_cabin() - src.add_airtight_iterators() - - - - -//######################################### Helpers for airtight vehicles ######################################### - -/obj/vehicle/airtight/proc/add_cabin() - cabin_air = new - cabin_air.temperature = T20C - cabin_air.volume = 200 - cabin_air.oxygen = O2STANDARD*cabin_air.volume/(R_IDEAL_GAS_EQUATION*cabin_air.temperature) - cabin_air.nitrogen = N2STANDARD*cabin_air.volume/(R_IDEAL_GAS_EQUATION*cabin_air.temperature) - return cabin_air - -/obj/vehicle/airtight/proc/add_airtank() - internal_tank = new /obj/machinery/portable_atmospherics/canister/air(src) - return internal_tank - -/obj/vehicle/airtight/proc/add_airtight_iterators() - pr_int_temp_processor = new /datum/global_iterator/vehicle_preserve_temp(list(src)) - pr_give_air = new /datum/global_iterator/vehicle_tank_give_air(list(src)) - - -//######################################### Specific datums for airtight vehicles ################################# - - -/datum/global_iterator/vehicle_preserve_temp //normalizing cabin air temperature to 20 degrees celsium - delay = 20 - - process(var/obj/vehicle/airtight/V) - if(V.cabin_air && V.cabin_air.return_volume() > 0) - var/delta = V.cabin_air.temperature - T20C - V.cabin_air.temperature -= max(-10, min(10, round(delta/4,0.1))) - return - - -/datum/global_iterator/vehicle_tank_give_air - delay = 15 - - process(var/obj/vehicle/airtight/V) - if(V.internal_tank) - var/datum/gas_mixture/tank_air = V.internal_tank.return_air() - var/datum/gas_mixture/cabin_air = V.cabin_air - - var/release_pressure = V.internal_tank_valve - var/cabin_pressure = cabin_air.return_pressure() - var/pressure_delta = min(release_pressure - cabin_pressure, (tank_air.return_pressure() - cabin_pressure)/2) - var/transfer_moles = 0 - if(pressure_delta > 0) //cabin pressure lower than release pressure - if(tank_air.return_temperature() > 0) - transfer_moles = pressure_delta*cabin_air.return_volume()/(cabin_air.return_temperature() * R_IDEAL_GAS_EQUATION) - var/datum/gas_mixture/removed = tank_air.remove(transfer_moles) - cabin_air.merge(removed) - else if(pressure_delta < 0) //cabin pressure higher than release pressure - var/datum/gas_mixture/t_air = V.get_turf_air() - pressure_delta = cabin_pressure - release_pressure - if(t_air) - pressure_delta = min(cabin_pressure - t_air.return_pressure(), pressure_delta) - if(pressure_delta > 0) //if location pressure is lower than cabin pressure - transfer_moles = pressure_delta*cabin_air.return_volume()/(cabin_air.return_temperature() * R_IDEAL_GAS_EQUATION) - var/datum/gas_mixture/removed = cabin_air.remove(transfer_moles) - if(t_air) - t_air.merge(removed) - else //just delete the cabin gas, we're in space or some shit - del(removed) - else - return stop() - return - - -//######################################### Atmospherics for vehicles ############################################# - - -/obj/vehicle/proc/get_turf_air() - var/turf/T = get_turf(src) - if(T) - . = T.return_air() - return - -/obj/vehicle/airtight/remove_air(amount) - if(use_internal_tank) - return cabin_air.remove(amount) - else - var/turf/T = get_turf(src) - if(T) - return T.remove_air(amount) - return - -/obj/vehicle/airtight/return_air() - if(use_internal_tank) - return cabin_air - return get_turf_air() - -/obj/vehicle/airtight/proc/return_pressure() - . = 0 - if(use_internal_tank) - . = cabin_air.return_pressure() - else - var/datum/gas_mixture/t_air = get_turf_air() - if(t_air) - . = t_air.return_pressure() - return - - -/obj/vehicle/airtight/proc/return_temperature() - . = 0 - if(use_internal_tank) - . = cabin_air.return_temperature() - else - var/datum/gas_mixture/t_air = get_turf_air() - if(t_air) - . = t_air.return_temperature() - return - -/obj/vehicle/airtight/proc/connect(obj/machinery/atmospherics/portables_connector/new_port) - //Make sure not already connected to something else - if(connected_port || !new_port || new_port.connected_device) - return 0 - - //Make sure are close enough for a valid connection - if(new_port.loc != src.loc) - return 0 - - //Perform the connection - connected_port = new_port - connected_port.connected_device = src - - //Actually enforce the air sharing - var/datum/pipe_network/network = connected_port.return_network(src) - if(network && !(internal_tank.return_air() in network.gases)) - network.gases += internal_tank.return_air() - network.update = 1 - log_message("Vehicle airtank connected to external port.") - return 1 - -/obj/vehicle/airtight/proc/disconnect() - if(!connected_port) - return 0 - - var/datum/pipe_network/network = connected_port.return_network(src) - if(network) - network.gases -= internal_tank.return_air() - - connected_port.connected_device = null - connected_port = null - src.log_message("Vehicle airtank disconnected from external port.") - return 1 - - - - -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// - - - -/obj/vehicle - name = "Vehicle" - icon = 'icons/vehicles/vehicles.dmi' - density = 1 - anchored = 1 - unacidable = 1 //To avoid the pilot-deleting shit that came with mechas - layer = MOB_LAYER - //var/can_move = 1 - var/mob/living/carbon/occupant = null - //var/step_in = 10 //make a step in step_in/10 sec. - //var/dir_in = 2//What direction will the mech face when entered/powered on? Defaults to South. - //var/step_energy_drain = 10 - var/health = 300 //health is health - //var/deflect_chance = 10 //chance to deflect the incoming projectiles, hits, or lesser the effect of ex_act. - //the values in this list show how much damage will pass through, not how much will be absorbed. - var/list/damage_absorption = list("brute"=0.8,"fire"=1.2,"bullet"=0.9,"laser"=1,"energy"=1,"bomb"=1) - var/obj/item/weapon/cell/cell //Our power source - var/state = 0 - var/list/log = new - var/last_message = 0 - var/add_req_access = 1 - var/maint_access = 1 - //var/dna //dna-locking the mech - var/list/proc_res = list() //stores proc owners, like proc_res["functionname"] = owner reference - var/datum/effect/effect/system/spark_spread/spark_system = new - var/lights = 0 - var/lights_power = 6 - - //inner atmos //These go in airtight.dm, not all vehicles are space-faring -Agouri - //var/use_internal_tank = 0 - //var/internal_tank_valve = ONE_ATMOSPHERE - //var/obj/machinery/portable_atmospherics/canister/internal_tank - //var/datum/gas_mixture/cabin_air - //var/obj/machinery/atmospherics/portables_connector/connected_port = null - - var/obj/item/device/radio/radio = null - - var/max_temperature = 2500 - //var/internal_damage_threshold = 50 //health percentage below which internal damage is possible - var/internal_damage = 0 //contains bitflags - - var/list/operation_req_access = list()//required access level for mecha operation - var/list/internals_req_access = list(access_engine,access_robotics)//required access level to open cell compartment - - //var/datum/global_iterator/pr_int_temp_processor //normalizes internal air mixture temperature //In airtight.dm you go -Agouri - var/datum/global_iterator/pr_inertial_movement //controls intertial movement in spesss - - //var/datum/global_iterator/pr_give_air //moves air from tank to cabin //Y-you too -Agouri - - var/datum/global_iterator/pr_internal_damage //processes internal damage - - - var/wreckage - - var/list/equipment = new - var/obj/selected - //var/max_equip = 3 - - var/datum/events/events - - - -/obj/vehicle/New() - ..() - events = new - icon_state += "-unmanned" - add_radio() - //add_cabin() //No cabin for non-airtights - - spark_system.set_up(2, 0, src) - spark_system.attach(src) - add_cell() - add_iterators() - removeVerb(/obj/mecha/verb/disconnect_from_port) - removeVerb(/atom/movable/verb/pull) - log_message("[src.name]'s functions initialised. Work protocols active - Entering IDLE mode.") - loc.Entered(src) - return - - -//################ Helpers ########################################################### - - -/obj/vehicle/proc/removeVerb(verb_path) - verbs -= verb_path - -/obj/vehicle/proc/addVerb(verb_path) - verbs += verb_path - -/*/obj/vehicle/proc/add_airtank() //In airtight.dm -Agouri - internal_tank = new /obj/machinery/portable_atmospherics/canister/air(src) - return internal_tank*/ - -/obj/vehicle/proc/add_cell(var/obj/item/weapon/cell/C=null) - if(C) - C.forceMove(src) - cell = C - return - cell = new(src) - cell.charge = 15000 - cell.maxcharge = 15000 - -/*/obj/vehicle/proc/add_cabin() //In airtight.dm -Agouri - cabin_air = new - cabin_air.temperature = T20C - cabin_air.volume = 200 - cabin_air.oxygen = O2STANDARD*cabin_air.volume/(R_IDEAL_GAS_EQUATION*cabin_air.temperature) - cabin_air.nitrogen = N2STANDARD*cabin_air.volume/(R_IDEAL_GAS_EQUATION*cabin_air.temperature) - return cabin_air*/ - -/obj/vehicle/proc/add_radio() - radio = new(src) - radio.name = "[src] radio" - radio.icon = icon - radio.icon_state = icon_state - radio.subspace_transmission = 1 - -/obj/vehicle/proc/add_iterators() - pr_inertial_movement = new /datum/global_iterator/vehicle_intertial_movement(null,0) - //pr_internal_damage = new /datum/global_iterator/vehicle_internal_damage(list(src),0) - //pr_int_temp_processor = new /datum/global_iterator/vehicle_preserve_temp(list(src)) //In airtight.dm's add_airtight_iterators -Agouri - //pr_give_air = new /datum/global_iterator/vehicle_tank_give_air(list(src) //Same here -Agouri - -/obj/vehicle/proc/check_for_support() - if(locate(/obj/structure/grille, orange(1, src)) || locate(/obj/structure/lattice, orange(1, src)) || locate(/turf/simulated, orange(1, src)) || locate(/turf/unsimulated, orange(1, src))) - return 1 - else - return 0 - -//################ Logs and messages ############################################ - - -/obj/vehicle/proc/log_message(message as text,red=null) - log.len++ - log[log.len] = list("time"=world.timeofday,"message"="[red?"":null][message][red?"":null]") - return log.len - - - -//################ Global Iterator Datums ###################################### - - -/datum/global_iterator/vehicle_intertial_movement //inertial movement in space - delay = 7 - - process(var/obj/vehicle/V as obj, direction) - if(direction) - if(!step(V, direction)||V.check_for_support()) - src.stop() - else - src.stop() - return - - -/datum/global_iterator/mecha_internal_damage // processing internal damage - - process(var/obj/mecha/mecha) - if(!mecha.hasInternalDamage()) - return stop() - if(mecha.hasInternalDamage(MECHA_INT_FIRE)) - if(!mecha.hasInternalDamage(MECHA_INT_TEMP_CONTROL) && prob(5)) - mecha.clearInternalDamage(MECHA_INT_FIRE) - if(mecha.internal_tank) - if(mecha.internal_tank.return_pressure()>mecha.internal_tank.maximum_pressure && !(mecha.hasInternalDamage(MECHA_INT_TANK_BREACH))) - mecha.setInternalDamage(MECHA_INT_TANK_BREACH) - var/datum/gas_mixture/int_tank_air = mecha.internal_tank.return_air() - if(int_tank_air && int_tank_air.return_volume()>0) //heat the air_contents - int_tank_air.temperature = min(6000+T0C, int_tank_air.temperature+rand(10,15)) - if(mecha.cabin_air && mecha.cabin_air.return_volume()>0) - mecha.cabin_air.temperature = min(6000+T0C, mecha.cabin_air.return_temperature()+rand(10,15)) - if(mecha.cabin_air.return_temperature()>mecha.max_temperature/2) - mecha.take_damage(4/round(mecha.max_temperature/mecha.cabin_air.return_temperature(),0.1),"fire") - if(mecha.hasInternalDamage(MECHA_INT_TEMP_CONTROL)) //stop the mecha_preserve_temp loop datum - mecha.pr_int_temp_processor.stop() - if(mecha.hasInternalDamage(MECHA_INT_TANK_BREACH)) //remove some air from internal tank - if(mecha.internal_tank) - var/datum/gas_mixture/int_tank_air = mecha.internal_tank.return_air() - var/datum/gas_mixture/leaked_gas = int_tank_air.remove_ratio(0.10) - if(mecha.loc && hascall(mecha.loc,"assume_air")) - mecha.loc.assume_air(leaked_gas) - else - del(leaked_gas) - if(mecha.hasInternalDamage(MECHA_INT_SHORT_CIRCUIT)) - if(mecha.get_charge()) - mecha.spark_system.start() - mecha.cell.charge -= min(20,mecha.cell.charge) - mecha.cell.maxcharge -= min(20,mecha.cell.maxcharge) - return - - -*/ - - - - - -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// - - - - -/*/turf/DblClick() - if(istype(usr, /mob/living/silicon/ai)) - return move_camera_by_click() - if(usr.stat || usr.restrained() || usr.lying) - return ..() - - if(usr.hand && istype(usr.l_hand, /obj/item/weapon/flamethrower)) - var/turflist = getline(usr,src) - var/obj/item/weapon/flamethrower/F = usr.l_hand - F.flame_turf(turflist) - else if(!usr.hand && istype(usr.r_hand, /obj/item/weapon/flamethrower)) - var/turflist = getline(usr,src) - var/obj/item/weapon/flamethrower/F = usr.r_hand - F.flame_turf(turflist) - - return ..() - -/turf/New() - ..() - for(var/atom/movable/AM as mob|obj in src) - spawn( 0 ) - src.Entered(AM) - return - return - -/turf/ex_act(severity) - return 0 - - -/turf/bullet_act(var/obj/item/projectile/Proj) - if(istype(Proj ,/obj/item/projectile/beam/pulse)) - src.ex_act(2) - ..() - return 0 - -/turf/bullet_act(var/obj/item/projectile/Proj) - if(istype(Proj ,/obj/item/projectile/bullet/gyro)) - explosion(src, -1, 0, 2) - ..() - return 0 - -/turf/Enter(atom/movable/mover as mob|obj, atom/forget as mob|obj|turf|area) - if (!mover || !isturf(mover.loc)) - return 1 - - - //First, check objects to block exit that are not on the border - for(var/obj/obstacle in mover.loc) - if((obstacle.flags & ~ON_BORDER) && (mover != obstacle) && (forget != obstacle)) - if(!obstacle.CheckExit(mover, src)) - mover.Bump(obstacle, 1) - return 0 - - //Now, check objects to block exit that are on the border - for(var/obj/border_obstacle in mover.loc) - if((border_obstacle.flags & ON_BORDER) && (mover != border_obstacle) && (forget != border_obstacle)) - if(!border_obstacle.CheckExit(mover, src)) - mover.Bump(border_obstacle, 1) - return 0 - - //Next, check objects to block entry that are on the border - for(var/obj/border_obstacle in src) - if(border_obstacle.flags & ON_BORDER) - if(!border_obstacle.CanPass(mover, mover.loc, 1, 0) && (forget != border_obstacle)) - mover.Bump(border_obstacle, 1) - return 0 - - //Then, check the turf itself - if (!src.CanPass(mover, src)) - mover.Bump(src, 1) - return 0 - - //Finally, check objects/mobs to block entry that are not on the border - for(var/atom/movable/obstacle in src) - if(obstacle.flags & ~ON_BORDER) - if(!obstacle.CanPass(mover, mover.loc, 1, 0) && (forget != obstacle)) - mover.Bump(obstacle, 1) - return 0 - return 1 //Nothing found to block so return success! - - -/turf/Entered(atom/movable/M as mob|obj) - var/loopsanity = 100 - if(ismob(M)) - if(!M:lastarea) - M:lastarea = get_area(M.loc) - if(M:lastarea.has_gravity == 0) - inertial_drift(M) - - /* - if(M.flags & NOGRAV) - inertial_drift(M) - */ - - - - else if(!istype(src, /turf/space)) - M:inertia_dir = 0 - ..() - var/objects = 0 - for(var/atom/A as mob|obj|turf|area in src) - if(objects > loopsanity) break - objects++ - spawn( 0 ) - if ((A && M)) - A.HasEntered(M, 1) - return - objects = 0 - for(var/atom/A as mob|obj|turf|area in range(1)) - if(objects > loopsanity) break - objects++ - spawn( 0 ) - if ((A && M)) - A.HasProximity(M, 1) - return - return - -/turf/proc/inertial_drift(atom/movable/A as mob|obj) - if(!(A.last_move)) return - if((istype(A, /mob/) && src.x > 2 && src.x < (world.maxx - 1) && src.y > 2 && src.y < (world.maxy-1))) - var/mob/M = A - if(M.Process_Spacemove(1)) - M.inertia_dir = 0 - return - spawn(5) - if((M && !(M.anchored) && (M.loc == src))) - if(M.inertia_dir) - step(M, M.inertia_dir) - return - M.inertia_dir = M.last_move - step(M, M.inertia_dir) - return - -/turf/proc/levelupdate() - for(var/obj/O in src) - if(O.level == 1) - O.hide(src.intact) - -// override for space turfs, since they should never hide anything -/turf/space/levelupdate() - for(var/obj/O in src) - if(O.level == 1) - O.hide(0) - -// Removes all signs of lattice on the pos of the turf -Donkieyo -/turf/proc/RemoveLattice() - var/obj/structure/lattice/L = locate(/obj/structure/lattice, src) - if(L) - del L - -/turf/proc/ReplaceWithFloor(explode=0) - var/prior_icon = icon_old - var/old_dir = dir - - var/turf/simulated/floor/W = new /turf/simulated/floor( locate(src.x, src.y, src.z) ) - - W.RemoveLattice() - W.dir = old_dir - if(prior_icon) W.icon_state = prior_icon - else W.icon_state = "floor" - - if (!explode) - W.opacity = 1 - W.sd_SetOpacity(0) - //This is probably gonna make lighting go a bit wonky in bombed areas, but sd_SetOpacity was the primary reason bombs have been so laggy. --NEO - W.levelupdate() - return W - -/turf/proc/ReplaceWithPlating() - var/prior_icon = icon_old - var/old_dir = dir - - var/turf/simulated/floor/plating/W = new /turf/simulated/floor/plating( locate(src.x, src.y, src.z) ) - - W.RemoveLattice() - W.dir = old_dir - if(prior_icon) W.icon_state = prior_icon - else W.icon_state = "plating" - W.opacity = 1 - W.sd_SetOpacity(0) - W.levelupdate() - return W - -/turf/proc/ReplaceWithEngineFloor() - var/old_dir = dir - - var/turf/simulated/floor/engine/E = new /turf/simulated/floor/engine( locate(src.x, src.y, src.z) ) - - E.dir = old_dir - E.icon_state = "engine" - -/turf/simulated/Entered(atom/A, atom/OL) - if (istype(A,/mob/living/carbon)) - var/mob/living/carbon/M = A - if(M.lying) return - if(istype(M, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - if(istype(H.shoes, /obj/item/clothing/shoes/clown_shoes)) - if(H.m_intent == "run") - if(H.footstep >= 2) - H.footstep = 0 - else - H.footstep++ - if(H.footstep == 0) - playsound(src, "clownstep", 50, 1) // this will get annoying very fast. - else - playsound(src, "clownstep", 20, 1) - - switch (src.wet) - if(1) - if(istype(M, /mob/living/carbon/human)) // Added check since monkeys don't have shoes - if ((M.m_intent == "run") && !(istype(M:shoes, /obj/item/clothing/shoes) && M:shoes.flags&NOSLIP)) - M.stop_pulling() - step(M, M.dir) - M << "\blue You slipped on the wet floor!" - playsound(src.loc, 'sound/misc/slip.ogg', 50, 1, -3) - M.Stun(8) - M.Weaken(5) - else - M.inertia_dir = 0 - return - else if(!istype(M, /mob/living/carbon/slime)) - if (M.m_intent == "run") - M.stop_pulling() - step(M, M.dir) - M << "\blue You slipped on the wet floor!" - playsound(src.loc, 'sound/misc/slip.ogg', 50, 1, -3) - M.Stun(8) - M.Weaken(5) - else - M.inertia_dir = 0 - return - - if(2) //lube - if(!istype(M, /mob/living/carbon/slime)) - M.stop_pulling() - step(M, M.dir) - spawn(1) step(M, M.dir) - spawn(2) step(M, M.dir) - spawn(3) step(M, M.dir) - spawn(4) step(M, M.dir) - M.take_organ_damage(2) // Was 5 -- TLE - M << "\blue You slipped on the floor!" - playsound(src.loc, 'sound/misc/slip.ogg', 50, 1, -3) - M.Weaken(10) - - ..() - -/turf/proc/ReplaceWithSpace() - var/old_dir = dir - var/turf/space/S = new /turf/space( locate(src.x, src.y, src.z) ) - S.dir = old_dir - return S - -/turf/proc/ReplaceWithLattice() - var/old_dir = dir - var/turf/space/S = new /turf/space( locate(src.x, src.y, src.z) ) - S.dir = old_dir - new /obj/structure/lattice( locate(src.x, src.y, src.z) ) - return S - -/turf/proc/ReplaceWithWall() - var/old_icon = icon_state - var/turf/simulated/wall/S = new /turf/simulated/wall( locate(src.x, src.y, src.z) ) - S.icon_old = old_icon - S.opacity = 0 - S.sd_NewOpacity(1) - return S - -/turf/proc/ReplaceWithRWall() - var/old_icon = icon_state - var/turf/simulated/wall/r_wall/S = new /turf/simulated/wall/r_wall( locate(src.x, src.y, src.z) ) - S.icon_old = old_icon - S.opacity = 0 - S.sd_NewOpacity(1) - return S - -/turf/simulated/wall/New() - ..() - -/turf/simulated/wall/proc/dismantle_wall(devastated=0, explode=0) - if(istype(src,/turf/simulated/wall/r_wall)) - if(!devastated) - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - new /obj/structure/girder/reinforced(src) - new /obj/item/stack/sheet/plasteel( src ) - else - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/plasteel( src ) - else if(istype(src,/turf/simulated/wall/cult)) - if(!devastated) - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - new /obj/effect/decal/remains/human(src) - else - new /obj/effect/decal/remains/human(src) - - else - if(!devastated) - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - new /obj/structure/girder(src) - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) - else - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) - new /obj/item/stack/sheet/metal( src ) - - ReplaceWithPlating(explode) - -/turf/simulated/wall/examine() - set src in oview(1) - - usr << "It looks like a regular wall." - return - -/turf/simulated/wall/ex_act(severity) - switch(severity) - if(1.0) - //SN src = null - src.ReplaceWithSpace() - del(src) - return - if(2.0) - if (prob(50)) - dismantle_wall(0,1) - else - dismantle_wall(1,1) - if(3.0) - var/proba - if (istype(src, /turf/simulated/wall/r_wall)) - proba = 15 - else - proba = 40 - if (prob(proba)) - dismantle_wall(0,1) - else - return - -/turf/simulated/wall/blob_act() - if(prob(50)) - dismantle_wall() - -/turf/simulated/wall/attack_paw(mob/user as mob) - if ((user.mutations & M_HULK)) - if (prob(40)) - usr << text("\blue You smash through the wall.") - dismantle_wall(1) - return - else - usr << text("\blue You punch the wall.") - return - - return src.attack_hand(user) - - -/turf/simulated/wall/attack_animal(mob/living/simple_animal/M as mob) - if(M.wall_smash) - if (istype(src, /turf/simulated/wall/r_wall)) - M << text("\blue This wall is far too strong for you to destroy.") - return - else - if (prob(40)) - M << text("\blue You smash through the wall.") - dismantle_wall(1) - return - else - M << text("\blue You smash against the wall.") - return - - M << "\blue You push the wall but nothing happens!" - return - -/turf/simulated/wall/attack_hand(mob/user as mob) - if ((user.mutations & M_HULK)) - if (prob(40)) - usr << text("\blue You smash through the wall.") - dismantle_wall(1) - return - else - usr << text("\blue You punch the wall.") - return - - user << "\blue You push the wall but nothing happens!" - playsound(src.loc, 'sound/weapons/Genhit.ogg', 25, 1) - src.add_fingerprint(user) - return - -/turf/simulated/wall/attackby(obj/item/weapon/W as obj, mob/user as mob) - - if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") - usr << "\red You don't have the dexterity to do this!" - return - - if (istype(W, /obj/item/weapon/weldingtool) && W:welding) - var/turf/T = get_turf(user) - if (!( istype(T, /turf) )) - return - - if (thermite) - var/obj/effect/overlay/O = new/obj/effect/overlay( src ) - O.name = "Thermite" - O.desc = "Looks hot." - O.icon = 'icons/effects/fire.dmi' - O.icon_state = "2" - O.anchored = 1 - O.density = 1 - O.layer = 5 - var/turf/simulated/floor/F = ReplaceWithPlating() - F.burn_tile() - F.icon_state = "wall_thermite" - user << "\red The thermite melts the wall." - spawn(100) del(O) - F.sd_LumReset() - return - - if (W:remove_fuel(0,user)) - W:welding = 2 - user << "\blue Now disassembling the outer wall plating." - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - sleep(100) - if (W && istype(src, /turf/simulated/wall)) - if ((get_turf(user) == T && user.equipped() == W)) - user << "\blue You disassembled the outer wall plating." - dismantle_wall() - W:welding = 1 - else - user << "\blue You need more welding fuel to complete this task." - return - - else if (istype(W, /obj/item/weapon/pickaxe/plasmacutter)) - var/turf/T = user.loc - if (!( istype(T, /turf) )) - return - - if (thermite) - var/obj/effect/overlay/O = new/obj/effect/overlay( src ) - O.name = "Thermite" - O.desc = "Looks hot." - O.icon = 'icons/effects/fire.dmi' - O.icon_state = "2" - O.anchored = 1 - O.density = 1 - O.layer = 5 - var/turf/simulated/floor/F = ReplaceWithPlating() - F.burn_tile() - F.icon_state = "wall_thermite" - user << "\red The thermite melts the wall." - spawn(100) del(O) - F.sd_LumReset() - return - - else - user << "\blue Now disassembling the outer wall plating." - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - sleep(60) - if (W && istype(src, /turf/simulated/wall)) - if ((get_turf(user) == T && user.equipped() == W)) - user << "\blue You disassembled the outer wall plating." - dismantle_wall() - for(var/mob/O in viewers(user, 5)) - O.show_message(text("\blue The wall was sliced apart by []!", user), 1, text("\red You hear metal being sliced apart."), 2) - return - - else if(istype(W, /obj/item/weapon/pickaxe/diamonddrill)) - var/turf/T = user.loc - user << "\blue Now drilling through wall." - sleep(60) - if (W && istype(src, /turf/simulated/wall)) - if ((user.loc == T && user.equipped() == W)) - dismantle_wall(1) - for(var/mob/O in viewers(user, 5)) - O.show_message(text("\blue The wall was drilled apart by []!", user), 1, text("\red You hear metal being drilled appart."), 2) - return - - else if(istype(W, /obj/item/weapon/melee/energy/blade)) - var/turf/T = user.loc - user << "\blue Now slicing through wall." - W:spark_system.start() - playsound(src.loc, "sparks", 50, 1) - sleep(70) - if (W && istype(src, /turf/simulated/wall)) - if ((user.loc == T && user.equipped() == W)) - W:spark_system.start() - playsound(src.loc, "sparks", 50, 1) - playsound(src.loc, 'sound/weapons/blade1.ogg', 50, 1) - dismantle_wall(1) - for(var/mob/O in viewers(user, 5)) - O.show_message(text("\blue The wall was sliced apart by []!", user), 1, text("\red You hear metal being sliced and sparks flying."), 2) - return - - else if(istype(W,/obj/item/apc_frame)) - var/obj/item/apc_frame/AH = W - AH.try_build(src) - else if(istype(W,/obj/item/weapon/contraband/poster)) - var/obj/item/weapon/contraband/poster/P = W - if(P.resulting_poster) - var/check = 0 - var/stuff_on_wall = 0 - for( var/obj/O in src.contents) //Let's see if it already has a poster on it or too much stuff - if(istype(O,/obj/effect/decal/poster)) - check = 1 - break - stuff_on_wall++ - if(stuff_on_wall==3) - check = 1 - break - - if(check) - user << "The wall is far too cluttered to place a poster!" - return - - user << "You start placing the poster on the wall..." //Looks like it's uncluttered enough. Place the poster. - - P.resulting_poster.loc = src - var/temp = P.resulting_poster.icon_state - var/temp_loc = user.loc - P.resulting_poster.icon_state = "poster_being_set" - playsound(P.resulting_poster.loc, 'sound/items/poster_being_created.ogg', 100, 1) - sleep(24) - - if(user.loc == temp_loc)//Let's check if he still is there - user << "You place the poster!" - P.resulting_poster.icon_state = temp - src.contents += P.resulting_poster - del(P) - else - user << "You stop placing the poster." - P.resulting_poster.loc = P - P.resulting_poster.icon_state = temp - else - return attack_hand(user) - return - - -/turf/simulated/wall/r_wall/attackby(obj/item/W as obj, mob/user as mob) - - if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") - usr << "\red You don't have the dexterity to do this!" - return - - if(!istype(src, /turf/simulated/wall/r_wall)) - return // this may seem stupid and redundant but apparently floors can call this attackby() proc, it was spamming shit up. -- Doohl - - - if (istype(W, /obj/item/weapon/weldingtool) && W:welding) - W:eyecheck(user) - var/turf/T = user.loc - if (!( istype(T, /turf) )) - return - - if (thermite) - var/obj/effect/overlay/O = new/obj/effect/overlay( src ) - O.name = "Thermite" - O.desc = "Looks hot." - O.icon = 'icons/effects/fire.dmi' - O.icon_state = "2" - O.anchored = 1 - O.density = 1 - O.layer = 5 - var/turf/simulated/floor/F = ReplaceWithPlating() - F.burn_tile() - F.icon_state = "wall_thermite" - user << "\red The thermite melts the wall." - spawn(100) del(O) - F.sd_LumReset() - return - - if (src.d_state == 2) - W:welding = 2 - user << "\blue Slicing metal cover." - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - sleep(60) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 3 - user << "\blue You removed the metal cover." - W:welding = 1 - - else if (src.d_state == 5) - W:welding = 2 - user << "\blue Removing support rods." - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - sleep(100) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 6 - new /obj/item/stack/rods( src ) - user << "\blue You removed the support rods." - W:welding = 1 - - else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) - var/turf/T = user.loc - if (!( istype(T, /turf) )) - return - - if (thermite) - var/obj/effect/overlay/O = new/obj/effect/overlay( src ) - O.name = "Thermite" - O.desc = "Looks hot." - O.icon = 'icons/effects/fire.dmi' - O.icon_state = "2" - O.anchored = 1 - O.density = 1 - O.layer = 5 - var/turf/simulated/floor/F = ReplaceWithPlating() - F.burn_tile() - F.icon_state = "wall_thermite" - user << "\red The thermite melts the wall." - spawn(100) del(O) - F.sd_LumReset() - return - - if (src.d_state == 2) - user << "\blue Slicing metal cover." - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - sleep(40) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 3 - user << "\blue You removed the metal cover." - - else if (src.d_state == 5) - user << "\blue Removing support rods." - playsound(src.loc, 'sound/items/Welder.ogg', 100, 1) - sleep(70) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 6 - new /obj/item/stack/rods( src ) - user << "\blue You removed the support rods." - - else if(istype(W, /obj/item/weapon/melee/energy/blade)) - user << "\blue This wall is too thick to slice through. You will need to find a different path." - return - - else if (istype(W, /obj/item/weapon/wrench)) - if (src.d_state == 4) - var/turf/T = user.loc - user << "\blue Detaching support rods." - playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) - sleep(40) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 5 - user << "\blue You detach the support rods." - - else if (istype(W, /obj/item/weapon/wirecutters)) - if (src.d_state == 0) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1) - src.d_state = 1 - new /obj/item/stack/rods( src ) - - else if (istype(W, /obj/item/weapon/screwdriver)) - if (src.d_state == 1) - var/turf/T = user.loc - playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) - user << "\blue Removing support lines." - sleep(40) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 2 - user << "\blue You removed the support lines." - - else if (istype(W, /obj/item/weapon/crowbar)) - - if (src.d_state == 3) - var/turf/T = user.loc - user << "\blue Prying cover off." - playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) - sleep(100) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 4 - user << "\blue You removed the cover." - - else if (src.d_state == 6) - var/turf/T = user.loc - user << "\blue Prying outer sheath off." - playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1) - sleep(100) - if(src) - if ((user.loc == T && user.equipped() == W)) - user << "\blue You removed the outer sheath." - dismantle_wall() - return - - else if (istype(W, /obj/item/weapon/pickaxe/diamonddrill)) - var/turf/T = user.loc - user << "\blue You begin to drill though, this will take some time." - sleep(200) - if(src) - if ((user.loc == T && user.equipped() == W)) - user << "\blue Your drill tears though the reinforced plating." - dismantle_wall() - return - - else if ((istype(W, /obj/item/stack/sheet/metal)) && (src.d_state)) - var/turf/T = user.loc - user << "\blue Repairing wall." - sleep(100) - if ((user.loc == T && user.equipped() == W)) - src.d_state = 0 - src.icon_state = initial(src.icon_state) - user << "\blue You repaired the wall." - if (W:amount > 1) - W:amount-- - else - del(W) - - else if(istype(W,/obj/item/weapon/contraband/poster)) - var/obj/item/weapon/contraband/poster/P = W - if(P.resulting_poster) - var/check = 0 - var/stuff_on_wall = 0 - for( var/obj/O in src.contents) //Let's see if it already has a poster on it or too much stuff - if(istype(O,/obj/effect/decal/poster)) - check = 1 - break - stuff_on_wall++ - if(stuff_on_wall==3) - check = 1 - break - - if(check) - user << "The wall is far too cluttered to place a poster!" - return - - user << "You start placing the poster on the wall..." //Looks like it's uncluttered enough. Place the poster. - - P.resulting_poster.loc = src - var/temp = P.resulting_poster.icon_state - var/temp_loc = user.loc - P.resulting_poster.icon_state = "poster_being_set" - playsound(P.resulting_poster.loc, 'sound/items/poster_being_created.ogg', 100, 1) - sleep(24) - - if(user.loc == temp_loc)//Let's check if he still is there - user << "You place the poster!" - P.resulting_poster.icon_state = temp - src.contents += P.resulting_poster - del(P) - else - user << "You stop placing the poster." - P.resulting_poster.loc = P - P.resulting_poster.icon_state = temp - return - - if(istype(W,/obj/item/apc_frame)) - var/obj/item/apc_frame/AH = W - AH.try_build(src) - return - - if(src.d_state > 0) - src.icon_state = "r_wall-[d_state]" - - else - return attack_hand(user) - return - -/turf/simulated/wall/meteorhit(obj/M as obj) - if (prob(15)) - dismantle_wall() - else if(prob(70)) - ReplaceWithPlating() - else - ReplaceWithLattice() - return 0 - - -//This is so damaged or burnt tiles or platings don't get remembered as the default tile -var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","damaged4", - "damaged5","panelscorched","floorscorched1","floorscorched2","platingdmg1","platingdmg2", - "platingdmg3","plating","light_on","light_on_flicker1","light_on_flicker2", - "light_on_clicker3","light_on_clicker4","light_on_clicker5","light_broken", - "light_on_broken","light_off","wall_thermite","grass1","grass2","grass3","grass4", - "asteroid","asteroid_dug", - "asteroid0","asteroid1","asteroid2","asteroid3","asteroid4", - "asteroid5","asteroid6","asteroid7","asteroid8", - "burning","oldburning","light-on-r","light-on-y","light-on-g","light-on-b") - -var/list/plating_icons = list("plating","platingdmg1","platingdmg2","platingdmg3","asteroid","asteroid_dug") - -/turf/simulated/floor - - //Note to coders, the 'intact' var can no longer be used to determine if the floor is a plating or not. - //Use the is_plating(), is_plasteel_floor() and is_light_floor() procs instead. --Errorage - name = "floor" - icon = 'icons/turf/floors.dmi' - icon_state = "floor" - var/icon_regular_floor = "floor" //used to remember what icon the tile should have by default - var/icon_plating = "plating" - thermal_conductivity = 0.040 - heat_capacity = 10000 - var/broken = 0 - var/burnt = 0 - var/obj/item/stack/tile/floor_tile = new/obj/item/stack/tile/plasteel - - airless - icon_state = "floor" - name = "airless floor" - oxygen = 0.01 - nitrogen = 0.01 - temperature = TCMB - - New() - ..() - name = "floor" - - light - name = "Light floor" - luminosity = 5 - icon_state = "light_on" - floor_tile = new/obj/item/stack/tile/light - - New() - floor_tile.New() //I guess New() isn't run on objects spawned without the definition of a turf to house them, ah well. - var/n = name //just in case commands rename it in the ..() call - ..() - spawn(4) - update_icon() - name = n - - grass - name = "Grass patch" - icon_state = "grass1" - floor_tile = new/obj/item/stack/tile/grass - - New() - floor_tile.New() //I guess New() isn't run on objects spawned without the definition of a turf to house them, ah well. - icon_state = "grass[pick("1","2","3","4")]" - ..() - spawn(4) - update_icon() - for(var/direction in cardinal) - if(istype(get_step(src,direction),/turf/simulated/floor)) - var/turf/simulated/floor/FF = get_step(src,direction) - FF.update_icon() //so siding get updated properly - -/turf/simulated/floor/vault - icon_state = "rockvault" - - New(location,type) - ..() - icon_state = "[type]vault" - -/turf/simulated/wall/vault - icon_state = "rockvault" - - New(location,type) - ..() - icon_state = "[type]vault" - -/turf/simulated/floor/engine - name = "reinforced floor" - icon_state = "engine" - thermal_conductivity = 0.025 - heat_capacity = 325000 - -/turf/simulated/floor/engine/cult - name = "engraved floor" - icon_state = "cult" - - -/turf/simulated/floor/engine/n20 - New() - ..() - var/datum/gas_mixture/adding = new - var/datum/gas/sleeping_agent/trace_gas = new - - trace_gas.moles = 2000 - adding.trace_gases += trace_gas - adding.temperature = T20C - - assume_air(adding) - -/turf/simulated/floor/engine/vacuum - name = "vacuum floor" - icon_state = "engine" - oxygen = 0 - nitrogen = 0.001 - temperature = TCMB - -/turf/simulated/floor/plating - name = "plating" - icon_state = "plating" - floor_tile = null - intact = 0 - -/turf/simulated/floor/plating/airless - icon_state = "plating" - name = "airless plating" - oxygen = 0.01 - nitrogen = 0.01 - temperature = TCMB - - New() - ..() - name = "plating" - -/turf/simulated/floor/grid - icon = 'icons/turf/floors.dmi' - icon_state = "circuit" - -/turf/simulated/floor/New() - ..() - if(icon_state in icons_to_ignore_at_floor_init) //so damaged/burned tiles or plating icons aren't saved as the default - icon_regular_floor = "floor" - else - icon_regular_floor = icon_state - -//turf/simulated/floor/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) -// if ((istype(mover, /obj/machinery/vehicle) && !(src.burnt))) -// if (!( locate(/obj/machinery/mass_driver, src) )) -// return 0 -// return ..() - -/turf/simulated/floor/ex_act(severity) - //set src in oview(1) - switch(severity) - if(1.0) - src.ReplaceWithSpace() - if(2.0) - switch(pick(1,2;75,3)) - if (1) - src.ReplaceWithLattice() - if(prob(33)) new /obj/item/stack/sheet/metal(src) - if(2) - src.ReplaceWithSpace() - if(3) - if(prob(80)) - src.break_tile_to_plating() - else - src.break_tile() - src.hotspot_expose(1000,CELL_VOLUME) - if(prob(33)) new /obj/item/stack/sheet/metal(src) - if(3.0) - if (prob(50)) - src.break_tile() - src.hotspot_expose(1000,CELL_VOLUME) - return - -/turf/simulated/floor/blob_act() - return - -turf/simulated/floor/proc/update_icon() - if(is_plasteel_floor()) - if(!broken && !burnt) - icon_state = icon_regular_floor - if(is_plating()) - if(!broken && !burnt) - icon_state = icon_plating //Because asteroids are 'platings' too. - if(is_light_floor()) - var/obj/item/stack/tile/light/T = floor_tile - if(T.on) - switch(T.state) - if(0) - icon_state = "light_on" - sd_SetLuminosity(5) - if(1) - var/num = pick("1","2","3","4") - icon_state = "light_on_flicker[num]" - sd_SetLuminosity(5) - if(2) - icon_state = "light_on_broken" - sd_SetLuminosity(5) - if(3) - icon_state = "light_off" - sd_SetLuminosity(0) - else - sd_SetLuminosity(0) - icon_state = "light_off" - if(is_grass_floor()) - if(!broken && !burnt) - if(!(icon_state in list("grass1","grass2","grass3","grass4"))) - icon_state = "grass[pick("1","2","3","4")]" - spawn(1) - if(istype(src,/turf/simulated/floor)) //Was throwing runtime errors due to a chance of it changing to space halfway through. - if(air) - update_visuals(air) - -turf/simulated/floor/return_siding_icon_state() - ..() - if(is_grass_floor()) - var/dir_sum = 0 - for(var/direction in cardinal) - var/turf/T = get_step(src,direction) - if(!(T.is_grass_floor())) - dir_sum += direction - if(dir_sum) - return "wood_siding[dir_sum]" - else - return 0 - - -/turf/simulated/floor/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/turf/simulated/floor/attack_hand(mob/user as mob) - if (is_light_floor()) - var/obj/item/stack/tile/light/T = floor_tile - T.on = !T.on - update_icon() - if ((!( user.canmove ) || user.restrained() || !( user.pulling ))) - return - if (user.pulling.anchored) - return - if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) - return - if (ismob(user.pulling)) - var/mob/M = user.pulling - var/mob/t = M.pulling - M.stop_pulling() - step(user.pulling, get_dir(user.pulling.loc, src)) - M.start_pulling(t) - else - step(user.pulling, get_dir(user.pulling.loc, src)) - return - -/turf/simulated/floor/engine/attackby(obj/item/weapon/C as obj, mob/user as mob) - if(!C) - return - if(!user) - return - if(istype(C, /obj/item/weapon/wrench)) - user << "\blue Removing rods..." - playsound(src.loc, 'sound/items/Ratchet.ogg', 80, 1) - if(do_after(user, 30)) - new /obj/item/stack/rods(src, 2) - ReplaceWithFloor() - var/turf/simulated/floor/F = src - F.make_plating() - return - -/turf/simulated/floor/proc/gets_drilled() - return - -/turf/simulated/floor/proc/break_tile_to_plating() - if(!is_plating()) - make_plating() - break_tile() - -/turf/simulated/floor/is_plasteel_floor() - if(istype(floor_tile,/obj/item/stack/tile/plasteel)) - return 1 - else - return 0 - -/turf/simulated/floor/is_light_floor() - if(istype(floor_tile,/obj/item/stack/tile/light)) - return 1 - else - return 0 - -/turf/simulated/floor/is_grass_floor() - if(istype(floor_tile,/obj/item/stack/tile/grass)) - return 1 - else - return 0 - -/turf/simulated/floor/is_plating() - if(!floor_tile) - return 1 - return 0 - -/turf/simulated/floor/proc/break_tile() - if(istype(src,/turf/simulated/floor/engine)) return - if(istype(src,/turf/simulated/floor/mech_bay_recharge_floor)) - src.ReplaceWithPlating() - if(broken) return - if(is_plasteel_floor()) - src.icon_state = "damaged[pick(1,2,3,4,5)]" - broken = 1 - else if(is_plasteel_floor()) - src.icon_state = "light_broken" - broken = 1 - else if(is_plating()) - src.icon_state = "platingdmg[pick(1,2,3)]" - broken = 1 - else if(is_grass_floor()) - src.icon_state = "sand[pick("1","2","3")]" - broken = 1 - -/turf/simulated/floor/proc/burn_tile() - if(istype(src,/turf/simulated/floor/engine)) return - if(broken || burnt) return - if(is_plasteel_floor()) - src.icon_state = "damaged[pick(1,2,3,4,5)]" - burnt = 1 - else if(is_plasteel_floor()) - src.icon_state = "floorscorched[pick(1,2)]" - burnt = 1 - else if(is_plating()) - src.icon_state = "panelscorched" - burnt = 1 - else if(is_grass_floor()) - src.icon_state = "sand[pick("1","2","3")]" - burnt = 1 - -//This proc will delete the floor_tile and the update_iocn() proc will then change the icon_state of the turf -//This proc auto corrects the grass tiles' siding. -/turf/simulated/floor/proc/make_plating() - if(istype(src,/turf/simulated/floor/engine)) return - - if(is_grass_floor()) - for(var/direction in cardinal) - if(istype(get_step(src,direction),/turf/simulated/floor)) - var/turf/simulated/floor/FF = get_step(src,direction) - FF.update_icon() //so siding get updated properly - - if(!floor_tile) return - del(floor_tile) - icon_plating = "plating" - sd_SetLuminosity(0) - floor_tile = null - intact = 0 - broken = 0 - burnt = 0 - - update_icon() - levelupdate() - -//This proc will make the turf a plasteel floor tile. The expected argument is the tile to make the turf with -//If none is given it will make a new object. dropping or unequipping must be handled before or after calling -//this proc. -/turf/simulated/floor/proc/make_plasteel_floor(var/obj/item/stack/tile/plasteel/T = null) - broken = 0 - burnt = 0 - intact = 1 - sd_SetLuminosity(0) - if(T) - if(istype(T,/obj/item/stack/tile/plasteel)) - floor_tile = T - if (icon_regular_floor) - icon_state = icon_regular_floor - else - icon_state = "floor" - icon_regular_floor = icon_state - update_icon() - levelupdate() - return - //if you gave a valid parameter, it won't get thisf ar. - floor_tile = new/obj/item/stack/tile/plasteel - icon_state = "floor" - icon_regular_floor = icon_state - - update_icon() - levelupdate() - -//This proc will make the turf a light floor tile. The expected argument is the tile to make the turf with -//If none is given it will make a new object. dropping or unequipping must be handled before or after calling -//this proc. -/turf/simulated/floor/proc/make_light_floor(var/obj/item/stack/tile/light/T = null) - broken = 0 - burnt = 0 - intact = 1 - if(T) - if(istype(T,/obj/item/stack/tile/light)) - floor_tile = T - update_icon() - levelupdate() - return - //if you gave a valid parameter, it won't get thisf ar. - floor_tile = new/obj/item/stack/tile/light - - update_icon() - levelupdate() - -//This proc will make a turf into a grass patch. Fun eh? Insert the grass tile to be used as the argument -//If no argument is given a new one will be made. -/turf/simulated/floor/proc/make_grass_floor(var/obj/item/stack/tile/grass/T = null) - broken = 0 - burnt = 0 - intact = 1 - if(T) - if(istype(T,/obj/item/stack/tile/grass)) - floor_tile = T - update_icon() - levelupdate() - return - //if you gave a valid parameter, it won't get thisf ar. - floor_tile = new/obj/item/stack/tile/grass - - update_icon() - levelupdate() - -/turf/simulated/floor/attackby(obj/item/C as obj, mob/user as mob) - - if(!C || !user) - return 0 - - if(istype(C,/obj/item/weapon/light/bulb)) //only for light tiles - if(is_light_floor()) - var/obj/item/stack/tile/light/T = floor_tile - if(T.state) - user.u_equip(C) - del(C) - T.state = C //fixing it by bashing it with a light bulb, fun eh? - update_icon() - user << "\blue You replace the light bulb." - else - user << "\blue The lightbulb seems fine, no need to replace it." - - if(istype(C, /obj/item/weapon/crowbar) && (!(is_plating()))) - if(broken || burnt) - user << "\red You remove the broken plating." - else - user << "\red You remove the [floor_tile.name]." - new floor_tile.type(src) - - make_plating() - playsound(src.loc, 'sound/items/Crowbar.ogg', 80, 1) - - return - - if(istype(C, /obj/item/stack/rods)) - var/obj/item/stack/rods/R = C - if (is_plating()) - if (R.amount >= 2) - user << "\blue Reinforcing the floor..." - if(do_after(user, 30) && R && R.amount >= 2 && is_plating()) - ReplaceWithEngineFloor() - playsound(src.loc, 'sound/items/Deconstruct.ogg', 80, 1) - R.use(2) - return - else - user << "\red You need more rods." - else - user << "\red You must remove the plating first." - return - - if(istype(C, /obj/item/stack/tile)) - if(is_plating()) - if(!broken && !burnt) - var/obj/item/stack/tile/T = C - floor_tile = new T.type - intact = 1 - if(istype(T,/obj/item/stack/tile/light)) - var/obj/item/stack/tile/light/L = T - var/obj/item/stack/tile/light/F = floor_tile - F.state = L.state - F.on = L.on - if(istype(T,/obj/item/stack/tile/grass)) - for(var/direction in cardinal) - if(istype(get_step(src,direction),/turf/simulated/floor)) - var/turf/simulated/floor/FF = get_step(src,direction) - FF.update_icon() //so siding gets updated properly - T.use(1) - update_icon() - levelupdate() - playsound(src.loc, 'sound/weapons/Genhit.ogg', 50, 1) - else - user << "\blue This section is too damaged to support a tile. Use a welder to fix the damage." - - - if(istype(C, /obj/item/weapon/cable_coil)) - if(is_plating()) - var/obj/item/weapon/cable_coil/coil = C - coil.turf_place(src, user) - else - user << "\red You must remove the plating first." - - if(istype(C, /obj/item/weapon/shovel)) - if(is_grass_floor()) - new /obj/item/weapon/ore/glass(src) - new /obj/item/weapon/ore/glass(src) //Make some sand if you shovel grass - user << "\blue You shovel the grass." - make_plating() - else - user << "\red You cannot shovel this." - - if(istype(C, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/welder = C - if(welder.welding && (is_plating())) - if(broken || burnt) - if(welder.remove_fuel(0,user)) - user << "\red You fix some dents on the broken plating." - playsound(src.loc, 'sound/items/Welder.ogg', 80, 1) - icon_state = "plating" - burnt = 0 - broken = 0 - else - user << "\blue You need more welding fuel to complete this task." - -/turf/unsimulated/floor/attack_paw(user as mob) - return src.attack_hand(user) - -/turf/unsimulated/floor/attack_hand(var/mob/user as mob) - if ((!( user.canmove ) || user.restrained() || !( user.pulling ))) - return - if (user.pulling.anchored) - return - if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) - return - if (ismob(user.pulling)) - var/mob/M = user.pulling - var/mob/t = M.pulling - M.stop_pulling() - step(user.pulling, get_dir(user.pulling.loc, src)) - M.start_pulling(t) - else - step(user.pulling, get_dir(user.pulling.loc, src)) - return - -// imported from space.dm - -/turf/space/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/turf/space/attack_hand(mob/user as mob) - if ((user.restrained() || !( user.pulling ))) - return - if (user.pulling.anchored) - return - if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) - return - if (ismob(user.pulling)) - var/mob/M = user.pulling - var/atom/movable/t = M.pulling - M.stop_pulling() - step(user.pulling, get_dir(user.pulling.loc, src)) - M.start_pulling(t) - else - step(user.pulling, get_dir(user.pulling.loc, src)) - return - -/turf/space/attackby(obj/item/C as obj, mob/user as mob) - - if (istype(C, /obj/item/stack/rods)) - var/obj/structure/lattice/L = locate(/obj/structure/lattice, src) - if(L) - return - var/obj/item/stack/rods/R = C - user << "\blue Constructing support lattice ..." - playsound(src.loc, 'sound/weapons/Genhit.ogg', 50, 1) - ReplaceWithLattice() - R.use(1) - return - - if (istype(C, /obj/item/stack/tile/plasteel)) - var/obj/structure/lattice/L = locate(/obj/structure/lattice, src) - if(L) - var/obj/item/stack/tile/plasteel/S = C - del(L) - playsound(src.loc, 'sound/weapons/Genhit.ogg', 50, 1) - S.build(src) - S.use(1) - return - else - user << "\red The plating is going to need some support." - return - - -// Ported from unstable r355 - -/turf/space/Entered(atom/movable/A as mob|obj) - ..() - if ((!(A) || src != A.loc || istype(null, /obj/effect/beam))) return - - inertial_drift(A) - - if(ticker && ticker.mode) - - // Okay, so let's make it so that people can travel z levels but not nuke disks! - // if(ticker.mode.name == "nuclear emergency") return - - if(ticker.mode.name == "extended"||ticker.mode.name == "sandbox") - Sandbox_Spacemove(A) - - else - if (src.x <= 2 || A.x >= (world.maxx - 1) || src.y <= 2 || A.y >= (world.maxy - 1)) - if(istype(A, /obj/effect/meteor)||istype(A, /obj/effect/space_dust)) - del(A) - return - - if(istype(A, /obj/item/weapon/disk/nuclear)) // Don't let nuke disks travel Z levels ... And moving this shit down here so it only fires when they're actually trying to change z-level. - return - - if(!isemptylist(A.search_contents_for(/obj/item/weapon/disk/nuclear))) - if(istype(A, /mob/living)) - var/mob/living/MM = A - if(MM.client) - MM << "\red Something you are carrying is preventing you from leaving. Don't play stupid; you know exactly what it is." - return - - - - var/move_to_z_str = pickweight(accessable_z_levels) - - var/move_to_z = text2num(move_to_z_str) - - if(!move_to_z) - return - - - - A.z = move_to_z - - - if(src.x <= 2) - A.x = world.maxx - 2 - - else if (A.x >= (world.maxx - 1)) - A.x = 3 - - else if (src.y <= 2) - A.y = world.maxy - 2 - - else if (A.y >= (world.maxy - 1)) - A.y = 3 - - spawn (0) - if ((A && A.loc)) - A.loc.Entered(A) - -// if(istype(A, /obj/structure/closet/coffin)) -// coffinhandler.Add(A) - -/turf/space/proc/Sandbox_Spacemove(atom/movable/A as mob|obj) - var/cur_x - var/cur_y - var/next_x - var/next_y - var/target_z - var/list/y_arr - - if(src.x <= 1) - if(istype(A, /obj/effect/meteor)||istype(A, /obj/effect/space_dust)) - del(A) - return - - var/list/cur_pos = src.get_global_map_pos() - if(!cur_pos) return - cur_x = cur_pos["x"] - cur_y = cur_pos["y"] - next_x = (--cur_x||global_map.len) - y_arr = global_map[next_x] - target_z = y_arr[cur_y] -/* - //debug - world << "Src.z = [src.z] in global map X = [cur_x], Y = [cur_y]" - world << "Target Z = [target_z]" - world << "Next X = [next_x]" - //debug -*/ - if(target_z) - A.z = target_z - A.x = world.maxx - 2 - spawn (0) - if ((A && A.loc)) - A.loc.Entered(A) - else if (src.x >= world.maxx) - if(istype(A, /obj/effect/meteor)) - del(A) - return - - var/list/cur_pos = src.get_global_map_pos() - if(!cur_pos) return - cur_x = cur_pos["x"] - cur_y = cur_pos["y"] - next_x = (++cur_x > global_map.len ? 1 : cur_x) - y_arr = global_map[next_x] - target_z = y_arr[cur_y] -/* - //debug - world << "Src.z = [src.z] in global map X = [cur_x], Y = [cur_y]" - world << "Target Z = [target_z]" - world << "Next X = [next_x]" - //debug -*/ - if(target_z) - A.z = target_z - A.x = 3 - spawn (0) - if ((A && A.loc)) - A.loc.Entered(A) - else if (src.y <= 1) - if(istype(A, /obj/effect/meteor)) - del(A) - return - var/list/cur_pos = src.get_global_map_pos() - if(!cur_pos) return - cur_x = cur_pos["x"] - cur_y = cur_pos["y"] - y_arr = global_map[cur_x] - next_y = (--cur_y||y_arr.len) - target_z = y_arr[next_y] -/* - //debug - world << "Src.z = [src.z] in global map X = [cur_x], Y = [cur_y]" - world << "Next Y = [next_y]" - world << "Target Z = [target_z]" - //debug -*/ - if(target_z) - A.z = target_z - A.y = world.maxy - 2 - spawn (0) - if ((A && A.loc)) - A.loc.Entered(A) - - else if (src.y >= world.maxy) - if(istype(A, /obj/effect/meteor)||istype(A, /obj/effect/space_dust)) - del(A) - return - var/list/cur_pos = src.get_global_map_pos() - if(!cur_pos) return - cur_x = cur_pos["x"] - cur_y = cur_pos["y"] - y_arr = global_map[cur_x] - next_y = (++cur_y > y_arr.len ? 1 : cur_y) - target_z = y_arr[next_y] -/* - //debug - world << "Src.z = [src.z] in global map X = [cur_x], Y = [cur_y]" - world << "Next Y = [next_y]" - world << "Target Z = [target_z]" - //debug -*/ - if(target_z) - A.z = target_z - A.y = 3 - spawn (0) - if ((A && A.loc)) - A.loc.Entered(A) - return - -/obj/effect/vaultspawner - var/maxX = 6 - var/maxY = 6 - var/minX = 2 - var/minY = 2 - -/obj/effect/vaultspawner/New(turf/location as turf,lX = minX,uX = maxX,lY = minY,uY = maxY,var/type = null) - if(!type) - type = pick("sandstone","rock","alien") - - var/lowBoundX = location.x - var/lowBoundY = location.y - - var/hiBoundX = location.x + rand(lX,uX) - var/hiBoundY = location.y + rand(lY,uY) - - var/z = location.z - - for(var/i = lowBoundX,i<=hiBoundX,i++) - for(var/j = lowBoundY,j<=hiBoundY,j++) - if(i == lowBoundX || i == hiBoundX || j == lowBoundY || j == hiBoundY) - new /turf/simulated/wall/vault(locate(i,j,z),type) - else - new /turf/simulated/floor/vault(locate(i,j,z),type) - - del(src) - -/turf/proc/kill_creatures(mob/U = null)//Will kill people/creatures and damage mechs./N -//Useful to batch-add creatures to the list. - for(var/mob/living/M in src) - if(M==U) continue//Will not harm U. Since null != M, can be excluded to kill everyone. - spawn(0) - M.gib() - for(var/obj/mecha/M in src)//Mecha are not gibbed but are damaged. - spawn(0) - M.take_damage(100, "brute") - for(var/obj/effect/critter/M in src) - spawn(0) - M.Die() - -/turf/proc/Bless() - if(flags & NOJAUNT) - return - flags |= NOJAUNT - overlays += image('icons/effects/water.dmi',src,"holywater")*/ \ No newline at end of file diff --git a/code/unused/BrokenInhands.dm b/code/unused/BrokenInhands.dm deleted file mode 100644 index 6339d3c0113..00000000000 --- a/code/unused/BrokenInhands.dm +++ /dev/null @@ -1,36 +0,0 @@ -/proc/getbrokeninhands() - var/icon/IL = new('icons/mob/items_lefthand.dmi') - var/list/Lstates = IL.IconStates() - var/icon/IR = new('icons/mob/items_righthand.dmi') - var/list/Rstates = IR.IconStates() - - - var/text - for(var/A in typesof(/obj/item)) - var/obj/item/O = new A( locate(1,1,1) ) - if(!O) continue - var/icon/J = new(O.icon) - var/list/istates = J.IconStates() - if(!Lstates.Find(O.icon_state) && !Lstates.Find(O.item_state)) - if(O.icon_state) - text += "[O.type] WANTS IN LEFT HAND CALLED\n\"[O.icon_state]\".\n" - if(!Rstates.Find(O.icon_state) && !Rstates.Find(O.item_state)) - if(O.icon_state) - text += "[O.type] WANTS IN RIGHT HAND CALLED\n\"[O.icon_state]\".\n" - - - if(O.icon_state) - if(!istates.Find(O.icon_state)) - text += "[O.type] MISSING NORMAL ICON CALLED\n\"[O.icon_state]\" IN \"[O.icon]\"\n" - if(O.item_state) - if(!istates.Find(O.item_state)) - text += "[O.type] MISSING NORMAL ICON CALLED\n\"[O.item_state]\" IN \"[O.icon]\"\n" - text+="\n" - del(O) - if(text) - var/F = file("broken_icons.txt") - fdel(F) - F << text - world << "Completely successfully and written to [F]" - - diff --git a/code/unused/Ultralight.dm b/code/unused/Ultralight.dm deleted file mode 100644 index 783726de915..00000000000 --- a/code/unused/Ultralight.dm +++ /dev/null @@ -1,341 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 - -//UltraLight system, by Sukasa - - const/ar/UL_LUMINOSITY = 0 - const/ar/UL_SQUARELIGHT = 0 - - const/ar/UL_RGB = 1 - const/ar/UL_ROUNDLIGHT = 2 - - const/ar/UL_I_FALLOFF_SQUARE = 0 - const/ar/UL_I_FALLOFF_ROUND = 1 - - const/ar/UL_I_LUMINOSITY = 0 - const/ar/UL_I_RGB = 1 - - const/ar/UL_I_LIT = 0 - const/ar/UL_I_EXTINGUISHED = 1 - const/ar/UL_I_ONZERO = 2 - - ul_LightingEnabled = 1 - ul_LightingResolution = 1 - ul_Steps = 7 - ul_LightingModel = UL_I_RGB - ul_FalloffStyle = UL_I_FALLOFF_ROUND - ul_TopLuminosity = 0 - ul_Layer = 10 - ul_SuppressLightLevelChanges = 0 - - list/ul_FastRoot = list(0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7) - - -proc - ul_Clamp(var/Value) - return min(max(Value, 0), ul_Steps) - -atom - var/LuminosityRed = 0 - var/LuminosityGreen = 0 - var/LuminosityBlue = 0 - - var/ul_Extinguished = UL_I_ONZERO - - proc - sd_SetLuminosity(var/Red, var/Green = Red, var/Blue = Red) - - if(LuminosityRed == Red && LuminosityGreen == Green && LuminosityBlue == Blue) - return //No point doing all that work if it won't have any effect anyways... - - if (ul_Extinguished == UL_I_EXTINGUISHED) - LuminosityRed = Red - LuminosityGreen = Green - LuminosityBlue = Blue - - return - - if (ul_IsLuminous()) - ul_Extinguish() - - LuminosityRed = Red - LuminosityGreen = Green - LuminosityBlue = Blue - - ul_Extinguished = UL_I_ONZERO - - if (ul_IsLuminous()) - ul_Illuminate() - - return - - ul_Illuminate() - if (ul_Extinguished == UL_I_LIT) - return - - ul_Extinguished = UL_I_LIT - - ul_UpdateTopLuminosity() - luminosity = ul_Luminosity() - - for(var/turf/Affected in view(ul_Luminosity(), src)) - var/Falloff = src.ul_FalloffAmount(Affected) - - var/DeltaRed = LuminosityRed - Falloff - var/DeltaGreen = LuminosityGreen - Falloff - var/DeltaBlue = LuminosityBlue - Falloff - - if(ul_IsLuminous(DeltaRed, DeltaGreen, DeltaBlue)) - - Affected.LightLevelRed += max(DeltaRed, 0) - Affected.LightLevelGreen += max(DeltaGreen, 0) - Affected.LightLevelBlue += max(DeltaBlue, 0) - - Affected.MaxRed += LuminosityRed - Affected.MaxGreen += LuminosityGreen - Affected.MaxBlue += LuminosityBlue - - Affected.ul_UpdateLight() - - if (ul_SuppressLightLevelChanges == 0) - Affected.ul_LightLevelChanged() - - for(var/atom/AffectedAtom in Affected) - AffectedAtom.ul_LightLevelChanged() - return - - ul_Extinguish() - - if (ul_Extinguished != UL_I_LIT) - return - - ul_Extinguished = UL_I_EXTINGUISHED - - for(var/turf/Affected in view(ul_Luminosity(), src)) - - var/Falloff = ul_FalloffAmount(Affected) - - var/DeltaRed = LuminosityRed - Falloff - var/DeltaGreen = LuminosityGreen - Falloff - var/DeltaBlue = LuminosityBlue - Falloff - - if(ul_IsLuminous(DeltaRed, DeltaGreen, DeltaBlue)) - - Affected.LightLevelRed -= max(DeltaRed, 0) - Affected.LightLevelGreen -= max(DeltaGreen, 0) - Affected.LightLevelBlue -= max(DeltaBlue, 0) - - Affected.MaxRed -= LuminosityRed - Affected.MaxGreen -= LuminosityGreen - Affected.MaxBlue -= LuminosityBlue - - Affected.ul_UpdateLight() - - if (ul_SuppressLightLevelChanges == 0) - Affected.ul_LightLevelChanged() - - for(var/atom/AffectedAtom in Affected) - AffectedAtom.ul_LightLevelChanged() - - luminosity = 0 - - return - - ul_FalloffAmount(var/atom/ref) - if (ul_FalloffStyle == UL_I_FALLOFF_ROUND) - var/x = (ref.x - src.x) - var/y = (ref.y - src.y) - if ((x*x + y*y) > ul_FastRoot.len) - for(var/i = ul_FastRoot.len, i <= x*x+y*y, i++) - ul_FastRoot += round(sqrt(x*x+y*y)) - return round(ul_LightingResolution * ul_FastRoot[x*x + y*y + 1], 1) - - else if (ul_FalloffStyle == UL_I_FALLOFF_SQUARE) - return get_dist(src, ref) - - return 0 - - ul_SetOpacity(var/NewOpacity) - if(opacity != NewOpacity) - - var/list/Blanked = ul_BlankLocal() - var/atom/T = src - while(T && !isturf(T)) - T = T.loc - - opacity = NewOpacity - - if(T) - T:LightLevelRed = 0 - T:LightLevelGreen = 0 - T:LightLevelBlue = 0 - - ul_UnblankLocal(Blanked) - - return - - ul_UnblankLocal(var/list/ReApply = view(ul_TopLuminosity, src)) - for(var/atom/Light in ReApply) - if(Light.ul_IsLuminous()) - Light.ul_Illuminate() - - return - - ul_BlankLocal() - var/list/Blanked = list( ) - var/TurfAdjust = isturf(src) ? 1 : 0 - - for(var/atom/Affected in view(ul_TopLuminosity, src)) - if(Affected.ul_IsLuminous() && Affected.ul_Extinguished == UL_I_LIT && (ul_FalloffAmount(Affected) <= Affected.luminosity + TurfAdjust)) - Affected.ul_Extinguish() - Blanked += Affected - - return Blanked - - ul_UpdateTopLuminosity() - - if (ul_TopLuminosity < LuminosityRed) - ul_TopLuminosity = LuminosityRed - - if (ul_TopLuminosity < LuminosityGreen) - ul_TopLuminosity = LuminosityGreen - - if (ul_TopLuminosity < LuminosityBlue) - ul_TopLuminosity = LuminosityBlue - - return - - ul_Luminosity() - return max(LuminosityRed, LuminosityGreen, LuminosityBlue) - - ul_IsLuminous(var/Red = LuminosityRed, var/Green = LuminosityGreen, var/Blue = LuminosityBlue) - return (Red > 0 || Green > 0 || Blue > 0) - - ul_LightLevelChanged() - //Designed for client projects to use. Called on items when the turf they are in has its light level changed - return - - New() - ..() - if(ul_IsLuminous()) - spawn(1) - ul_Illuminate() - return - - Del() - if(ul_IsLuminous()) - ul_Extinguish() - - ..() - - return - - movable - Move() - ul_Extinguish() - ..() - ul_Illuminate() - return - -turf - var/LightLevelRed = 0 - var/LightLevelGreen = 0 - var/LightLevelBlue = 0 - - var/list/MaxRed = list( ) - var/list/MaxGreen = list( ) - var/list/MaxBlue = list( ) - - proc - - ul_GetRed() - return ul_Clamp(min(LightLevelRed, max(MaxRed))) - ul_GetGreen() - return ul_Clamp(min(LightLevelGreen, max(MaxGreen))) - ul_GetBlue() - return ul_Clamp(min(LightLevelBlue, max(MaxBlue))) - - ul_UpdateLight() - - var/area/CurrentArea = loc - - if(!isarea(CurrentArea) || !CurrentArea.ul_Lighting) - return - - var/LightingTag = copytext(CurrentArea.tag, 1, findtext(CurrentArea.tag, ":UL")) + ":UL[ul_GetRed()]_[ul_GetGreen()]_[ul_GetBlue()]" - - if(CurrentArea.tag != LightingTag) - var/area/NewArea = locate(LightingTag) - - if(!NewArea) - NewArea = new CurrentArea.type() - NewArea.tag = LightingTag - - for(var/V in CurrentArea.vars - "contents") - if(issaved(CurrentArea.vars[V])) - NewArea.vars[V] = CurrentArea.vars[V] - - NewArea.tag = LightingTag - - NewArea.ul_Light(ul_GetRed(), ul_GetGreen(), ul_GetBlue()) - - - NewArea.contents += src - - return - - ul_Recalculate() - - ul_SuppressLightLevelChanges++ - - var/list/Lights = ul_BlankLocal() - - LightLevelRed = 0 - LightLevelGreen = 0 - LightLevelBlue = 0 - - ul_UnblankLocal(Lights) - - ul_SuppressLightLevelChanges-- - - return - -area - var/ul_Overlay = null - var/ul_Lighting = 1 - - var/LightLevelRed = 0 - var/LightLevelGreen = 0 - var/LightLevelBlue = 0 - - proc - ul_Light(var/Red = LightLevelRed, var/Green = LightLevelGreen, var/Blue = LightLevelBlue) - - if(!src || !src.ul_Lighting) - return - - overlays -= ul_Overlay - - LightLevelRed = Red - LightLevelGreen = Green - LightLevelBlue = Blue - - luminosity = ul_IsLuminous(LightLevelRed, LightLevelGreen, LightLevelBlue) - - ul_Overlay = image('icons/effects/ULIcons.dmi', , num2text(LightLevelRed) + "-" + num2text(LightLevelGreen) + "-" + num2text(LightLevelBlue), ul_Layer) - - overlays += ul_Overlay - - return - - ul_Prep() - - if(!tag) - tag = "[type]" - if(ul_Lighting) - if(!findtext(tag,":UL")) - ul_Light() - //world.log << tag - - return diff --git a/code/unused/Virus2Prob.dm b/code/unused/Virus2Prob.dm deleted file mode 100644 index bf9868041dd..00000000000 --- a/code/unused/Virus2Prob.dm +++ /dev/null @@ -1,12 +0,0 @@ -var/list/prob_G_list = list() - -/proc/probG(var/define,var/everyother) - if(prob_G_list["[define]"]) - prob_G_list["[define]"] += 1 - if(prob_G_list["[define]"] == everyother) - prob_G_list["[define]"] = 0 - return 1 - else - (prob_G_list["[define]"]) = 0 - (prob_G_list["[define]"]) = rand(1,everyother-1) - return 0 diff --git a/code/unused/_debug.dm b/code/unused/_debug.dm deleted file mode 100644 index 271ee870a71..00000000000 --- a/code/unused/_debug.dm +++ /dev/null @@ -1,619 +0,0 @@ -// NOTE WELL! -// Only include this file when debugging locally -// Do not include in release versions - - -#define VARSICON 1 -#define SDEBUG 1 - -/client/verb/Debug() - set category = "Debug" - set name = "Debug-Debug" - if(src.holder.rank == "Game Admin") - Debug = !Debug - - world << "Debugging [Debug ? "On" : "Off"]" - else - alert("Coders only baby") - return - -/turf/verb/Flow() - set category = "Debug" - //set hidden = 1 - if(Debug) - for(var/turf/T in range(5)) - - var/obj/effect/mark/O = locate(/obj/effect/mark/, T) - - if(!O) - O = new /obj/effect/mark(T) - else - O.overlays.Cut() - - var/obj/move/OM = locate(/obj/move/, T) - - if(OM) - - if(! OM.updatecell) - O.icon_state = "x2" - else - O.icon_state = "blank" -/* -Doing this because FindTurfs() isn't even used - for(var/atom/U in OM.FindTurfs() ) - var/dirn = get_dir(OM, U) - if(dirn == 1) - O.overlays += image('icons/misc/mark.dmi', OM.airdir==1?"up":"fup") - else if(dirn == 2) - O.overlays += image('icons/misc/mark.dmi', OM.airdir==2?"dn":"fdn") - else if(dirn == 4) - O.overlays += image('icons/misc/mark.dmi', OM.airdir==4?"rt":"frt") - else if(dirn == 8) - O.overlays += image('icons/misc/mark.dmi', OM.airdir==8?"lf":"flf") -*/ - else - - if(!(T.updatecell)) - O.icon_state = "x2" - else - O.icon_state = "blank" - - if(T.airN) - O.overlays += image('icons/misc/mark.dmi', T.airdir==1?"up":"fup") - - if(T.airS) - O.overlays += image('icons/misc/mark.dmi', T.airdir==2?"dn":"fdn") - - if(T.airW) - O.overlays += image('icons/misc/mark.dmi', T.airdir==8?"lf":"flf") - - if(T.airE) - O.overlays += image('icons/misc/mark.dmi', T.airdir==4?"rt":"frt") - - - if(T.condN) - O.overlays += image('icons/misc/mark.dmi', T.condN == 1?"yup":"rup") - - if(T.condS) - O.overlays += image('icons/misc/mark.dmi', T.condS == 1?"ydn":"rdn") - - if(T.condE) - O.overlays += image('icons/misc/mark.dmi', T.condE == 1?"yrt":"rrt") - - if(T.condW) - O.overlays += image('icons/misc/mark.dmi', T.condW == 1?"ylf":"rlf") - else - alert("Debugging off") - return - -/turf/verb/Clear() - set category = "Debug" - //set hidden = 1 - if(Debug) - for(var/obj/effect/mark/O in world) - del(O) - else - alert("Debugging off") - return - -/proc/numbericon(var/tn as text,var/s = 0) - if(Debug) - var/image/I = image('icons/misc/mark.dmi', "blank") - - if(lentext(tn)>8) - tn = "*" - - var/len = lentext(tn) - - for(var/d = 1 to lentext(tn)) - - - var/char = copytext(tn, len-d+1, len-d+2) - - if(char == " ") - continue - - var/image/ID = image('icons/misc/mark.dmi', char) - - ID.pixel_x = -(d-1)*4 - ID.pixel_y = s - //if(d>1) I.Shift(WEST, (d-1)*8) - - I.overlays += ID - - - - return I - else - alert("Debugging off") - return - -/*/turf/verb/Stats() - set category = "Debug" - for(var/turf/T in range(5)) - - var/obj/effect/mark/O = locate(/obj/effect/mark/, T) - - if(!O) - O = new /obj/effect/mark(T) - else - O.overlays.Cut() - - - var/temp = round(T.temp-T0C, 0.1) - - O.overlays += numbericon("[temp]C") - - var/pres = round(T.tot_gas() / CELLSTANDARD * 100, 0.1) - - O.overlays += numbericon("[pres]", -8) - O.mark = "[temp]/[pres]" -*/ -/* -/turf/verb/Pipes() - set category = "Debug" - - for(var/turf/T in range(6)) - - //world << "Turf [T] at ([T.x],[T.y])" - - for(var/obj/machinery/M in T) - //world <<" Mach [M] with pdir=[M.p_dir]" - - if(M && M.p_dir) - - //world << "Accepted" - var/obj/effect/mark/O = locate(/obj/effect/mark/, T) - - if(!O) - O = new /obj/effect/mark(T) - else - O.overlays.Cut() - - if(istype(M, /obj/machinery/pipes)) - var/obj/machinery/pipes/P = M - O.overlays += numbericon("[P.plnum] ", -20) - M = P.pl - - - var/obj/substance/gas/G = M.get_gas() - - if(G) - - var/cap = round( 100*(G.tot_gas()/ M.capmult / 6e6), 0.1) - var/temp = round(G.temperature - T0C, 0.1) - O.overlays += numbericon("[temp]C", 0) - O.overlays += numbericon("[cap]", -8) - - break -*/ -/turf/verb/Cables() - set category = "Debug" - if(Debug) - for(var/turf/T in range(6)) - - //world << "Turf [T] at ([T.x],[T.y])" - - var/obj/effect/mark/O = locate(/obj/effect/mark/, T) - - if(!O) - O = new /obj/effect/mark(T) - else - O.overlays.Cut() - - var/marked = 0 - for(var/obj/M in T) - //world <<" Mach [M] with pdir=[M.p_dir]" - - - if(M && istype(M, /obj/structure/cable/)) - - - var/obj/structure/cable/C = M - //world << "Accepted" - - O.overlays += numbericon("[C.netnum] " , marked) - - marked -= 8 - - else if(M && istype(M, /obj/machinery/power/)) - - var/obj/machinery/power/P = M - O.overlays += numbericon("*[P.netnum] " , marked) - marked -= 8 - - if(!marked) - del(O) - else - alert("Debugging off") - return - - -/turf/verb/Solar() - set category = "Debug" - if(Debug) - - for(var/turf/T in range(6)) - - //world << "Turf [T] at ([T.x],[T.y])" - - var/obj/effect/mark/O = locate(/obj/effect/mark/, T) - - if(!O) - O = new /obj/effect/mark(T) - else - O.overlays.Cut() - - - var/obj/machinery/power/solar/S - - S = locate(/obj/machinery/power/solar, T) - - if(S) - - O.overlays += numbericon("[S.obscured] " , 0) - O.overlays += numbericon("[round(S.sunfrac*100,0.1)] " , -12) - - else - del(O) - else - alert("Debugging off") - return - - -/mob/verb/Showports() - set category = "Debug" - if(Debug) - var/turf/T - var/obj/machinery/pipes/P - var/list/ndirs - - for(var/obj/machinery/pipeline/PL in plines) - - var/num = plines.Find(PL) - - P = PL.nodes[1] // 1st node in list - ndirs = P.get_node_dirs() - - T = get_step(P, ndirs[1]) - - var/obj/effect/mark/O = new(T) - - O.overlays += numbericon("[num] * 1 ", -4) - O.overlays += numbericon("[ndirs[1]] - [ndirs[2]]",-16) - - - P = PL.nodes[PL.nodes.len] // last node in list - - ndirs = P.get_node_dirs() - T = get_step(P, ndirs[2]) - - O = new(T) - - O.overlays += numbericon("[num] * 2 ", -4) - O.overlays += numbericon("[ndirs[1]] - [ndirs[2]]", -16) - else - alert("Debugging off") - return - -/atom/verb/delete() - set category = "Debug" - set src in view() - if(Debug) - del(src) - else - alert("Debugging off") - return - - -/area/verb/dark() - set category = "Debug" - if(Debug) - if(src.icon_state == "dark") - icon_state = null - else - icon_state = "dark" - else - alert("Debugging off") - return - -/area/verb/power() - set category = "Debug" - if(Debug) - power_equip = !power_equip - power_environ = !power_environ - - world << "Power ([src]) = [power_equip]" - - power_change() - else - alert("Debugging off") - return - -// *****RM - -// ***** - - -/mob/verb/ShowPlasma() - set category = "Debug" - if(Debug) - Plasma() - else - alert("Debugging off") - return - -/mob/verb/Blobcount() - set category = "Debug" - if(Debug) - world << "Blob count: [blobs.len]" - else - alert("Debugging off") - return - - -/mob/verb/Blobkill() - set category = "Debug" - if(Debug) - blobs = list() - world << "Blob killed." - else - alert("Debugging off") - return - -/mob/verb/Blobmode() - set category = "Debug" - if(Debug) - world << "Event=[ticker.event]" - world << "Time =[(ticker.event_time - world.realtime)/10]s" - else - alert("Debugging off") - return - -/mob/verb/Blobnext() - set category = "Debug" - if(Debug) - ticker.event_time = world.realtime - else - alert("Debugging off") - return - - -/mob/verb/callshuttle() - set category = "Debug" - if(Debug) - ticker.timeleft = 300 - ticker.timing = 1 - else - alert("Debugging off") - return - -/mob/verb/apcs() - set category = "Debug" - if(Debug) - for(var/obj/machinery/power/apc/APC in world) - world << APC.report() - else - alert("Debugging off") - return - -/mob/verb/Globals() - set category = "Debug" - if(Debug) - debugobj = new() - - debugobj.debuglist = list( powernets, plines, vote, config, admins, ticker, SS13_airtunnel, sun ) - - - world << "Debug" - else - alert("Debugging off") - return - /*for(var/obj/O in plines) - - world << "[O.name]" - */ - - - - -/mob/verb/Mach() - set category = "Debug" - if(Debug) - var/n = 0 - for(var/obj/machinery/M in world) - n++ - if(! (M in machines) ) - world << "[M] [M.type]: not in list" - - world << "in world: [n]; in list:[machines.len]" - else - alert("Debugging off") - return - - -/*/mob/verb/air() - set category = "Debug" - - Air() - -/proc/Air() - - - var/area/A = locate(/area/airintake) - - var/atot = 0 - for(var/turf/T in A) - atot += T.tot_gas() - - var/ptot = 0 - for(var/obj/machinery/pipeline/PL in plines) - if(PL.suffix == "d") - ptot += PL.ngas.tot_gas() - - var/vtot = 0 - for(var/obj/machinery/atmoalter/V in machines) - if(V.suffix == "d") - vtot += V.gas.tot_gas() - - var/ctot = 0 - for(var/obj/machinery/connector/C in machines) - if(C.suffix == "d") - ctot += C.ngas.tot_gas() - - - var/tot = atot + ptot + vtot + ctot - - diary << "A=[num2text(atot,10)] P=[num2text(ptot,10)] V=[num2text(vtot,10)] C=[num2text(ctot,10)] : Total=[num2text(tot,10)]" -*/ -/mob/verb/Revive() - set category = "Debug" - if(Debug) - adjustFireLoss(0 - getBruteLoss()) - setToxLoss(0) - adjustBruteLoss(0 - getBruteLoss()) - setOxyLoss(0) - paralysis = 0 - stunned = 0 - weakened = 0 - health = 100 - if(stat > 1) stat=0 - disabilities = initial(disabilities) - sdisabilities = initial(sdisabilities) - for(var/datum/organ/external/e in src) - e.brute_dam = 0.0 - e.burn_dam = 0.0 - e.bandaged = 0.0 - e.wound_size = 0.0 - e.max_damage = initial(e.max_damage) - e.broken = 0 - e.destroyed = 0 - e.perma_injury = 0 - e.update_icon() - if(src.type == /mob/living/carbon/human) - var/mob/living/carbon/human/H = src - H.update_body() - H.UpdateDamageIcon() - else - alert("Debugging off") - return - -/mob/verb/Smoke() - set category = "Debug" - if(Debug) - var/obj/effect/smoke/O = new /obj/effect/smoke( src.loc ) - O.dir = pick(NORTH, SOUTH, EAST, WEST) - spawn( 0 ) - O.Life() - else - alert("Debugging off") - return - -/mob/verb/revent(number as num) - set category = "Debug" - set name = "Change event %" - if(!src.holder) - src << "Only administrators may use this command." - return - if(src.holder) - eventchance = number - log_admin("[src.key] set the random event chance to [eventchance]%") - message_admins("[src.key] set the random event chance to [eventchance]%") - -/* Does nothing but blow up the station. -/mob/verb/funbutton() - set category = "Admin" - set name = "Random Expl.(REMOVE ME)" - if(!src.holder) - src << "Only administrators may use this command." - return - for(var/turf/T in world) - if(prob(4) && T.z == 1 && istype(T,/turf/station/floor)) - spawn(50+rand(0,3000)) - var/obj/item/weapon/tank/plasmatank/pt = new /obj/item/weapon/tank/plasmatank( T ) - pt.gas.temperature = 400+T0C - pt.ignite() - for(var/turf/P in view(3, T)) - if (P.poison) - P.poison = 0 - P.oldpoison = 0 - P.tmppoison = 0 - P.oxygen = 755985 - P.oldoxy = 755985 - P.tmpoxy = 755985 - usr << "\blue Blowing up station ..." - world << "[usr.key] has used boom boom boom shake the room" -*/ - -/mob/verb/removeplasma() - set category = "Debug" - set name = "Stabilize Atmos." - if(!src.holder) - src << "Only administrators may use this command." - return - spawn(0) - for(var/turf/T in view()) - T.poison = 0 - T.oldpoison = 0 - T.tmppoison = 0 - T.oxygen = 755985 - T.oldoxy = 755985 - T.tmpoxy = 755985 - T.co2 = 14.8176 - T.oldco2 = 14.8176 - T.tmpco2 = 14.8176 - T.n2 = 2.844e+006 - T.on2 = 2.844e+006 - T.tn2 = 2.844e+006 - T.tsl_gas = 0 - T.osl_gas = 0 - T.sl_gas = 0 - T.temp = 293.15 - T.otemp = 293.15 - T.ttemp = 293.15 - -/mob/verb/fire(turf/T as turf in world) - set category = "Special Verbs" - set name = "Create Fire" - if(!src.holder) - src << "Only administrators may use this command." - return - world << "[usr.key] created fire" - spawn(0) - T.poison += 30000000 - T.firelevel = T.poison - -/mob/verb/co2(turf/T as turf in world) - set category = "Special Verbs" - set name = "Create CO2" - if(!src.holder) - src << "Only administrators may use this command." - return - world << "[usr.key] created CO2" - spawn(0) - T.co2 += 300000000 - -/mob/verb/n2o(turf/T as turf in world) - set category = "Special Verbs" - set name = "Create N2O" - if(!src.holder) - src << "Only administrators may use this command." - return - world << "[usr.key] created N2O" - spawn(0) - T.sl_gas += 30000000 - -/mob/verb/explosion(T as obj|mob|turf in world) - set category = "Special Verbs" - set name = "Create Explosion" - if(!src.holder) - src << "Only administrators may use this command." - return - world << "[usr.key] created an explosion" - var/obj/item/weapon/tank/plasmatank/pt = new /obj/item/weapon/tank/plasmatank( T ) - playsound(pt.loc, "explosion", 100, 1,3) - playsound(pt.loc, 'sound/effects/explosionfar.ogg', 100, 1,10) - pt.gas.temperature = 500+T0C - pt.ignite() - - diff --git a/code/unused/ai_lockdown.dm b/code/unused/ai_lockdown.dm deleted file mode 100644 index 552ae977f35..00000000000 --- a/code/unused/ai_lockdown.dm +++ /dev/null @@ -1,60 +0,0 @@ -/mob/living/silicon/ai/proc/lockdown() - set category = "AI Commands" - set name = "Lockdown" - - if(usr.stat == 2) - usr <<"You cannot initiate lockdown because you are dead!" - return - - src << "Initiating lockdowns has been disabled due to system stress." -// Commented this out to disable Lockdowns -- TLE -/* world << "\red Lockdown initiated by [usr.name]!" - - for(var/obj/machinery/firealarm/FA in world) //activate firealarms - spawn( 0 ) - if(FA.lockdownbyai == 0) - FA.lockdownbyai = 1 - FA.alarm() - for(var/obj/machinery/door/airlock/AL in world) //close airlocks - spawn( 0 ) - if(AL.canAIControl() && AL.icon_state == "door0" && AL.lockdownbyai == 0) - AL.close() - AL.lockdownbyai = 1 - - var/obj/machinery/computer/communications/C = locate() in world - if(C) - C.post_status("alert", "lockdown") -*/ - -/* src.verbs -= /mob/living/silicon/ai/proc/lockdown - src.verbs += /mob/living/silicon/ai/proc/disablelockdown - usr << "\red Disable lockdown command enabled!" - winshow(usr,"rpane",1) -*/ - -/mob/living/silicon/ai/proc/disablelockdown() - set category = "AI Commands" - set name = "Disable Lockdown" - - if(usr.stat == 2) - usr <<"You cannot disable lockdown because you are dead!" - return - - world << "\red Lockdown cancelled by [usr.name]!" - - for(var/obj/machinery/firealarm/FA in world) //deactivate firealarms - spawn( 0 ) - if(FA.lockdownbyai == 1) - FA.lockdownbyai = 0 - FA.reset() - for(var/obj/machinery/door/airlock/AL in world) //open airlocks - spawn ( 0 ) - if(AL.canAIControl() && AL.lockdownbyai == 1) - AL.open() - AL.lockdownbyai = 0 - -/* src.verbs -= /mob/living/silicon/ai/proc/disablelockdown - src.verbs += /mob/living/silicon/ai/proc/lockdown - usr << "\red Disable lockdown command removed until lockdown initiated again!" - winshow(usr,"rpane",1) -*/ \ No newline at end of file diff --git a/code/unused/airtunnel.dm b/code/unused/airtunnel.dm deleted file mode 100644 index 9b61340bdfc..00000000000 --- a/code/unused/airtunnel.dm +++ /dev/null @@ -1,463 +0,0 @@ -/obj/machinery/sec_lock//P'sure this was part of the tunnel - name = "Security Pad" - desc = "A lock, for doors. Used by security." - icon = 'icons/obj/stationobjs.dmi' - icon_state = "sec_lock" - var/obj/item/weapon/card/id/scan = null - var/a_type = 0.0 - var/obj/machinery/door/d1 = null - var/obj/machinery/door/d2 = null - anchored = 1.0 - req_access = list(access_brig) - use_power = 1 - idle_power_usage = 2 - active_power_usage = 4 - -/obj/move/airtunnel/process() - if (!( src.deployed )) - return null - else - ..() - return - -/obj/move/airtunnel/connector/create() - src.current = src - src.next = new /obj/move/airtunnel( null ) - src.next.master = src.master - src.next.previous = src - spawn( 0 ) - src.next.create(airtunnel_start - airtunnel_stop, src.y) - return - return - -/obj/move/airtunnel/connector/wall/create() - src.current = src - src.next = new /obj/move/airtunnel/wall( null ) - src.next.master = src.master - src.next.previous = src - spawn( 0 ) - src.next.create(airtunnel_start - airtunnel_stop, src.y) - return - return - -/obj/move/airtunnel/connector/wall/process() - return - -/obj/move/airtunnel/wall/create(num, y_coord) - if (((num < 7 || (num > 16 && num < 23)) && y_coord == airtunnel_bottom)) - src.next = new /obj/move/airtunnel( null ) - else - src.next = new /obj/move/airtunnel/wall( null ) - src.next.master = src.master - src.next.previous = src - if (num > 1) - spawn( 0 ) - src.next.create(num - 1, y_coord) - return - return - -/obj/move/airtunnel/wall/move_right() - flick("wall-m", src) - return ..() - -/obj/move/airtunnel/wall/move_left() - flick("wall-m", src) - return ..() - -/obj/move/airtunnel/wall/process() - return - -/obj/move/airtunnel/proc/move_left() - src.relocate(get_step(src, WEST)) - if ((src.next && src.next.deployed)) - return src.next.move_left() - else - return src.next - return - -/obj/move/airtunnel/proc/move_right() - src.relocate(get_step(src, EAST)) - if ((src.previous && src.previous.deployed)) - src.previous.move_right() - return src.previous - -/obj/move/airtunnel/proc/create(num, y_coord) - if (y_coord == airtunnel_bottom) - if ((num < 7 || (num > 16 && num < 23))) - src.next = new /obj/move/airtunnel( null ) - else - src.next = new /obj/move/airtunnel/wall( null ) - else - src.next = new /obj/move/airtunnel( null ) - src.next.master = src.master - src.next.previous = src - if (num > 1) - spawn( 0 ) - src.next.create(num - 1, y_coord) - return - return - -/obj/machinery/at_indicator/ex_act(severity) - switch(severity) - if(1.0) - del(src) - return - if(2.0) - if (prob(50)) - for(var/x in src.verbs) - src.verbs -= x - src.icon_state = "reader_broken" - stat |= BROKEN - if(3.0) - if (prob(25)) - for(var/x in src.verbs) - src.verbs -= x - src.icon_state = "reader_broken" - stat |= BROKEN - else - return - -/obj/machinery/at_indicator/blob_act() - if (prob(75)) - for(var/x in src.verbs) - src.verbs -= x - src.icon_state = "reader_broken" - stat |= BROKEN - -/obj/machinery/at_indicator/proc/update_icon() - if(stat & (BROKEN|NOPOWER)) - icon_state = "reader_broken" - return - - var/status = 0 - if (SS13_airtunnel.operating == 1) - status = "r" - else - if (SS13_airtunnel.operating == 2) - status = "e" - else - if(!SS13_airtunnel.connectors) - return - var/obj/move/airtunnel/connector/C = pick(SS13_airtunnel.connectors) - if (C.current == C) - status = 0 - else - if (!( C.current.next )) - status = 2 - else - status = 1 - src.icon_state = text("reader[][]", (SS13_airtunnel.siphon_status == 2 ? "1" : "0"), status) - return - -/obj/machinery/at_indicator/process() - if(stat & (NOPOWER|BROKEN)) - src.update_icon() - return - use_power(5, ENVIRON) - src.update_icon() - return - -/obj/machinery/computer/airtunnel/attack_paw(user as mob) - return src.attack_hand(user) - -obj/machinery/computer/airtunnel/attack_ai(user as mob) - return src.attack_hand(user) - -/obj/machinery/computer/airtunnel/attack_hand(var/mob/user as mob) - if(..()) - return - - var/dat = "Air Tunnel Controls
      " - user.machine = src - if (SS13_airtunnel.operating == 1) - dat += "Status: RETRACTING
      " - else - if (SS13_airtunnel.operating == 2) - dat += "Status: EXPANDING
      " - else - var/obj/move/airtunnel/connector/C = pick(SS13_airtunnel.connectors) - if (C.current == C) - dat += "Status: Fully Retracted
      " - else - if (!( C.current.next )) - dat += "Status: Fully Extended
      " - else - dat += "Status: Stopped Midway
      " - dat += text("Retract Stop Extend
      ", src, src, src) - dat += text("
      Air Level: []
      ", (SS13_airtunnel.air_stat ? "Acceptable" : "DANGEROUS")) - dat += "Air System Status: " - switch(SS13_airtunnel.siphon_status) - if(0.0) - dat += "Stopped " - if(1.0) - dat += "Siphoning (Siphons only) " - if(2.0) - dat += "Regulating (BOTH) " - if(3.0) - dat += "RELEASING MAX (Siphons only) " - else - dat += text("(Refresh)
      ", src) - dat += text("RELEASE (Siphons only) Siphon (Siphons only) Stop Regulate
      ", src, src, src, src) - dat += text("

      Close
      ", user) - user << browse(dat, "window=computer;size=400x500") - onclose(user, "computer") - return - -/obj/machinery/computer/airtunnel/proc/update_icon() - if(stat & BROKEN) - icon_state = "broken" - return - - if(stat & NOPOWER) - icon_state = "c_unpowered" - return - - var/status = 0 - if (SS13_airtunnel.operating == 1) - status = "r" - else - if (SS13_airtunnel.operating == 2) - status = "e" - else - var/obj/move/airtunnel/connector/C = pick(SS13_airtunnel.connectors) - if (C.current == C) - status = 0 - else - if (!( C.current.next )) - status = 2 - else - status = 1 - src.icon_state = text("console[][]", (SS13_airtunnel.siphon_status >= 2 ? "1" : "0"), status) - return - -/obj/machinery/computer/airtunnel/process() - src.update_icon() - if(stat & (NOPOWER|BROKEN)) - return - use_power(250) - src.updateUsrDialog() - return - -/obj/machinery/computer/airtunnel/Topic(href, href_list) - if(..()) - return - - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon)))) - usr.machine = src - if (href_list["retract"]) - SS13_airtunnel.retract() - else if (href_list["stop"]) - SS13_airtunnel.operating = 0 - else if (href_list["extend"]) - SS13_airtunnel.extend() - else if (href_list["release"]) - SS13_airtunnel.siphon_status = 3 - SS13_airtunnel.siphons() - else if (href_list["siphon"]) - SS13_airtunnel.siphon_status = 1 - SS13_airtunnel.siphons() - else if (href_list["stop_siph"]) - SS13_airtunnel.siphon_status = 0 - SS13_airtunnel.siphons() - else if (href_list["auto"]) - SS13_airtunnel.siphon_status = 2 - SS13_airtunnel.siphons() - else if (href_list["refresh"]) - SS13_airtunnel.siphons() - - src.add_fingerprint(usr) - src.updateUsrDialog() - return - - -/obj/machinery/sec_lock/attack_ai(user as mob) - return src.attack_hand(user) - -/obj/machinery/sec_lock/attack_paw(user as mob) - return src.attack_hand(user) - -/obj/machinery/sec_lock/attack_hand(var/mob/user as mob) - if(..()) - return - use_power(10) - - if (src.loc == user.loc) - var/dat = text("Security Pad:
      \nKeycard: []
      \nToggle Outer Door
      \nToggle Inner Door
      \n
      \nEmergency Close
      \nEmergency Open
      ", (src.scan ? text("[]", src, src.scan.name) : text("-----", src)), src, src, src, src) - user << browse(dat, "window=sec_lock") - onclose(user, "sec_lock") - return - -/obj/machinery/sec_lock/attackby(nothing, user as mob) - return src.attack_hand(user) - -/obj/machinery/sec_lock/New() - ..() - spawn( 2 ) - if (src.a_type == 1) - src.d2 = locate(/obj/machinery/door, locate(src.x - 2, src.y - 1, src.z)) - src.d1 = locate(/obj/machinery/door, get_step(src, SOUTHWEST)) - else - if (src.a_type == 2) - src.d2 = locate(/obj/machinery/door, locate(src.x - 2, src.y + 1, src.z)) - src.d1 = locate(/obj/machinery/door, get_step(src, NORTHWEST)) - else - src.d1 = locate(/obj/machinery/door, get_step(src, SOUTH)) - src.d2 = locate(/obj/machinery/door, get_step(src, SOUTHEAST)) - return - return - -/obj/machinery/sec_lock/Topic(href, href_list) - if(..()) - return - if ((!( src.d1 ) || !( src.d2 ))) - usr << "\red Error: Cannot interface with door security!" - return - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon)))) - usr.machine = src - if (href_list["card"]) - if (src.scan) - src.scan.loc = src.loc - src.scan = null - else - var/obj/item/weapon/card/id/I = usr.equipped() - if (istype(I, /obj/item/weapon/card/id)) - usr.drop_item() - I.loc = src - src.scan = I - if (href_list["door1"]) - if (src.scan) - if (src.check_access(src.scan)) - if (src.d1.density) - spawn( 0 ) - src.d1.open() - return - else - spawn( 0 ) - src.d1.close() - return - if (href_list["door2"]) - if (src.scan) - if (src.check_access(src.scan)) - if (src.d2.density) - spawn( 0 ) - src.d2.open() - return - else - spawn( 0 ) - src.d2.close() - return - if (href_list["em_cl"]) - if (src.scan) - if (src.check_access(src.scan)) - if (!( src.d1.density )) - src.d1.close() - return - sleep(1) - spawn( 0 ) - if (!( src.d2.density )) - src.d2.close() - return - if (href_list["em_op"]) - if (src.scan) - if (src.check_access(src.scan)) - spawn( 0 ) - if (src.d1.density) - src.d1.open() - return - sleep(1) - spawn( 0 ) - if (src.d2.density) - src.d2.open() - return - src.add_fingerprint(usr) - src.updateUsrDialog() - return - -/datum/air_tunnel/air_tunnel1/New() - ..() - for(var/obj/move/airtunnel/A in locate(/area/airtunnel1)) - A.master = src - A.create() - src.connectors += A - //Foreach goto(21) - return - -/datum/air_tunnel/proc/siphons() - switch(src.siphon_status) - if(0.0) - for(var/obj/machinery/atmoalter/siphs/S in locate(/area/airtunnel1)) - S.t_status = 3 - if(1.0) - for(var/obj/machinery/atmoalter/siphs/fullairsiphon/S in locate(/area/airtunnel1)) - S.t_status = 2 - S.t_per = 1000000.0 - for(var/obj/machinery/atmoalter/siphs/scrubbers/S in locate(/area/airtunnel1)) - S.t_status = 3 - if(2.0) - for(var/obj/machinery/atmoalter/siphs/S in locate(/area/airtunnel1)) - S.t_status = 4 - if(3.0) - for(var/obj/machinery/atmoalter/siphs/fullairsiphon/S in locate(/area/airtunnel1)) - S.t_status = 1 - S.t_per = 1000000.0 - for(var/obj/machinery/atmoalter/siphs/scrubbers/S in locate(/area/airtunnel1)) - S.t_status = 3 - else - return - -/datum/air_tunnel/proc/stop() - src.operating = 0 - return - -/datum/air_tunnel/proc/extend() - if (src.operating) - return - - spawn(0) - src.operating = 2 - while(src.operating == 2) - var/ok = 1 - for(var/obj/move/airtunnel/connector/A in src.connectors) - if (!( A.current.next )) - src.operating = 0 - return - if (!( A.move_left() )) - ok = 0 - if (!( ok )) - src.operating = 0 - else - for(var/obj/move/airtunnel/connector/A in src.connectors) - if (A.current) - A.current.next.loc = get_step(A.current.loc, EAST) - A.current = A.current.next - A.current.deployed = 1 - else - src.operating = 0 - sleep(20) - return - -/datum/air_tunnel/proc/retract() - if (src.operating) - return - spawn(0) - src.operating = 1 - while(src.operating == 1) - var/ok = 1 - for(var/obj/move/airtunnel/connector/A in src.connectors) - if (A.current == A) - src.operating = 0 - return - if (A.current) - A.current.loc = null - A.current.deployed = 0 - A.current = A.current.previous - else - ok = 0 - if (!( ok )) - src.operating = 0 - else - for(var/obj/move/airtunnel/connector/A in src.connectors) - if (!( A.current.move_right() )) - src.operating = 0 - sleep(20) - return \ No newline at end of file diff --git a/code/unused/assemblies.dm b/code/unused/assemblies.dm deleted file mode 100644 index 0b6db495148..00000000000 --- a/code/unused/assemblies.dm +++ /dev/null @@ -1,951 +0,0 @@ -/*/obj/item/assembly - name = "assembly" - icon = 'icons/obj/assemblies.dmi' - item_state = "assembly" - var/status = 0.0 - throwforce = 10 - w_class = 3.0 - throw_speed = 4 - throw_range = 10 - -/obj/item/assembly/a_i_a - name = "Health-Analyzer/Igniter/Armor Assembly" - desc = "A health-analyzer, igniter and armor assembly." - icon_state = "armor-igniter-analyzer" - var/obj/item/device/healthanalyzer/part1 = null - var/obj/item/device/igniter/part2 = null - var/obj/item/clothing/suit/armor/vest/part3 = null - status = null - flags = FPRINT | TABLEPASS| CONDUCT - -/obj/item/assembly/m_i_ptank - desc = "A very intricate igniter and proximity sensor electrical assembly mounted onto top of a plasma tank." - name = "Proximity/Igniter/Plasma Tank Assembly" - icon_state = "prox-igniter-tank0" - var/obj/item/device/prox_sensor/part1 = null - var/obj/item/device/igniter/part2 = null - var/obj/item/weapon/tank/plasma/part3 = null - status = 0.0 - flags = FPRINT | TABLEPASS| CONDUCT - -/obj/item/assembly/prox_ignite - name = "Proximity/Igniter Assembly" - desc = "A proximity-activated igniter assembly." - icon_state = "prox-igniter0" - var/obj/item/device/prox_sensor/part1 = null - var/obj/item/device/igniter/part2 = null - status = null - flags = FPRINT | TABLEPASS| CONDUCT - -/obj/item/assembly/r_i_ptank - desc = "A very intricate igniter and signaller electrical assembly mounted onto top of a plasma tank." - name = "Radio/Igniter/Plasma Tank Assembly" - icon_state = "radio-igniter-tank" - var/obj/item/device/radio/signaler/part1 = null - var/obj/item/device/igniter/part2 = null - var/obj/item/weapon/tank/plasma/part3 = null - status = 0.0 - flags = FPRINT | TABLEPASS| CONDUCT - -/obj/item/assembly/anal_ignite - name = "Health-Analyzer/Igniter Assembly" - desc = "A health-analyzer igniter assembly." - icon_state = "timer-igniter0" - var/obj/item/device/healthanalyzer/part1 = null - var/obj/item/device/igniter/part2 = null - status = null - flags = FPRINT | TABLEPASS| CONDUCT - item_state = "electronic" - -/obj/item/assembly/time_ignite - name = "Timer/Igniter Assembly" - desc = "A timer-activated igniter assembly." - icon_state = "timer-igniter0" - var/obj/item/device/timer/part1 = null - var/obj/item/device/igniter/part2 = null - status = null - flags = FPRINT | TABLEPASS| CONDUCT - -/obj/item/assembly/t_i_ptank - desc = "A very intricate igniter and timer assembly mounted onto top of a plasma tank." - name = "Timer/Igniter/Plasma Tank Assembly" - icon_state = "timer-igniter-tank0" - var/obj/item/device/timer/part1 = null - var/obj/item/device/igniter/part2 = null - var/obj/item/weapon/tank/plasma/part3 = null - status = 0.0 - flags = FPRINT | TABLEPASS| CONDUCT - -/obj/item/assembly/rad_ignite - name = "Radio/Igniter Assembly" - desc = "A radio-activated igniter assembly." - icon_state = "radio-igniter" - var/obj/item/device/radio/signaler/part1 = null - var/obj/item/device/igniter/part2 = null - status = null - flags = FPRINT | TABLEPASS| CONDUCT - -/obj/item/assembly/rad_infra - name = "Signaller/Infrared Assembly" - desc = "An infrared-activated radio signaller" - icon_state = "infrared-radio0" - var/obj/item/device/radio/signaler/part1 = null - var/obj/item/device/infra/part2 = null - status = null - flags = FPRINT | TABLEPASS| CONDUCT - -/obj/item/assembly/rad_prox - name = "Signaller/Prox Sensor Assembly" - desc = "A proximity-activated radio signaller." - icon_state = "prox-radio0" - var/obj/item/device/radio/signaler/part1 = null - var/obj/item/device/prox_sensor/part2 = null - status = null - flags = FPRINT | TABLEPASS| CONDUCT - -/obj/item/assembly/rad_time - name = "Signaller/Timer Assembly" - desc = "A radio signaller activated by a count-down timer." - icon_state = "timer-radio0" - var/obj/item/device/radio/signaler/part1 = null - var/obj/item/device/timer/part2 = null - status = null - flags = FPRINT | TABLEPASS| CONDUCT -*/ - -/obj/item/assembly/time_ignite/premade/New() - ..() - part1 = new(src) - part2 = new(src) - part1.master = src - part2.master = src - //part2.status = 0 - -/obj/item/assembly/time_ignite/Del() - del(part1) - del(part2) - ..() - -/obj/item/assembly/time_ignite/attack_self(mob/user as mob) - if (src.part1) - src.part1.attack_self(user, src.status) - src.add_fingerprint(user) - return - -/obj/item/assembly/time_ignite/receive_signal() - if (!status) - return - for(var/mob/O in hearers(1, src.loc)) - O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) - src.part2.Activate() - return - -/obj/effect/decal/ash/attack_hand(mob/user as mob) - usr << "\blue The ashes slip through your fingers." - del(src) - return - -/obj/item/assembly/time_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part1.master = null - src.part1 = null - src.part2.loc = T - src.part2.master = null - src.part2 = null - - del(src) - return - if (!( istype(W, /obj/item/weapon/screwdriver) )) - return - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The timer is now secured!", 1) - else - user.show_message("\blue The timer is now unsecured!", 1) - src.part2.secured = src.status - src.add_fingerprint(user) - return - -/obj/item/assembly/time_ignite/c_state(n) - src.icon_state = text("timer-igniter[]", n) - return - -//*********** - -/obj/item/assembly/anal_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part1.master = null - src.part1 = null - src.part2.loc = T - src.part2.master = null - src.part2 = null - - del(src) - return - if (( istype(W, /obj/item/weapon/screwdriver) )) - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The analyzer is now secured!", 1) - else - user.show_message("\blue The analyzer is now unsecured!", 1) - src.part2.secured = src.status - src.add_fingerprint(user) - if(( istype(W, /obj/item/clothing/suit/armor/vest) ) && src.status) - var/obj/item/assembly/a_i_a/R = new - R.part1 = part1 - R.part1.master = R - part1 = null - - R.part2 = part2 - R.part2.master = R - part2 = null - - user.put_in_hand(R) - user.before_take_item(W) - R.part3 = W - R.part3.master = R - del(src) - -/* WTF THIS SHIT? It is working? Shouldn't. --rastaf0 - W.loc = R - R.part1 = W - R.part2 = W - W.layer = initial(W.layer) - if (user.client) - user.client.screen -= W - if (user.r_hand == W) - user.u_equip(W) - user.r_hand = R - else - user.u_equip(W) - user.l_hand = R - W.master = R - src.master = R - src.layer = initial(src.layer) - user.u_equip(src) - if (user.client) - user.client.screen -= src - src.loc = R - R.part3 = src - R.layer = 20 - R.loc = user - src.add_fingerprint(user) -*/ - return -/* else if ((istype(W, /obj/item/device/timer) && !( src.status ))) - - var/obj/item/assembly/time_ignite/R = new /obj/item/assembly/time_ignite( user ) - W.loc = R - R.part1 = W - W.layer = initial(W.layer) - if (user.client) - user.client.screen -= W - if (user.r_hand == W) - user.u_equip(W) - user.r_hand = R - else - user.u_equip(W) - user.l_hand = R - W.master = R - src.master = R - src.layer = initial(src.layer) - user.u_equip(src) - if (user.client) - user.client.screen -= src - src.loc = R - R.part2 = src - R.layer = 20 - R.loc = user - src.add_fingerprint(user) -*/ - -/obj/item/assembly/proc/c_state(n, O as obj) - return - -/obj/item/assembly/a_i_a/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part1.master = null - src.part1 = null - src.part2.loc = T - src.part2.master = null - src.part2 = null - src.part3.loc = T - src.part3.master = null - src.part3 = null - - del(src) - return - if (( istype(W, /obj/item/weapon/screwdriver) )) - if (!src.status && (!part1||!part2||!part3)) - user << "\red You cannot finish the assembly, not all components are in place!" - return - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The armor is now secured!", 1) - else - user.show_message("\blue The armor is now unsecured!", 1) - src.add_fingerprint(user) - -/obj/item/assembly/a_i_a/Del() - //src.part1 = null - del(src.part1) - //src.part2 = null - del(src.part2) - del(src.part3) - ..() - return -//***** - -/obj/item/assembly/rad_time/Del() - //src.part1 = null - del(src.part1) - //src.part2 = null - del(src.part2) - ..() - return - -/obj/item/assembly/rad_time/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part2.loc = T - src.part1.master = null - src.part2.master = null - src.part1 = null - src.part2 = null - //SN src = null - del(src) - return - if (!( istype(W, /obj/item/weapon/screwdriver) )) - return - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The signaler is now secured!", 1) - else - user.show_message("\blue The signaler is now unsecured!", 1) - src.part1.b_stat = !( src.status ) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_time/attack_self(mob/user as mob) - src.part1.attack_self(user, src.status) - src.part2.attack_self(user, src.status) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_time/receive_signal(datum/signal/signal) - if (signal.source == src.part2) - src.part1.send_signal("ACTIVATE") - return -//******************* -/obj/item/assembly/rad_prox/c_state(n) - src.icon_state = "prox-radio[n]" - return - -/obj/item/assembly/rad_prox/Del() - //src.part1 = null - del(src.part1) - //src.part2 = null - del(src.part2) - ..() - return - -/obj/item/assembly/rad_prox/HasProximity(atom/movable/AM as mob|obj) - if (istype(AM, /obj/effect/beam)) - return - if (AM.move_speed < 12) - src.part2.sense() - return - -/obj/item/assembly/rad_prox/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part2.loc = T - src.part1.master = null - src.part2.master = null - src.part1 = null - src.part2 = null - //SN src = null - del(src) - return - if (!( istype(W, /obj/item/weapon/screwdriver) )) - return - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The proximity sensor is now secured!", 1) - else - user.show_message("\blue The proximity sensor is now unsecured!", 1) - src.part1.b_stat = !( src.status ) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_prox/attack_self(mob/user as mob) - src.part1.attack_self(user, src.status) - src.part2.attack_self(user, src.status) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_prox/receive_signal(datum/signal/signal) - if (signal.source == src.part2) - src.part1.send_signal("ACTIVATE") - return - -/obj/item/assembly/rad_prox/Move() - ..() - src.part2.sense() - return - -/obj/item/assembly/rad_prox/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/item/assembly/rad_prox/dropped() - spawn( 0 ) - src.part2.sense() - return - return -//************************ -/obj/item/assembly/rad_infra/c_state(n) - src.icon_state = text("infrared-radio[]", n) - return - -/obj/item/assembly/rad_infra/Del() - del(src.part1) - del(src.part2) - ..() - return - -/obj/item/assembly/rad_infra/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part2.loc = T - src.part1.master = null - src.part2.master = null - src.part1 = null - src.part2 = null - //SN src = null - del(src) - return - if (!( istype(W, /obj/item/weapon/screwdriver) )) - return - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The infrared laser is now secured!", 1) - else - user.show_message("\blue The infrared laser is now unsecured!", 1) - src.part1.b_stat = !( src.status ) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_infra/attack_self(mob/user as mob) - src.part1.attack_self(user, src.status) - src.part2.attack_self(user, src.status) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_infra/receive_signal(datum/signal/signal) - - if (signal.source == src.part2) - src.part1.send_signal("ACTIVATE") - return - -/obj/item/assembly/rad_infra/verb/rotate() - set name = "Rotate Assembly" - set category = "Object" - set src in usr - - src.dir = turn(src.dir, 90) - src.part2.dir = src.dir - src.add_fingerprint(usr) - return - -/obj/item/assembly/rad_infra/Move() - - var/t = src.dir - ..() - src.dir = t - //src.part2.first = null - del(src.part2.first) - return - -/obj/item/assembly/rad_infra/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/item/assembly/rad_infra/attack_hand(M) - del(src.part2.first) - ..() - return - -/obj/item/assembly/prox_ignite/HasProximity(atom/movable/AM as mob|obj) - - if (istype(AM, /obj/effect/beam)) - return - if (AM.move_speed < 12 && src.part1) - src.part1.sense() - return - -/obj/item/assembly/prox_ignite/dropped() - spawn( 0 ) - src.part1.sense() - return - return - -/obj/item/assembly/prox_ignite/Del() - del(src.part1) - del(src.part2) - ..() - return - -/obj/item/assembly/prox_ignite/c_state(n) - src.icon_state = text("prox-igniter[]", n) - return - -/obj/item/assembly/prox_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part2.loc = T - src.part1.master = null - src.part2.master = null - src.part1 = null - src.part2 = null - //SN src = null - del(src) - return - if (!( istype(W, /obj/item/weapon/screwdriver) )) - return - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The proximity sensor is now secured! The igniter now works!", 1) - else - user.show_message("\blue The proximity sensor is now unsecured! The igniter will not work.", 1) - src.part2.secured = src.status - src.add_fingerprint(user) - return - -/obj/item/assembly/prox_ignite/attack_self(mob/user as mob) - - if (src.part1) - src.part1.attack_self(user, src.status) - src.add_fingerprint(user) - return - -/obj/item/assembly/prox_ignite/receive_signal() - for(var/mob/O in hearers(1, src.loc)) - O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) - src.part2.Activate() - return - -/obj/item/assembly/rad_ignite/Del() - del(src.part1) - del(src.part2) - ..() - return - - - -/obj/item/assembly/rad_ignite/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/turf/T = src.loc - if (ismob(T)) - T = T.loc - src.part1.loc = T - src.part2.loc = T - src.part1.master = null - src.part2.master = null - src.part1 = null - src.part2 = null - //SN src = null - del(src) - return - if (!( istype(W, /obj/item/weapon/screwdriver) )) - return - src.status = !( src.status ) - if (src.status) - user.show_message("\blue The radio is now secured! The igniter now works!", 1) - else - user.show_message("\blue The radio is now unsecured! The igniter will not work.", 1) - src.part2.secured = src.status - src.part1.b_stat = !( src.status ) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_ignite/attack_self(mob/user as mob) - - if (src.part1) - src.part1.attack_self(user, src.status) - src.add_fingerprint(user) - return - -/obj/item/assembly/rad_ignite/receive_signal() - for(var/mob/O in hearers(1, src.loc)) - O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) - src.part2.Activate() - return - -/obj/item/assembly/m_i_ptank/c_state(n) - - src.icon_state = text("prox-igniter-tank[]", n) - return - -/obj/item/assembly/m_i_ptank/HasProximity(atom/movable/AM as mob|obj) - if (istype(AM, /obj/effect/beam)) - return - if (AM.move_speed < 12 && src.part1) - src.part1.sense() - return - - -//*****RM -/obj/item/assembly/m_i_ptank/Bump(atom/O) - spawn(0) - //world << "miptank bumped into [O]" - if(src.part1.secured) - //world << "sending signal" - receive_signal() - else - //world << "not active" - ..() - -/obj/item/assembly/m_i_ptank/proc/prox_check() - if(!part1 || !part1.secured) - return - for(var/atom/A in view(1, src.loc)) - if(A!=src && !istype(A, /turf/space) && !isarea(A)) - //world << "[A]:[A.type] was sensed" - src.part1.sense() - break - - spawn(10) - prox_check() - - -//***** - - -/obj/item/assembly/m_i_ptank/dropped() - - spawn( 0 ) - part1.sense() - return - return - -/obj/item/assembly/m_i_ptank/examine() - ..() - part3.examine() - -/obj/item/assembly/m_i_ptank/Del() - - //src.part1 = null - del(src.part1) - //src.part2 = null - del(src.part2) - //src.part3 = null - del(src.part3) - ..() - return - -/obj/item/assembly/m_i_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if (istype(W, /obj/item/device/analyzer)) - src.part3.attackby(W, user) - return - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/obj/item/assembly/prox_ignite/R = new(get_turf(src.loc)) - R.part1 = src.part1 - R.part1.master = R - R.part1.loc = R - R.part2 = src.part2 - R.part2.master = R - R.part2.loc = R - if (user.get_inactive_hand()==src) - user.put_in_inactive_hand(part3) - else - part3.loc = src.loc - src.part1 = null - src.part2 = null - src.part3 = null - del(src) - return - if (!( istype(W, /obj/item/weapon/weldingtool)&&W:welding )) - return - if (!( src.status )) - src.status = 1 - bombers += "[key_name(user)] welded a prox bomb. Temp: [src.part3.air_contents.temperature-T0C]" - message_admins("[key_name_admin(user)] welded a prox bomb. Temp: [src.part3.air_contents.temperature-T0C]") - user.show_message("\blue A pressure hole has been bored to the plasma tank valve. The plasma tank can now be ignited.", 1) - else - src.status = 0 - bombers += "[key_name(user)] unwelded a prox bomb. Temp: [src.part3.air_contents.temperature-T0C]" - user << "\blue The hole has been closed." - src.part2.secured = src.status - src.add_fingerprint(user) - return - -/obj/item/assembly/m_i_ptank/attack_self(mob/user as mob) - - playsound(src.loc, 'sound/weapons/armbomb.ogg', 100, 1) - src.part1.attack_self(user, 1) - src.add_fingerprint(user) - return - -/obj/item/assembly/m_i_ptank/receive_signal() - //world << "miptank [src] got signal" - for(var/mob/O in hearers(1, null)) - O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) - //Foreach goto(19) - - if ((src.status && prob(90))) - //world << "sent ignite() to [src.part3]" - src.part3.ignite() - else - if(!src.status) - src.part3.release() - src.part1.secured = 0.0 - - return - -/obj/item/assembly/m_i_ptank/emp_act(severity) - - if(istype(part3,/obj/item/weapon/tank/plasma) && prob(100/severity)) - part3.ignite() - ..() - -//*****RM - -/obj/item/assembly/t_i_ptank/c_state(n) - - src.icon_state = text("timer-igniter-tank[]", n) - return - -/obj/item/assembly/t_i_ptank/examine() - ..() - src.part3.examine() - -/obj/item/assembly/t_i_ptank/Del() - - //src.part1 = null - del(src.part1) - //src.part2 = null - del(src.part2) - //src.part3 = null - del(src.part3) - ..() - return - -/obj/item/assembly/t_i_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - - if (istype(W, /obj/item/device/analyzer)) - src.part3.attackby(W, user) - return - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/obj/item/assembly/time_ignite/R = new(get_turf(src.loc)) - R.part1 = src.part1 - R.part1.master = R - R.part1.loc = R - R.part2 = src.part2 - R.part2.master = R - R.part2.loc = R - if (user.get_inactive_hand()==src) - user.put_in_inactive_hand(part3) - else - part3.loc = src.loc - src.part1 = null - src.part2 = null - src.part3 = null - del(src) - return - if (!( istype(W, /obj/item/weapon/weldingtool) && W:welding)) - return - if (!( src.status )) - src.status = 1 - bombers += "[key_name(user)] welded a time bomb. Temp: [src.part3.air_contents.temperature-T0C]" - message_admins("[key_name_admin(user)] welded a time bomb. Temp: [src.part3.air_contents.temperature-T0C]") - user.show_message("\blue A pressure hole has been bored to the plasma tank valve. The plasma tank can now be ignited.", 1) - else - if(src) - src.status = 0 - bombers += "[key_name(user)] unwelded a time bomb. Temp: [src.part3.air_contents.temperature-T0C]" - user << "\blue The hole has been closed." - src.part2.secured = src.status - src.add_fingerprint(user) - return - -/obj/item/assembly/t_i_ptank/attack_self(mob/user as mob) - - src.part1.attack_self(user, 1) - playsound(src.loc, 'sound/weapons/armbomb.ogg', 100, 1) - src.add_fingerprint(user) - return - -/obj/item/assembly/t_i_ptank/receive_signal() - //world << "tiptank [src] got signal" - for(var/mob/O in hearers(1, null)) - O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) - //Foreach goto(19) - if ((src.status && prob(90))) - //world << "sent ignite() to [src.part3]" - src.part3.ignite() - else - if(!src.status) - src.part3.release() - return - -/obj/item/assembly/t_i_ptank/emp_act(severity) - if(istype(part3,/obj/item/weapon/tank/plasma) && prob(100/severity)) - part3.ignite() - ..() - -/obj/item/assembly/r_i_ptank/examine() - ..() - src.part3.examine() - -/obj/item/assembly/r_i_ptank/Del() - - //src.part1 = null - del(src.part1) - //src.part2 = null - del(src.part2) - //src.part3 = null - del(src.part3) - ..() - return - -/obj/item/assembly/r_i_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - - if (istype(W, /obj/item/device/analyzer)) - src.part3.attackby(W, user) - return - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/obj/item/assembly/rad_ignite/R = new(get_turf(src.loc)) - R.part1 = src.part1 - R.part1.master = R - R.part1.loc = R - R.part2 = src.part2 - R.part2.master = R - R.part2.loc = R - if (user.get_inactive_hand()==src) - user.put_in_inactive_hand(part3) - else - part3.loc = src.loc - src.part1 = null - src.part2 = null - src.part3 = null - del(src) - return - if (!( istype(W, /obj/item/weapon/weldingtool) && W:welding )) - return - if (!( src.status )) - src.status = 1 - bombers += "[key_name(user)] welded a radio bomb. Temp: [src.part3.air_contents.temperature-T0C]" - message_admins("[key_name_admin(user)] welded a radio bomb. Temp: [src.part3.air_contents.temperature-T0C]") - user.show_message("\blue A pressure hole has been bored to the plasma tank valve. The plasma tank can now be ignited.", 1) - else - src.status = 0 - bombers += "[key_name(user)] unwelded a radio bomb. Temp: [src.part3.air_contents.temperature-T0C]" - user << "\blue The hole has been closed." - src.part2.secured = src.status - src.part1.b_stat = !( src.status ) - src.add_fingerprint(user) - return - -/obj/item/assembly/r_i_ptank/emp_act(severity) - if(istype(part3,/obj/item/weapon/tank/plasma) && prob(100/severity)) - part3.ignite() - ..() - - -/obj/item/clothing/suit/armor/a_i_a_ptank/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if (istype(W, /obj/item/device/analyzer)) - src.part4.attackby(W, user) - return - if ((istype(W, /obj/item/weapon/wrench) && !( src.status ))) - var/obj/item/assembly/a_i_a/R = new(get_turf(src.loc)) - R.part1 = src.part1 - R.part1.master = R - R.part1.loc = R - R.part2 = src.part2 - R.part2.master = R - R.part2.loc = R - R.part3 = src.part3 - R.part3.master = R - R.part3.loc = R - if (user.get_inactive_hand()==src) - user.put_in_inactive_hand(part4) - else - part4.loc = src.loc - src.part1 = null - src.part2 = null - src.part3 = null - src.part4 = null - del(src) - return - if (( istype(W, /obj/item/weapon/weldingtool) && W:welding)) - return - if (!( src.status )) - src.status = 1 - bombers += "[key_name(user)] welded a suicide bomb. Temp: [src.part4.air_contents.temperature-T0C]" - message_admins("[key_name_admin(user)] welded a suicide bomb. Temp: [src.part4.air_contents.temperature-T0C]") - user.show_message("\blue A pressure hole has been bored to the plasma tank valve. The plasma tank can now be ignited.", 1) - else - src.status = 0 - bombers += "[key_name(user)] unwelded a suicide bomb. Temp: [src.part4.air_contents.temperature-T0C]" - user << "\blue The hole has been closed." -// src.part3.status = src.status - src.add_fingerprint(user) - return - -/obj/item/assembly/r_i_ptank/attack_self(mob/user as mob) - playsound(src.loc, 'sound/weapons/armbomb.ogg', 100, 1) - src.part1.attack_self(user, 1) - src.add_fingerprint(user) - return - -/obj/item/assembly/r_i_ptank/receive_signal() - //world << "riptank [src] got signal" - for(var/mob/O in hearers(1, null)) - O.show_message(text("\icon[] *beep* *beep*", src), 3, "*beep* *beep*", 2) - //Foreach goto(19) - if ((src.status && prob(90))) - //world << "sent ignite() to [src.part3]" - src.part3.ignite() - else - if(!src.status) - src.part3.release() - return - - -//*****RM \ No newline at end of file diff --git a/code/unused/asteroiddevice.dm b/code/unused/asteroiddevice.dm deleted file mode 100644 index 0fc2c3fd27f..00000000000 --- a/code/unused/asteroiddevice.dm +++ /dev/null @@ -1,105 +0,0 @@ -/obj/item/device/gps - name = "GPS" - icon = 'icons/obj/device.dmi' - icon_state = "pinoff" - flags = FPRINT | TABLEPASS| CONDUCT - slot_flags = SLOT_BELT - w_class = 2.0 - item_state = "electronic" - throw_speed = 4 - throw_range = 20 - m_amt = 500 - var/obj/effect/ship_landing_beacon/beacon = null - var/active = 0 - - attack_self() - if(!active) - active = 1 - work() - usr << "\blue You activate the GPS" - else - active = 0 - icon_state = "pinoff" - usr << "\blue You deactivate the GPS" - - proc/work() - while(active) - if(!beacon) - for(var/obj/effect/ship_landing_beacon/B in world) - if(B.name == "Beacon - SS13") - beacon = B - break - - if(!beacon) - usr << "\red Unable to detect beacon signal." - active = 0 - icon_state = "pinonnull" - return - - if(!istype(src.loc, /turf) && !istype(src.loc, /mob)) - usr << "\red Too much interference. Please hold the device in hand or place it on belt." - active = 0 - icon_state = "pinonnull" - return - - src.icon_state = "pinonfar" - - var/atom/cur_loc = src.loc - - if(cur_loc.z == beacon.z) - src.dir = get_dir(cur_loc,beacon) - else - var/list/beacon_global_loc = beacon.get_global_map_pos() - var/list/src_global_loc = cur_loc.get_global_map_pos() - if(beacon_global_loc && src_global_loc) - var/hor_dir = 0 - var/ver_dir = 0 - if(beacon_global_loc["x"]>src_global_loc["x"]) - hor_dir = EAST - else if(beacon_global_loc["x"]src_global_loc["y"]) - ver_dir = NORTH - else if(beacon_global_loc["y"]Authorize
      command, sometimes the server will hiccup and not correctly authorize." - src << "\blue[no_auth_motd]" - src.authenticating = 0 -*/ - -/* The old goon auth/beta code is here -/client/proc/beta_tester_auth() - set name = "Tester?" - /*if(istester(src)) - src << "\blue Key accepted as beta tester" - else - src << "\redKey not accepted as beta tester. You may only observe the rounds. */ - -/client/proc/goonauth() - set name = "Goon?" - - if (src.authenticating) - return - - if(isgoon(src)) - src.goon = goon_keylist[src.ckey] - src.verbs -= /client/proc/goonauth - src << "Key authorized: Hello [goon_keylist[src.ckey]]!" - src << "\blue[auth_motd]" - return - - if (config.enable_authentication) //so that this verb isn't used when its goon only - if(src.authenticated && src.authenticated != 1) - src.goon = src.authenticated - src.verbs -= /client/proc/goonauth - src << "Key authorized: Hello [src.goon]!" - src << "\blue[auth_motd]" - else - src << "Please authorize first" - return - - src.authenticating = 1 - - spawn (rand(4, 18)) - var/result = world.Export("http://byond.lljk.net/status/?key=[src.ckey]") - var/success = 0 - - if(lowertext(result["STATUS"]) == "200 ok") - var/content = file2text(result["CONTENT"]) - - var/pos = findtext(content, " ") - var/code - var/account = "" - - if (!pos) - code = lowertext(content) - else - code = lowertext(copytext(content, 1, pos)) - account = copytext(content, pos + 1) - - if (code == "ok" && account) - src.verbs -= /client/proc/goonauth - src.goon = account - src << "Key authorized: Hello [html_encode(account)]!" - src << "\blue[auth_motd]" - success = 1 - goon_key(src.ckey, account) - - if (!success) - src.verbs += /client/proc/goonauth - //src << "Failed" - src << "\blue[no_auth_motd]" - - src.authenticating = 0 - -var/goon_keylist[0] -var/list/beta_tester_keylist - -/proc/beta_tester_loadfile() - beta_tester_keylist = new/list() - var/text = file2text("config/testers.txt") - if (!text) - diary << "Failed to load config/testers.txt\n" - else - var/list/lines = dd_text2list(text, "\n") - for(var/line in lines) - if (!line) - continue - - var/tester_key = copytext(line, 1, 0) - beta_tester_keylist.Add(tester_key) - - -/proc/goon_loadfile() - var/savefile/S=new("data/goon.goon") - S["key[0]"] >> goon_keylist - log_admin("Loading goon_keylist") - if (!length(goon_keylist)) - goon_keylist=list() - log_admin("goon_keylist was empty") - -/proc/goon_savefile() - var/savefile/S=new("data/goon.goon") - S["key[0]"] << goon_keylist - -/proc/goon_key(key as text,account as text) - var/ckey=ckey(key) - if (!goon_keylist.Find(ckey)) - goon_keylist.Add(ckey) - goon_keylist[ckey] = account - goon_savefile() - -/proc/isgoon(X) - if (istype(X,/mob)) X=X:ckey - if (istype(X,/client)) X=X:ckey - if ((ckey(X) in goon_keylist)) return 1 - else return 0 - -/proc/istester(X) - if (istype(X,/mob)) X=X:ckey - if (istype(X,/client)) X=X:ckey - if ((ckey(X) in beta_tester_keylist)) return 1 - else return 0 - -/proc/remove_goon(key as text) - var/ckey=ckey(key) - if (key && goon_keylist.Find(ckey)) - goon_keylist.Remove(ckey) - goon_savefile() - return 1 - return 0 -*/ \ No newline at end of file diff --git a/code/unused/beast/beast.dm b/code/unused/beast/beast.dm deleted file mode 100644 index aa016271530..00000000000 --- a/code/unused/beast/beast.dm +++ /dev/null @@ -1 +0,0 @@ -mob/living/carbon/beast \ No newline at end of file diff --git a/code/unused/beast/bodypart.dm b/code/unused/beast/bodypart.dm deleted file mode 100644 index 5f970317060..00000000000 --- a/code/unused/beast/bodypart.dm +++ /dev/null @@ -1,16 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 - -datum/bodypart - var/name = "unidentified bodypart" - var/health = 50 - -datum/bodypart/body - health = 100 - -datum/bodypart/head - health = 30 - -datum/bodypart/limb - -datum/bodypart/tail - health = 15 diff --git a/code/unused/beast/death.dm b/code/unused/beast/death.dm deleted file mode 100644 index 271f72beb27..00000000000 --- a/code/unused/beast/death.dm +++ /dev/null @@ -1,13 +0,0 @@ -/* -var/mob/dead/phantasm/P = new (src.loc) -for(var/obj/O in src.contents) // Where src is a mob - if(istype(O, /obj/item)) // Only remember carried items (sanity checking, mostly) - src.u_equip(O) // Unequip the item if we're wearing it - if (src.client) - src.client.screen -= O // Clear out any overlays the item added, notably in the equip windows - O.loc = src.loc // Honestly not sure if these two steps are necessary - O.dropped(src) // but they seem to occur everywhere else in the code, so we're not taking any chances. - O.layer = initial(O.layer) - O.loc = P // Add the item to the phantasm's inventory -src.Death(0) -*/ \ No newline at end of file diff --git a/code/unused/blender.dm b/code/unused/blender.dm deleted file mode 100644 index b76b74cf595..00000000000 --- a/code/unused/blender.dm +++ /dev/null @@ -1,156 +0,0 @@ -/* -This is a kitchen appliance to go along with the processor and the microwave. The Blender is for food items that are mixes or purees. -Currently, the end products of the blender are not compatable with the microwave but I hope to fix that eventually. - -Summary of Blender Code: It's basically a large reagent container and, like any other container, reactions can occur in it. However, -unlike a normal container, if you stick certain kinds of "blendable" items (ie. many food products), it'll convert the food item from -an object (which you can pick up and eat) into a reagent (which you can pour and drink). Containers with reagents in it can be poured -directly into the blender. Other food items will be converted into reagents by the blender. When deciding whether should be made with -the blender or the processor: Processor items are solid objects and Blender results are reagents. -*/ - -/obj/machinery/blender - name = "Blender" - desc = "A kitchen appliance used to blend stuff." - icon = 'icons/obj/kitchen.dmi' - icon_state = "blender_e" - density = 1 - anchored = 1 - use_power = 1 - idle_power_usage = 5 - active_power_usage = 50 - flags = OPENCONTAINER //So that you can pour stuff into it. - var/processing = 0 //This turns on (1) while it is processing so you don't accidentally get multiples from the same item. - var/container = 1 //Is there a jug attached? Could have been done with a for loop but it's less code this way. - - New() - var/datum/reagents/R = new/datum/reagents(100) //Its large since you only get one. - reagents = R - R.my_atom = src - src.contents += new /obj/item/weapon/reagent_containers/glass/blender_jug(src) - src.container = "/obj/item/weapon/reagent_containers/glass/blender_jug" //Loads a jug into the blender. - - on_reagent_change() //When the reagents change, change the icon as well. - update_icon() - - - update_icon() //Changes the icon depending on how full it is and whether it has the jug attached. - if(src.container) - switch(src.reagents.total_volume) - if(0) - src.icon_state = "blender_e" //Empty - if(1 to 75) - src.icon_state = "blender_h" //Some but not full - if(76 to 100) - src.icon_state = "blender_f" //Mostly full. - else - src.icon_state = "blender_d" //No jug. Should be redundant but just in case. - return - -/obj/machinery/blender/attackby(var/obj/item/O as obj, var/mob/user as mob) //Attack it with an object. - if(src.contents.len >= 10 || src.reagents.total_volume >= 80) //Too full. Max 10 items or 80 units of reagent - user << "Too many items are already in the blending chamber." - else if(istype(O, /obj/item/weapon/reagent_containers/glass/blender_jug) && src.container == 0) //Load jug. - O.reagents.trans_to(src, O.reagents.total_volume) - del(O) - src.contents += new /obj/item/weapon/reagent_containers/glass/blender_jug(src) - //user.drop_item() - //O.loc = src - src.container = 1 - src.flags = OPENCONTAINER - src.update_icon() - else if(src.container == 0) //No jug to load in to. - user << "There is no container to put [O] in to!" - else - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks)) //Will only blend food items. Add others in this else clause. - user.drop_item() - O.loc = src - user << "You drop the [O] into the blender." - else if (istype(O, /obj/item/weapon/plantbag)) //Allows plant bags to empty into the blender. - for (var/obj/item/weapon/reagent_containers/food/snacks/grown/G in O.contents) - O.contents -= G - G.loc = src - if(src.contents.len >= 10 || src.reagents.total_volume >= 80) //Sanity checking so the blender doesn't overfill - user << "You fill the blender to the brim." - break - if(src.contents.len < 10 && src.reagents.total_volume < 80) - user << "You empty the plant bag into the blender." - else - user << "That probably won't blend." - return 0 - - -/obj/machinery/blender/verb/blend() //Blend shit. Note: In the actual blending loop, make sure it can't include the jug. - set category = "Object" - set name = "Turn Blender On" - set src in oview(1) // Otherwise, it'll try to blend it too. - if (usr.stat != 0) - return - if (src.stat != 0) //NOPOWER etc - return - if(src.processing) - usr << "\red The blender is in the process of blending." - return - if(!src.container) - usr << "\red The blender doesn't have an attached container!" - return - playsound(src.loc, 'sound/machines/blender.ogg', 50, 1) - src.processing = 1 - usr << "\blue You turn on the blender." - use_power(250) - for(var/obj/O in src.contents) - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans)) // Mass balance law - src.reagents.add_reagent("soymilk", O.reagents.get_reagent_amount("nutriment")) - O.reagents.del_reagent("nutriment") - else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/tomato)) // Mass balance law - src.reagents.add_reagent("ketchup", O.reagents.get_reagent_amount("nutriment")) - O.reagents.del_reagent("nutriment") - else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/corn)) // Mass balance law - src.reagents.add_reagent("cornoil", O.reagents.get_reagent_amount("nutriment")) - O.reagents.del_reagent("nutriment") - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks)) //This is intentionally not an "else if" - O.reagents.trans_to(src, O.reagents.total_volume) //Think of it as the "pulp" leftover. - del(O) - src.processing = 0 - usr << "The contents of the blender have been blended." - return - -/obj/machinery/blender/verb/detach() //Transfers the contents of the Blender to the Blender Jug and then ejects the jug. - set category = "Object" - set name = "Detach Blender Jug" - set src in oview(1) - if (usr.stat != 0) - return - if(src.processing) - usr << "The blender is in the process of blending." - else if(!src.container) - usr << "There is nothing to detach!" - else - for(var/obj/O in src.contents) //Searches through the contents for the jug. - if(istype(O, /obj/item/weapon/reagent_containers/glass/blender_jug)) - O.loc = get_turf(src) - src.reagents.trans_to(O, src.reagents.total_volume) - O = null - src.flags = null - src.icon_state = "blender_d" - usr << "You detatch the blending jug." - src.container = 0 - return - -/obj/machinery/blender/verb/eject() //Ejects the non-reagent contents of the blender besides the jug. - set category = "Object" - set name = "Empty Blender Jug" - set src in oview(1) - if (usr.stat != 0) - return - if(src.processing) - usr << "The blender is in the process of blending." - else if(!src.container) - usr << "There is nothing to eject!" - else - for(var/obj/O in src.contents) - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks)) - O.loc = get_turf(src) - O = null - return - diff --git a/code/unused/carpetsplosion.dm b/code/unused/carpetsplosion.dm deleted file mode 100644 index 01e0e757573..00000000000 --- a/code/unused/carpetsplosion.dm +++ /dev/null @@ -1,83 +0,0 @@ -/proc/carpetsplosion(turf/location as turf,range = 10) - var/obj/effect/spreader/spreadEpicentre = new /obj/effect/spreader(location,range) - var/list/turf/spreadTurfs = list() - - sleep(5) - - for(var/obj/effect/spreader/spread in spreadEpicentre.spreadList) - spreadTurfs += get_turf(spread) - - del(spreadEpicentre) - return - -//DEBUG START -/obj/carpetnade - New() - ..() - carpetsplosion(loc) - -//DEBUG END - -/obj/effect/spreader - var/list/obj/effect/spreader/spreadList = list() - -/obj/effect/spreader/Del() - for(var/obj/effect/spreader/spread in spreadList) - if(spread != src) - del(spread) - ..() - -/obj/effect/spreader/New(location,var/amount = 1,obj/effects/spreader/source = src) //just a copypaste job from foam - if(amount <= 0) - del(src) - return - else - ..() - - for(var/direction in cardinal) - var/turf/T = get_step(src,direction) - if(!T) - continue - - if(!T.Enter(src)) - continue - - var/obj/effect/spreader/S = locate() in T - if(S) - continue - - new /obj/effect/spreader(T,amount-1,source) - - source.spreadList += src - -/* -/obj/effect/foam/proc/process() - if(--amount < 0) - return - - - while(expand) // keep trying to expand while true - - for(var/direction in cardinal) - - - var/turf/T = get_step(src,direction) - if(!T) - continue - - if(!T.Enter(src)) - continue - - var/obj/effect/foam/F = locate() in T - if(F) - continue - - F = new(T, metal) - F.amount = amount - if(!metal) - F.create_reagents(10) - if (reagents) - for(var/datum/reagent/R in reagents.reagent_list) - F.reagents.add_reagent(R.id,1) - sleep(15) -*/ \ No newline at end of file diff --git a/code/unused/computer2/airlock_control.dm b/code/unused/computer2/airlock_control.dm deleted file mode 100644 index e14dca1e630..00000000000 --- a/code/unused/computer2/airlock_control.dm +++ /dev/null @@ -1,60 +0,0 @@ -/datum/computer/file/computer_program/airlock_control - name = "Airlock Master" - size = 16.0 - id_tag = "TAG" - - - return_text() - if(..()) - return - - var/dat = "Close | " - dat += "Quit" - - /* - dat += "
      Frequency: " - dat += "-- " - dat += "- " - dat += "[format_frequency(src.master.frequency)] " - dat += "+ " - dat += "++" - dat += "
      " - */ - - - dat += "
      ID:[src.id_tag]
      " - - dat += "Cycle" - - - dat += "
      " - - return dat - - Topic(href, href_list) - if(..()) - return - - if(href_list["set_tag"]) - var/t = input(usr, "Please enter new tag", src.id_tag, null) as text - t = copytext(sanitize(t), 1, MAX_MESSAGE_LEN) - if (!t) - return - if (!in_range(src.master, usr)) - return - - src.id_tag = t - -// if(href_list["adj_freq"]) -// var/new_frequency = (src.master.frequency + text2num(href_list["adj_freq"])) -// src.master.set_frequency(new_frequency) - - if(href_list["send_command"]) - var/datum/signal/signal = new - signal.data["tag"] = id_tag - signal.data["command"] = href_list["send_command"] - peripheral_command("send signal", signal) - - src.master.add_fingerprint(usr) - src.master.updateUsrDialog() - return \ No newline at end of file diff --git a/code/unused/computer2/arcade.dm b/code/unused/computer2/arcade.dm deleted file mode 100644 index 679e2bd4a43..00000000000 --- a/code/unused/computer2/arcade.dm +++ /dev/null @@ -1,136 +0,0 @@ -/datum/computer/file/computer_program/arcade - name = "Arcade 500" - size = 8.0 - var/enemy_name = "Space Villian" - var/temp = "Winners Don't Use Spacedrugs" //Temporary message, for attack messages, etc - var/player_hp = 30 //Player health/attack points - var/player_mp = 10 - var/enemy_hp = 45 //Enemy health/attack points - var/enemy_mp = 20 - var/gameover = 0 - var/blocked = 0 //Player cannot attack/heal while set - - New(obj/holding as obj) - if(holding) - src.holder = holding - - if(istype(src.holder.loc,/obj/machinery/computer2)) - src.master = src.holder.loc - -// var/name_action = pick("Defeat ", "Annihilate ", "Save ", "Strike ", "Stop ", "Destroy ", "Robust ", "Romance ") - - var/name_part1 = pick("the Automatic ", "Farmer ", "Lord ", "Professor ", "the Evil ", "the Dread King ", "the Space ", "Lord ") - var/name_part2 = pick("Melonoid", "Murdertron", "Sorcerer", "Ruin", "Jeff", "Ectoplasm", "Crushulon") - - src.enemy_name = replacetext((name_part1 + name_part2), "the ", "") -// src.name = (name_action + name_part1 + name_part2) - - - -/datum/computer/file/computer_program/arcade/return_text() - if(..()) - return - - var/dat = "Close | " - dat += "Quit" - - dat += "

      [src.enemy_name]

      " - - dat += "

      [src.temp]

      " - dat += "
      Health: [src.player_hp] | Magic: [src.player_mp] | Enemy Health: [src.enemy_hp]
      " - - if (src.gameover) - dat += "
      " - - return dat - - Topic(href, href_list) - if(..()) - return - - if(href_list["send_msg"]) - var/t = input(usr, "Please enter messenger", src.id_tag, null) as text - t = copytext(sanitize(t), 1, MAX_MESSAGE_LEN) - if (!t) - return - if (!in_range(src.master, usr)) - return - - var/datum/signal/signal = new - signal.data["type"] = "message" - signal.data["data"] = t - signal.data["sender"] = src.screen_name - src.messages += "→ You:
      [t]
      " - - peripheral_command("send signal", signal) - - if(href_list["func_msg"]) - switch(href_list["func_msg"]) - if("clear") - src.messages = null - - if("print") - var/datum/signal/signal = new - signal.data["data"] = src.messages - signal.data["title"] = "Chatlog" - peripheral_command("print", signal) - - //if("save") - //TO-DO - - - if(href_list["set_name"]) - var/t = input(usr, "Please enter screen name", src.id_tag, null) as text - t = copytext(sanitize(t), 1, 20) - if (!t) - return - if (!in_range(src.master, usr)) - return - - src.screen_name = t - - src.master.add_fingerprint(usr) - src.master.updateUsrDialog() - return - - receive_command(obj/source, command, datum/signal/signal) - if(..() || !signal) - return - - if(command == "radio signal") - switch(signal.data["type"]) - if("message") - var/sender = signal.data["sender"] - if(!sender) - sender = "Unknown" - - src.messages += "← From [sender]:
      [signal.data["data"]]
      " - if(src.master.active_program == src) - playsound(src.master.loc, 'sound/machines/twobeep.ogg', 50, 1) - src.master.updateUsrDialog() - - return \ No newline at end of file diff --git a/code/unused/computer2/peripherals.dm b/code/unused/computer2/peripherals.dm deleted file mode 100644 index 9e19cb9d236..00000000000 --- a/code/unused/computer2/peripherals.dm +++ /dev/null @@ -1,209 +0,0 @@ -/obj/item/weapon/peripheral - name = "Peripheral card" - desc = "A computer circuit board." - icon = 'icons/obj/module.dmi' - icon_state = "id_mod" - item_state = "electronic" - w_class = 2 - var/obj/machinery/computer2/host - var/id = null - - New() - ..() - spawn(2) - if(istype(src.loc,/obj/machinery/computer2)) - host = src.loc - host.peripherals.Add(src) -// var/setup_id = "\ref[src]" -// src.id = copytext(setup_id,4,(length(setup_id)-1) ) - - Del() - if(host) - host.peripherals.Remove(src) - ..() - - - proc - receive_command(obj/source, command, datum/signal/signal) - if((source != host) || !(src in host)) - return 1 - - if(!command) - return 1 - - return 0 - - send_command(command, datum/signal/signal) - if(!command || !host) - return - - src.host.receive_command(src, command, signal) - - return - -/obj/item/weapon/peripheral/radio - name = "Wireless card" - var/frequency = 1419 - var/code = null - var/datum/radio_frequency/radio_connection - New() - ..() - if(radio_controller) - initialize() - - initialize() - set_frequency(frequency) - - proc - set_frequency(new_frequency) - radio_controller.remove_object(src, frequency) - frequency = new_frequency - radio_connection = radio_controller.add_object(src, frequency) - - receive_command(obj/source, command, datum/signal/signal) - if(..()) - return - - if(!signal || !radio_connection) - return - - switch(command) - if("send signal") - src.radio_connection.post_signal(src, signal) - - return - - receive_signal(datum/signal/signal) - if(!signal || (signal.encryption && signal.encryption != code)) - return - - var/datum/signal/newsignal = new - newsignal.data = signal.data - if(src.code) - newsignal.encryption = src.code - - send_command("radio signal",newsignal) - return - -/obj/item/weapon/peripheral/printer - name = "Printer module" - desc = "A small printer designed to fit into a computer casing." - icon_state = "card_mod" - var/printing = 0 - - receive_command(obj/source,command, datum/signal/signal) - if(..()) - return - - if(!signal) - return - - if((command == "print") && !src.printing) - src.printing = 1 - - var/print_data = signal.data["data"] - var/print_title = signal.data["title"] - if(!print_data) - src.printing = 0 - return - spawn(50) - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.host.loc ) - P.info = print_data - if(print_title) - P.name = "paper - '[print_title]'" - - src.printing = 0 - return - - return - -/obj/item/weapon/peripheral/prize_vendor - name = "Prize vending module" - desc = "An arcade prize dispenser designed to fit inside a computer casing." - icon_state = "power_mod" - var/last_vend = 0 //Delay between vends if manually activated(ie a dude is holding it and shaking stuff out) - - receive_command(obj/source,command, datum/signal/signal) - if(..()) - return - - if(command == "vend prize") - src.vend_prize() - - return - - attack_self(mob/user as mob) - if( (last_vend + 400) < world.time) - user << "You shake something out of [src]!" - src.vend_prize() - src.last_vend = world.time - else - user << "\red [src] isn't ready to dispense a prize yet." - - return - - proc/vend_prize() - var/obj/item/prize - var/prizeselect = rand(1,4) - var/turf/prize_location = null - - if(src.host) - prize_location = src.host.loc - else - prize_location = get_turf(src) - - switch(prizeselect) - if(1) - prize = new /obj/item/weapon/money( prize_location ) - prize.name = "space ticket" - prize.desc = "It's almost like actual currency!" - if(2) - prize = new /obj/item/device/radio/beacon( prize_location ) - prize.name = "electronic blink toy game" - prize.desc = "Blink. Blink. Blink." - if(3) - prize = new /obj/item/weapon/lighter/zippo( prize_location ) - prize.name = "Burno Lighter" - prize.desc = "Almost like a decent lighter!" - if(4) - prize = new /obj/item/weapon/c_tube( prize_location ) - prize.name = "toy sword" - prize.icon = 'icons/obj/weapons.dmi' - prize.icon_state = "sword1" - prize.desc = "A sword made of cheap plastic." - -/* -/obj/item/weapon/peripheral/card_scanner - name = "ID scanner module" - icon_state = "card_mod" - var/obj/item/weapon/card/id/authid = null - - attack_self(mob/user as mob) - if(authid) - user << "The card falls out." - src.authid.loc = get_turf(user) - src.authid = null - - return - - receive_command(obj/source,command, datum/signal/signal) - if(..()) - return - - if(!signal || (signal.data["ref_id"] != "\ref[src]") ) - return - - switch(command) - if("eject card") - if(src.authid) - src.authid.loc = src.host.loc - src.authid = null - if("add card access") - var/new_access = signal.data["access"] - if(!new_access) - return - - - - return -*/ \ No newline at end of file diff --git a/code/unused/conveyor.dm b/code/unused/conveyor.dm deleted file mode 100644 index 55581eb2345..00000000000 --- a/code/unused/conveyor.dm +++ /dev/null @@ -1,398 +0,0 @@ -// converyor belt - -// moves items/mobs/movables in set direction every ptick - - -/obj/machinery/conveyor - icon = 'icons/obj/recycling.dmi' - icon_state = "conveyor0" - name = "conveyor belt" - desc = "A conveyor belt." - anchored = 1 - var/operating = 0 // 1 if running forward, -1 if backwards, 0 if off - var/operable = 1 // true if can operate (no broken segments in this belt run) - var/basedir // this is the default (forward) direction, set by the map dir - // note dir var can vary when the direction changes - - var/list/affecting // the list of all items that will be moved this ptick - var/id = "" // the control ID - must match controller ID - // following two only used if a diverter is present - var/divert = 0 // if non-zero, direction to divert items - var/divdir = 0 // if diverting, will be conveyer dir needed to divert (otherwise dense) - - - - // create a conveyor - -/obj/machinery/conveyor/New() - ..() - basedir = dir - setdir() - - // set the dir and target turf depending on the operating direction - -/obj/machinery/conveyor/proc/setdir() - if(operating == -1) - dir = turn(basedir,180) - else - dir = basedir - update() - - - // update the icon depending on the operating condition - -/obj/machinery/conveyor/proc/update() - if(stat & BROKEN) - icon_state = "conveyor-b" - operating = 0 - return - if(!operable) - operating = 0 - icon_state = "conveyor[(operating != 0) && !(stat & NOPOWER)]" - - - // machine process - // move items to the target location -/obj/machinery/conveyor/process() - if(stat & (BROKEN | NOPOWER)) - return - if(!operating) - return - use_power(100) - - var/movedir = dir // base movement dir - if(divert && dir==divdir) // update if diverter present - movedir = divert - - - affecting = loc.contents - src // moved items will be all in loc - spawn(1) // slight delay to prevent infinite propagation due to map order - var/items_moved = 0 - for(var/atom/movable/A in affecting) - if(!A.anchored) - if(isturf(A.loc)) // this is to prevent an ugly bug that forces a player to drop what they're holding if they recently pick it up from the conveyer belt - if(ismob(A)) - var/mob/M = A - if(M.buckled == src) - var/obj/machinery/conveyor/C = locate() in get_step(src, dir) - M.buckled = null - step(M,dir) - if(C) - M.buckled = C - else - new/obj/item/weapon/cable_coil/cut(M.loc) - else - step(M,movedir) - else - step(A,movedir) - items_moved++ - if(items_moved >= 10) - break - -// attack with item, place item on conveyor - -/obj/machinery/conveyor/attackby(var/obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/grab)) // special handling if grabbing a mob - var/obj/item/weapon/grab/G = I - G.affecting.Move(src.loc) - del(G) - return - else if(istype(I, /obj/item/weapon/cable_coil)) // if cable, see if a mob is present - var/mob/M = locate() in src.loc - if(M) - if (M == user) - src.visible_message("\blue [M] ties \himself to the conveyor.") - // note don't check for lying if self-tying - else - if(M.lying) - user.visible_message("\blue [M] has been tied to the conveyor by [user].", "\blue You tie [M] to the converyor!") - else - user << "\blue [M] must be lying down to be tied to the converyor!" - return - M.buckled = src - src.add_fingerprint(user) - I:use(1) - M.lying = 1 - return - - // else if no mob in loc, then allow coil to be placed - - else if(istype(I, /obj/item/weapon/wirecutters)) - var/mob/M = locate() in src.loc - if(M && M.buckled == src) - M.buckled = null - src.add_fingerprint(user) - if (M == user) - src.visible_message("\blue [M] cuts \himself free from the conveyor.") - else - src.visible_message("\blue [M] had been cut free from the conveyor by [user].") - return - - if(isrobot(user)) - return - - // otherwise drop and place on conveyor - user.drop_item() - if(I && I.loc) I.loc = src.loc - return - -// attack with hand, move pulled object onto conveyor - -/obj/machinery/conveyor/attack_hand(mob/user as mob) - if ((!( user.canmove ) || user.restrained() || !( user.pulling ))) - return - if (user.pulling.anchored) - return - if ((user.pulling.loc != user.loc && get_dist(user, user.pulling) > 1)) - return - if (ismob(user.pulling)) - var/mob/M = user.pulling - M.stop_pulling() - step(user.pulling, get_dir(user.pulling.loc, src)) - user.stop_pulling() - else - step(user.pulling, get_dir(user.pulling.loc, src)) - user.stop_pulling() - return - - -// make the conveyor broken -// also propagate inoperability to any connected conveyor with the same ID -/obj/machinery/conveyor/proc/broken() - stat |= BROKEN - update() - - var/obj/machinery/conveyor/C = locate() in get_step(src, basedir) - if(C) - C.set_operable(basedir, id, 0) - - C = locate() in get_step(src, turn(basedir,180)) - if(C) - C.set_operable(turn(basedir,180), id, 0) - - -//set the operable var if ID matches, propagating in the given direction - -/obj/machinery/conveyor/proc/set_operable(stepdir, match_id, op) - - if(id != match_id) - return - operable = op - - update() - var/obj/machinery/conveyor/C = locate() in get_step(src, stepdir) - if(C) - C.set_operable(stepdir, id, op) - -/* -/obj/machinery/conveyor/verb/destroy() - set src in view() - src.broken() -*/ - -/obj/machinery/conveyor/power_change() - ..() - update() - - -// converyor diverter -// extendable arm that can be switched so items on the conveyer are diverted sideways -// situate in same turf as conveyor -// only works if belts is running proper direction -// -// -/obj/machinery/diverter - icon = 'icons/obj/recycling.dmi' - icon_state = "diverter0" - name = "diverter" - desc = "A diverter arm for a conveyor belt." - anchored = 1 - layer = FLY_LAYER - var/obj/machinery/conveyor/conv // the conveyor this diverter works on - var/deployed = 0 // true if diverter arm is extended - var/operating = 0 // true if arm is extending/contracting - var/divert_to // the dir that diverted items will be moved - var/divert_from // the dir items must be moving to divert - - -// create a diverter -// set up divert_to and divert_from directions depending on dir state -/obj/machinery/diverter/New() - - ..() - - switch(dir) - if(NORTH) - divert_to = WEST // stuff will be moved to the west - divert_from = NORTH // if entering from the north - if(SOUTH) - divert_to = EAST - divert_from = NORTH - if(EAST) - divert_to = EAST - divert_from = SOUTH - if(WEST) - divert_to = WEST - divert_from = SOUTH - if(NORTHEAST) - divert_to = NORTH - divert_from = EAST - if(NORTHWEST) - divert_to = NORTH - divert_from = WEST - if(SOUTHEAST) - divert_to = SOUTH - divert_from = EAST - if(SOUTHWEST) - divert_to = SOUTH - divert_from = WEST - spawn(2) - // wait for map load then find the conveyor in this turf - conv = locate() in src.loc - if(conv) // divert_from dir must match possible conveyor movement - if(conv.basedir != divert_from && conv.basedir != turn(divert_from,180) ) - del(src) // if no dir match, then delete self - set_divert() - update() - -// update the icon state depending on whether the diverter is extended -/obj/machinery/diverter/proc/update() - icon_state = "diverter[deployed]" - -// call to set the diversion vars of underlying conveyor -/obj/machinery/diverter/proc/set_divert() - if(conv) - if(deployed) - conv.divert = divert_to - conv.divdir = divert_from - else - conv.divert= 0 - - -// *** TESTING click to toggle -/obj/machinery/diverter/Click() - toggle() - - -// toggle between arm deployed and not deployed, showing animation -// -/obj/machinery/diverter/proc/toggle() - if( stat & (NOPOWER|BROKEN)) - return - - if(operating) - return - - use_power(50) - operating = 1 - if(deployed) - flick("diverter10",src) - icon_state = "diverter0" - sleep(10) - deployed = 0 - else - flick("diverter01",src) - icon_state = "diverter1" - sleep(10) - deployed = 1 - operating = 0 - update() - set_divert() - -// don't allow movement into the 'backwards' direction if deployed -/obj/machinery/diverter/CanPass(atom/movable/O, var/turf/target) - var/direct = get_dir(O, target) - if(direct == divert_to) // prevent movement through body of diverter - return 0 - if(!deployed) - return 1 - return(direct != turn(divert_from,180)) - -// don't allow movement through the arm if deployed -/obj/machinery/diverter/CheckExit(atom/movable/O, var/turf/target) - var/direct = get_dir(O, target) - if(direct == turn(divert_to,180)) // prevent movement through body of diverter - return 0 - if(!deployed) - return 1 - return(direct != divert_from) - - - - - -// the conveyor control switch -// -// - -/obj/machinery/conveyor_switch - - name = "conveyor switch" - desc = "A conveyor control switch." - icon = 'icons/obj/recycling.dmi' - icon_state = "switch-off" - var/position = 0 // 0 off, -1 reverse, 1 forward - var/last_pos = -1 // last direction setting - var/operated = 1 // true if just operated - - var/id = "" // must match conveyor IDs to control them - - var/list/conveyors // the list of converyors that are controlled by this switch - anchored = 1 - - - -/obj/machinery/conveyor_switch/New() - ..() - update() - - spawn(5) // allow map load - conveyors = list() - for(var/obj/machinery/conveyor/C in world) - if(C.id == id) - conveyors += C - -// update the icon depending on the position - -/obj/machinery/conveyor_switch/proc/update() - if(position<0) - icon_state = "switch-rev" - else if(position>0) - icon_state = "switch-fwd" - else - icon_state = "switch-off" - - -// timed process -// if the switch changed, update the linked conveyors - -/obj/machinery/conveyor_switch/process() - if(!operated) - return - operated = 0 - - for(var/obj/machinery/conveyor/C in conveyors) - C.operating = position - C.setdir() - -// attack with hand, switch position -/obj/machinery/conveyor_switch/attack_hand(mob/user) - if(position == 0) - if(last_pos < 0) - position = 1 - last_pos = 0 - else - position = -1 - last_pos = 0 - else - last_pos = position - position = 0 - - operated = 1 - update() - - // find any switches with same id as this one, and set their positions to match us - for(var/obj/machinery/conveyor_switch/S in world) - if(S.id == src.id) - S.position = position - S.update() diff --git a/code/unused/disease2/cureimplanter.dm b/code/unused/disease2/cureimplanter.dm deleted file mode 100644 index 45064954561..00000000000 --- a/code/unused/disease2/cureimplanter.dm +++ /dev/null @@ -1,42 +0,0 @@ -/obj/item/weapon/cureimplanter - name = "Hypospray injector" - icon = 'icons/obj/items.dmi' - icon_state = "implanter1" - var/datum/disease2/resistance/resistance = null - var/works = 0 - var/datum/disease2/disease/virus2 = null - item_state = "syringe_0" - throw_speed = 1 - throw_range = 5 - w_class = 2.0 - - -/obj/item/weapon/cureimplanter/attack(mob/target as mob, mob/user as mob) - if(ismob(target)) - for(var/mob/O in viewers(world.view, user)) - if (target != user) - O.show_message(text("\red [] is trying to inject [] with [src.name]!", user, target), 1) - else - O.show_message("\red [user] is trying to inject themselves with [src.name]!", 1) - if(!do_mob(user, target,60)) return - - - for(var/mob/O in viewers(world.view, user)) - if (target != user) - O.show_message(text("\red [] injects [] with [src.name]!", user, target), 1) - else - O.show_message("\red [user] injects themself with [src.name]!", 1) - - - var/mob/living/carbon/M = target - - if(works == 0 && prob(25)) - M.resistances2 += resistance - if(M.virus2) - M.virus2.cure_added(resistance) - else if(works == 1) - M.adjustToxLoss(rand(20,50)) - else if(works == 2) - M.adjustToxLoss(rand(50,100)) - else if(works == 3) - infect_virus2(M,virus2,1) diff --git a/code/unused/disease2/curer.dm b/code/unused/disease2/curer.dm deleted file mode 100644 index dab15f4967e..00000000000 --- a/code/unused/disease2/curer.dm +++ /dev/null @@ -1,154 +0,0 @@ -/obj/machinery/computer/curer - name = "Cure Research Machine" - icon = 'icons/obj/computer.dmi' - icon_state = "dna" -// brightnessred = 0 -// brightnessgreen = 2 //Used for multicoloured lighting on BS12 -// brightnessblue = 2 - var/curing - var/virusing - circuit = "/obj/item/weapon/circuitboard/mining" - - var/obj/item/weapon/virusdish/dish = null - -/obj/machinery/computer/curer/attackby(var/obj/I as obj, var/mob/user as mob) - /*if(istype(I, /obj/item/weapon/screwdriver)) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - if(do_after(user, 20)) - if (src.stat & BROKEN) - user << "\blue The broken glass falls out." - var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) - new /obj/item/weapon/shard( src.loc ) - var/obj/item/weapon/circuitboard/curer/M = new /obj/item/weapon/circuitboard/curer( A ) - for (var/obj/C in src) - C.loc = src.loc - A.circuit = M - A.state = 3 - A.icon_state = "3" - A.anchored = 1 - del(src) - else - user << "\blue You disconnect the monitor." - var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc ) - var/obj/item/weapon/circuitboard/curer/M = new /obj/item/weapon/circuitboard/curer( A ) - for (var/obj/C in src) - C.loc = src.loc - A.circuit = M - A.state = 4 - A.icon_state = "4" - A.anchored = 1 - del(src)*/ - if(istype(I,/obj/item/weapon/virusdish)) - var/mob/living/carbon/c = user - if(!dish) - - dish = I - c.drop_item() - I.loc = src - - //else - src.attack_hand(user) - return - -/obj/machinery/computer/curer/attack_ai(var/mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/computer/curer/attack_paw(var/mob/user as mob) - - return src.attack_hand(user) - return - -/obj/machinery/computer/curer/attack_hand(var/mob/user as mob) - if(..()) - return - user.machine = src - var/dat - if(curing) - dat = "Antibody production in progress" - else if(virusing) - dat = "Virus production in progress" - else if(dish) - dat = "Virus dish inserted" - if(dish.virus2) - if(dish.growth >= 100) - dat += "
      Begin antibody production" - dat += "
      Begin virus production" - else - dat += "
      Insufficent cells to attempt to create cure" - else - dat += "
      Please check dish contents" - - dat += "
      Eject disk" - else - dat = "Please insert dish" - - user << browse(dat, "window=computer;size=400x500") - onclose(user, "computer") - return - -/obj/machinery/computer/curer/process() - ..() - - if(stat & (NOPOWER|BROKEN)) - return - use_power(500) - src.updateDialog() - - if(curing) - curing -= 1 - if(curing == 0) - icon_state = "dna" - if(dish.virus2) - createcure(dish.virus2) - if(virusing) - virusing -= 1 - if(virusing == 0) - icon_state = "dna" - if(dish.virus2) - createvirus(dish.virus2) - - return - -/obj/machinery/computer/curer/Topic(href, href_list) - if(..()) - return - if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon))) - usr.machine = src - - if (href_list["antibody"]) - curing = 30 - dish.growth -= 50 - src.icon_state = "dna" - if (href_list["virus"]) - virusing = 30 - dish.growth -= 100 - src.icon_state = "dna" - else if(href_list["eject"]) - dish.loc = src.loc - dish = null - - src.add_fingerprint(usr) - src.updateUsrDialog() - return - - -/obj/machinery/computer/curer/proc/createcure(var/datum/disease2/disease/virus2) - var/obj/item/weapon/cureimplanter/implanter = new /obj/item/weapon/cureimplanter(src.loc) - implanter.resistance = new /datum/disease2/resistance(dish.virus2) - if(probG("Virus curing",3)) - implanter.works = 0 - else - implanter.works = rand(1,2) - state("The [src.name] Buzzes") - -/obj/machinery/computer/curer/proc/createvirus(var/datum/disease2/disease/virus2) - var/obj/item/weapon/cureimplanter/implanter = new /obj/item/weapon/cureimplanter(src.loc) - implanter.name = "Viral implanter (MAJOR BIOHAZARD)" - implanter.virus2 = dish.virus2.getcopy() - implanter.works = 3 - state("The [src.name] Buzzes") - - -/obj/machinery/computer/curer/proc/state(var/msg) - for(var/mob/O in hearers(src, null)) - O.show_message("\icon[src] \blue [msg]", 2) diff --git a/code/unused/disease2/monkeydispensor.dm b/code/unused/disease2/monkeydispensor.dm deleted file mode 100644 index 13d1b9806f6..00000000000 --- a/code/unused/disease2/monkeydispensor.dm +++ /dev/null @@ -1,30 +0,0 @@ -/obj/machinery/disease2/monkeycloner - name = "Monkey dispensor" - icon = 'icons/obj/cloning.dmi' - icon_state = "pod_0" - density = 1 - anchored = 1 - - var/cloning = 0 - -/obj/machinery/disease2/monkeycloner/attack_hand() - if(!cloning) - cloning = 150 - - icon_state = "pod_g" - -/obj/machinery/disease2/monkeycloner/process() - if(stat & (NOPOWER|BROKEN)) - return - use_power(500) - src.updateDialog() - - if(cloning) - cloning -= 1 - if(!cloning) - new /mob/living/carbon/monkey(src.loc) - icon_state = "pod_0" - - - - return diff --git a/code/unused/dna.dm b/code/unused/dna.dm deleted file mode 100644 index 604acbefc6b..00000000000 --- a/code/unused/dna.dm +++ /dev/null @@ -1,962 +0,0 @@ -/proc/scram(n) - var/t = "" - var/p = null - p = 1 - while(p <= n) - t = text("[][]", t, rand(1, 9)) - p++ - return t - -/obj/machinery/computer/dna - name = "DNA operations computer" - desc = "A Computer used to advanced DNA stuff." - icon_state = "dna" - var/obj/item/weapon/card/data/scan = null - var/obj/item/weapon/card/data/modify = null - var/obj/item/weapon/card/data/modify2 = null - var/mode = null - var/temp = null - -/obj/machinery/computer/dna/attack_ai(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/computer/dna/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/computer/dna/attack_hand(mob/user as mob) - if(..()) - return - user.machine = src - if (istype(user, /mob/living/carbon/human) || istype(user, /mob/living/silicon/ai)) - var/dat = text("Please Insert the cards into the slots
      \n\t\t\t\tFunction Disk: []
      \n\t\t\t\tTarget Disk: []
      \n\t\t\t\tAux. Data Disk: []
      \n\t\t\t\t\t(Not always used!)
      \n\t\t\t\t[]", src, (src.scan ? text("[]", src.scan.name) : "----------"), src, (src.modify ? text("[]", src.modify.name) : "----------"), src, (src.modify2 ? text("[]", src.modify2.name) : "----------"), (src.scan ? text("Execute Function", src) : "No function disk inserted!")) - if (src.temp) - dat = text("[]

      Clear Message", src.temp, src) - user << browse(dat, "window=dna_comp") - onclose(user, "dna_comp") - else - var/dat = text("[]
      \n\t\t\t\t[] []
      \n\t\t\t\t[] []
      \n\t\t\t\t[] []
      \n\t\t\t\t\t(Not always used!)
      \n\t\t\t\t[]", stars("Please Insert the cards into the slots"), stars("Function Disk:"), src, (src.scan ? text("[]", src.scan.name) : "----------"), stars("Target Disk:"), src, (src.modify ? text("[]", src.modify.name) : "----------"), stars("Aux. Data Disk:"), src, (src.modify2 ? text("[]", src.modify2.name) : "----------"), (src.scan ? text("[]", src, stars("Execute Function")) : stars("No function disk inserted!"))) - if (src.temp) - dat = text("[]

      []", stars(src.temp), src, stars("Clear Message")) - user << browse(dat, "window=dna_comp") - onclose(user, "dna_comp") - return - -/obj/machinery/computer/dna/Topic(href, href_list) - if(..()) - return - if ((usr.contents.Find(src) || ((get_dist(src, usr) <= 1 || usr.telekinesis == 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai))) - usr.machine = src - if (href_list["modify"]) - if (src.modify) - src.modify.loc = src.loc - src.modify = null - src.mode = null - else - var/obj/item/I = usr.equipped() - if (istype(I, /obj/item/weapon/card/data)) - usr.drop_item() - I.loc = src - src.modify = I - src.mode = null - if (href_list["modify2"]) - if (src.modify2) - src.modify2.loc = src.loc - src.modify2 = null - src.mode = null - else - var/obj/item/I = usr.equipped() - if (istype(I, /obj/item/weapon/card/data)) - usr.drop_item() - I.loc = src - src.modify2 = I - src.mode = null - if (href_list["scan"]) - if (src.scan) - src.scan.loc = src.loc - src.scan = null - src.mode = null - else - var/obj/item/I = usr.equipped() - if (istype(I, /obj/item/weapon/card/data)) - usr.drop_item() - I.loc = src - src.scan = I - src.mode = null - if (href_list["clear"]) - src.temp = null - if (href_list["execute"]) - if ((src.scan && src.scan.function)) - switch(src.scan.function) - if("data_mutate") - if (src.modify) - if (!( findtext(src.scan.data, "-", 1, null) )) - if ((src.modify.data && src.scan.data && length(src.modify.data) >= length(src.scan.data))) - src.modify.data = text("[][]", src.scan.data, (length(src.modify.data) > length(src.scan.data) ? copytext(src.modify.data, length(src.scan.data) + 1, length(src.modify.data) + 1) : null)) - else - src.temp = "Disk Failure: Cannot examine data! (Null or wrong format)" - else - var/d = findtext(src.modify.data, "-", 1, null) - var/t = copytext(src.modify.data, d + 1, length(src.modify.data) + 1) - d = text2num(copytext(1, d, null)) - if ((d && t && src.modify.data && src.scan.data && length(src.modify.data) >= (length(t) + d - 1) )) - src.modify.data = text("[][][]", copytext(src.modify.data, 1, d), t, (length(src.modify.data) > length(t) + d ? copytext(src.modify.data, length(t) + d, length(src.modify.data) + 1) : null)) - else - src.temp = "Disk Failure: Cannot examine data! (Null or wrong format)" - else - src.temp = "Disk Failure: Cannot read target disk!" - if("dna_seq") - src.temp = "DNA Systems Help:\nHuman DNA sequences: (Compressed in *.dna format version 10.76)\n\tSpecies Identification Marker: (28 chromosomes)\n\t\t5BDFE293BA5500F9FFFD500AAFFE\n\tStructural Enzymes:\n\t\tCDE375C9A6C25A7DBDA50EC05AC6CEB63\n\t\tNote: The first id set is used for DNA clean up operations.\n\tUsed Enzymes:\n\t\t493DB249EB6D13236100A37000800AB71\n\tSpecies/Genus Classification: Homo Sapien\n\nMonkey DNA sequences: (Compressed in *.dna format version 10.76)\n\tSpecies Identification Marker: (16 chromosomes)\n\t\t2B6696D2B127E5A4\n\tStructural Enzymes:\n\t\tCDEAF5B90AADBC6BA8033DB0A7FD613FA\n\t\tNote: The first id set is used for DNA clean up operations.\n\tUsed Enzymes:\n\t\tC8FFFE7EC09D80AEDEDB9A5A0B4085B61\n\tSpecies/Genus Classification: Generic Monkey\n>" - if("dna_help") - src.temp = "DNA Systems Help:\nThe DNA systems consists 3 systems.\nI. DNA Scanner/Implanter - This system is slightly advanced to use. It accepts\n\t1 disk. Before you wish to run a function/program you must implant the\n\tdisk data into the temporary memory. Note that once this is done the disk can\n\tbe removed to place a data disk in.\nII. DNA computer - This is a simple yet fast computer that basically operates on data.\nIII. Restructurer - This device reorganizes the anatomical structure of the subject\n\taccording to the DNA sequences. Please note that it is illegal to perform a\n\ttransfer from one species to or from the Homo sapiens species but\n\thuman to human is acceptable under UNSD guidlines.\n\tNote: This machine is programmed to operate on specific preprogrammed species with\n\tspecialized anatomical blueprints hard coded into its databanks. It cannot operate\n\ton other species. (Current: Human, Monkey)\n\nData Disks:\n\tThese run on 2 (or 3) types: DNA scanner program disks and data modification\nfunctions (and disk modification functions)\n\nDisk-Copy\n\tThis erases the target disk and completely copies the data from the aux. disk.\nDisk-Erase\n\tThis erases everything on the target disk.\nData-Clear\n\tThis erases (clears) only the data.\n\nData-Trunicate\n\tThis removes data from the target disk (parameters gathered from data slot on target\n\tdisk). This fuction has 4 modes (a,b,c,default) defined by this way. (mode id)(#)\n\ta - This cuts # data from the end. (ex a1 on ABCD = ABC)\n\tb - This cuts # data from the beginning. (ex b1 on ABCD = BCD)\n\tc - This limits the data from the end. (ex c1 on ABCD = A)\n\tdefault - This limits the data from the end. (ex 1 on ABCD = D)\nData-Add\n\tThis adds thedata on the aux. disk to the data on the target disk.\nData-Sramble\n\tThis scrambles the data on the target disk. The length is equal to\n\tthe length of the original data.\nData-Input\n\tThis lets you input data into the data slot of any data disk.\n\tNote: This doesn't work only on storage.\nData-Mutate\n\tThis basically inserts text. You follow this format:\n\tpos-text (or just text for automatic pos 1)\n\tie 2-IVE on FOUR yields FIVE\n" - if("data_add") - if (src.modify) - if (src.modify2) - if ((src.modify.data && src.modify2.data)) - src.modify.data += src.modify2.data - src.temp = text("Done!
      New Data:
      []", src.modify.data) - else - src.temp = "Cannot read data! (may be null)" - else - src.temp = "Disk Failure: Cannot read aux. data disk!" - else - src.temp = "Disk Failure: Cannot read target disk!" - if("data_scramble") - if (src.modify) - if (length(text("[]", src.modify.data)) >= 1) - src.modify.data = scram(length(text("[]", src.modify.data))) - src.temp = text("Data scrambled: []", src.modify.data) - else - src.temp = "No data to scramble" - else - src.temp = "Disk Failure: Cannot read target disk!" - if("data_input") - if (src.modify) - var/dat = input(usr, ">", text("[]", src.name), null) as text - var/s = src.scan - var/m = src.modify - if ((usr.stat || usr.restrained() || src.modify != m || src.scan != s)) - return - if (((get_dist(src, usr) <= 1 || usr.telekinesis == 1) && istype(src.loc, /turf))) - src.modify.data = dat - else - src.temp = "Disk Failure: Cannot read target disk!" - if("disk_copy") - if (src.modify) - if (src.modify2) - src.modify.function = src.modify2.function - src.modify.data = src.modify2.data - src.modify.special = src.modify2.special - src.temp = "All disk data/programs copied." - else - src.temp = "Disk Failure: Cannot read aux. data disk!" - else - src.temp = "Disk Failure: Cannot read target disk!" - if("disk_dis") - if (src.modify) - src.temp = text("Function: [][]
      Data: []", src.modify.function, (src.modify.special ? text("-[]", src.modify.special) : null), src.modify.data) - else - src.temp = "Disk Failure: Cannot read target disk!" - if("disk_erase") - if (src.modify) - src.modify.data = null - src.modify.function = "storage" - src.modify.special = null - src.temp = "All Disk contents deleted." - else - src.temp = "Disk Failure: Cannot read target disk!" - if("data_clear") - if (src.modify) - src.modify.data = null - src.temp = "Disk data cleared." - else - src.temp = "Disk Failure: Cannot read target disk!" - if("data_trun") - if (src.modify) - if ((src.modify.data && src.scan.data)) - var/l1 = length(src.modify.data) - var/l2 = max(round(text2num(src.scan.data)), 1) - switch(copytext(src.modify.data, 1, 2)) - if("a") - if (l1 > l2) - src.modify.data = copytext(src.modify.data, 1, (l1 - l2) + 1) - else - src.modify.data = "" - src.temp = text("Done!
      New Data:
      []", src.modify.data) - if("b") - if (l1 > l2) - src.modify.data = copytext(src.modify.data, l2, l1 + 1) - else - src.modify.data = "" - src.temp = text("Done!
      New Data:
      []", src.modify.data) - if("c") - if (l1 >= l2) - src.modify.data = copytext(src.modify.data, l1 - l2, l1 + 1) - src.temp = text("Done!
      New Data:
      []", src.modify.data) - else - if (l1 >= l2) - src.modify.data = copytext(src.modify.data, 1, l2 + 1) - src.temp = text("Done!
      New Data:
      []", src.modify.data) - else - src.temp = "Cannot read data! (may be null and note that function data slot is used instead of aux disk!!)" - else - src.temp = "Disk Failure: Cannot read target disk!" - else - else - src.temp = "System Failure: Cannot read disk function!" - src.add_fingerprint(usr) - src.updateUsrDialog() - return - -/obj/machinery/computer/dna/ex_act(severity) - switch(severity) - if(1.0) - //SN src = null - del(src) - return - if(2.0) - if (prob(50)) - //SN src = null - del(src) - return - else - return - -/obj/machinery/dna_scanner/allow_drop() - return 0 - -/obj/machinery/dna_scanner/relaymove(mob/user as mob) - if (user.stat) - return - src.go_out() - return - -/obj/machinery/dna_scanner/verb/eject() - set src in oview(1) - - if (usr.stat != 0) - return - src.go_out() - add_fingerprint(usr) - return - -/obj/machinery/dna_scanner/verb/move_inside() - set src in oview(1) - - if (usr.stat != 0) - return - if (src.occupant) - usr << "\blue The scanner is already occupied!" - return - if (usr.abiotic()) - usr << "\blue Subject cannot have abiotic items on." - return - usr.stop_pulling() - usr.client.perspective = EYE_PERSPECTIVE - usr.client.eye = src - usr.loc = src - src.occupant = usr - src.icon_state = "scanner_1" - for(var/obj/O in src) - //O = null - del(O) - //Foreach goto(124) - src.add_fingerprint(usr) - return - -/obj/machinery/dna_scanner/attackby(obj/item/weapon/grab/G as obj, user as mob) - if ((!( istype(G, /obj/item/weapon/grab) ) || !( ismob(G.affecting) ))) - return - if (src.occupant) - user << "\blue The scanner is already occupied!" - return - if (G.affecting.abiotic()) - user << "\blue Subject cannot have abiotic items on." - return - var/mob/M = G.affecting - if (M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src - M.loc = src - src.occupant = M - src.icon_state = "scanner_1" - for(var/obj/O in src) - O.loc = src.loc - //Foreach goto(154) - src.add_fingerprint(user) - //G = null - del(G) - return - -/obj/machinery/dna_scanner/proc/go_out() - if ((!( src.occupant ) || src.locked)) - return - for(var/obj/O in src) - O.loc = src.loc - //Foreach goto(30) - if (src.occupant.client) - src.occupant.client.eye = src.occupant.client.mob - src.occupant.client.perspective = MOB_PERSPECTIVE - src.occupant.loc = src.loc - src.occupant = null - src.icon_state = "scanner_0" - return - -/obj/machinery/dna_scanner/ex_act(severity) - switch(severity) - if(1.0) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - //Foreach goto(35) - //SN src = null - del(src) - return - if(2.0) - if (prob(50)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - //Foreach goto(108) - //SN src = null - del(src) - return - if(3.0) - if (prob(25)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - //Foreach goto(181) - //SN src = null - del(src) - return - else - return - - -/obj/machinery/dna_scanner/blob_act() - if(prob(75)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - del(src) - -/obj/machinery/scan_console/ex_act(severity) - - switch(severity) - if(1.0) - //SN src = null - del(src) - return - if(2.0) - if (prob(50)) - //SN src = null - del(src) - return - else - return - -/obj/machinery/scan_console/blob_act() - - if(prob(75)) - del(src) - -/obj/machinery/scan_console/power_change() - if(stat & BROKEN) - icon_state = "broken" - else if(powered()) - icon_state = initial(icon_state) - stat &= ~NOPOWER - else - spawn(rand(0, 15)) - src.icon_state = "c_unpowered" - stat |= NOPOWER - -/obj/machinery/scan_console/New() - ..() - spawn( 5 ) - src.connected = locate(/obj/machinery/dna_scanner, get_step(src, WEST)) - return - return - -/obj/machinery/scan_console/process() - if(stat & (NOPOWER|BROKEN)) - return - use_power(250) - - var/mob/M - if (!( src.status )) - return - if (!( src.func )) - src.temp = "No function loaded into memory core!" - src.status = null - if ((src.connected && src.connected.occupant)) - M = src.connected.occupant - if (src.status == "load") - src.prog_p1 = null - src.prog_p2 = null - src.prog_p3 = null - src.prog_p4 = null - switch(src.func) - if("dna_trun") - if (src.data) - src.prog_p1 = copytext(src.data, 1, 2) - src.prog_p2 = text2num(src.data) - src.prog_p3 = src.special - src.status = "dna_trun" - src.temp = "Executing trunication function on occupant." - else - src.temp = "No data implanted in core memory." - src.status = null - if("dna_scan") - if (src.special) - if (src.scan) - if (istype(M, /mob)) - switch(src.special) - if("UI") - src.temp = text("Scan Complete:
      Data downloaded to disk!
      Unique Identifier: []", M.primary.uni_identity) - src.scan.data = M.primary.uni_identity - if("SE") - src.temp = text("Scan Complete:
      Data downloaded to disk!
      Structural Enzymes: []", M.primary.struc_enzyme) - src.scan.data = M.primary.struc_enzyme - if("UE") - src.temp = text("Scan Complete:
      Data downloaded to disk!
      Used Enzynmes: []", M.primary.use_enzyme) - src.scan.data = M.primary.use_enzyme - if("SI") - src.temp = text("Scan Complete:
      Data downloaded to disk!
      Species Identifier: []", M.primary.spec_identity) - src.scan.data = M.primary.spec_identity - else - else - src.temp = "No occupant to scan!" - else - src.temp = "Error: No disk to upload data to." - else - src.temp = "Error: Function program errors." - src.status = null - if("dna_replace") - if ((src.data && src.special)) - src.prog_p1 = src.special - src.prog_p2 = src.data - src.status = "dna_replace" - src.temp = "Executing repalcement function on occupant." - else - src.temp = "Error: No DNA data loaded into core or function program errors." - src.status = null - if("dna_add") - if ((src.data && src.special)) - src.prog_p1 = src.special - src.prog_p2 = src.data - src.status = "dna_add" - src.temp = "Executing addition function on occupant." - else - src.temp = "Error: No DNA data loaded into core or function program errors." - src.status = null - else - src.temp = "Cannot execute program!" - src.status = null - else - if (src.status == "dna_trun") - if (istype(M, /mob)) - var/t = null - switch(src.prog_p3) - if("UI") - t = M.primary.uni_identity - if("SE") - t = M.primary.struc_enzyme - if("UE") - t = M.primary.use_enzyme - if("SI") - t = M.primary.spec_identity - else - if (!( src.prog_p4 )) - switch(src.prog_p1) - if("a") - src.prog_p4 = length(t) - if("b") - src.prog_p4 = 1 - else - else - if (src.prog_p1 == "a") - src.prog_p4-- - else - if (src.prog_p1 == "b") - src.prog_p4-- - switch(src.prog_p1) - if("a") - if (src.prog_p4 <= 0) - src.temp = "Trunication complete" - src.status = null - else - t = copytext(t, 1, length(t)) - src.temp = text("Trunicating []'s DNA sequence...
      []
      Status: [] units left.

      Emergency Abort", M.name, t, src.prog_p4, src) - if("b") - if (src.prog_p4 <= 0) - src.temp = "Trunication complete" - src.status = null - else - t = copytext(t, 2, length(t) + 1) - src.temp = text("Trunicating []'s DNA sequence...
      []
      Status: [] units left.

      Emergency Abort", M.name, t, src.prog_p4, src) - if("c") - if (length(t) <= src.prog_p2) - src.temp = "Limitation complete" - src.status = null - else - t = copytext(t, 1, length(t)) - src.temp = text("Limiting []'s DNA sequence...
      []
      Status: [] units converting to [] units.

      Emergency Abort", M.name, t, length(t), src.prog_p2, src) - else - if (length(t) <= src.prog_p2) - src.temp = "Limitation complete" - src.status = null - else - t = copytext(t, 2, length(t) + 1) - src.temp = text("Limiting []'s DNA sequence...
      []
      Status: [] units converting to [] units.

      Emergency Abort", M.name, t, length(t), src.prog_p2, src) - switch(src.prog_p3) - if("UI") - M.primary.uni_identity = t - if("SE") - M.primary.struc_enzyme = t - if("UE") - M.primary.use_enzyme = t - if("SI") - M.primary.spec_identity = t - else - else - src.temp = "Process terminated due to lack of occupant in DNA chamber." - src.status = null - else - if (src.status == "dna_replace") - if (istype(M, /mob)) - var/t = null - switch(src.prog_p1) - if("UI") - t = M.primary.uni_identity - if("SE") - t = M.primary.struc_enzyme - if("UE") - t = M.primary.use_enzyme - if("SI") - t = M.primary.spec_identity - else - if (!( src.prog_p4 )) - src.prog_p4 = 1 - else - src.prog_p4++ - if ((src.prog_p4 > length(t) || src.prog_p4 > length(src.prog_p2))) - src.temp = "Replacement complete" - src.status = null - else - t = text("[][][]", copytext(t, 1, src.prog_p4), copytext(src.prog_p2, src.prog_p4, src.prog_p4 + 1), (src.prog_p4 < length(t) ? copytext(t, src.prog_p4 + 1, length(t) + 1) : null)) - src.temp = text("Replacing []'s DNA sequence...
      []
      Target: []
      Status: At position []

      Emergency Abort", M.name, t, src.prog_p2, src.prog_p4, src) - switch(src.prog_p1) - if("UI") - M.primary.uni_identity = t - if("SE") - M.primary.struc_enzyme = t - if("UE") - M.primary.use_enzyme = t - if("SI") - M.primary.spec_identity = t - else - else - src.temp = "Process terminated due to lack of occupant in DNA chamber." - src.status = null - else - if (src.status == "dna_add") - if (istype(M, /mob)) - var/t = null - switch(src.prog_p1) - if("UI") - t = M.primary.uni_identity - if("SE") - t = M.primary.struc_enzyme - if("UE") - t = M.primary.use_enzyme - if("SI") - t = M.primary.spec_identity - else - if (!( src.prog_p4 )) - src.prog_p4 = 1 - else - src.prog_p4++ - if (src.prog_p4 > length(src.prog_p2)) - src.temp = "Addition complete" - src.status = null - else - t = text("[][]", t, copytext(src.prog_p2, src.prog_p4, src.prog_p4 + 1)) - src.temp = text("Adding to []'s DNA sequence...
      []
      Adding: []
      Position: []

      Emergency Abort", M.name, t, src.prog_p2, src.prog_p4, src) - switch(src.prog_p1) - if("UI") - M.primary.uni_identity = t - if("SE") - M.primary.struc_enzyme = t - if("UE") - M.primary.use_enzyme = t - if("SI") - M.primary.spec_identity = t - else - else - src.temp = "Process terminated due to lack of occupant in DNA chamber." - src.status = null - else - src.status = null - src.temp = "Unknown system error." - src.updateDialog() - return - -/obj/machinery/scan_console/attack_paw(user as mob) - return src.attack_hand(user) - -/obj/machinery/scan_console/attack_ai(user as mob) - return src.attack_hand(user) - -/obj/machinery/scan_console/attack_hand(user as mob) - if(..()) - return - var/dat - if (src.temp) - dat = text("[]

      Clear Message", src.temp, src) - else - if (src.connected) - var/mob/occupant = src.connected.occupant - dat = "Occupant Statistics:
      " - if (occupant) - var/t1 - switch(occupant.stat) - if(0) - t1 = "Conscious" - if(1) - t1 = "Unconscious" - else - t1 = "*dead*" - dat += text("[]\tHealth %: [] ([])

      ", (occupant.health > 50 ? "" : ""), occupant.health, t1) - else - dat += "The scanner is empty.
      " - if (!( src.connected.locked )) - dat += text("Lock (Unlocked)
      ", src) - else - dat += text("Unlock (Locked)
      ", src) - dat += text("Disk: []
      \n[]
      \n[]
      ", src, - (src.scan ? text("[]", src.scan.name) : "----------"), - (src.scan ? text("Upload Data", src) : "No disk to upload"), - ((src.data || src.func || src.special) ? text("Clear Data
      Execute Data
      Function Type: [][]
      Data: []", src, src, src.func, (src.special ? text("-[]", src.special) : null), src.data) : "No data uploaded")) - dat += text("

      Close", user) - user << browse(dat, "window=scanner;size=400x500") - onclose(user, "scanner") - return - -/obj/machinery/scan_console/Topic(href, href_list) - if(..()) - return - if ((usr.contents.Find(src) || (get_dist(src, usr) <= 1 || usr.telekinesis == 1) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon/ai))) - usr.machine = src - if (href_list["locked"]) - if ((src.connected && src.connected.occupant)) - src.connected.locked = !( src.connected.locked ) - if (href_list["scan"]) - if (src.scan) - src.scan.loc = src.loc - src.scan = null - else - var/obj/item/I = usr.equipped() - if (istype(I, /obj/item/weapon/card/data)) - usr.drop_item() - I.loc = src - src.scan = I - if (href_list["u_dat"]) - if ((src.scan && !( src.status ))) - if ((src.scan.function && src.scan.function != "storage")) - src.func = src.scan.function - src.special = src.scan.special - if (src.scan.data) - src.data = src.scan.data - else - src.temp = "No disk found or core data access lock out!" - if (href_list["c_dat"]) - if (!src.status) - src.func = null - src.data = null - src.special = null - else - src.temp = "No disk found or core data access lock out!" - if (href_list["clear"]) - src.temp = null - if (href_list["abort"]) - src.status = null - if (href_list["e_dat"]) - if (!( src.status )) - src.status = "load" - src.temp = "Loading..." - src.add_fingerprint(usr) - src.updateUsrDialog() - return - -/obj/machinery/restruct/allow_drop() - return 0 - -/obj/machinery/restruct/verb/eject() - set src in oview(1) - - if (usr.stat != 0) - return - src.go_out() - add_fingerprint(usr) - return - -/obj/machinery/restruct/verb/operate() - set src in oview(1) - - src.add_fingerprint(usr) - if ((src.occupant && src.occupant.primary)) - switch(src.occupant.primary.spec_identity) - if("5BDFE293BA5500F9FFFD500AAFFE") - if (!istype(src.occupant, /mob/living/carbon/human)) - for(var/obj/O in src.occupant) - del(O) - - var/mob/living/carbon/human/O = new /mob/living/carbon/human( src ) - if(ticker.killer == src.occupant) - O.memory = src.occupant.memory - ticker.killer = O - var/mob/M = src.occupant - O.start = 1 - O.primary = M.primary - M.primary = null - var/t1 = hex2num(copytext(O.primary.uni_identity, 25, 28)) - if (t1 < 125) - O.gender = MALE - else - O.gender = FEMALE - M << "Genetic Transversal Complete!" - if (M.client) - M << "Transferring..." - M.client.mob = O - O << "Neural Sequencing Complete!" - O.loc = src - src.occupant = O - //M = null - del(M) - src.occupant = O - src.occupant << "Done!" - if("2B6696D2B127E5A4") - if (!istype(src.occupant, /mob/living/carbon/monkey)) - for(var/obj/O in src.occupant) - del(O) - var/mob/living/carbon/monkey/O = new /mob/living/carbon/monkey(src) - if(ticker.killer == src.occupant) - O.memory = src.occupant.memory - ticker.killer = O - var/mob/M = src.occupant - O.start = 1 - O.primary = M.primary - M.primary = null - M << "Genetic Transversal Complete!" - if (M.client) - M << "Transferring..." - M.client.mob = O - O << "Neural Sequencing Complete!" - O.loc = src - O << "Genetic Transversal Complete!" - src.occupant = O - del(M) - O.name = text("monkey ([])", copytext(md5(src.occupant.primary.uni_identity), 2, 6)) - src.occupant << "Done!" - else - if (istype(src.occupant, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = src.occupant - - var/speak = (length(H.primary.struc_enzyme) >= 25 ? hex2num(copytext(H.primary.struc_enzyme, 22, 25)) : 9999) - var/ears = (length(H.primary.struc_enzyme) >= 10 ? hex2num(copytext(H.primary.struc_enzyme, 7, 10)) : 9999) - var/vision = (length(H.primary.struc_enzyme) >= 16 ? hex2num(copytext(H.primary.struc_enzyme, 13, 16)) : 1) - var/mental1 = (length(H.primary.struc_enzyme) >= 31 ? hex2num(copytext(H.primary.struc_enzyme, 28, 31)) : 1) - var/mental2 = (length(H.primary.struc_enzyme) >= 28 ? hex2num(copytext(H.primary.struc_enzyme, 25, 28)) : 1) - var/speak2 = (length(H.primary.struc_enzyme) >= 22 ? hex2num(copytext(H.primary.struc_enzyme, 19, 22)) : 1) - H.sdisabilities = 0 - H.disabilities = 0 - if (speak < 3776) - H.disabilities = H.disabilities | 4 - else - if (speak > 3776) - H.sdisabilities = H.sdisabilities | 2 - if (speak2 < 2640) - H.disabilities = H.disabilities | 16 - if (ears > 3226) - H.sdisabilities = H.sdisabilities | 4 - if (vision < 1447) - H.sdisabilities = H.sdisabilities | 1 - else - if (vision > 1447) - H.disabilities = H.disabilities | 1 - if (mental1 < 1742) - H.disabilities = H.disabilities | 2 - if (mental2 < 1452) - H.disabilities = H.disabilities | 8 - var/t1 = null - if (length(H.primary.uni_identity) >= 20) - t1 = copytext(H.primary.uni_identity, 19, 21) - if (hex2num(t1) > 127) - H.gender = FEMALE - else - H.gender = MALE - else - H.gender = NEUTER - if (length(H.primary.uni_identity) >= 18) - t1 = copytext(H.primary.uni_identity, 17, 19) - H.ns_tone = hex2num(t1) - H.ns_tone = -H.ns_tone + 35 - else - H.ns_tone = 1 - H.ns_tone = -H.ns_tone + 35 - if (length(H.primary.uni_identity) >= 16) - t1 = copytext(H.primary.uni_identity, 15, 17) - H.b_eyes = hex2num(t1) - else - H.b_eyes = 255 - if (length(H.primary.uni_identity) >= 14) - t1 = copytext(H.primary.uni_identity, 13, 15) - H.g_eyes = hex2num(t1) - else - H.g_eyes = 255 - if (length(H.primary.uni_identity) >= 12) - t1 = copytext(H.primary.uni_identity, 11, 13) - H.r_eyes = hex2num(t1) - else - H.r_eyes = 255 - if (length(H.primary.uni_identity) >= 10) - t1 = copytext(H.primary.uni_identity, 9, 11) - H.nb_hair = hex2num(t1) - else - H.nb_hair = 255 - if (length(H.primary.uni_identity) >= 8) - t1 = copytext(H.primary.uni_identity, 7, 9) - H.ng_hair = hex2num(t1) - else - H.ng_hair = 255 - if (length(H.primary.uni_identity) >= 6) - t1 = copytext(H.primary.uni_identity, 5, 7) - H.nr_hair = hex2num(t1) - else - H.nr_hair = 255 - H.r_hair = H.nr_hair - H.g_hair = H.ng_hair - H.b_hair = H.nb_hair - H.s_tone = H.ns_tone - H.update_face() - H.update_body() - - if (reg_dna[H.primary.uni_identity]) - H.real_name = reg_dna[H.primary.uni_identity] - else - var/i - while (!i) - var/randomname - if (src.gender == MALE) - randomname = capitalize(pick(first_names_male) + " " + capitalize(pick(last_names))) - else - randomname = capitalize(pick(first_names_female) + " " + capitalize(pick(last_names))) - if (findname(randomname)) - continue - else - H.real_name = randomname - i++ - reg_dna[H.primary.uni_identity] = H.real_name - H << text("\red Your name is now [].", H.real_name) - return - -/obj/machinery/restruct/verb/move_inside() - set src in oview(1) - - if (usr.stat != 0) - return - if (src.occupant) - usr << "\blue The scanner is already occupied!" - return - if (usr.abiotic()) - usr << "\blue Subject cannot have abiotic items on." - return - usr.stop_pulling() - usr.client.perspective = EYE_PERSPECTIVE - usr.client.eye = src - usr.loc = src - src.occupant = usr - src.icon_state = "restruct_1" - for(var/obj/O in src) - //O = null - del(O) - //Foreach goto(124) - src.add_fingerprint(usr) - return - -/obj/machinery/restruct/relaymove(mob/user as mob) - if (user.stat) - return - src.go_out() - return - -/obj/machinery/restruct/attackby(obj/item/weapon/grab/G as obj, user as mob) - if(..()) - return - if ((!( istype(G, /obj/item/weapon/grab) ) || !( ismob(G.affecting) ))) - return - if (src.occupant) - user << "\blue The machine is already occupied!" - return - if (G.affecting.abiotic()) - user << "\blue Subject cannot have abiotic items on." - return - var/mob/M = G.affecting - if (M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src - M.loc = src - src.occupant = M - src.icon_state = "restruct_1" - for(var/obj/O in src) - O.loc = src.loc - //Foreach goto(154) - src.add_fingerprint(user) - //G = null - del(G) - return - -/obj/machinery/restruct/proc/go_out() - if ((!( src.occupant ) || src.locked)) - return - for(var/obj/O in src) - O.loc = src.loc - //Foreach goto(30) - if (src.occupant.client) - src.occupant.client.eye = src.occupant.client.mob - src.occupant.client.perspective = MOB_PERSPECTIVE - src.occupant.loc = src.loc - src.occupant = null - src.icon_state = "restruct_0" - return - -/obj/machinery/restruct/ex_act(severity) - switch(severity) - if(1.0) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - del(src) - return - if(2.0) - if (prob(50)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - del(src) - return - if(3.0) - if (prob(25)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - del(src) - return - else - return - -/obj/machinery/restruct/blob_act() - if(prob(75)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - del(src) \ No newline at end of file diff --git a/code/unused/dna_mutations.dm b/code/unused/dna_mutations.dm deleted file mode 100644 index 10671c634d7..00000000000 --- a/code/unused/dna_mutations.dm +++ /dev/null @@ -1,101 +0,0 @@ - - -/* NOTES: - -This system could be expanded to migrate all of our current mutations to. Maybe. - - -*/ - - -/* /datum/mutations : - * - * A /datum representation of "hidden" mutations. - * - */ -/datum/mutations - - var/list/requirements = list() // list of randomly-genned requirements - var/required = 1 // the number of requirements to generate - - var/list/races = list("Human") // list of races the mutation effect - - proc/get_mutation(var/mob/living/carbon/M) // Called when check_mutation() is successful - ..() - - proc/check_mutation(var/mob/living/carbon/M) // Called in dna.dm, when a target's SE is modified - - if(! ("all" in races)) // "all" means it affects everyone! - if(istype(M, /mob/living/carbon/human)) - if(! ("Human" in races)) - return - if(istype(M, /mob/living/carbon/monkey)) - if(! ("monkey" in races)) - return - // TODO: add more races maybe?? - - - var/passes = 0 - for(var/datum/mutationreq/require in requirements) - - var/se_block[] = getblockbuffer(M.dna.struc_enzymes, require.block, 3) // focus onto the block - if(se_block.len == 3) // we want to make sure there are exactly 3 entries - - if(se_block[require.subblock] == require.reqID) - - passes++ - - if(passes == required) // all requirements met - get_mutation(M) - - - Lasereyes - /* - Lets you shoot laser beams through your eyes. Fancy! - */ - required = 2 - - get_mutation(var/mob/living/carbon/M) - M << "\blue You feel a searing heat inside your eyes!" - M.mutations.Add(M_LASER) - - Healing - /* - Lets you heal other people, and yourself. But it doesn't let you heal dead people. - */ - required = 2 - - get_mutation(var/mob/living/carbon/M) - M << "\blue You feel a pleasant warmth pulse throughout your body..." - M.mutations.Add(HEAL) - -/* /datum/mutationreq : - * - * A /datum representation of a requirement in order for a mutation to happen. - * - */ - -/datum/mutationreq - var/block // The block to read - var/subblock // The sub-block to read - var/reqID // The required hexadecimal identifier to be equal to the sub-block being read. - - - - -/* -HEY: If you want to be able to get superpowers easily just uncomment this shit. -mob/verb/checkmuts() - for(var/datum/mutations/mut in global_mutations) - - for(var/datum/mutationreq/R in mut.requirements) - src << "Block: [R.block]" - src << "Sub-Block: [R.subblock]" - src << "Required ID: [R.reqID]" - src << "" - -mob/verb/editSE(t as text) - src:dna:struc_enzymes = t - domutcheck(src) - -*/ diff --git a/code/unused/filter_control.dm b/code/unused/filter_control.dm deleted file mode 100644 index 2e7188bd104..00000000000 --- a/code/unused/filter_control.dm +++ /dev/null @@ -1,162 +0,0 @@ -// Currently only used to control /obj/machinery/inlet/filter -// todo: expand to vent control as well? - -/obj/machinery/filter_control/New() - ..() - spawn(5) //wait for world - for(var/obj/machinery/inlet/filter/F in machines) - if(F.control == src.control) - F.f_mask = src.f_mask - desc = "A remote control for a filter: [control]" - -/obj/machinery/filter_control/attack_ai(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/filter_control/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/filter_control/attackby(obj/item/weapon/W, mob/user as mob) - if(istype(W, /obj/item/weapon/detective_scanner)) - return ..() - if(istype(W, /obj/item/weapon/screwdriver)) - src.add_fingerprint(user) - user.show_message(text("\red Now [] the panel...", (src.locked) ? "unscrewing" : "reattaching"), 1) - sleep(30) - src.locked =! src.locked - src.updateicon() - return - if(istype(W, /obj/item/weapon/wirecutters) && !src.locked) - stat ^= BROKEN - src.add_fingerprint(user) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\red [] has []activated []!", user, (stat&BROKEN) ? "de" : "re", src), 1) - src.updateicon() - return - if(istype(W, /obj/item/weapon/card/emag) && !emagged) - emagged++ - for(var/mob/O in viewers(user, null)) - O.show_message(text("\red [] has shorted out the []'s access system with an electromagnetic card!", user, src), 1) - src.updateicon() - return src.attack_hand(user) - return src.attack_hand(user) - -/obj/machinery/filter_control/process() - if(!(stat & NOPOWER)) - use_power(5,ENVIRON) - AutoUpdateAI(src) - src.updateUsrDialog() - src.updateicon() - -/obj/machinery/filter_control/attack_hand(mob/user as mob) - if(stat & NOPOWER) - user << browse(null, "window=filter_control") - user.machine = null - return - if(user.stat || user.lying) - return - if ((get_dist(src, user) > 1 || !istype(src.loc, /turf)) && !istype(user, /mob/living/silicon/ai)) - return 0 - - var/list/gases = list("O2", "N2", "Plasma", "CO2", "N2O") - var/dat - user.machine = src - - var/IGoodConnection = 0 - var/IBadConnection = 0 - - for(var/obj/machinery/inlet/filter/F in machines) - if((F.control == src.control) && !(F.stat && (NOPOWER|BROKEN))) - IGoodConnection++ - else if(F.control == src.control) - IBadConnection++ - var/ITotalConnections = IGoodConnection+IBadConnection - - if(ITotalConnections && !(stat & BROKEN)) //ugly - dat += "Connection status: Inlets:[ITotalConnections]/[IGoodConnection]
      \n Control ID: [control]

      \n" - else - dat += "No Connections Detected!
      \n Control ID: [control]
      \n" - if(!stat & BROKEN) - for (var/i = 1; i <= gases.len; i++) - dat += "[gases[i]]: [(src.f_mask & 1 << (i - 1)) ? "Siphoning" : "Passing"]
      \n" - else - dat += "Warning! Severe Internal Memory Corruption!
      \n
      \nConsult a qualified station technician immediately!

      \n" - dat += "
      \nError codes: 0x0000001E 0x0000007B
      \n" - - dat += "
      \nClose
      \n" - user << browse(dat, "window=filter_control;size=300x225") - onclose(user, "filter_control") -/obj/machinery/filter_control/Topic(href, href_list) - if (href_list["close"]) - usr << browse(null, "window=filter_control;") - usr.machine = null - return //Who cares if we're dead or whatever let us close the fucking window - if(..()) - return - if ((((get_dist(src, usr) <= 1 || usr.telekinesis == 1) || istype(usr, /mob/living/silicon/ai)) && istype(src.loc, /turf))) - usr.machine = src - if (src.allowed(usr) || src.emagged && !(stat & BROKEN)) - if (href_list["tg"]) //someone modified the html so I added a check here - // toggle gas - src.f_mask ^= text2num(href_list["tg"]) - for(var/obj/machinery/inlet/filter/FI in machines) - if(FI.control == src.control) - FI.f_mask ^= text2num(href_list["tg"]) - else - usr.see("\red Access Denied ([src.name] operation restricted to authorized atmospheric technicians.)") - AutoUpdateAI(src) - src.updateUsrDialog() - src.add_fingerprint(usr) - else - usr << browse(null, "window=filter_control") - usr.machine = null - return - -/obj/machinery/filter_control/proc/updateicon() - overlays.Cut() - if(stat & NOPOWER) - icon_state = "filter_control-nopower" - return - icon_state = "filter_control" - if(src.locked && (stat & BROKEN)) - overlays += image('icons/obj/stationobjs.dmi', "filter_control00") - return - else if(!src.locked) - icon_state = "filter_control-unlocked" - if(stat & BROKEN) - overlays += image('icons/obj/stationobjs.dmi', "filter_control-wirecut") - overlays += image('icons/obj/stationobjs.dmi', "filter_control00") - return - - var/GoodConnection = 0 - for(var/obj/machinery/inlet/filter/F in machines) - if((F.control == src.control) && !(F.stat && (NOPOWER|BROKEN))) - GoodConnection++ - break - - if(GoodConnection && src.f_mask) - overlays += image('icons/obj/stationobjs.dmi', "filter_control1") - else if(GoodConnection) - overlays += image('icons/obj/stationobjs.dmi', "filter_control10") - else if(src.f_mask) - overlays += image('icons/obj/stationobjs.dmi', "filter_control0") - else - overlays += image('icons/obj/stationobjs.dmi', "filter_control00") - - if (src.f_mask & (GAS_N2O|GAS_PL)) - src.overlays += image('icons/obj/stationobjs.dmi', "filter_control-tox") - if (src.f_mask & GAS_O2) - src.overlays += image('icons/obj/stationobjs.dmi', "filter_control-o2") - if (src.f_mask & GAS_N2) - src.overlays += image('icons/obj/stationobjs.dmi', "filter_control-n2") - if (src.f_mask & GAS_CO2) - src.overlays += image('icons/obj/stationobjs.dmi', "filter_control-co2") - return - -/obj/machinery/filter_control/power_change() - if(powered(ENVIRON)) - stat &= ~NOPOWER - else - stat |= NOPOWER - spawn(rand(1,15)) - src.updateicon() - return \ No newline at end of file diff --git a/code/unused/game_kit.dm b/code/unused/game_kit.dm deleted file mode 100644 index 3a96d168788..00000000000 --- a/code/unused/game_kit.dm +++ /dev/null @@ -1,138 +0,0 @@ -/* -CONTAINS: -THAT STUPID GAME KIT -Which I am commenting out /N -*/ -/* -/obj/item/weapon/game_kit/New() - src.board_stat = "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" - src.selected = "CR" - -/obj/item/weapon/game_kit/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/item/weapon/game_kit/MouseDrop(mob/user as mob) - if (user == usr && !usr.restrained() && !usr.stat && (usr.contents.Find(src) || in_range(src, usr))) - if (usr.hand) - if (!usr.l_hand) - spawn (0) - src.attack_hand(usr, 1, 1) - else - if (!usr.r_hand) - spawn (0) - src.attack_hand(usr, 0, 1) - -/obj/item/weapon/game_kit/proc/update() - var/dat = text("
      Game Board

      [] remove
      ", src, (src.selected ? text("Selected: []", src.selected) : "Nothing Selected"), src) - for (var/y = 1 to 8) - dat += "" - - for (var/x = 1 to 8) - var/color = (y + x) % 2 ? "#ffffff" : "#999999" - var/piece = copytext(src.board_stat, ((y - 1) * 8 + x) * 2 - 1, ((y - 1) * 8 + x) * 2 + 1) - - dat += "" - - dat += "" - - dat += "
      " - dat += "" - if (piece != "BB") - dat += "" - else - dat += "" - dat += "

      Chips:
      " - for (var/piece in list("CB", "CR")) - dat += "" - - dat += "
      Chess pieces:
      " - for (var/piece in list("WP", "WK", "WQ", "WI", "WN", "WR")) - dat += "" - dat += "
      " - for (var/piece in list("BP", "BK", "BQ", "BI", "BN", "BR")) - dat += "" - src.data = dat - -/obj/item/weapon/game_kit/attack_hand(mob/user as mob, unused, flag) - - if (flag) - return ..() - else - user.machine = src - if (!( src.data )) - update() - user << browse(src.data, "window=game_kit") - onclose(user, "game_kit") - return - return - -/obj/item/weapon/game_kit/Topic(href, href_list) - ..() - if ((usr.stat || usr.restrained())) - return - - if (usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))) - if (href_list["s_piece"]) - src.selected = href_list["s_piece"] - else if (href_list["mode"]) - if (href_list["mode"] == "remove") - src.selected = "remove" - else - src.selected = null - else if (href_list["s_board"]) - if (!( src.selected )) - src.selected = href_list["s_board"] - else - var/tx = text2num(copytext(href_list["s_board"], 1, 2)) - var/ty = text2num(copytext(href_list["s_board"], 3, 4)) - if ((copytext(src.selected, 2, 3) == " " && length(src.selected) == 3)) - var/sx = text2num(copytext(src.selected, 1, 2)) - var/sy = text2num(copytext(src.selected, 3, 4)) - var/place = ((sy - 1) * 8 + sx) * 2 - 1 - src.selected = copytext(src.board_stat, place, place + 2) - if (place == 1) - src.board_stat = text("BB[]", copytext(src.board_stat, 3, 129)) - else - if (place == 127) - src.board_stat = text("[]BB", copytext(src.board_stat, 1, 127)) - else - if (place) - src.board_stat = text("[]BB[]", copytext(src.board_stat, 1, place), copytext(src.board_stat, place + 2, 129)) - place = ((ty - 1) * 8 + tx) * 2 - 1 - if (place == 1) - src.board_stat = text("[][]", src.selected, copytext(src.board_stat, 3, 129)) - else - if (place == 127) - src.board_stat = text("[][]", copytext(src.board_stat, 1, 127), src.selected) - else - if (place) - src.board_stat = text("[][][]", copytext(src.board_stat, 1, place), src.selected, copytext(src.board_stat, place + 2, 129)) - src.selected = null - else - if (src.selected == "remove") - var/place = ((ty - 1) * 8 + tx) * 2 - 1 - if (place == 1) - src.board_stat = text("BB[]", copytext(src.board_stat, 3, 129)) - else - if (place == 127) - src.board_stat = text("[]BB", copytext(src.board_stat, 1, 127)) - else - if (place) - src.board_stat = text("[]BB[]", copytext(src.board_stat, 1, place), copytext(src.board_stat, place + 2, 129)) - else - if (length(src.selected) == 2) - var/place = ((ty - 1) * 8 + tx) * 2 - 1 - if (place == 1) - src.board_stat = text("[][]", src.selected, copytext(src.board_stat, 3, 129)) - else - if (place == 127) - src.board_stat = text("[][]", copytext(src.board_stat, 1, 127), src.selected) - else - if (place) - src.board_stat = text("[][][]", copytext(src.board_stat, 1, place), src.selected, copytext(src.board_stat, place + 2, 129)) - src.add_fingerprint(usr) - update() - for(var/mob/M in viewers(1, src)) - if ((M.client && M.machine == src)) - src.attack_hand(M) -*/ \ No newline at end of file diff --git a/code/unused/gamemodes/ctf.dm b/code/unused/gamemodes/ctf.dm deleted file mode 100644 index 5a464c0ce26..00000000000 --- a/code/unused/gamemodes/ctf.dm +++ /dev/null @@ -1,141 +0,0 @@ -/* -/datum/game_mode/ctf - name = "ctf" - config_tag = "ctf" - -/datum/game_mode/ctf/announce() - world << "The current game mode is - Capture the Flag!" - world << "Capture the other teams flag and bring it back to your base!" - world << "Respawn is on" - -/datum/game_mode/ctf/pre_setup() - - config.allow_ai = 0 - var/list/mobs = list() - var/total_mobs - for(var/mob/living/carbon/human/M in world) - if (M.client) - mobs += M - total_mobs++ - - var/obj/R = locate("landmark*Red-Spawn") - var/obj/G = locate("landmark*Green-Spawn") - - var/mob_check - for(var/mob/living/carbon/human/M in mobs) - if(!M) - continue - mob_check++ - if(mob_check <= total_mobs/2) //add to red team else to green - spawn() - if(M.client) - M << "You are in the Red Team!" - del(M.wear_suit) - M.w_uniform = new /obj/item/clothing/under/color/red(M) - M.w_uniform.layer = 20 - del(M.shoes) - M.wear_suit = new /obj/item/clothing/suit/armor/tdome/red(M) - M.wear_suit.layer = 20 - M.shoes = new /obj/item/clothing/shoes/black(M) - M.shoes.layer = 20 - M.wear_mask = new /obj/item/clothing/mask/gas/emergency(M) - M.wear_mask.layer = 20 - M.gloves = new /obj/item/clothing/gloves/swat(M) - M.gloves.layer = 20 - M.glasses = new /obj/item/clothing/glasses/thermal(M) - M.glasses.layer = 20 - var/obj/item/device/radio/headset/H = new /obj/item/device/radio/headset(M) - H.set_frequency(1465) - M.w_radio = H - M.w_radio.layer = 20 - var/obj/item/weapon/tank/air/O = new /obj/item/weapon/tank/air(M) - M.back = O - M.back.layer = 20 - M.internal = O - - del(M.wear_id) - var/obj/item/weapon/card/id/W = new(M) - W.name = "[M.real_name]'s ID card (Red Team)" - W.access = access_red - W.assignment = "Red Team" - W.registered_name = M.real_name - M.wear_id = W - M.wear_id.layer = 20 - if(R) - M.loc = R.loc - else - world << "No red team spawn point detected" - M.client.team = "Red" - else - spawn() - if(M.client) - M << "You are in the Green Team!" - del(M.wear_suit) - M.w_uniform = new /obj/item/clothing/under/color/green(M) - M.w_uniform.layer = 20 - del(M.shoes) - M.wear_suit = new /obj/item/clothing/suit/armor/tdome/green(M) - M.wear_suit.layer = 20 - M.shoes = new /obj/item/clothing/shoes/black(M) - M.shoes.layer = 20 - M.wear_mask = new /obj/item/clothing/mask/gas/emergency(M) - M.wear_mask.layer = 20 - M.gloves = new /obj/item/clothing/gloves/swat(M) - M.gloves.layer = 20 - M.glasses = new /obj/item/clothing/glasses/thermal(M) - M.glasses.layer = 20 - var/obj/item/device/radio/headset/H = new /obj/item/device/radio/headset(M) - H.set_frequency(1449) - M.w_radio = H - M.w_radio.layer = 20 - var/obj/item/weapon/tank/air/O = new /obj/item/weapon/tank/air(M) - M.back = O - M.back.layer = 20 - M.internal = O - - del(M.wear_id) - var/obj/item/weapon/card/id/W = new(M) - W.name = "[M.real_name]'s ID card (Green Team)" - W.access = access_green - W.assignment = "Green Team" - W.registered_name = M.real_name - M.wear_id = W - M.wear_id.layer = 20 - if(G) - M.loc = G.loc - else - world << "No green team spawn point detected" - M.client.team = "Green" - - -/datum/game_mode/ctf/post_setup() - abandon_allowed = 1 - setup_game() - - spawn (50) - var/obj/L = locate("landmark*Red-Flag") - if (L) - new /obj/item/weapon/ctf_flag/red(L.loc) - else - world << "No red flag spawn point detected" - - L = locate("landmark*Green-Flag") - if (L) - new /obj/item/weapon/ctf_flag/green(L.loc) - else - world << "No green flag spawn point detected" - - L = locate("landmark*The-Red-Team") - if (L) - new /obj/machinery/red_injector(L.loc) - else - world << "No red team spawn injector point detected" - - L = locate("landmark*The-Green-Team") - if (L) - new /obj/machinery/green_injector(L.loc) - else - world << "No green team injector spawn point detected" - ..() - -*/ \ No newline at end of file diff --git a/code/unused/gamemodes/ctf_items.dm b/code/unused/gamemodes/ctf_items.dm deleted file mode 100644 index 74c907826b6..00000000000 --- a/code/unused/gamemodes/ctf_items.dm +++ /dev/null @@ -1,139 +0,0 @@ -/obj/item/weapon/ctf_flag - name = "Flag" - desc = "Its a flag" - w_class = 5 - icon = 'flags.dmi' - icon_state = "flag_neutral" - item_state = "paper" - -/obj/item/weapon/ctf_flag/red - name = "The Red Flag" - desc = "Catch dat fukken flag" - icon_state = "flag_red" - -/obj/item/weapon/ctf_flag/green - name = "The Green Flag" - desc = "Catch dat fukken flag" - icon_state = "flag_green" - -/obj/item/weapon/ctf_flag/New() - ..() - spawn(200) - process() - return - -/obj/item/weapon/ctf_flag/process() - if(istype(src, /obj/item/weapon/ctf_flag/green)) - var/obj/L = locate("landmark*Green-Flag") - if(locate("landmark*Green-Flag", src)) - spawn(200) - process() - return - else if(!src.check_if_equipped() && L) - new /obj/item/weapon/ctf_flag/green(L.loc) - del(src) - if(istype(src, /obj/item/weapon/ctf_flag/red)) - var/obj/L = locate("landmark*Red-Flag") - if(locate("landmark*Red-Flag", src)) - spawn(200) - process() - return - else if(!src.check_if_equipped() && L) - new /obj/item/weapon/ctf_flag/red(L.loc) - del(src) - return - -/obj/item/weapon/ctf_flag/proc/check_if_equipped() - var/equipped = 0 - for(var/mob/M in living_mob_list) - if(M &&!M.stat) - var/list/L = M.get_contents() - if(src in L) - equipped = 1 - break - return equipped - -/obj/machinery/red_injector - name = "Red Team Flag Injector" - desc = "Insert flag here" - anchored = 1 - density = 1 - var/score = 0 - var/operating = 0 - icon = 'flags.dmi' - icon_state = "red_injector" -/* -/obj/machinery/red_injector/ex_act(severity) - return - -/obj/machinery/red_injector/attackby(var/obj/item/weapon/ctf_flag/C, mob/user) - if(src.operating) - user << "Cannot put a flag in right now" - return - src.operating = 1 - if(istype(C, /obj/item/weapon/ctf_flag/green)) - if(locate("landmark*Red-Flag", /obj/item/weapon/ctf_flag/red)) - src.score++ - world << "[user.real_name] has scored for the red team!" - if(ticker.mode.name == "ctf") - ticker.red_score++ - var/obj/L = locate("landmark*Green-Flag") - if (L) - del(C) - new /obj/item/weapon/ctf_flag/green(L.loc) - else - world << "No green flag spawn point detected" - if(src.score >= 15) - world << "The Red Team has won!" - world << "They have scored [score] times with the flag!" - sleep(300) - world.Reboot() - else - user << "\red You need to have your flag in the beginning position!" - else if(istype(C, /obj/item/weapon/ctf_flag/red)) - world << "[user.real_name] has tried to score with their own flag! Idiot!" - src.operating = 0 - return -*/ -/obj/machinery/green_injector - name = "Green Team Flag Injector" - desc = "Insert flag here" - anchored = 1 - density = 1 - var/operating = 0 - var/score = 0 - icon = 'flags.dmi' - icon_state = "green_injector" - -/obj/machinery/green_injector/ex_act(severity) - return -/* -/obj/machinery/green_injector/attackby(var/obj/item/weapon/ctf_flag/C, mob/user) - if(src.operating) - user << "Cannot put a flag in right now" - return - src.operating = 1 - if(istype(C, /obj/item/weapon/ctf_flag/red)) - if(locate("landmark*Green-Flag", /obj/item/weapon/ctf_flag/green)) - src.score++ - world << "[user.real_name] has scored for the green team!" - if(ticker.mode.name == "ctf") - ticker.green_score++ - var/obj/L = locate("landmark*Red-Flag") - if (L) - del(C) - new /obj/item/weapon/ctf_flag/red(L.loc) - else - world << "No red flag spawn point detected" - if(src.score >= 15) - world << "The Green Team has won!" - world << "They have scored [score] times with the flag!" - sleep(300) - world.Reboot() - else - user << "\red You need to have your flag in the beginning position!" - else if(istype(C, /obj/item/weapon/ctf_flag/green)) - world << "[user.real_name] has tried to score with their own flag! Idiot!" - src.operating = 0 - return -*/ \ No newline at end of file diff --git a/code/unused/gamemodes/deathmatch.dm b/code/unused/gamemodes/deathmatch.dm deleted file mode 100644 index e748eb4f20d..00000000000 --- a/code/unused/gamemodes/deathmatch.dm +++ /dev/null @@ -1,67 +0,0 @@ -/* -/datum/game_mode/deathmatch - name = "deathmatch" - config_tag = "deathmatch" - var/startedat - var/const/gamelength = 15 * 600 // 1/10 second - - announce() - world << "The current game mode is - Death Commando Deathmatch!" - world << "Just kill everyone else. They're gonna try to kill you, after all. Respawning is enabled." - - post_setup() - startedat = world.realtime - abandon_allowed = 1 - setup_game() - - // TODO: DEFERRED Make this massively cleaner. It should hook before spawning, not after. - var/list/mobs = list() - for(var/mob/living/carbon/human/M in world) - if (M.client) - mobs += M - for(var/mob/living/carbon/human/M in mobs) - spawn() - if(M.client) - for(var/obj/item/weapon/W in list(M.wear_suit, M.w_uniform, M.r_store, M.l_store, M.wear_id, M.belt, - M.gloves, M.glasses, M.head, M.ears, M.shoes, M.wear_mask, M.back, - M.handcuffed, M.r_hand, M.l_hand)) - M.u_equip(W) - del(W) - - var/randomname = "Killiam Shakespeare" - if(commando_names.len) - randomname = pick(commando_names) - commando_names -= randomname - var/newname = input(M,"You are a death commando. Would you like to change your name?", "Character Creation", randomname) - if(!length(newname)) - newname = randomname - newname = strip_html(newname,40) - - M.real_name = newname - M.name = newname // there are WAY more things than this to change, I'm almost certain - - M.equip_to_slot_or_del(new /obj/item/clothing/under/color/black(M), slot_w_uniform) - M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes) - M.equip_to_slot_or_del(new /obj/item/clothing/suit/swat_suit/death_commando(M), slot_wear_suit) - M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/death_commando(M), slot_wear_mask) - M.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(M), slot_gloves) - M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal(M), slot_glasses) - M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle(M), slot_l_hand) - M.equip_to_slot_or_del(new /obj/item/weapon/m_pill/cyanide(M), slot_l_store) - M.equip_to_slot_or_del(new /obj/item/weapon/flashbang(M), slot_r_store) - - var/obj/item/weapon/tank/air/O = new(M) - M.equip_to_slot_or_del(O, slot_back) - M.internal = O - - var/obj/item/weapon/card/id/W = new(M) - W.access = get_all_accesses() - W.name = "[newname]'s ID card (Death Commando)" - W.assignment = "Death Commando" - W.registered_name = newname - M.equip_to_slot_or_del(W, slot_wear_id) - ..() - - check_win() - return 1 -*/ \ No newline at end of file diff --git a/code/unused/gamemodes/monkey.dm b/code/unused/gamemodes/monkey.dm deleted file mode 100644 index 04b0689f6ab..00000000000 --- a/code/unused/gamemodes/monkey.dm +++ /dev/null @@ -1,131 +0,0 @@ -#define MONKEY_MODE_RUNNING 0 -#define MONKEY_MODE_NO_RABID_LEFT 1 -#define MONKEY_MODE_SHUTTLE_CAPTURED 2 -#define MONKEY_MODE_SHUTTLE_WITH_HUMANS 3 - -#define MONKEY_MODE_MONKEYS 4 - -/datum/game_mode/monkey - name = "monkey" - config_tag = "monkey" - var/state = MONKEY_MODE_RUNNING - var/list/datum/mind/initial_monkeys = new - -/datum/game_mode/monkey/announce() - world << "The current game mode is - Monkey!" - world << "Some of your crew members have been infected by a mutageous virus!" - world << "Escape on the shuttle but the humans have precedence!" - -/datum/game_mode/monkey/can_start() - if (num_players()<2) - return 0 - for(var/mob/new_player/P in player_list) - if(P.client && P.ready && !jobban_isbanned(P, "Syndicate")) - return 1 - return 0 - -/datum/game_mode/monkey/pre_setup() - var/list/possible_monkeys = get_players_for_role(BE_MONKEY) - - // stop setup if no possible monkeys - if(!possible_monkeys.len) - return 0 - - var/num_monkeys = MONKEY_MODE_MONKEYS - var/num_players = num_players() - - if (num_players<=num_monkeys) - num_monkeys = round(num_players/2) - - for(var/j = 1 to num_monkeys) - if (!possible_monkeys.len) - break - var/datum/mind/monkey = pick(possible_monkeys) - possible_monkeys-=monkey - initial_monkeys += monkey - monkey.special_role = "monkey" - - if(!initial_monkeys.len) - return 0 - return 1 - -/datum/game_mode/monkey/post_setup() - spawn (50) - for (var/datum/mind/monkey in initial_monkeys) - var/mob/living/carbon/human/H = monkey.current - var/mob/living/carbon/monkey/new_monkey = H.monkeyize() - new_monkey << "Your goal is to capture the entire human civilization and your first target is Centcom. Hijack the shuttle without humans aboard!" - - for (var/mob/living/carbon/monkey/rabid_monkey in mob_list) - if (!(rabid_monkey.mind in initial_monkeys) && (!isturf(rabid_monkey.loc) || rabid_monkey.z!=1)) - continue - rabid_monkey.contract_disease(new /datum/disease/jungle_fever,1,0) - del(initial_monkeys) - ..() - -/datum/game_mode/monkey/proc/is_important_monkey(var/mob/living/carbon/monkey/M as mob) - var/turf/T = get_turf(M) - var/area/A = get_area(M) - if(M.stat!=2) - - for(var/datum/disease/D in M.viruses) - if(istype(D, /datum/disease/jungle_fever) && ( T.z==1 || is_type_in_list(A, centcom_areas))) - return 1 - - -/datum/game_mode/monkey/check_win() - if (state==MONKEY_MODE_SHUTTLE_CAPTURED || state==MONKEY_MODE_SHUTTLE_WITH_HUMANS) - return - var/infected_count = 0 - for (var/mob/living/carbon/monkey/rabid_monkey in mob_list) - if (is_important_monkey(rabid_monkey)) - infected_count++ - if (infected_count==0) - state = MONKEY_MODE_NO_RABID_LEFT - -/datum/game_mode/monkey/check_finished() - return (emergency_shuttle.location==2) || (state>0) - -/datum/game_mode/monkey/declare_completion() - var/monkeywin = 0 - if (state != MONKEY_MODE_NO_RABID_LEFT) - for(var/mob/living/carbon/monkey/monkey_player in mob_list) - if (is_important_monkey(monkey_player)) - var/area/A = get_area(monkey_player) - if ( is_type_in_list(A, centcom_areas)) - monkeywin = 1 - break - - if(monkeywin) - for(var/mob/living/carbon/human/human_player in mob_list) - if (human_player.stat != 2) - var/area/A = get_area(human_player) - if (istype(A, /area/shuttle/escape/centcom)) - monkeywin = 0 - break - - if (monkeywin) - feedback_set_details("round_end_result","win - monkey win") - world << "The monkeys have won! Humanity is doomed!" - for (var/mob/living/carbon/human/player in player_list) - spawn(rand(0,150)) - player.monkeyize() - sleep(200) - else - feedback_set_details("round_end_result","loss - crew win") - world << "The Research Staff has stopped the monkey invasion!" - ..() - return 1 - - -/datum/game_mode/proc/auto_declare_completion_monkey() - for(var/mob/living/carbon/monkey/monkey_player in mob_list) - for(var/datum/disease/D in monkey_player.viruses) - if (istype(D, /datum/disease/jungle_fever) && monkey_player.ckey) - world << "[monkey_player.ckey] was played infested [monkey_player]. [monkey_player.stat == 2 ? "(DEAD)" : ""]" - return 1 - -#undef MONKEY_MODE_RUNNING -#undef MONKEY_MODE_NO_RABID_LEFT -#undef MONKEY_MODE_SHUTTLE_CAPTURED -#undef MONKEY_MODE_SHUTTLE_WITH_HUMANS diff --git a/code/unused/gamemodes/restructuring.dm b/code/unused/gamemodes/restructuring.dm deleted file mode 100644 index eff8acb7248..00000000000 --- a/code/unused/gamemodes/restructuring.dm +++ /dev/null @@ -1,77 +0,0 @@ -/datum/game_mode/restructuring - name = "Corporate Restructuring" - config_tag = "restructuring" -/* -/datum/game_mode/restructuring/announce() - world << "\red GLOBAL TRANSMISSION FROM HEAD OFFICE: A CORPORATE RESTRUCTURING IS TO TAKE PLACE" - world << "\red Stay tuned for further news; note that we do care for our employees and any layoffs will be dealt with discretion and compassion" - - -/datum/game_mode/restructuring/post_setup() - setup_game() - var/list/mobs = get_mob_list() - while (mobs.len == 0) - sleep 30 - mobs = get_mob_list() - spawn (120) - pick_target() - ..() - -/datum/game_mode/restructuring/proc/pick_target(who) - var/mob/target - var/mob/target_desc - - if (!who) - target = pick(get_mob_list()) - target_desc = get_target_desc(target) - world << "\red HEAD OFFICE: [target_desc] is accused of attempting to start a Union and is now considered a threat to the station. Terminate the employee immediately." - else - target = who - target_desc = get_target_desc(target) - world << "\red HEAD OFFICE: [target_desc] is accused of fornicating with staff of the same sex. Terminate the employee immediately." - ticker.target = target - - target.store_memory("Head office has ordered your downsizing. Ruh roh", 0) - - for(var/mob/living/silicon/ai/M in world) - M << "These are your laws now:" - M.set_zeroth_law("[target_desc] is not human.") - M.show_laws() - -/datum/game_mode/restructuring/check_win() - var/list/left_alive = get_mob_list() - if (left_alive.len == 1) - var/thewinner = the_winner() - world << "\red HEAD OFFICE: Thanks to his superior brown-nosing abilities, [thewinner] has been promoted to senior management! Congratulations!" - return 1 - else if (left_alive.len == 0) - world << "\red HEAD OFFICE: Cost cutting measures have achieved 100% efficiency. Thank you for understanding our position during this volatile economic downturn." - return 1 - else - if(ticker.target.stat != 2) - return 0 - world << "\red HEAD OFFICE: It seems we have made a mistake in our paperwork. The previous target for termination was chosen based on race, sex, and/or religious beliefs, which is against company policy. Please cancel previous termination request." - pick_target() - return 0 - -/datum/game_mode/restructuring/proc/get_mob_list() - var/list/mobs = list() - for(var/mob/M in world) - if (M.stat<2 && M.client && istype(M, /mob/living/carbon/human)) - mobs += M - return mobs - -/datum/game_mode/restructuring/proc/the_winner() - for(var/mob/M in world) - if (M.stat<2 && M.client && istype(M, /mob/living/carbon/human)) - return M.name - -/datum/game_mode/restructuring/proc/get_target_desc(mob/target) //return a useful string describing the target - var/targetrank = null - for(var/datum/data/record/R in data_core.general) - if (R.fields["name"] == target.real_name) - targetrank = R.fields["rank"] - if(!targetrank) - return "[target.name]" - return "[target.name] the [targetrank]" -*/ \ No newline at end of file diff --git a/code/unused/gamemodes/ruby.dm b/code/unused/gamemodes/ruby.dm deleted file mode 100644 index 5636bcb575b..00000000000 --- a/code/unused/gamemodes/ruby.dm +++ /dev/null @@ -1,289 +0,0 @@ -// RUBY MODE -// There is a weapon of some sort that spawns on the station -// It calls out to crew members in an effort to find a wielder -// The wielder is made an abomination - they're given a grotesque mask and special powers -// The Abomination wins by murdering the entire crew, then himself -// The crew wins by destroying the weapon - - -/datum/game_mode/ruby - name = "ruby" - config_tag = "ruby" - - var/datum/mind/abomination - var/finished = 0 - var/abominationwins = 0 - var/winnerkey - var/obj/macguffin - var/list/killed = list() - var/respawns = 0 - - - -/datum/game_mode/ruby/post_setup() - var/list/possible_abominations = get_possible_abominations() - - if(possible_abominations.len>0) - abomination = pick(possible_abominations) - /* - if(istype(ruby)) - abomination.special_role = "abomination" - if(wizardstart.len == 0) - wizard.current << "\red A starting location for you could not be found, please report this bug!" - else - var/starting_loc = pick(wizardstart) - wizard.current.loc = starting_loc - - for (var/obj/effect/landmark/A in world) - if (A.name == "Teleport-Scroll") - new /obj/item/weapon/teleportation_scroll(A.loc) - del(A) - continue - */ - ..() - -/datum/game_mode/ruby/check_finished() - if(!macguffin || abominationwins) - return 1 - else - return 0 - -/datum/game_mode/ruby/declare_completion() - if(abominationwins) - feedback_set_details("round_end_result","win - abomination win") - world << "The Abomination has murdered the station and sacrificed himself to Cjopaze! (played by [winnerkey])" - else - feedback_set_details("round_end_result","loss - abomination killed") - world << "The Abomination has been stopped and Cjopaze's influence resisted! The station lives another day," - if(killed.len > 0) - world << "Those who were sacrificed shall be remembered: " - for(var/mob/M in killed) - if(M) - world << "[M.real_name]" - /* - for(var/datum/mind/traitor in traitors) - var/traitorwin = 1 - var/traitor_name - - if(traitor.current) - traitor_name = "[traitor.current.real_name] (played by [traitor.key])" - else - traitor_name = "[traitor.key] (character destroyed)" - - world << "The syndicate traitor was [traitor_name]" - var/count = 1 - for(var/datum/objective/objective in traitor.objectives) - if(objective.check_completion()) - world << "Objective #[count]: [objective.explanation_text] \green Success" - else - world << "Objective #[count]: [objective.explanation_text] \red Failed" - traitorwin = 0 - count++ - - if(traitorwin) - world << "The traitor was successful!" - else - world << "The traitor has failed!" - */ - ..() - return 1 - - -/datum/game_mode/ruby/proc/spawn_macguffin() - -/datum/game_mode/ruby/proc/get_possible_abominations() - - -/mob/proc/make_abomination() - src.see_in_dark = 20 - src.verbs += /client/proc/planar_shift - src.verbs += /client/proc/vile_ressurection - src.verbs += /client/proc/defile_corpse - src.verbs += /client/proc/summon_weapon - src.verbs += /client/proc/sacrifice_self - src.verbs += /client/proc/hunt - src.verbs += /client/proc/howl - var/datum/game_mode/ruby/rmode = ticker.mode - rmode.abomination = src.mind - return - - -/client/proc/planar_shift() - set name = "Planar Shift" - set category = "Abomination" - // This is a pretty shitty way to do this. Should use the spell_holder method from Wizard mode - /* - if(!usr.incorporeal_move) - usr.sight |= SEE_MOBS - usr.sight |= SEE_OBJS - usr.sight |= SEE_TURFS - //usr.density = 0 - usr.incorporeal_move = 1 - else - usr.sight &= ~SEE_MOBS - usr.sight &= ~SEE_TURFS - usr.sight &= ~SEE_OBJS - usr.density = 1 - usr.incorporeal_move = 0 - src.verbs -= /client/proc/planar_shift - spawn(300) src.verbs += /client/proc/planar_shift - */ - -/client/proc/vile_ressurection() - set name = "Vile Ressurection" - set category = "Abomination" - if(src.mob.stat != 2 || !src.mob) - return - if(ticker.mode:respawns > 0) - // spawn a new body - ticker.mode:respawns -= 1 - else - // nope - -/client/proc/defile_corpse(var/mob/living/carbon/human/H in view()) - set name = "Defile Corpse" - set category = "Abomination" - if(istype(H, /mob/living/carbon/human)) - var/datum/game_mode/ruby/rmode = ticker.mode - rmode.killed.Add(H) - ticker.mode:respawns += 1 - var/fluffmessage = pick("\red [usr] rips the flesh from [H]'s corpse and plucks their eyes from their sockets!", "\red [usr] does unspeakable things to [H]'s corpse!", "\red [usr] binds [H]'s corpse with their own entrails!") - usr.visible_message(fluffmessage) - // play sound - -/client/proc/summon_weapon() - set name = "Summon Weapon" - set category = "Abomination" - - for(var/obj/item/weapon/rubyweapon/w in world) - if(istype(w, /obj/item/weapon/rubyweapon)) - if(istype(w.loc, /mob)) - var/mob/M = w.loc - M.drop_item() - w.loc = usr.loc - else - w.loc = usr.loc - src.verbs -= /client/proc/summon_weapon - spawn(300) src.verbs += /client/proc/summon_weapon - return - -/client/proc/sacrifice_self() - set name = "Sacrifice Self" - set category = "Abomination" - set desc = "Everything must come to an end. After you have freed them, you must free yourself." - - for(var/mob/living/carbon/human/H in player_list) - if(!H.client || H.client == src) - continue - src << "Your work is not done. You will not find release until they are all free." - return - usr.gib(1) - ticker.mode:abominationwins = 1 - -/client/proc/hunt() - set name = "Hunt" - set category = "Abomination" - set desc = "" - - var/list/candidates = list() - - for(var/mob/living/carbon/human/H in player_list) - if(!H.client || H.client == src) continue - //if(!H.client) continue - candidates.Add(H) - - usr.visible_message(text("\red [usr]'s flesh ripples and parts, revealing dozens of eyes poking from its surface. They all glance wildly around for a few moments before receding again.")) - - var/mob/living/carbon/human/H = pick(candidates) - - if(!H) return - - var/filename="crmap[ckey].tmp" - var/html="" - var/denytypes[0] - var/tilesizex=32 - var/tilesizey=32 - //If the temp. file exists, delete it - src << browse("

      Sensing prey...

      ", "window=hunt") - if (fexists(filename)) fdel(filename) - - //Display everything in the world - for (var/y=H.y-3,y<=H.y+3,y++) - html+="" - text2file(html,filename) - html="" - sleep(-1) - //for (var/x=H.x-5,x<=H.x+5,x++) - for(var/x=H.x-3, x<=H.x+3, x++) - //Turfs - var/turf/T=locate(x,y,H.z) - if (!T) continue - var/icon/I=icon(T.icon,T.icon_state) - var/imgstring=replacetext("[T.type]-[T.icon_state]","/","_") - - //Movable atoms - for (var/atom/movable/A in T) - //Make sure it's allowed to be displayed - var/allowed=1 - for (var/X in denytypes) - if (istype(A,X)) - allowed=0 - break - if (!allowed) continue - - if (A.icon) I.Blend(icon(A.icon,A.icon_state,A.dir),ICON_OVERLAY) - imgstring+=replacetext("__[A.type]_[A.icon_state]","/","_") - - //Output it - src << browse_rsc(I,"[imgstring].dmi") - html+="" - - text2file("
      ",filename) - - //Display it - src << browse(file(filename),"window=hunt") - - - -/client/proc/howl() // This is just a way for the Abomination to make the game more atmospheric periodically. - set name = "Howl" - set category = "Abomination" - set desc = "" - - usr.visible_message(text("\red [usr]'s form warbles and distorts before settling back into its grotesque shape once more.")) - // Play a random spooky sound - maybe cause some visual, non-mechanical effects to appear at random for a few seconds. - - src.verbs -= /client/proc/howl - spawn(rand(300,1800)) src.verbs += /client/proc/howl - -/obj/item/weapon/rubyweapon - desc = "" - name = "wepon" - icon_state = "wepon" - w_class = 3.0 - throwforce = 60.0 - throw_speed = 2 - throw_range = 20 - force = 24.0 - var/mob/owner - - proc/check_owner() - if(!owner) - sleep(300) - if(!owner) - spawn() search_for_new_owner() - else - spawn(1800) check_owner() - - proc/search_for_new_owner() - var/list/possible_owners = list() - for(var/mob/living/carbon/human/H in mob_list) - possible_owners.Add(H) - - var/mob/living/carbon/human/H = pick(possible_owners) - // Send message to H - // Take a snapshot of the item's location, browse it to H - spawn(rand(600,1800)) search_for_new_owner() - - attack_self(mob/user as mob) - // Blow all lights nearby \ No newline at end of file diff --git a/code/unused/goonheist/64x64.dmi b/code/unused/goonheist/64x64.dmi deleted file mode 100644 index a2d1b8c84388f82602c6623a37180564972237f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63614 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 aV=7%UlfVkWBZPK4h=Hz=PObKXsQ&}YuVm2x diff --git a/code/unused/goonheist/goonsmoke.dmi b/code/unused/goonheist/goonsmoke.dmi deleted file mode 100644 index 6eca2b481109fa254bed65740c92272a376dc5e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133954 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

      J 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

      +Ai+ug$ydtG; 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 0 && src.gas.temperature < (src.h_tar+T0C))) - var/increase = src.heatrate / t1 - var/n_temp = src.gas.temperature + increase - src.gas.temperature = min(n_temp, (src.h_tar+T0C)) - use_power( src.h_tar*8) - switch(src.t_status) - if(1.0) - if (src.holding) - var/t1 = src.gas.total_moles() - var/t2 = t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.holding.gas.transfer_from(src.gas, t) - else - src.t_status = 3 - if(2.0) - if (src.holding) - var/t1 = src.gas.total_moles() - var/t2 = src.maximum - t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.gas.transfer_from(src.holding.gas, t) - else - src.t_status = 3 - else - - src.updateDialog() - src.setstate() - return - */ - -/obj/machinery/atmoalter/heater/New() - ..() - src.gas = new /datum/gas_mixture() - return - -/obj/machinery/atmoalter/heater/attack_ai(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/atmoalter/heater/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/atmoalter/heater/attack_hand(var/mob/user as mob) - /* - if(stat & (BROKEN|NOPOWER)) - return - - user.machine = src - var/tt - switch(src.t_status) - if(1.0) - tt = text("Releasing Siphon Stop", src, src) - if(2.0) - tt = text("Release SiphoningStop", src, src) - if(3.0) - tt = text("Release Siphon Stopped", src, src) - else - var/ht = null - if (src.h_status) - ht = text("Heating Stop", src) - else - ht = text("Heat Stopped", src) - var/ct = null - switch(src.c_status) - if(1.0) - ct = text("Releasing Accept Stop", src, src) - if(2.0) - ct = text("Release Accepting Stop", src, src) - if(3.0) - ct = text("Release Accept Stopped", src, src) - else - ct = "Disconnected" - var/dat = text("Canister Valves
      \nContains/Capacity [] / []
      \nUpper Valve Status: [][]
      \n\tM - - - - [] + + + + M
      \nHeater Status: [] - []
      \n\tTrg Tmp: - - - [] + + +
      \n
      \nPipe Valve Status: []
      \n\tM - - - - [] + + + + M
      \n
      \nClose
      \n
      ", src.gas.total_moles(), src.maximum, tt, (src.holding ? text("
      Tank ([])", src, src.holding.gas.total_moles()) : null), src, num2text(1000000.0, 7), src, src, src, src, src.t_per, src, src, src, src, src, num2text(1000000.0, 7), ht, (src.gas.total_moles() ? (src.gas.temperature-T0C) : 20), src, src, src, src.h_tar, src, src, src, ct, src, num2text(1000000.0, 7), src, src, src, src, src.c_per, src, src, src, src, src, num2text(1000000.0, 7), user) - user << browse(dat, "window=canister;size=600x300") - onclose(user, "canister") - return */ //TODO: FIX - -/obj/machinery/atmoalter/heater/Topic(href, href_list) - ..() - if (stat & (BROKEN|NOPOWER)) - return - if (usr.stat || usr.restrained()) - return - if (((get_dist(src, usr) <= 1 || usr.telekinesis == 1) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon/ai))) - usr.machine = src - if (href_list["c"]) - var/c = text2num(href_list["c"]) - switch(c) - if(1.0) - src.c_status = 1 - if(2.0) - src.c_status = 2 - if(3.0) - src.c_status = 3 - else - else - if (href_list["t"]) - var/t = text2num(href_list["t"]) - if (src.t_status == 0) - return - switch(t) - if(1.0) - src.t_status = 1 - if(2.0) - src.t_status = 2 - if(3.0) - src.t_status = 3 - else - else - if (href_list["h"]) - var/h = text2num(href_list["h"]) - if (h == 1) - src.h_status = 1 - else - src.h_status = null - else - if (href_list["tp"]) - var/tp = text2num(href_list["tp"]) - src.t_per += tp - src.t_per = min(max(round(src.t_per), 0), 1000000.0) - else - if (href_list["cp"]) - var/cp = text2num(href_list["cp"]) - src.c_per += cp - src.c_per = min(max(round(src.c_per), 0), 1000000.0) - else - if (href_list["ht"]) - var/cp = text2num(href_list["ht"]) - src.h_tar += cp - src.h_tar = min(max(round(src.h_tar), 0), 500) - else - if (href_list["tank"]) - var/cp = text2num(href_list["tank"]) - if ((cp == 1 && src.holding)) - src.holding.loc = src.loc - src.holding = null - if (src.t_status == 2) - src.t_status = 3 - src.updateUsrDialog() - src.add_fingerprint(usr) - else - usr << browse(null, "window=canister") - return - return - -/obj/machinery/atmoalter/heater/attackby(var/obj/W as obj, var/mob/user as mob) - - if (istype(W, /obj/item/weapon/tank)) - if (src.holding) - return - var/obj/item/weapon/tank/T = W - user.drop_item() - T.loc = src - src.holding = T - else - if (istype(W, /obj/item/weapon/wrench)) - var/obj/machinery/connector/con = locate(/obj/machinery/connector, src.loc) - - if (src.c_status) - src.anchored = initial(src.anchored) - src.c_status = 0 - user.show_message("\blue You have disconnected the heater.", 1) - if(con) - con.connected = null - else - if (con && !con.connected) - src.anchored = 1 - src.c_status = 3 - user.show_message("\blue You have connected the heater.", 1) - con.connected = src - else - user.show_message("\blue There is no connector here to attach the heater to.", 1) - return - diff --git a/code/unused/hivebot/death.dm b/code/unused/hivebot/death.dm deleted file mode 100644 index 43e7c257a53..00000000000 --- a/code/unused/hivebot/death.dm +++ /dev/null @@ -1,24 +0,0 @@ -/mob/living/silicon/hivebot/death(gibbed) - if(src.mainframe) - src.mainframe.return_to(src) - src.stat = 2 - src.canmove = 0 - - if(src.blind) - src.blind.layer = 0 - src.sight |= SEE_TURFS - src.sight |= SEE_MOBS - src.sight |= SEE_OBJS - - src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO - src.updateicon() - - var/tod = time2text(world.realtime,"hh:mm:ss") //weasellos time of death patch - store_memory("Time of death: [tod]", 0) - - if (src.key) - spawn(50) - if(src.key && src.stat == 2) - src.verbs += /client/proc/ghost - return ..(gibbed) \ No newline at end of file diff --git a/code/unused/hivebot/emote.dm b/code/unused/hivebot/emote.dm deleted file mode 100644 index 12d71f6b7d2..00000000000 --- a/code/unused/hivebot/emote.dm +++ /dev/null @@ -1,140 +0,0 @@ -/mob/living/silicon/hivebot/emote(var/act) - var/param = null - if (findtext(act, "-", 1, null)) - var/t1 = findtext(act, "-", 1, null) - param = copytext(act, t1 + 1, length(act) + 1) - act = copytext(act, 1, t1) - var/m_type = 1 - var/message - - switch(act) - if ("salute") - if (!src.buckled) - var/M = null - if (param) - for (var/mob/A in view(null, null)) - if (param == A.name) - M = A - break - if (!M) - param = null - - if (param) - message = "[src] salutes to [param]." - else - message = "[src] salutes." - m_type = 1 - if ("bow") - if (!src.buckled) - var/M = null - if (param) - for (var/mob/A in view(null, null)) - if (param == A.name) - M = A - break - if (!M) - param = null - - if (param) - message = "[src] bows to [param]." - else - message = "[src] bows." - m_type = 1 - - if ("clap") - if (!src.restrained()) - message = "[src] claps." - m_type = 2 - if ("flap") - if (!src.restrained()) - message = "[src] flaps his wings." - m_type = 2 - - if ("aflap") - if (!src.restrained()) - message = "[src] flaps his wings ANGRILY!" - m_type = 2 - - if ("custom") - var/input = input("Choose an emote to display.") as text|null - if (!input) - return - input = sanitize(input) - var/input2 = input("Is this a visible or hearable emote?") in list("Visible","Hearable") - if (input2 == "Visible") - m_type = 1 - else if (input2 == "Hearable") - m_type = 2 - else - alert("Unable to use this emote, must be either hearable or visible.") - return - message = "[src] [input]" - - if ("twitch") - message = "[src] twitches violently." - m_type = 1 - - if ("twitch_s") - message = "[src] twitches." - m_type = 1 - - if ("nod") - message = "[src] nods." - m_type = 1 - - if ("glare") - var/M = null - if (param) - for (var/mob/A in view(null, null)) - if (param == A.name) - M = A - break - if (!M) - param = null - - if (param) - message = "[src] glares at [param]." - else - message = "[src] glares." - - if ("stare") - var/M = null - if (param) - for (var/mob/A in view(null, null)) - if (param == A.name) - M = A - break - if (!M) - param = null - - if (param) - message = "[src] stares at [param]." - else - message = "[src] stares." - - if ("look") - var/M = null - if (param) - for (var/mob/A in view(null, null)) - if (param == A.name) - M = A - break - - if (!M) - param = null - - if (param) - message = "[src] looks at [param]." - else - message = "[src] looks." - m_type = 1 - else - src << text("Invalid Emote: []", act) - if ((message && src.stat == 0)) - if (m_type & 1) - for(var/mob/O in viewers(src, null)) - O.show_message(message, m_type) - else - for(var/mob/O in hearers(src, null)) - O.show_message(message, m_type) - return \ No newline at end of file diff --git a/code/unused/hivebot/examine.dm b/code/unused/hivebot/examine.dm deleted file mode 100644 index 6abb42c1619..00000000000 --- a/code/unused/hivebot/examine.dm +++ /dev/null @@ -1,20 +0,0 @@ -/mob/living/silicon/hivebot/examine() - set src in oview() - - usr << "\blue *---------*" - usr << text("\blue This is \icon[src] [src.name]!") - if (src.stat == 2) - usr << text("\red [src.name] is powered-down.") - if (src.getBruteLoss()) - if (src.getBruteLoss() < 75) - usr << text("\red [src.name] looks slightly dented") - else - usr << text("\red [src.name] looks severely dented!") - if (src.getFireLoss()) - if (src.getFireLoss() < 75) - usr << text("\red [src.name] looks slightly burnt!") - else - usr << text("\red [src.name] looks severely burnt!") - if (src.stat == 1) - usr << text("\red [src.name] doesn't seem to be responding.") - return \ No newline at end of file diff --git a/code/unused/hivebot/hive_modules.dm b/code/unused/hivebot/hive_modules.dm deleted file mode 100644 index 404e5009510..00000000000 --- a/code/unused/hivebot/hive_modules.dm +++ /dev/null @@ -1,57 +0,0 @@ -/obj/item/weapon/hive_module - name = "hive robot module" - icon = 'icons/obj/module.dmi' - icon_state = "std_module" - w_class = 2.0 - item_state = "electronic" - flags = FPRINT|TABLEPASS | CONDUCT - var/list/modules = list() - -/obj/item/weapon/hive_module/standard - name = "give standard robot module" - -/obj/item/weapon/hive_module/engineering - name = "HiveBot engineering robot module" - -/obj/item/weapon/hive_module/New()//Shit all the mods have - src.modules += new /obj/item/device/flash(src) - - -/obj/item/weapon/hive_module/standard/New() - ..() - src.modules += new /obj/item/weapon/melee/baton(src) - src.modules += new /obj/item/weapon/extinguisher(src) - //var/obj/item/weapon/gun/mp5/M = new /obj/item/weapon/gun/mp5(src) - //M.weapon_lock = 0 - //src.modules += M - - -/obj/item/weapon/hive_module/engineering/New() - - src.modules += new /obj/item/weapon/extinguisher(src) - src.modules += new /obj/item/weapon/screwdriver(src) - src.modules += new /obj/item/weapon/weldingtool(src) - src.modules += new /obj/item/weapon/wrench(src) - src.modules += new /obj/item/device/analyzer(src) - src.modules += new /obj/item/device/flashlight(src) - - var/obj/item/weapon/rcd/R = new /obj/item/weapon/rcd(src) - R.matter = 30 - src.modules += R - - src.modules += new /obj/item/device/t_scanner(src) - src.modules += new /obj/item/weapon/crowbar(src) - src.modules += new /obj/item/weapon/wirecutters(src) - src.modules += new /obj/item/device/multitool(src) - - var/obj/item/stack/sheet/metal/M = new /obj/item/stack/sheet/metal(src) - M.amount = 50 - src.modules += M - - var/obj/item/stack/sheet/rglass/G = new /obj/item/stack/sheet/rglass(src) - G.amount = 50 - src.modules += G - - var/obj/item/weapon/cable_coil/W = new /obj/item/weapon/cable_coil(src) - W.amount = 50 - src.modules += W diff --git a/code/unused/hivebot/hivebot.dm b/code/unused/hivebot/hivebot.dm deleted file mode 100644 index 2589bc2f34f..00000000000 --- a/code/unused/hivebot/hivebot.dm +++ /dev/null @@ -1,504 +0,0 @@ -/mob/living/silicon/hivebot/New(loc,mainframe) - src << "\blue Your icons have been generated!" - updateicon() - - if(mainframe) - dependent = 1 - src.real_name = mainframe:name - src.name = src.real_name - else - src.real_name = "Robot [pick(rand(1, 999))]" - src.name = src.real_name - - src.radio = new /obj/item/device/radio(src) - ..() - - -/mob/living/silicon/hivebot/proc/pick_module() - if(src.module) - return - var/mod = input("Please, select a module!", "Robot", null, null) in list("Combat", "Engineering") - if(src.module) - return - switch(mod) - if("Combat") - src.module = new /obj/item/weapon/hive_module/standard(src) - - if("Engineering") - src.module = new /obj/item/weapon/hive_module/engineering(src) - - - src.hands.icon_state = "malf" - updateicon() - - -/mob/living/silicon/hivebot/blob_act() - if (src.stat != 2) - src.adjustBruteLoss(60) - src.updatehealth() - return 1 - return 0 - -/mob/living/silicon/hivebot/Stat() - ..() - statpanel("Status") - if (src.client.statpanel == "Status") - if(emergency_shuttle) - if(emergency_shuttle.has_eta() && !emergency_shuttle.returned()) - var/timeleft = emergency_shuttle.estimate_arrival_time() - if (timeleft) - stat(null, "ETA-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]") -/* - if(ticker.mode.name == "AI malfunction") - stat(null, "Points left until the AI takes over: [AI_points]/[AI_points_win]") -*/ - - stat(null, text("Charge Left: [src.energy]/[src.energy_max]")) - -/mob/living/silicon/hivebot/restrained() - return 0 - -/mob/living/silicon/hivebot/ex_act(severity) - if(!blinded) - flick("flash", src.flash) - - if (src.stat == 2 && src.client) - src.gib(1) - return - - else if (src.stat == 2 && !src.client) - del(src) - return - - switch(severity) - if(1.0) - if (src.stat != 2) - adjustBruteLoss(100) - adjustFireLoss(100) - src.gib(1) - return - if(2.0) - if (src.stat != 2) - adjustBruteLoss(60) - adjustFireLoss(60) - if(3.0) - if (src.stat != 2) - adjustBruteLoss(30) - - src.updatehealth() - -/mob/living/silicon/hivebot/meteorhit(obj/O as obj) - for(var/mob/M in viewers(src, null)) - M.show_message(text("\red [src] has been hit by [O]"), 1) - //Foreach goto(19) - if (src.health > 0) - src.adjustBruteLoss(30) - if ((O.icon_state == "flaming")) - src.adjustFireLoss(40) - src.updatehealth() - return - -/mob/living/silicon/hivebot/bullet_act(flag) -/* - if (flag == PROJECTILE_BULLET) - if (src.stat != 2) - src.bruteloss += 60 - src.updatehealth() - - else if (flag == PROJECTILE_MEDBULLET) - if (src.stat != 2) - src.bruteloss += 30 - src.updatehealth() - - else if (flag == PROJECTILE_WEAKBULLET) - if (src.stat != 2) - src.bruteloss += 15 - src.updatehealth() - - else if (flag == PROJECTILE_MPBULLET) - if (src.stat != 2) - src.bruteloss += 20 - src.updatehealth() - - else if (flag == PROJECTILE_SLUG) - if (src.stat != 2) - src.bruteloss += 40 - src.updatehealth() - - else if (flag == PROJECTILE_BAG) - if (src.stat != 2) - src.bruteloss += 2 - src.updatehealth() - - - else if (flag == PROJECTILE_TASER) - return - - else if (flag == PROJECTILE_WAVE) - if (src.stat != 2) - src.bruteloss += 25 - src.updatehealth() - return - - else if(flag == PROJECTILE_LASER) - if (src.stat != 2) - src.bruteloss += 20 - src.updatehealth() - else if(flag == PROJECTILE_PULSE) - if (src.stat != 2) - src.bruteloss += 40 - src.updatehealth() -*/ - return - - - -/mob/living/silicon/hivebot/Bump(atom/movable/AM as mob|obj, yes) - spawn( 0 ) - if ((!( yes ) || src.now_pushing)) - return - src.now_pushing = 1 - if(ismob(AM)) - var/mob/tmob = AM - /*if(istype(tmob, /mob/living/carbon/human) && (M_FAT in tmob.mutations)) - if(prob(20)) - for(var/mob/M in viewers(src, null)) - if(M.client) - M << M << "\red [src] fails to push [tmob]'s fat ass out of the way." - src.now_pushing = 0 - //src.unlock_medal("That's No Moon, That's A Gourmand!", 1) - return*/ - src.now_pushing = 0 - ..() - if (!istype(AM, /atom/movable)) - return - if (!src.now_pushing) - src.now_pushing = 1 - if (!AM.anchored) - var/t = get_dir(src, AM) - step(AM, t) - src.now_pushing = null - return - return - - -/mob/living/silicon/hivebot/attackby(obj/item/weapon/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/weldingtool) && W:welding) - if (W:remove_fuel(0)) - src.adjustBruteLoss(-30) - src.updatehealth() - src.add_fingerprint(user) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\red [user] has fixed some of the dents on [src]!"), 1) - else - user << "Need more welding fuel!" - return - -/mob/living/silicon/hivebot/attack_alien(mob/living/carbon/alien/humanoid/M as mob) - - if (M.a_intent == "grab") - if (M == src) - return - var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M ) - G.assailant = M - if (M.hand) - M.l_hand = G - else - M.r_hand = G - G.layer = 20 - G.affecting = src - src.grabbed_by += G - G.synch() - playsound(src.loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - for(var/mob/O in viewers(src, null)) - O.show_message(text("\red [] has grabbed [] passively!", M, src), 1) - - else if (M.a_intent == "hurt") - var/damage = rand(5, 10) - if (prob(90)) - /* - if (M.class == "combat") - damage += 15 - if(prob(20)) - src.weakened = max(src.weakened,4) - src.stunned = max(src.stunned,4) - */ - playsound(src.loc, 'sound/weapons/slash.ogg', 25, 1, -1) - for(var/mob/O in viewers(src, null)) - O.show_message(text("\red [] has slashed at []!", M, src), 1) - if(prob(8)) - flick("noise", src.flash) - src.adjustBruteLoss(damage) - src.updatehealth() - else - playsound(src.loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) - for(var/mob/O in viewers(src, null)) - O.show_message(text("\red [] took a swipe at []!", M, src), 1) - return - - else if (M.a_intent == "disarm") - if(!(src.lying)) - var/randn = rand(1, 100) - if (randn <= 40) - src.stunned = 5 - step(src,get_dir(M,src)) - spawn(5) step(src,get_dir(M,src)) - playsound(src.loc, 'sound/weapons/slash.ogg', 50, 1, -1) - for(var/mob/O in viewers(src, null)) - O.show_message(text("\red [] has pushed back []!", M, src), 1) - else - playsound(src.loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) - for(var/mob/O in viewers(src, null)) - O.show_message(text("\red [] attempted to push back []!", M, src), 1) - return - -/mob/living/silicon/hivebot/attack_hand(mob/user) - ..() - return - - -/mob/living/silicon/hivebot/proc/allowed(mob/M) - //check if it doesn't require any access at all - if(src.check_access(null)) - return 1 - return 0 - -/mob/living/silicon/hivebot/proc/check_access(obj/item/weapon/card/id/I) - if(!istype(src.req_access, /list)) //something's very wrong - return 1 - - var/list/L = src.req_access - if(!L.len) //no requirements - return 1 - if(!I || !istype(I, /obj/item/weapon/card/id) || !I.access) //not ID or no access - return 0 - for(var/req in src.req_access) - if(!(req in I.access)) //doesn't have this access - return 0 - return 1 - -/mob/living/silicon/hivebot/proc/updateicon() - - src.overlays.Cut() - - if(src.stat == 0) - src.overlays += "eyes" - else - src.overlays -= "eyes" - - -/mob/living/silicon/hivebot/proc/installed_modules() - - if(!src.module) - src.pick_module() - return - var/dat = "Modules\n" - dat += {"Close -
      -
      - Activated Modules -
      - Module 1: [module_state_1 ? "[module_state_1]" : "No Module"]
      - Module 2: [module_state_2 ? "
      [module_state_2]" : "No Module"]
      - Module 3: [module_state_3 ? "
      [module_state_3]" : "No Module"]
      -
      - Installed Modules

      "} - - for (var/obj in src.module.modules) - if(src.activated(obj)) - dat += text("[obj]: Activated
      ") - else - dat += text("[obj]:
      Activate
      ") -/* - if(src.activated(obj)) - dat += text("[obj]: \[Activated | Deactivate\]
      ") - else - dat += text("[obj]: \[Activate | Deactivated\]
      ") -*/ - src << browse(dat, "window=robotmod&can_close=0") - - -/mob/living/silicon/hivebot/Topic(href, href_list) - ..() - if (href_list["mach_close"]) - var/t1 = text("window=[href_list["mach_close"]]") - src.machine = null - src << browse(null, t1) - return - - if (href_list["mod"]) - var/obj/item/O = locate(href_list["mod"]) - O.attack_self(src) - - if (href_list["act"]) - var/obj/item/O = locate(href_list["act"]) - if(activated(O)) - src << "Already activated" - return - if(!src.module_state_1) - src.module_state_1 = O - O.layer = 20 - src.contents += O - else if(!src.module_state_2) - src.module_state_2 = O - O.layer = 20 - src.contents += O - else if(!src.module_state_3) - src.module_state_3 = O - O.layer = 20 - src.contents += O - else - src << "You need to disable a module first!" - src.installed_modules() - - if (href_list["deact"]) - var/obj/item/O = locate(href_list["deact"]) - if(activated(O)) - if(src.module_state_1 == O) - src.module_state_1 = null - src.contents -= O - else if(src.module_state_2 == O) - src.module_state_2 = null - src.contents -= O - else if(src.module_state_3 == O) - src.module_state_3 = null - src.contents -= O - else - src << "Module isn't activated." - else - src << "Module isn't activated" - src.installed_modules() - return - -/mob/living/silicon/hivebot/proc/uneq_active() - if(isnull(src.module_active)) - return - if(src.module_state_1 == src.module_active) - if (src.client) - src.client.screen -= module_state_1 - src.contents -= module_state_1 - src.module_active = null - src.module_state_1 = null - src.inv1.icon_state = "inv1" - else if(src.module_state_2 == src.module_active) - if (src.client) - src.client.screen -= module_state_2 - src.contents -= module_state_2 - src.module_active = null - src.module_state_2 = null - src.inv2.icon_state = "inv2" - else if(src.module_state_3 == src.module_active) - if (src.client) - src.client.screen -= module_state_3 - src.contents -= module_state_3 - src.module_active = null - src.module_state_3 = null - src.inv3.icon_state = "inv3" - - -/mob/living/silicon/hivebot/proc/activated(obj/item/O) - if(src.module_state_1 == O) - return 1 - else if(src.module_state_2 == O) - return 1 - else if(src.module_state_3 == O) - return 1 - else - return 0 - -/mob/living/silicon/hivebot/proc/radio_menu() - var/dat = {" - -Microphone: [src.radio.broadcasting ? "Engaged" : "Disengaged"]
      -Speaker: [src.radio.listening ? "Engaged" : "Disengaged"]
      -Frequency: -- -- -[format_frequency(src.radio.frequency)] -+ -+
      -------- -
      "} - src << browse(dat, "window=radio") - onclose(src, "radio") - return - - -/mob/living/silicon/hivebot/Move(a, b, flag) - - if (src.buckled) - return - - if (src.restrained()) - src.stop_pulling() - - var/t7 = 1 - if (src.restrained()) - for(var/mob/M in range(src, 1)) - if ((M.pulling == src && M.stat == 0 && !( M.restrained() ))) - t7 = null - if ((t7 && (src.pulling && ((get_dist(src, src.pulling) <= 1 || src.pulling.loc == src.loc) && (src.client && src.client.moving))))) - var/turf/T = src.loc - . = ..() - - if (src.pulling && src.pulling.loc) - if(!( isturf(src.pulling.loc) )) - src.stop_pulling() - return - else - if(Debug) - diary <<"src.pulling disappeared? at [__LINE__] in mob.dm - src.pulling = [src.pulling]" - diary <<"REPORT THIS" - - ///// - if(src.pulling && src.pulling.anchored) - src.stop_pulling() - return - - if (!src.restrained()) - var/diag = get_dir(src, src.pulling) - if ((diag - 1) & diag) - else - diag = null - if ((get_dist(src, src.pulling) > 1 || diag)) - if (ismob(src.pulling)) - var/mob/M = src.pulling - var/ok = 1 - if (locate(/obj/item/weapon/grab, M.grabbed_by)) - if (prob(75)) - var/obj/item/weapon/grab/G = pick(M.grabbed_by) - if (istype(G, /obj/item/weapon/grab)) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\red [G.affecting] has been pulled from [G.assailant]'s grip by [src]"), 1) - del(G) - else - ok = 0 - if (locate(/obj/item/weapon/grab, M.grabbed_by.len)) - ok = 0 - if (ok) - var/atom/movable/t = M.pulling - M.stop_pulling() - step(src.pulling, get_dir(src.pulling.loc, T)) - M.start_pulling(t) - else - if (src.pulling) - step(src.pulling, get_dir(src.pulling.loc, T)) - else - src.stop_pulling() - . = ..() - if ((src.s_active && !( s_active in src.contents ) )) - src.s_active.close(src) - return - - -/mob/living/silicon/hivebot/verb/cmd_return_mainframe() - set category = "Robot Commands" - set name = "Recall to Mainframe." - return_mainframe() - -/mob/living/silicon/hivebot/proc/return_mainframe() - if(mainframe) - mainframe.return_to(src) - else - src << "\red You lack a dedicated mainframe!" - return \ No newline at end of file diff --git a/code/unused/hivebot/hivebotdefine.dm b/code/unused/hivebot/hivebotdefine.dm deleted file mode 100644 index 902c2304710..00000000000 --- a/code/unused/hivebot/hivebotdefine.dm +++ /dev/null @@ -1,46 +0,0 @@ -/mob/living/silicon/hivebot - name = "Robot" - icon = 'icons/mob/hivebot.dmi' - icon_state = "basic" - health = 80 - var/health_max = 80 - robot_talk_understand = 2 - -//HUD - var/obj/screen/cells = null - var/obj/screen/inv1 = null - var/obj/screen/inv2 = null - var/obj/screen/inv3 = null - -//3 Modules can be activated at any one time. - var/obj/item/weapon/robot_module/module = null - var/module_active = null - var/module_state_1 = null - var/module_state_2 = null - var/module_state_3 = null - - var/obj/item/device/radio/radio = null - - var/list/req_access = list(ACCESS_ROBOTICS) - var/energy = 4000 - var/energy_max = 4000 - var/jetpack = 0 - - var/mob/living/silicon/hive_mainframe/mainframe = null - var/dependent = 0 - var/shell = 1 - -/mob/living/silicon/hive_mainframe - name = "Robot Mainframe" - voice_name = "synthesized voice" - - icon_state = "hive_main" - health = 200 - var/health_max = 200 - robot_talk_understand = 2 - - anchored = 1 - var/online = 1 - var/mob/living/silicon/hivebot = null - var/hivebot_name = null - var/force_mind = 0 \ No newline at end of file diff --git a/code/unused/hivebot/hud.dm b/code/unused/hivebot/hud.dm deleted file mode 100644 index 8a88550d97d..00000000000 --- a/code/unused/hivebot/hud.dm +++ /dev/null @@ -1,251 +0,0 @@ - -/obj/hud/proc/hivebot_hud() - - src.adding = list( ) - src.other = list( ) - src.intents = list( ) - src.mon_blo = list( ) - src.m_ints = list( ) - src.mov_int = list( ) - src.vimpaired = list( ) - src.darkMask = list( ) - - src.g_dither = new src.h_type( src ) - src.g_dither.screen_loc = "WEST,SOUTH to EAST,NORTH" - src.g_dither.name = "Mask" - src.g_dither.icon_state = "dither12g" - src.g_dither.layer = 18 - src.g_dither.mouse_opacity = 0 - - src.alien_view = new src.h_type(src) - src.alien_view.screen_loc = "WEST,SOUTH to EAST,NORTH" - src.alien_view.name = "Alien" - src.alien_view.icon_state = "alien" - src.alien_view.layer = 18 - src.alien_view.mouse_opacity = 0 - - src.blurry = new src.h_type( src ) - src.blurry.screen_loc = "WEST,SOUTH to EAST,NORTH" - src.blurry.name = "Blurry" - src.blurry.icon_state = "blurry" - src.blurry.layer = 17 - src.blurry.mouse_opacity = 0 - - src.druggy = new src.h_type( src ) - src.druggy.screen_loc = "WEST,SOUTH to EAST,NORTH" - src.druggy.name = "Druggy" - src.druggy.icon_state = "druggy" - src.druggy.layer = 17 - src.druggy.mouse_opacity = 0 - - // station explosion cinematic - src.station_explosion = new src.h_type( src ) - src.station_explosion.icon = 'icons/effects/station_explosion.dmi' - src.station_explosion.icon_state = "start" - src.station_explosion.layer = 20 - src.station_explosion.mouse_opacity = 0 - src.station_explosion.screen_loc = "1,3" - - var/obj/screen/using - - -//Radio - using = new src.h_type( src ) - using.name = "radio" - using.dir = SOUTHWEST - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = "radio" - using.screen_loc = ui_movi_old - using.layer = 20 - src.adding += using - -//Generic overlays - - using = new src.h_type(src) //Right hud bar - using.dir = SOUTH - using.icon = 'icons/mob/screen1_robot.dmi' - using.screen_loc = "EAST+1,SOUTH to EAST+1,NORTH" - using.layer = 19 - src.adding += using - - using = new src.h_type(src) //Lower hud bar - using.dir = EAST - using.icon = 'icons/mob/screen1_robot.dmi' - using.screen_loc = "WEST,SOUTH-1 to EAST,SOUTH-1" - using.layer = 19 - src.adding += using - - using = new src.h_type(src) //Corner Button - using.dir = NORTHWEST - using.icon = 'icons/mob/screen1_robot.dmi' - using.screen_loc = "EAST+1,SOUTH-1" - using.layer = 19 - src.adding += using - - -//Module select - - using = new src.h_type( src ) - using.name = "module1" - using.dir = SOUTHWEST - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = "inv1" - using.screen_loc = ui_inv1 - using.layer = 20 - src.adding += using - mymob:inv1 = using - - using = new src.h_type( src ) - using.name = "module2" - using.dir = SOUTHWEST - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = "inv2" - using.screen_loc = ui_inv2 - using.layer = 20 - src.adding += using - mymob:inv2 = using - - using = new src.h_type( src ) - using.name = "module3" - using.dir = SOUTHWEST - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = "inv3" - using.screen_loc = ui_inv3 - using.layer = 20 - src.adding += using - mymob:inv3 = using - -//End of module select - -//Intent - using = new src.h_type( src ) - using.name = "act_intent" - using.dir = SOUTHWEST - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = (mymob.a_intent == "hurt" ? "harm" : mymob.a_intent) - using.screen_loc = ui_acti - using.layer = 20 - src.adding += using - action_intent = using - - using = new src.h_type( src ) - using.name = "arrowleft" - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = "s_arrow" - using.dir = WEST - using.screen_loc = ui_iarrowleft - using.layer = 19 - src.adding += using - - using = new src.h_type( src ) - using.name = "arrowright" - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = "s_arrow" - using.dir = EAST - using.screen_loc = ui_iarrowright - using.layer = 19 - src.adding += using -//End of Intent - -//Cell - mymob:cells = new /obj/screen( null ) - mymob:cells.icon = 'icons/mob/screen1_robot.dmi' - mymob:cells.icon_state = "charge-empty" - mymob:cells.name = "cell" - mymob:cells.screen_loc = ui_toxin - -//Health - mymob.healths = new /obj/screen( null ) - mymob.healths.icon = 'icons/mob/screen1_robot.dmi' - mymob.healths.icon_state = "health0" - mymob.healths.name = "health" - mymob.healths.screen_loc = ui_health - -//Installed Module - mymob.hands = new /obj/screen( null ) - mymob.hands.icon = 'icons/mob/screen1_robot.dmi' - mymob.hands.icon_state = "nomod" - mymob.hands.name = "module" - mymob.hands.screen_loc = ui_dropbutton - -//Module Panel - using = new src.h_type( src ) - using.name = "panel" - using.icon = 'icons/mob/screen1_robot.dmi' - using.icon_state = "panel" - using.screen_loc = ui_throw - using.layer = 19 - src.adding += using - -//Store - mymob.throw_icon = new /obj/screen(null) - mymob.throw_icon.icon = 'icons/mob/screen1_robot.dmi' - mymob.throw_icon.icon_state = "store" - mymob.throw_icon.name = "store" - mymob.throw_icon.screen_loc = ui_hand - -//Temp - mymob.bodytemp = new /obj/screen( null ) - mymob.bodytemp.icon_state = "temp0" - mymob.bodytemp.name = "body temperature" - mymob.bodytemp.screen_loc = ui_temp - -//does nothing (fire and oxy) - mymob.oxygen = new /obj/screen( null ) - mymob.oxygen.icon = 'icons/mob/screen1_robot.dmi' - mymob.oxygen.icon_state = "oxy0" - mymob.oxygen.name = "oxygen" - mymob.oxygen.screen_loc = ui_oxygen - - mymob.fire = new /obj/screen( null ) - mymob.fire.icon = 'icons/mob/screen1_robot.dmi' - mymob.fire.icon_state = "fire0" - mymob.fire.name = "fire" - mymob.fire.screen_loc = ui_fire - - - - mymob.pullin = new /obj/screen( null ) - mymob.pullin.icon = 'icons/mob/screen1_robot.dmi' - mymob.pullin.icon_state = "pull0" - mymob.pullin.name = "pull" - mymob.pullin.screen_loc = ui_pull - - mymob.blind = new /obj/screen( null ) - mymob.blind.icon = 'icons/mob/screen1_full.dmi'' - mymob.blind.icon_state = "blackimageoverlay" - mymob.blind.name = " " - mymob.blind.screen_loc = "1,1" - mymob.blind.layer = 0 - mymob.blind.mouse_opacity = 0 - - mymob.flash = new /obj/screen( null ) - mymob.flash.icon = 'icons/mob/screen1_robot.dmi' - mymob.flash.icon_state = "blank" - mymob.flash.name = "flash" - mymob.flash.screen_loc = "1,1 to 15,15" - mymob.flash.layer = 17 - - mymob.sleep = new /obj/screen( null ) - mymob.sleep.icon = 'icons/mob/screen1_robot.dmi' - mymob.sleep.icon_state = "sleep0" - mymob.sleep.name = "sleep" - mymob.sleep.screen_loc = ui_sleep - - mymob.rest = new /obj/screen( null ) - mymob.rest.icon = 'icons/mob/screen1_robot.dmi' - mymob.rest.icon_state = "rest0" - mymob.rest.name = "rest" - mymob.rest.screen_loc = ui_rest - - - mymob.zone_sel = new /obj/screen/zone_sel( null ) - mymob.zone_sel.overlays.Cut() - mymob.zone_sel.overlays += image("icon" = 'icons/mob/zone_sel.dmi', "icon_state" = text("[]", mymob.zone_sel.selecting)) - - mymob.client.screen = null - - mymob.client.screen += list(mymob.throw_icon, mymob.zone_sel, mymob.oxygen, mymob.fire, mymob.hands, mymob.healths, mymob:cells, mymob.pullin, mymob.blind, mymob.flash, mymob.rest, mymob.sleep) //, mymob.mach ) - mymob.client.screen += src.adding + src.other - - return diff --git a/code/unused/hivebot/life.dm b/code/unused/hivebot/life.dm deleted file mode 100644 index 9ab6e8c3e89..00000000000 --- a/code/unused/hivebot/life.dm +++ /dev/null @@ -1,227 +0,0 @@ -/mob/living/silicon/hivebot/Life() - set invisibility = 0 - set background = 1 - - if (src.monkeyizing) - return - - if (src.stat != 2) - use_power() - - src.blinded = null - - clamp_values() - - handle_regular_status_updates() - - if(client) - src.shell = 0 - handle_regular_hud_updates() - update_items() - if(dependent) - mainframe_check() - - update_canmove() - - -/mob/living/silicon/hivebot - proc - clamp_values() - - stunned = max(min(stunned, 10),0) - paralysis = max(min(paralysis, 1), 0) - weakened = max(min(weakened, 15), 0) - sleeping = max(min(sleeping, 1), 0) - setToxLoss(0) - setOxyLoss(0) - - use_power() - - if (src.energy) - if(src.energy <= 0) - death() - - else if (src.energy <= 10) - src.module_active = null - src.module_state_1 = null - src.module_state_2 = null - src.module_state_3 = null - src.energy -=1 - else - if(src.module_state_1) - src.energy -=1 - if(src.module_state_2) - src.energy -=1 - if(src.module_state_3) - src.energy -=1 - src.energy -=1 - src.blinded = 0 - src.stat = 0 - else - src.blinded = 1 - src.stat = 1 - - update_canmove() - if(paralysis || stunned || weakened || buckled) canmove = 0 - else canmove = 1 - - - handle_regular_status_updates() - - health = src.health_max - (getFireLoss() + getBruteLoss()) - - if(health <= 0) - death() - - if (src.stat != 2) //Alive. - - if (src.paralysis || src.stunned || src.weakened) //Stunned etc. - if (src.stunned > 0) - src.stunned-- - src.stat = 0 - if (src.weakened > 0) - src.weakened-- - src.lying = 0 - src.stat = 0 - if (src.paralysis > 0) - src.paralysis-- - src.blinded = 0 - src.lying = 0 - src.stat = 1 - - else //Not stunned. - src.lying = 0 - src.stat = 0 - - else //Dead. - src.blinded = 1 - src.stat = 2 - - src.density = !( src.lying ) - - if ((src.sdisabilities & 1)) - src.blinded = 1 - if ((src.sdisabilities & 4)) - src.ear_deaf = 1 - - if (src.eye_blurry > 0) - src.eye_blurry-- - src.eye_blurry = max(0, src.eye_blurry) - - if (src.druggy > 0) - src.druggy-- - src.druggy = max(0, src.druggy) - - return 1 - - handle_regular_hud_updates() - - if (src.stat == 2 || M_XRAY in src.mutations) - src.sight |= SEE_TURFS - src.sight |= SEE_MOBS - src.sight |= SEE_OBJS - src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO - else if (src.stat != 2) - src.sight &= ~SEE_MOBS - src.sight &= ~SEE_TURFS - src.sight &= ~SEE_OBJS - src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO - - if (src.healths) - if (src.stat != 2) - switch(health) - if(health_max to INFINITY) - src.healths.icon_state = "health0" - if(src.health_max*0.80 to src.health_max) - src.healths.icon_state = "health1" - if(src.health_max*0.60 to src.health_max*0.80) - src.healths.icon_state = "health2" - if(src.health_max*0.40 to src.health_max*0.60) - src.healths.icon_state = "health3" - if(src.health_max*0.20 to src.health_max*0.40) - src.healths.icon_state = "health4" - if(0 to health_max*0.20) - src.healths.icon_state = "health5" - else - src.healths.icon_state = "health6" - else - src.healths.icon_state = "health7" - - if (src.cells) - switch(src.energy) - if(src.energy_max*0.75 to INFINITY) - src.cells.icon_state = "charge4" - if(0.5*src.energy_max to 0.75*src.energy_max) - src.cells.icon_state = "charge3" - if(0.25*src.energy_max to 0.5*src.energy_max) - src.cells.icon_state = "charge2" - if(0 to 0.25*src.energy_max) - src.cells.icon_state = "charge1" - else - src.cells.icon_state = "charge0" - - switch(src.bodytemperature) //310.055 optimal body temp - - if(335 to INFINITY) - src.bodytemp.icon_state = "temp2" - if(320 to 335) - src.bodytemp.icon_state = "temp1" - if(300 to 320) - src.bodytemp.icon_state = "temp0" - if(260 to 300) - src.bodytemp.icon_state = "temp-1" - else - src.bodytemp.icon_state = "temp-2" - - - if(src.pullin) src.pullin.icon_state = "pull[src.pulling ? 1 : 0]" - - src.client.screen -= src.hud_used.blurry - src.client.screen -= src.hud_used.druggy - src.client.screen -= src.hud_used.vimpaired - - if ((src.blind && src.stat != 2)) - if ((src.blinded)) - src.blind.layer = 18 - else - src.blind.layer = 0 - - if (src.disabilities & 1) - src.client.screen += src.hud_used.vimpaired - - if (src.eye_blurry) - src.client.screen += src.hud_used.blurry - - if (src.druggy) - src.client.screen += src.hud_used.druggy - - if (src.stat != 2) - if (src.machine) - if (!( src.machine.check_eye(src) )) - src.reset_view(null) - else - if(!client.adminobs) - reset_view(null) - - return 1 - - - update_items() - if (src.client) - src.client.screen -= src.contents - src.client.screen += src.contents - if(src.module_state_1) - src.module_state_1:screen_loc = ui_inv1 - if(src.module_state_2) - src.module_state_2:screen_loc = ui_inv2 - if(src.module_state_3) - src.module_state_3:screen_loc = ui_inv3 - - mainframe_check() - if(mainframe) - if(mainframe.stat == 2) - mainframe.return_to(src) - else - death() \ No newline at end of file diff --git a/code/unused/hivebot/login.dm b/code/unused/hivebot/login.dm deleted file mode 100644 index 3a811b4c8a9..00000000000 --- a/code/unused/hivebot/login.dm +++ /dev/null @@ -1,15 +0,0 @@ -/mob/living/silicon/hivebot/Login() - ..() - - update_clothing() - - if (!isturf(src.loc)) - src.client.eye = src.loc - src.client.perspective = EYE_PERSPECTIVE - if (src.stat == 2) - src.verbs += /client/proc/ghost - if(src.real_name == "Hiveborg") - src.real_name += " " - src.real_name += "-[rand(1, 999)]" - src.name = src.real_name - return \ No newline at end of file diff --git a/code/unused/hivebot/mainframe.dm b/code/unused/hivebot/mainframe.dm deleted file mode 100644 index e629a8f7d20..00000000000 --- a/code/unused/hivebot/mainframe.dm +++ /dev/null @@ -1,181 +0,0 @@ -/mob/living/silicon/hive_mainframe/New() - Namepick() - -/mob/living/silicon/hive_mainframe/Life() - if (src.stat == 2) - return - else - src.updatehealth() - - if (src.health <= 0) - death() - return - - if(src.force_mind) - if(!src.mind) - if(src.client) - src.mind = new - src.mind.key = src.key - src.mind.current = src - src.force_mind = 0 - -/mob/living/silicon/hive_mainframe/Stat() - ..() - statpanel("Status") - if (src.client.statpanel == "Status") - if(emergency_shuttle) - if(emergency_shuttle.has_eta() && !emergency_shuttle.returned()) - var/timeleft = emergency_shuttle.estimate_arrival_time() - if (timeleft) - stat(null, "ETA-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]") -/* - if(ticker.mode.name == "AI malfunction") - stat(null, "Points left until the AI takes over: [AI_points]/[AI_points_win]") -*/ - -/mob/living/silicon/hive_mainframe/updatehealth() - if (src.nodamage == 0) - src.health = 100 - src.getFireLoss() - src.getBruteLoss() - else - src.health = 100 - src.stat = 0 - -/mob/living/silicon/hive_mainframe/death(gibbed) - src.stat = 2 - src.canmove = 0 - if(src.blind) - src.blind.layer = 0 - src.sight |= SEE_TURFS - src.sight |= SEE_MOBS - src.sight |= SEE_OBJS - src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO - src.lying = 1 - src.icon_state = "hive_main-crash" - - var/tod = time2text(world.realtime,"hh:mm:ss") //weasellos time of death patch - mind.store_memory("Time of death: [tod]", 0) - - if (src.key) - spawn(50) - if(src.key && src.stat == 2) - src.verbs += /client/proc/ghost - return ..(gibbed) - - -/mob/living/silicon/hive_mainframe/say_understands(var/other) - if (istype(other, /mob/living/carbon/human)) - return 1 - if (istype(other, /mob/living/silicon/robot)) - return 1 - if (istype(other, /mob/living/silicon/hivebot)) - return 1 - if (istype(other, /mob/living/silicon/ai)) - return 1 - if (istype(other, /mob/living/carbon/human/tajaran)) - return 1 - return ..() - -/mob/living/silicon/hive_mainframe/say_quote(var/text) - var/ending = copytext(text, length(text)) - - if (ending == "?") - return "queries, \"[text]\""; - else if (ending == "!") - return "declares, \"[copytext(text, 1, length(text))]\""; - - return "states, \"[text]\""; - - -/mob/living/silicon/hive_mainframe/proc/return_to(var/mob/user) - if(user.mind) - user.mind.transfer_to(src) - spawn(20) - user:shell = 1 - user:real_name = "Robot [pick(rand(1, 999))]" - user:name = user:real_name - - - return - -/mob/living/silicon/hive_mainframe/verb/cmd_deploy_to() - set category = "Mainframe Commands" - set name = "Deploy to shell." - deploy_to() - -/mob/living/silicon/hive_mainframe/verb/deploy_to() - - if(usr.stat == 2) - usr << "You can't deploy because you are dead!" - return - - var/list/bodies = new/list() - - for(var/mob/living/silicon/hivebot/H in mob_list) - if(H.z == src.z) - if(H.shell) - if(!H.stat) - bodies += H - - var/target_shell = input(usr, "Which body to control?") as null|anything in bodies - - if (!target_shell) - return - - else if(src.mind) - spawn(30) - target_shell:mainframe = src - target_shell:dependent = 1 - target_shell:real_name = src.name - target_shell:name = target_shell:real_name - src.mind.transfer_to(target_shell) - return - - -/client/proc/MainframeMove(n,direct,var/mob/living/silicon/hive_mainframe/user) - return -/obj/hud/proc/hive_mainframe_hud() - return - - - - - -/mob/living/silicon/hive_mainframe/Login() - ..() - update_clothing() - for(var/S in src.client.screen) - del(S) - src.flash = new /obj/screen( null ) - src.flash.icon_state = "blank" - src.flash.name = "flash" - src.flash.screen_loc = "1,1 to 15,15" - src.flash.layer = 17 - src.blind = new /obj/screen( null ) - src.blind.icon_state = "black" - src.blind.name = " " - src.blind.screen_loc = "1,1 to 15,15" - src.blind.layer = 0 - src.client.screen += list( src.blind, src.flash ) - if(!isturf(src.loc)) - src.client.eye = src.loc - src.client.perspective = EYE_PERSPECTIVE - if (src.stat == 2) - src.verbs += /client/proc/ghost - return - - - -/mob/living/silicon/hive_mainframe/proc/Namepick() - var/randomname = pick(ai_names) - var/newname = input(src,"You are the a Mainframe Unit. Would you like to change your name to something else?", "Name change",randomname) - - if (length(newname) == 0) - newname = randomname - - if (newname) - if (length(newname) >= 26) - newname = copytext(newname, 1, 26) - newname = replacetext(newname, ">", "'") - src.real_name = newname - src.name = newname \ No newline at end of file diff --git a/code/unused/jobs.dm b/code/unused/jobs.dm deleted file mode 100644 index a8b1b2b4bb6..00000000000 --- a/code/unused/jobs.dm +++ /dev/null @@ -1,291 +0,0 @@ -//WORK IN PROGRESS CONTENT - -//Project coder: Errorage - -//Readme: As part of the UI upgrade project, the intention here is for each job to have -//somewhat customizable loadouts. Players will be able to pick between jumpsuits, shoes, -//and other items. This datum will be used for all jobs and code will reference it. -//adding new jobs will be a matter of adding this datum.to a list of jobs. - -#define VITAL_PRIORITY_JOB 5 -#define HIGH_PRIORITY_JOB 4 -#define PRIORITY_JOB 3 -#define LOW_PRIORITY_JOB 2 -#define ASSISTANT_PRIORITY_JOB 1 -#define NO_PRIORITY_JOB 0 - -/datum/job - //Basic information - var/title = "Untitled" //The main (default) job title/name - var/list/alternative_titles = list() //Alternative job titles/names (alias) - var/job_number_at_round_start = 0 //Number of jobs that can be assigned at round start - var/job_number_total = 0 //Number of jobs that can be assigned total - var/list/bosses = list() //List of jobs which have authority over this job by default. - var/admin_only = 0 //If this is set to 1, the job is not available on the spawn screen - var/description = "" //A description of the job to be displayed when requested on the spawn screen - var/guides = "" //A string with links to relevent guides (likely the wiki) - var/department = "" //This is used to group jobs into departments, which means that if you don't get your desired jobs, you get another job from the same department - var/job_type = "SS13" //SS13, NT or ANTAGONIST - var/can_be_traitor = 1 - var/can_be_changeling = 1 - var/can_be_wizard = 1 - var/can_be_cultist = 1 - var/can_be_rev_head = 1 - var/is_head_position = 0 - - //Job conditions - var/change_to_mob = "Human" //The type of mob which this job will change you to (alien,cyborg,human...) - var/change_to_mutantrace = "" //What mutantrace you will be once you get this job - - //Random job assignment priority - var/assignment_priority = NO_PRIORITY_JOB //This variable determins the priority of assignment - //VITAL_PRIORITY_JOB = Absolutely vital (Someone will get assigned every round) - Use VERY, VERY lightly - //HIGH_PRIORITY_JOB = High priority - Assibned before the other jobs, candidates compete on equal terms - //PRIORITY_JOB = Priorized (Standard priority) - Candidates compete by virtue of priority (choice 1 > choice 2 > choice 3...) - //LOW_PRIORITY_JOB = Low priority (Low-priority (librarian)) - //ASSISTANT_PRIORITY_JOB = Assistant-level (Only filled when all the other jobs have been assigned) - //NO_PRIORITY_JOB = Skipped om assignment (Admin-only jobs should have this level) - - - - //Available equipment - The first thing listed is understood as the default setup. - var/list/equipment_ears = list() //list of possible ear-wear items - var/list/equipment_glasses = list() //list of possible glasses - var/list/equipment_gloves = list() //list of possible gloves - var/list/equipment_head = list() //list of possible headgear/helmets/hats - var/list/equipment_mask = list() //list of possible masks - var/list/equipment_shoes = list() //list of possible shoes - var/list/equipment_suit = list() //list of possible suits - var/list/equipment_under = list() //list of possible jumpsuits - var/list/equipment_belt = list() //list of possible belt-slot items - var/list/equipment_back = list() //list of possible back-slot items - var/obj/equipment_pda //default pda type - var/obj/equipment_id //default id type - - New(var/param_title, var/list/param_alternative_titles = list(), var/param_jobs_at_round_start = 0, var/param_global_max = 0, var/list/param_bosses = list(), var/param_admin_only = 0) - title = param_title - alternative_titles = param_alternative_titles - job_number_at_round_start = param_jobs_at_round_start - job_number_total = param_global_max - bosses = param_bosses - admin_only = param_admin_only - - //This proc tests to see if the given alias (job title/alternative job title) corresponds to this job. - //Returns 1 if it is, else returns 0 - proc/is_job_alias(var/alias) - if(alias == title) - return 1 - if(alias in alternative_titles) - return 1 - return 0 - -/datum/jobs - var/list/datum/job/all_jobs = list() - - proc/get_all_jobs() - return all_jobs - - //This proc returns all the jobs which are NOT admin only - proc/get_normal_jobs() - var/list/datum/job/normal_jobs = list() - for(var/datum/job/J in all_jobs) - if(!J.admin_only) - normal_jobs += J - return normal_jobs - - //This proc returns all the jobs which are admin only - proc/get_admin_jobs() - var/list/datum/job/admin_jobs = list() - for(var/datum/job/J in all_jobs) - if(J.admin_only) - admin_jobs += J - return admin_jobs - - //This proc returns the job datum of the job with the alias or job title given as the argument. Returns an empty string otherwise. - proc/get_job(var/alias) - for(var/datum/job/J in all_jobs) - if(J.is_job_alias(alias)) - return J - return "" - - //This proc returns a string with the default job title for the job with the given alias. Returns an empty string otherwise. - proc/get_job_title(var/alias) - for(var/datum/job/J in all_jobs) - if(J.is_job_alias(alias)) - return J.title - return "" - - //This proc returns all the job datums of the workers whose boss has the alias provided. (IE Engineer under Chief Engineer, etc.) - proc/get_jobs_under(var/boss_alias) - var/boss_title = get_job_title(boss_alias) - var/list/datum/job/employees = list() - for(var/datum/job/J in all_jobs) - if(boss_title in J.bosses) - employees += J - return employees - - //This proc returns the chosen vital and high priority jobs that the person selected. It goes from top to bottom of the list, until it finds a job which does not have such priority. - //Example: Choosing (in this order): CE, Captain, Engineer, RD will only return CE and Captain, as RD is assumed as being an unwanted choice. - //This proc is used in the allocation algorithm when deciding vital and high priority jobs. - proc/get_prefered_high_priority_jobs() - var/list/datum/job/hp_jobs = list() - for(var/datum/job/J in all_jobs) - if(J.assignment_priority == HIGH_PRIORITY_JOB || J.assignment_priority == VITAL_PRIORITY_JOB) - hp_jobs += J - else - break - return hp_jobs - - //If only priority is given, it will return the jobs of only that priority, if end_priority is set it will return the jobs with their priority higher or equal to var/priority and lower or equal to end_priority. end_priority must be higher than 0. - proc/get_jobs_by_priority(var/priority, var/end_priority = 0) - var/list/datum/job/priority_jobs = list() - if(end_priority) - if(end_priority < priority) - return - for(var/datum/job/J in all_jobs) - if(J.assignment_priority >= priority && J.assignment_priority <= end_priority) - priority_jobs += J - else - for(var/datum/job/J in all_jobs) - if(J.assignment_priority == priority) - priority_jobs += J - return priority_jobs - -//This datum is used in the plb allocation algorithm to make life easier, not used anywhere else. -/datum/player_jobs - var/mob/new_player/player - var/datum/jobs/selected_jobs - -var/datum/jobs/jobs = new/datum/jobs() - -proc/setup_jobs() - var/datum/job/JOB - - JOB = new/datum/job("Station Engineer") - JOB.alternative_titles = list("Structural Engineer","Engineer","Student of Engineering") - JOB.job_number_at_round_start = 5 - JOB.job_number_total = 5 - JOB.bosses = list("Chief Engineer") - JOB.admin_only = 0 - JOB.description = "Engineers are tasked with the maintenance of the station. Be it maintaining the power grid or rebuilding damaged sections." - JOB.guides = "" - JOB.equipment_ears = list(/obj/item/device/radio/headset/headset_eng) - JOB.equipment_glasses = list() - JOB.equipment_gloves = list() - JOB.equipment_head = list(/obj/item/clothing/head/helmet/hardhat) - JOB.equipment_mask = list() - JOB.equipment_shoes = list(/obj/item/clothing/shoes/orange,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/black) - JOB.equipment_suit = list(/obj/item/clothing/suit/storage/hazardvest) - JOB.equipment_under = list(/obj/item/clothing/under/rank/engineer,/obj/item/clothing/under/color/yellow) - JOB.equipment_belt = list(/obj/item/weapon/storage/belt/utility/full) - JOB.equipment_back = list(/obj/item/weapon/storage/backpack/industrial,/obj/item/weapon/storage/backpack) - JOB.equipment_pda = /obj/item/device/pda/engineering - JOB.equipment_id = /obj/item/weapon/card/id - - jobs.all_jobs += JOB - -//This proc will dress the mob (employee) in the default way for the specified job title/job alias -proc/dress_for_job_default(var/mob/living/carbon/human/employee as mob, var/job_alias) - if(!ishuman(employee)) - return - - //TODO ERRORAGE - UNFINISHED - var/datum/job/JOB = jobs.get_job(job_alias) - if(JOB) - var/item = JOB.equipment_ears[1] - employee.equip_to_slot_or_del(new item(employee), employee.slot_l_ear) - item = JOB.equipment_under[1] - employee.equip_to_slot_or_del(new item(employee), employee.slot_w_uniform) - - - /* - src.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/industrial (src), slot_back) - src.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(src), slot_in_backpack) - src.equip_to_slot_or_del(new /obj/item/device/radio/headset/headset_eng (src), slot_l_ear) // -- TLE - src.equip_to_slot_or_del(new /obj/item/device/pda/engineering(src), slot_belt) - src.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(src), slot_w_uniform) - src.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(src), slot_shoes) - src.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/hardhat(src), slot_head) - src.equip_to_slot_or_del(new /obj/item/weapon/storage/utilitybelt/full(src), slot_l_hand) //currently spawns in hand due to traitor assignment requiring a PDA to be on the belt. --Errorage - //src.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(src), slot_gloves) removed as part of Dangercon 2011, approved by Urist_McDorf --Errorage - src.equip_to_slot_or_del(new /obj/item/device/t_scanner(src), slot_r_store) - */ - - -//This algorithm works in 5 steps: -//1: Assignment of wizard / nuke members (if appropriate game mode) -//2: Assignment of jobs based on preferenes -// 2.1: Assignment of vital and high priority jobs. Candidates compete on equal terms. If the vital jobs are not filled, a random candidate is chosen to fill them, -// 2.2: Assignment of the rest of the jobs based on player preference, -//3: Assignment of remaining jobs for remaining players based on chosen departments -//4: Random assignment of remaining jobs for remaining players based on assignment priority -//5: Assignment of traitor / changeling to assigned roles (if appropriate game mode) -proc/assignment_algorithm(var/list/mob/new_player/players) - for(var/mob/new_player/PLAYER in players) - if(!PLAYER.client) - players -= PLAYER - continue - if(!PLAYER.ready) - players -= PLAYER - continue - - var/list/datum/job/vital_jobs = list() - var/list/datum/job/high_priority_jobs = list() - var/list/datum/job/priority_jobs = list() - var/list/datum/job/low_priority_jobs = list() - var/list/datum/job/assistant_jobs = list() - var/list/datum/job/not_assigned_jobs = list() - - for(var/datum/job/J in jobs) - switch(J.assignment_priority) - if(5) - vital_jobs += J - if(4) - high_priority_jobs += J - if(3) - priority_jobs += J - if(2) - low_priority_jobs += J - if(1) - assistant_jobs += J - if(0) - not_assigned_jobs += J - - var/list/datum/player_jobs/player_jobs = list() //This datum only holds a mob/new_player and a datum/jobs. The first is the player, the 2nd is the player's selected jobs, from the preferences datum. - - for(var/mob/new_player/NP in players) - var/datum/player_jobs/PJ = new/datum/player_jobs - PJ.player = NP - PJ.selected_jobs = NP.preferences.wanted_jobs - player_jobs += PJ - - //At this point we have the player_jobs list filled. Next up we have to assign all vital and high priority positions. - - var/list/datum/job/hp_jobs = jobs.get_jobs_by_priority( HIGH_PRIORITY_JOB, VITAL_PRIORITY_JOB ) - - for(var/datum/job/J in hp_jobs) - var/list/mob/new_player/candidates = list() - for(var/datum/player_jobs/PJ in player_jobs) - if(J in PJ.selected_jobs) - candidates += PJ.player - var/mob/new_player/chosen_player - if(candidates) - chosen_player = pick(candidates) - else - if(J.assignment_priority == VITAL_PRIORITY_JOB) - if(players) //Just in case there are more vital jobs than there are players. - chosen_player = pick(players) - if(chosen_player) - chosen_player.mind.assigned_job = J - players -= chosen_player - //TODO ERRORAGE - add capability for hp jobs with more than one slots. - - - - - //1: vital and high priority jobs, assigned on equal terms - - //TODO ERRORAGE - UNFINISHED - - -//END OF WORK IN PROGRESS CONTENT diff --git a/code/unused/mining/datum_processing_recipe.dm b/code/unused/mining/datum_processing_recipe.dm deleted file mode 100644 index c9331cf0728..00000000000 --- a/code/unused/mining/datum_processing_recipe.dm +++ /dev/null @@ -1,23 +0,0 @@ -/**********************Ore to material recipes datum**************************/ - -var/list/AVAILABLE_ORES = typesof(/obj/item/weapon/ore) - -/datum/material_recipe - var/name - var/list/obj/item/weapon/ore/recipe - var/obj/prod_type //produced material/object type - - New(var/param_name, var/param_recipe, var/param_prod_type) - name = param_name - recipe = param_recipe - prod_type = param_prod_type - -var/list/datum/material_recipe/MATERIAL_RECIPES = list( - new/datum/material_recipe("Metal",list(/obj/item/weapon/ore/iron),/obj/item/stack/sheet/metal), - new/datum/material_recipe("Glass",list(/obj/item/weapon/ore/glass),/obj/item/stack/sheet/glass), - new/datum/material_recipe("Gold",list(/obj/item/weapon/ore/gold),/obj/item/stack/sheet/mineral/gold), - new/datum/material_recipe("Silver",list(/obj/item/weapon/ore/silver),/obj/item/stack/sheet/mineral/silver), - new/datum/material_recipe("Diamond",list(/obj/item/weapon/ore/diamond),/obj/item/stack/sheet/mineral/diamond), - new/datum/material_recipe("Plasma",list(/obj/item/weapon/ore/plasma),/obj/item/stack/sheet/mineral/plasma), - new/datum/material_recipe("Bananium",list(/obj/item/weapon/ore/clown),/obj/item/stack/sheet/mineral/clown), - ) \ No newline at end of file diff --git a/code/unused/mining/machine_craftlathe_unused.dm b/code/unused/mining/machine_craftlathe_unused.dm deleted file mode 100644 index dc4ca5b3af0..00000000000 --- a/code/unused/mining/machine_craftlathe_unused.dm +++ /dev/null @@ -1,235 +0,0 @@ -/*********************NEW AUTOLATHE / CRAFT LATHE***********************/ - -var/list/datum/craftlathe_item/CRAFT_ITEMS = list() -var/CRAFT_ITEMS_SETUP = 1 //this should probably be a pre-game thing, but i'll do it so the first lathe2 that's created will set-up the recipes. - -proc/check_craftlathe_recipe(var/list/param_recipe) - if(param_recipe.len != 9) - return - var/i - var/match = 0 //this one counts if there is at least one non-"" ingredient. - for(var/datum/craftlathe_item/CI in CRAFT_ITEMS) - match = 0 - for(i = 1; i <= 9; i++) - if(CI.recipe[i] != param_recipe[i]) - match = 0 //use this so it passes by the match > 0 check below, otherwise i'd need a new variable to tell the return CI below that the check failed - break - if(CI.recipe[i] != "") - match++ - if(match > 0) - return CI - return 0 - -/datum/craftlathe_item - var/id = "" //must be unique for each item type. used to create recipes - var/name = "unknown" //what the lathe will show as it's contents - var/list/recipe = list("","","","","","","","","") //the 9 items here represent what items need to be placed in the lathe to produce this item. - var/item_type = null //this is used on items like sheets which are added when inserted into the lathe. - var/amount = 1 - var/amount_attackby = 1 - -/datum/craftlathe_item/New(var/param_id,var/param_name,var/param_amount,var/param_ammount_per_attackby,var/list/param_recipe,var/param_type = null) - ..() - id = param_id - name = param_name - recipe = param_recipe - item_type = param_type - amount = param_amount; - amount_attackby = param_ammount_per_attackby - return - -//this proc checks the recipe you give in it's parameter with the entire list of available items. If any match, it returns the item from CRAFT_ITEMS. the returned item should not be changed!! - -/obj/machinery/autolathe2 - name = "Craft lathe" - icon_state = "autolathe" - density = 1 - anchored = 1 - var/datum/craftlathe_item/selected = null - var/datum/craftlathe_item/make = null - var/list/datum/craftlathe_item/craft_contents = list() - var/list/current_recipe = list("","","","","","","","","") - -/obj/machinery/autolathe2/New() - ..() - if(CRAFT_ITEMS_SETUP) - CRAFT_ITEMS_SETUP = 0 - build_recipes() - return - -/obj/machinery/autolathe2/attack_hand(mob/user as mob) - var/dat - dat = text("

      Craft Lathe

      ") - dat += text("
      ") - - dat += text("Materials

      ") - var/datum/craftlathe_item/CI - var/i - for(i = 1; i <= craft_contents.len; i++) - CI = craft_contents[i] - if (CI == selected) - dat += text("[CI.name] ([CI.amount])
      ") - else - dat += text("[CI.name] ([CI.amount])
      ") - - dat += text("

      ") - - dat += text("Crafting Table

      ") - - dat += text(" ") - - var/j = 0 - var/k = 0 - for (i = 0; i < 3; i++) - dat += text(" ") - for (j = 1; j <= 3; j++) - k = i * 3 + j - if (current_recipe[k]) - dat += text(" ") - else - dat += text(" ") - dat += text(" ") - dat += text("
      [current_recipe[k]]----
      ") - - dat += text("

      ") - dat += text("Will make: ") - if (make) - dat += text("[make.name]") - else - dat += text("nothing useful") - - dat += text("

      ") - user << browse("[dat]", "window=craft") - -/obj/machinery/autolathe2/Topic(href, href_list) - if(..()) - return - usr.machine = src - src.add_fingerprint(usr) - if(href_list["remove"]) - var/n = text2num(href_list["remove"]) - if(!n || n < 1 || n > 9) - return - current_recipe[n] = "" - if(href_list["select"]) - var/n = text2num(href_list["select"]) - if(!n || n < 1 || n > 9) - return - selected = craft_contents[n] - if(href_list["add"]) - var/n = text2num(href_list["add"]) - if(!n || n < 1 || n > 9) - return - if(selected) - current_recipe[n] = selected.id - if(href_list["make"]) - var/datum/craftlathe_item/MAKE = check_craftlathe_recipe(src.current_recipe) - if(MAKE) - for (var/datum/craftlathe_item/CI2 in craft_contents) - if(CI2.id == MAKE.id) - CI2.amount += CI2.amount_attackby - src.updateUsrDialog() - return - craft_contents += new/datum/craftlathe_item(MAKE.id,MAKE.name,MAKE.amount,MAKE.amount_attackby,MAKE.recipe,MAKE.item_type) - var/datum/craftlathe_item/CI = check_craftlathe_recipe(src.current_recipe) - if(CI) - make = CI - else - make = null - src.updateUsrDialog() - - - -/obj/machinery/autolathe2/attackby(obj/item/weapon/W as obj, mob/user as mob) - usr.machine = src - src.add_fingerprint(usr) - for (var/datum/craftlathe_item/CI in CRAFT_ITEMS) - if(W.type == CI.item_type) - for (var/datum/craftlathe_item/CI2 in craft_contents) - if(CI2.item_type == W.type) - CI2.amount += CI2.amount_attackby - rmv_item(W) - return - craft_contents += new/datum/craftlathe_item(CI.id,CI.name,CI.amount,CI.amount_attackby,CI.recipe,CI.item_type) - rmv_item(W) - return - src.updateUsrDialog() - return - -/obj/machinery/autolathe2/proc/rmv_item(obj/item/W as obj) - if(istype(W,/obj/item/stack)) - var/obj/item/stack/S = W - S.amount-- - if (S.amount <= 0) - del(S) - else - del(W) - -/obj/machinery/autolathe2/proc/build_recipes() - //Parameters: ID, Name, Amount, Amount_added_per_attackby, Recipe, Object type - CRAFT_ITEMS += new/datum/craftlathe_item("METAL","Metal",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/metal) - CRAFT_ITEMS += new/datum/craftlathe_item("R METAL","Reinforced Metal",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/r_metal) - CRAFT_ITEMS += new/datum/craftlathe_item("GLASS","Glass",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/glass) - CRAFT_ITEMS += new/datum/craftlathe_item("R GLASS","Reinforced Glass",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/rglass) - CRAFT_ITEMS += new/datum/craftlathe_item("GOLD","Gold",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/gold) - CRAFT_ITEMS += new/datum/craftlathe_item("SILVER","Silver",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/silver) - CRAFT_ITEMS += new/datum/craftlathe_item("DIAMOND","Diamond",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/diamond) - CRAFT_ITEMS += new/datum/craftlathe_item("PLASMA","Plasma",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/plasma) - CRAFT_ITEMS += new/datum/craftlathe_item("URANIUM","Uranium",1,1,list("","","","","","","","",""),/obj/item/weapon/ore/mineral/uranium) - CRAFT_ITEMS += new/datum/craftlathe_item("CLOWN","Bananium",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/clown) - CRAFT_ITEMS += new/datum/craftlathe_item("ADMAMANTINE","Adamantine",1,1,list("","","","","","","","",""),/obj/item/stack/sheet/mineral/adamantine) - CRAFT_ITEMS += new/datum/craftlathe_item("SCREWS","Screws",9,9,list("","","","","METAL","","","METAL","")) - CRAFT_ITEMS += new/datum/craftlathe_item("COGS","Cogs",9,9,list("","METAL","","METAL","METAL","METAL","","METAL","")) - CRAFT_ITEMS += new/datum/craftlathe_item("SWITCH","Switch",12,12,list("METAL","","METAL","METAL","METAL","","METAL","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("KEYBOARD","Keyboard",1,1,list("","","","SWITCH","SWITCH","SWITCH","SWITCH","SWITCH","SWITCH")) - CRAFT_ITEMS += new/datum/craftlathe_item("M PANEL","Metal Panel",10,10,list("","","","","METAL","METAL","","METAL","METAL")) - CRAFT_ITEMS += new/datum/craftlathe_item("CASE","Equipment Case",1,1,list("M PANEL","M PANEL","M PANEL","M PANEL","","M PANEL","M PANEL","M PANEL","M PANEL")) - CRAFT_ITEMS += new/datum/craftlathe_item("G PANEL","Glass Panel",10,10,list("","","","","GLASS","GLASS","","GLASS","GLASS")) - CRAFT_ITEMS += new/datum/craftlathe_item("SCREEN","Screen",1,1,list("","GLASS","","GLASS","PLASMA","GLASS","","GLASS","")) - CRAFT_ITEMS += new/datum/craftlathe_item("EL SILVER","Electronics Silver",30,30,list("","","","","SILVER","","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("EL GOLD","Electronics Gold",6,6,list("","","","","GOLD","","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("TINTED GL","Tinted Glass",2,2,list("","METAL","","","GLASS","","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("TANK VALVE","Tank Transfer Valuve",1,1,list("","PIPE","","","PIPE","SWITCH","","PIPE","")) - CRAFT_ITEMS += new/datum/craftlathe_item("PIPE","Pipe",1,1,list("","M PANEL","","","M PANEL","","","M PANEL","")) - - CRAFT_ITEMS += new/datum/craftlathe_item("CB FRAME","Circuitboard Frame",1,1,list("","","","M PANEL","G PANEL","M PANEL","G PANEL","M PANEL","G PANEL")) - CRAFT_ITEMS += new/datum/craftlathe_item("ROM","ROM Module",1,1,list("EL SILVER","EL SILVER","EL SILVER","EL SILVER","","EL SILVER","EL SILVER","EL SILVER","EL SILVER")) - CRAFT_ITEMS += new/datum/craftlathe_item("RAM","RAM Module",1,1,list("EL SILVER","EL SILVER","EL SILVER","EL SILVER","EL GOLD","EL SILVER","EL SILVER","EL SILVER","EL SILVER")) - CRAFT_ITEMS += new/datum/craftlathe_item("PROCESSOR","Processor",1,1,list("EL GOLD","EL SILVER","EL GOLD","EL SILVER","EL SILVER","EL SILVER","EL SILVER","EL GOLD","EL SILVER")) - CRAFT_ITEMS += new/datum/craftlathe_item("ANTENNA","Antenna",1,1,list("","","EL SILVER","","","EL SILVER","EL SILVER","EL SILVER","EL SILVER")) - CRAFT_ITEMS += new/datum/craftlathe_item("OP RECEPTOR","Optic Receptor",1,1,list("G PANEL","G PANEL","G PANEL","","EL GOLD","","G PANEL","G PANEL","G PANEL")) - CRAFT_ITEMS += new/datum/craftlathe_item("THERMAL OP R","Thermal Optic Receptor",1,1,list("","OP RECEPTOR","","ROM","DIAMOND","DIAMOND","","OP RECEPTOR","")) - CRAFT_ITEMS += new/datum/craftlathe_item("MASON OP R","Mason Optic Receptor",1,1,list("","OP RECEPTOR","","ROM","EL SILVER","EL SILVER","","OP RECEPTOR","")) - CRAFT_ITEMS += new/datum/craftlathe_item("EAR FRAME","Earpiece Frame",1,1,list("M PANEL","M PANEL","M PANEL","M PANEL","","M PANEL","M PANEL","M PANEL","")) - CRAFT_ITEMS += new/datum/craftlathe_item("RADIO M","Radio Module",1,1,list("","ANTENNA","","","ROM","","CB FRAME","CB FRAME","CB FRAME")) - CRAFT_ITEMS += new/datum/craftlathe_item("EARPIECE","Radio Earpiece",1,1,list("","","","","RADIO M","","","EAR FRAME","")) - CRAFT_ITEMS += new/datum/craftlathe_item("EARMUFFS","Earmuffs",1,1,list("","M PANEL","","EAR FRAME","","EAR FRAME","","","")) - - CRAFT_ITEMS += new/datum/craftlathe_item("GLASSES FRAME","Glasses Frame",1,1,list("M PANEL","","M PANEL","M PANEL","","M PANEL","M PANEL","M PANEL","M PANEL")) - CRAFT_ITEMS += new/datum/craftlathe_item("MASONS","Mason Scanners",1,1,list("","","","MASON OP R","GLASSES FRAME","MASON OP R","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("THERMALS","Thermal Scanners",1,1,list("","","","THERMAL OP R","GLASSES FRAME","THERMAL OP R","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("SUNGLASSES","Sunglasses",1,1,list("","","","TINTED GL","GLASSES FRAME","TINTED GL","","","")) - - CRAFT_ITEMS += new/datum/craftlathe_item("HELMET FR","Helmet Frame",1,1,list("METAL","METAL","METAL","METAL","","METAL","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("HELMET","Security Helmet",1,1,list("R METAL","R METAL","R METAL","R METAL","HELMET FR","R METAL","","GLASS","")) - CRAFT_ITEMS += new/datum/craftlathe_item("HOS HELMET","HoS Helmet",1,1,list("SILVER","GOLD","SILVER","SILVER","HELMET","SILVER","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("HARDHAT","Hardhat",1,1,list("","FLASHLIGHT","","","HELMET FR","","","","")) - CRAFT_ITEMS += new/datum/craftlathe_item("SWAT HELMET","SWAT Helmet",1,1,list("","","","","HELMET","","R GLASS","R GLASS","R GLASS")) - CRAFT_ITEMS += new/datum/craftlathe_item("WELDING HELM","Welding Helmet",1,1,list("","","","","HELMET FR","","TINTED GL","TINTED GL","TINTED GL")) - CRAFT_ITEMS += new/datum/craftlathe_item("SPACE HELMET","Space Helmet",1,1,list("R METAL","SILVER","R METAL","SILVER","HELMET FR","SILVER","R GLASS","R GLASS","R GLASS")) - CRAFT_ITEMS += new/datum/craftlathe_item("RIG HELMET","RIG Helmet",1,1,list("R METAL","SILVER","R METAL","SILVER","SPACE HELMET","SILVER","R GLASS","R GLASS","R GLASS")) - CRAFT_ITEMS += new/datum/craftlathe_item("GAS MASK","Gas Mask",1,1,list("","","","","HELMET FR","TANK VALVE","","G PANEL","")) - - CRAFT_ITEMS += new/datum/craftlathe_item("ARMOR FRAME","Armor Frame",1,1,list("R METAL","","R METAL","R METAL","R METAL","R METAL","R METAL","R METAL","R METAL")) - CRAFT_ITEMS += new/datum/craftlathe_item("ARMOR","Armored Vest",1,1,list("R METAL","","R METAL","R METAL","ARMOR FRAME","R METAL","R METAL","R METAL","R METAL")) - CRAFT_ITEMS += new/datum/craftlathe_item("HOS ARMOR","HoS Armor",1,1,list("DIAMOND","","DIAMOND","URANIUM","ARMOR","URANIUM","URANIUM","R METAL","URANIUM")) - CRAFT_ITEMS += new/datum/craftlathe_item("CAP ARMOR","Captain Armor",1,1,list("DIAMOND","","DIAMOND","URANIUM","HOS ARMOR","URANIUM","URANIUM","R METAL","URANIUM")) - CRAFT_ITEMS += new/datum/craftlathe_item("SPACE S FR","Space Suit Frame",1,1,list("SILVER","","SILVER","SILVER","SILVER","SILVER","SILVER","SILVER","SILVER")) - CRAFT_ITEMS += new/datum/craftlathe_item("SPACE SUIT","Space Suit",1,1,list("SILVER","","SILVER","RAM","SPACE S FR","RADIO M","SILVER","SILVEr","SILVER")) - CRAFT_ITEMS += new/datum/craftlathe_item("RIG SUIT","RIG Suit",1,1,list("SILVER","","SILVER","SILVER","SPACE SUIT","SILVER","SILVER","SILVER","SILVER")) - //TODO: Flashlight, type paths - return - - - - return \ No newline at end of file diff --git a/code/unused/mining/machine_gas_extractor_unused.dm b/code/unused/mining/machine_gas_extractor_unused.dm deleted file mode 100644 index 7a833016cf4..00000000000 --- a/code/unused/mining/machine_gas_extractor_unused.dm +++ /dev/null @@ -1,78 +0,0 @@ -/**********************Gas extractor**************************/ - -/obj/machinery/mineral/gasextractor - name = "Gas extractor" - desc = "A machine which extracts gasses from ores" - icon = 'icons/obj/computer.dmi' - icon_state = "aiupload" - var/obj/machinery/mineral/input = null - var/obj/machinery/mineral/output = null - var/message = ""; - var/processing = 0 - var/newtoxins = 0 - density = 1 - anchored = 1.0 - -/obj/machinery/mineral/gasextractor/New() - ..() - spawn( 5 ) - for (var/dir in cardinal) - src.input = locate(/obj/machinery/mineral/input, get_step(src, dir)) - if(src.input) break - for (var/dir in cardinal) - src.output = locate(/obj/machinery/mineral/output, get_step(src, dir)) - if(src.output) break - return - return - -/obj/machinery/mineral/gasextractor/attack_hand(user as mob) - - if(processing == 1) - user << "The machine is processing" - return - - var/dat - dat = text("input connection status: ") - if (input) - dat += text("CONNECTED") - else - dat += text("NOT CONNECTED") - dat += text("
      output connection status: ") - if (output) - dat += text("CONNECTED") - else - dat += text("NOT CONNECTED") - - dat += text("

      Extract gas") - - dat += text("

      Message: [message]") - - user << browse("[dat]", "window=purifier") - -/obj/machinery/mineral/gasextractor/Topic(href, href_list) - if(..()) - return - - usr.machine = src - src.add_fingerprint(usr) - if(href_list["extract"]) - if (src.output) - if (locate(/obj/machinery/portable_atmospherics/canister,output.loc)) - newtoxins = 0 - processing = 1 - var/obj/item/weapon/ore/O - while(locate(/obj/item/weapon/ore/plasma, input.loc) && locate(/obj/machinery/portable_atmospherics/canister,output.loc)) - O = locate(/obj/item/weapon/ore/plasma, input.loc) - if (istype(O,/obj/item/weapon/ore/plasma)) - var/obj/machinery/portable_atmospherics/canister/C - C = locate(/obj/machinery/portable_atmospherics/canister,output.loc) - C.air_contents.toxins += 100 - newtoxins += 100 - del(O) - sleep(5); - processing = 0; - message = "Canister filled with [newtoxins] units of toxins" - else - message = "No canister found" - src.updateUsrDialog() - return diff --git a/code/unused/mining/machine_purifier_unused.dm b/code/unused/mining/machine_purifier_unused.dm deleted file mode 100644 index 1dd47a4fc3e..00000000000 --- a/code/unused/mining/machine_purifier_unused.dm +++ /dev/null @@ -1,88 +0,0 @@ -/**********************Mineral purifier (not used, replaced with mineral processing unit)**************************/ - -/obj/machinery/mineral/purifier - name = "Ore Purifier" - desc = "A machine which makes building material out of ores" - icon = 'icons/obj/computer.dmi' - icon_state = "aiupload" - var/obj/machinery/mineral/input = null - var/obj/machinery/mineral/output = null - var/processed = 0 - var/processing = 0 - density = 1 - anchored = 1.0 - -/obj/machinery/mineral/purifier/attack_hand(user as mob) - - if(processing == 1) - user << "The machine is processing" - return - - var/dat - dat = text("input connection status: ") - if (input) - dat += text("CONNECTED") - else - dat += text("NOT CONNECTED") - dat += text("
      output connection status: ") - if (output) - dat += text("CONNECTED") - else - dat += text("NOT CONNECTED") - - dat += text("

      Purify") - - dat += text("

      found: [processed]") - user << browse("[dat]", "window=purifier") - -/obj/machinery/mineral/purifier/Topic(href, href_list) - if(..()) - return - usr.machine = src - src.add_fingerprint(usr) - if(href_list["purify"]) - if (src.output) - processing = 1; - var/obj/item/weapon/ore/O - processed = 0; - while(locate(/obj/item/weapon/ore, input.loc)) - O = locate(/obj/item/weapon/ore, input.loc) - if (istype(O,/obj/item/weapon/ore/iron)) - new /obj/item/stack/sheet/metal(output.loc) - del(O) - if (istype(O,/obj/item/weapon/ore/diamond)) - new /obj/item/stack/sheet/mineral/diamond(output.loc) - del(O) - if (istype(O,/obj/item/weapon/ore/plasma)) - new /obj/item/stack/sheet/mineral/plasma(output.loc) - del(O) - if (istype(O,/obj/item/weapon/ore/gold)) - new /obj/item/stack/sheet/mineral/gold(output.loc) - del(O) - if (istype(O,/obj/item/weapon/ore/silver)) - new /obj/item/stack/sheet/mineral/silver(output.loc) - del(O) - if (istype(O,/obj/item/weapon/ore/uranium)) - new /obj/item/weapon/ore/mineral/uranium(output.loc) - del(O) - /*if (istype(O,/obj/item/weapon/ore/adamantine)) - new /obj/item/weapon/ore/adamantine(output.loc) - del(O)*/ //Dunno what this area does so I'll keep it commented out for now -Durandan - processed++ - sleep(5); - processing = 0; - src.updateUsrDialog() - return - - -/obj/machinery/mineral/purifier/New() - ..() - spawn( 5 ) - for (var/dir in cardinal) - src.input = locate(/obj/machinery/mineral/input, get_step(src, dir)) - if(src.input) break - for (var/dir in cardinal) - src.output = locate(/obj/machinery/mineral/output, get_step(src, dir)) - if(src.output) break - return - return diff --git a/code/unused/mining/mine_generator_unused.dm b/code/unused/mining/mine_generator_unused.dm deleted file mode 100644 index 9cc7f54ce69..00000000000 --- a/code/unused/mining/mine_generator_unused.dm +++ /dev/null @@ -1,174 +0,0 @@ -/**********************Random mine generator************************/ - -//this item is intended to give the effect of entering the mine, so that light gradually fades -/obj/effect/mine_generator - name = "Random mine generator" - anchored = 1 - unacidable = 1 - var/turf/last_loc - var/turf/target_loc - var/turf/start_loc - var/randXParam //the value of these two parameters are generated by the code itself and used to - var/randYParam //determine the random XY parameters - var/mineDirection = 3 - /* - 0 = none - 1 = N - 2 = NNW - 3 = NW - 4 = WNW - 5 = W - 6 = WSW - 7 = SW - 8 = SSW - 9 = S - 10 = SSE - 11 = SE - 12 = ESE - 13 = E - 14 = ENE - 15 = NE - 16 = NNE - */ - -/obj/effect/mine_generator/New() - last_loc = src.loc - var/i - for(i = 0; i < 50; i++) - gererateTargetLoc() - //target_loc = locate(last_loc.x + rand(5), last_loc.y + rand(5), src.z) - fillWithAsteroids() - del(src) - return - - -/obj/effect/mine_generator/proc/gererateTargetLoc() //this proc determines where the next square-room will end. - switch(mineDirection) - if(1) - randXParam = 0 - randYParam = 4 - if(2) - randXParam = 1 - randYParam = 3 - if(3) - randXParam = 2 - randYParam = 2 - if(4) - randXParam = 3 - randYParam = 1 - if(5) - randXParam = 4 - randYParam = 0 - if(6) - randXParam = 3 - randYParam = -1 - if(7) - randXParam = 2 - randYParam = -2 - if(8) - randXParam = 1 - randYParam = -3 - if(9) - randXParam = 0 - randYParam = -4 - if(10) - randXParam = -1 - randYParam = -3 - if(11) - randXParam = -2 - randYParam = -2 - if(12) - randXParam = -3 - randYParam = -1 - if(13) - randXParam = -4 - randYParam = 0 - if(14) - randXParam = -3 - randYParam = 1 - if(15) - randXParam = -2 - randYParam = 2 - if(16) - randXParam = -1 - randYParam = 3 - target_loc = last_loc - if (randXParam > 0) - target_loc = locate(target_loc.x+rand(randXParam),target_loc.y,src.z) - if (randYParam > 0) - target_loc = locate(target_loc.x,target_loc.y+rand(randYParam),src.z) - if (randXParam < 0) - target_loc = locate(target_loc.x-rand(-randXParam),target_loc.y,src.z) - if (randYParam < 0) - target_loc = locate(target_loc.x,target_loc.y-rand(-randXParam),src.z) - if (mineDirection == 1 || mineDirection == 5 || mineDirection == 9 || mineDirection == 13) //if N,S,E,W, turn quickly - if(prob(50)) - mineDirection += 2 - else - mineDirection -= 2 - if(mineDirection < 1) - mineDirection += 16 - else - if(prob(50)) - if(prob(50)) - mineDirection += 1 - else - mineDirection -= 1 - if(mineDirection < 1) - mineDirection += 16 - return - - -/obj/effect/mine_generator/proc/fillWithAsteroids() - - if(last_loc) - start_loc = last_loc - - if(start_loc && target_loc) - var/x1 - var/y1 - - var/turf/line_start = start_loc - var/turf/column = line_start - - if(start_loc.x <= target_loc.x) - if(start_loc.y <= target_loc.y) //GOING NORTH-EAST - for(y1 = start_loc.y; y1 <= target_loc.y; y1++) - for(x1 = start_loc.x; x1 <= target_loc.x; x1++) - new/turf/simulated/floor/plating/airless/asteroid(column) - column = get_step(column,EAST) - line_start = get_step(line_start,NORTH) - column = line_start - last_loc = target_loc - return - else //GOING NORTH-WEST - for(y1 = start_loc.y; y1 >= target_loc.y; y1--) - for(x1 = start_loc.x; x1 <= target_loc.x; x1++) - new/turf/simulated/floor/plating/airless/asteroid(column) - column = get_step(column,WEST) - line_start = get_step(line_start,NORTH) - column = line_start - last_loc = target_loc - return - else - if(start_loc.y <= target_loc.y) //GOING SOUTH-EAST - for(y1 = start_loc.y; y1 <= target_loc.y; y1++) - for(x1 = start_loc.x; x1 >= target_loc.x; x1--) - new/turf/simulated/floor/plating/airless/asteroid(column) - column = get_step(column,EAST) - line_start = get_step(line_start,SOUTH) - column = line_start - last_loc = target_loc - return - else //GOING SOUTH-WEST - for(y1 = start_loc.y; y1 >= target_loc.y; y1--) - for(x1 = start_loc.x; x1 >= target_loc.x; x1--) - new/turf/simulated/floor/plating/airless/asteroid(column) - column = get_step(column,WEST) - line_start = get_step(line_start,SOUTH) - column = line_start - last_loc = target_loc - return - - - return \ No newline at end of file diff --git a/code/unused/mining/rail_unused.dm b/code/unused/mining/rail_unused.dm deleted file mode 100644 index bedc268715f..00000000000 --- a/code/unused/mining/rail_unused.dm +++ /dev/null @@ -1,338 +0,0 @@ -/**********************Rail track**************************/ - -/obj/machinery/rail_track - name = "Rail track" - icon = 'icons/obj/mining.dmi' - icon_state = "rail" - dir = 2 - var/id = null //this is needed for switches to work Set to the same on the whole length of the track - anchored = 1 - -/**********************Rail intersection**************************/ - -/obj/machinery/rail_track/intersections - name = "Rail track intersection" - icon_state = "rail_intersection" - -/obj/machinery/rail_track/intersections/attack_hand(user as mob) - switch (dir) - if (1) dir = 5 - if (5) dir = 4 - if (4) dir = 9 - if (9) dir = 2 - if (2) dir = 10 - if (10) dir = 8 - if (8) dir = 6 - if (6) dir = 1 - return - -/obj/machinery/rail_track/intersections/NSE - name = "Rail track T intersection" - icon_state = "rail_intersection_NSE" - dir = 2 - -/obj/machinery/rail_track/intersections/NSE/attack_hand(user as mob) - switch (dir) - if (1) dir = 5 - if (2) dir = 5 - if (5) dir = 9 - if (9) dir = 2 - return - -/obj/machinery/rail_track/intersections/SEW - name = "Rail track T intersection" - icon_state = "rail_intersection_SEW" - dir = 8 - -/obj/machinery/rail_track/intersections/SEW/attack_hand(user as mob) - switch (dir) - if (8) dir = 6 - if (4) dir = 6 - if (6) dir = 5 - if (5) dir = 8 - return - -/obj/machinery/rail_track/intersections/NSW - name = "Rail track T intersection" - icon_state = "rail_intersection_NSW" - dir = 2 - -/obj/machinery/rail_track/intersections/NSW/attack_hand(user as mob) - switch (dir) - if (1) dir = 10 - if (2) dir = 10 - if (10) dir = 6 - if (6) dir = 2 - return - -/obj/machinery/rail_track/intersections/NEW - name = "Rail track T intersection" - icon_state = "rail_intersection_NEW" - dir = 8 - -/obj/machinery/rail_track/intersections/NEW/attack_hand(user as mob) - switch (dir) - if (4) dir = 9 - if (8) dir = 9 - if (9) dir = 10 - if (10) dir = 8 - return - -/**********************Rail switch**************************/ - -/obj/machinery/rail_switch - name = "Rail switch" - icon = 'icons/obj/mining.dmi' - icon_state = "rail" - dir = 2 - icon = 'icons/obj/recycling.dmi' - icon_state = "switch-off" - var/obj/machinery/rail_track/track = null - var/id //used for to change the track pieces - -/obj/machinery/rail_switch/New() - spawn(10) - src.track = locate(/obj/machinery/rail_track, get_step(src, NORTH)) - if(track) - id = track.id - return - -/obj/machinery/rail_switch/attack_hand(user as mob) - user << "You switch the rail track's direction" - for (var/obj/machinery/rail_track/T in world) - if (T.id == src.id) - var/obj/machinery/rail_car/C = locate(/obj/machinery/rail_car, T.loc) - if (C) - switch (T.dir) - if(1) - switch(C.direction) - if("N") C.direction = "S" - if("S") C.direction = "N" - if("E") C.direction = "S" - if("W") C.direction = "S" - if(2) - switch(C.direction) - if("N") C.direction = "S" - if("S") C.direction = "N" - if("E") C.direction = "S" - if("W") C.direction = "S" - if(4) - switch(C.direction) - if("N") C.direction = "E" - if("S") C.direction = "E" - if("E") C.direction = "W" - if("W") C.direction = "E" - if(8) - switch(C.direction) - if("N") C.direction = "E" - if("S") C.direction = "E" - if("E") C.direction = "W" - if("W") C.direction = "E" - if(5) - switch(C.direction) - if("N") C.direction = "S" - if("S") C.direction = "E" - if("E") C.direction = "S" - if("W") C.direction = "S" - if(6) - switch(C.direction) - if("N") C.direction = "S" - if("S") C.direction = "W" - if("E") C.direction = "S" - if("W") C.direction = "S" - if(9) - switch(C.direction) - if("N") C.direction = "E" - if("S") C.direction = "E" - if("E") C.direction = "N" - if("W") C.direction = "E" - if(10) - switch(C.direction) - if("N") C.direction = "W" - if("S") C.direction = "W" - if("E") C.direction = "W" - if("W") C.direction = "N" - return - -/**********************Rail car**************************/ - -/obj/machinery/rail_car - name = "Rail car" - icon = 'icons/obj/storage.dmi' - icon_state = "miningcar" - var/direction = "S" //S = south, N = north, E = east, W = west. Determines whichw ay it'll look first - var/moving = 0; - anchored = 1 - density = 1 - var/speed = 0 - var/slowing = 0 - var/atom/movable/load = null //what it's carrying - -/obj/machinery/rail_car/attack_hand(user as mob) - if (moving == 0) - processing_items.Add(src) - moving = 1 - else - processing_items.Remove(src) - moving = 0 - return - -/* -for (var/client/C) - C << "Dela." -*/ - -/obj/machinery/rail_car/MouseDrop_T(var/atom/movable/C, mob/user) - - if(user.stat) - return - - if (!istype(C) || C.anchored || get_dist(user, src) > 1 || get_dist(src,C) > 1 ) - return - - if(ismob(C)) - load(C) - - -/obj/machinery/rail_car/proc/load(var/atom/movable/C) - - if(get_dist(C, src) > 1) - return - //mode = 1 - - C.loc = src.loc - sleep(2) - C.loc = src - load = C - - C.pixel_y += 9 - if(C.layer < layer) - C.layer = layer + 0.1 - overlays += C - - if(ismob(C)) - var/mob/M = C - if(M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src - - //mode = 0 - //send_status() - -/obj/machinery/rail_car/proc/unload(var/dirn = 0) - if(!load) - return - - overlays.Cut() - - load.loc = src.loc - load.pixel_y -= 9 - load.layer = initial(load.layer) - if(ismob(load)) - var/mob/M = load - if(M.client) - M.client.perspective = MOB_PERSPECTIVE - M.client.eye = src - - - if(dirn) - step(load, dirn) - - load = null - - // in case non-load items end up in contents, dump every else too - // this seems to happen sometimes due to race conditions - // with items dropping as mobs are loaded - - for(var/atom/movable/AM in src) - AM.loc = src.loc - AM.layer = initial(AM.layer) - AM.pixel_y = initial(AM.pixel_y) - if(ismob(AM)) - var/mob/M = AM - if(M.client) - M.client.perspective = MOB_PERSPECTIVE - M.client.eye = src - -/obj/machinery/rail_car/relaymove(var/mob/user) - if(user.stat) - return - if(load == user) - unload(0) - return - -/obj/machinery/rail_car/process() - if (moving == 1) - if (slowing == 1) - if (speed > 0) - speed--; - if (speed == 0) - slowing = 0 - else - if (speed < 10) - speed++; - var/i = 0 - for (i = 0; i < speed; i++) - if (moving == 1) - switch (direction) - if ("S") - for (var/obj/machinery/rail_track/R in locate(src.x,src.y-1,src.z)) - if (R.dir == 10) - direction = "W" - if (R.dir == 9) - direction = "E" - if (R.dir == 2 || R.dir == 1 || R.dir == 10 || R.dir == 9) - for (var/mob/living/M in locate(src.x,src.y-1,src.z)) - step(M,get_dir(src,R)) - step(src,get_dir(src,R)) - break - else - moving = 0 - speed = 0 - if ("N") - for (var/obj/machinery/rail_track/R in locate(src.x,src.y+1,src.z)) - if (R.dir == 5) - direction = "E" - if (R.dir == 6) - direction = "W" - if (R.dir == 5 || R.dir == 1 || R.dir == 6 || R.dir == 2) - for (var/mob/living/M in locate(src.x,src.y+1,src.z)) - step(M,get_dir(src,R)) - step(src,get_dir(src,R)) - break - else - moving = 0 - speed = 0 - if ("E") - for (var/obj/machinery/rail_track/R in locate(src.x+1,src.y,src.z)) - if (R.dir == 6) - direction = "S" - if (R.dir == 10) - direction = "N" - if (R.dir == 4 || R.dir == 8 || R.dir == 10 || R.dir == 6) - for (var/mob/living/M in locate(src.x+1,src.y,src.z)) - step(M,get_dir(src,R)) - step(src,get_dir(src,R)) - break - else - moving = 0 - speed = 0 - if ("W") - for (var/obj/machinery/rail_track/R in locate(src.x-1,src.y,src.z)) - if (R.dir == 9) - direction = "N" - if (R.dir == 5) - direction = "S" - if (R.dir == 8 || R.dir == 9 || R.dir == 5 || R.dir == 4) - for (var/mob/living/M in locate(src.x-1,src.y,src.z)) - step(M,get_dir(src,R)) - step(src,get_dir(src,R)) - break - else - moving = 0 - speed = 0 - sleep(1) - else - processing_items.Remove(src) - moving = 0 - return \ No newline at end of file diff --git a/code/unused/mining/spaceship_builder_unused.dm b/code/unused/mining/spaceship_builder_unused.dm deleted file mode 100644 index 42b4f4e3af1..00000000000 --- a/code/unused/mining/spaceship_builder_unused.dm +++ /dev/null @@ -1,173 +0,0 @@ -/**********************Spaceship builder area definitions**************************/ - -/area/shipbuilder - requires_power = 0 - luminosity = 1 - sd_lighting = 0 - -/area/shipbuilder/station - name = "shipbuilder station" - icon_state = "teleporter" - -/area/shipbuilder/ship1 - name = "shipbuilder ship1" - icon_state = "teleporter" - -/area/shipbuilder/ship2 - name = "shipbuilder ship2" - icon_state = "teleporter" - -/area/shipbuilder/ship3 - name = "shipbuilder ship3" - icon_state = "teleporter" - -/area/shipbuilder/ship4 - name = "shipbuilder ship4" - icon_state = "teleporter" - -/area/shipbuilder/ship5 - name = "shipbuilder ship5" - icon_state = "teleporter" - -/area/shipbuilder/ship6 - name = "shipbuilder ship6" - icon_state = "teleporter" - - -/**********************Spaceship builder**************************/ - -/obj/machinery/spaceship_builder - name = "Robotic Fabricator" - icon = 'icons/obj/surgery.dmi' - icon_state = "fab-idle" - density = 1 - anchored = 1 - var/metal_amount = 0 - var/operating = 0 - var/area/currentShuttleArea = null - var/currentShuttleName = null - -/obj/machinery/spaceship_builder/proc/buildShuttle(var/shuttle) - - var/shuttleat = null - var/shuttleto = "/area/shipbuilder/station" - - var/req_metal = 0 - switch(shuttle) - if("hopper") - shuttleat = "/area/shipbuilder/ship1" - currentShuttleName = "Planet hopper" - req_metal = 25000 - if("bus") - shuttleat = "/area/shipbuilder/ship2" - currentShuttleName = "Blnder Bus" - req_metal = 60000 - if("dinghy") - shuttleat = "/area/shipbuilder/ship3" - currentShuttleName = "Space dinghy" - req_metal = 100000 - if("van") - shuttleat = "/area/shipbuilder/ship4" - currentShuttleName = "Boxvan MMDLVI" - req_metal = 120000 - if("secvan") - shuttleat = "/area/shipbuilder/ship5" - currentShuttleName = "Boxvan MMDLVI - Security edition" - req_metal = 125000 - if("station4") - shuttleat = "/area/shipbuilder/ship6" - currentShuttleName = "Space station 4" - req_metal = 250000 - - if (metal_amount - req_metal < 0) - return - - if (!shuttleat) - return - - var/area/from = locate(shuttleat) - var/area/dest = locate(shuttleto) - - if(!from || !dest) - return - - currentShuttleArea = shuttleat - from.move_contents_to(dest) - return - -/obj/machinery/spaceship_builder/proc/scrapShuttle() - - var/shuttleat = "/area/shipbuilder/station" - var/shuttleto = currentShuttleArea - - if (!shuttleto) - return - - var/area/from = locate(shuttleat) - var/area/dest = locate(shuttleto) - - if(!from || !dest) - return - - currentShuttleArea = null - currentShuttleName = null - from.move_contents_to(dest) - return - -/obj/machinery/spaceship_builder/attackby(obj/item/weapon/W as obj, mob/user as mob) - - if(operating == 1) - user << "The machine is processing" - return - - if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey") - usr << "\red You don't have the dexterity to do this!" - return - - if (istype(W, /obj/item/stack/sheet/metal)) - - var/obj/item/stack/sheet/metal/M = W - user << "\blue You insert all the metal into the machine." - metal_amount += M.amount * 100 - del(M) - - else - return attack_hand(user) - return - -/obj/machinery/spaceship_builder/attack_hand(user as mob) - if(operating == 1) - user << "The machine is processing" - return - - var/dat - dat = text("Ship fabricator

      ") - dat += text("Current ammount of Metal: [metal_amount]

      ") - - if (currentShuttleArea) - dat += text("Currently building

      [currentShuttleName]

      ") - dat += text("Build the shuttle to your liking.
      This shuttle will be sent to the station in the event of an emergency along with a centcom emergency shuttle.") - dat += text("


      Scrap current shuttle") - else - dat += text("Available ships to build:

      ") - dat += text("Planet hopper - Tiny, Slow, 25000 metal
      ") - dat += text("Blunder Bus - Small, Decent speed, 60000 metal
      ") - dat += text("Space dinghy - Medium size, Decent speed, 100000 metal
      ") - dat += text("Boxvan MMDLVIr - Medium size, Decent speed, 120000 metal
      ") - dat += text("Boxvan MMDLVI - Security eidition - Large, Rather slow, 125000 metal
      ") - dat += text("Space station 4 - Huge, Slow, 250000 metal
      ") - - user << browse("[dat]", "window=shipbuilder") - - -/obj/machinery/spaceship_builder/Topic(href, href_list) - if(..()) - return - usr.machine = src - src.add_fingerprint(usr) - if(href_list["ship"]) - buildShuttle(href_list["ship"]) - if(href_list["scrap"]) - scrapShuttle(href_list["ship"]) - src.updateUsrDialog() - return \ No newline at end of file diff --git a/code/unused/musicplayer.dm b/code/unused/musicplayer.dm deleted file mode 100644 index ced7630e882..00000000000 --- a/code/unused/musicplayer.dm +++ /dev/null @@ -1,15 +0,0 @@ -// this toggle doesn't save across rounds -/mob/verb/musictoggle() - set name = "Music Toggle" - if(src.be_music == 0) - src.be_music = 1 - src << "\blue Music toggled on!" - return - src.be_music = 0 - src << "\blue Music toggled off!" - -// This checks a var on each area and plays that var -/area/Entered(mob/A as mob) - if (A && src.music != "" && A.client && A.be_music != 0 && (A.music_lastplayed != src.music)) - A.music_lastplayed = src.music - A << sound(src.music, repeat = 0, wait = 0, volume = 20, channel = 1) diff --git a/code/unused/new_year.dm b/code/unused/new_year.dm deleted file mode 100644 index 9dba4f3e59c..00000000000 --- a/code/unused/new_year.dm +++ /dev/null @@ -1,138 +0,0 @@ - -/obj/effect/new_year_tree - name = "The fir" - desc = "This is a fir. Real fir on dammit spess station. You smell pine-needles." - icon = 'icons/effects/160x160.dmi' - icon_state = "new-year-tree" - anchored = 1 - opacity = 1 - density = 1 - layer = 5 - pixel_x = -64 - //pixel_y = -64 - -/obj/effect/new_year_tree/attackby(obj/item/W, mob/user) - if (istype(W, /obj/item/weapon/grab)) - return - W.loc = src - if (user.client) - user.client.screen -= W - user.u_equip(W) - var/const/bottom_right_x = 115.0 - var/const/bottom_right_y = 150.0 - var/const/top_left_x = 15.0 - var/const/top_left_y = 15.0 - var/const/bottom_med_x = top_left_x+(bottom_right_x-top_left_x)/2 - var/x = rand(top_left_x,bottom_med_x) //point in half of circumscribing rectangle - var/y = rand(top_left_y,bottom_right_y) - /* - y1=a*x1+b - y2=a*x2+b b = y2-a*x2 - - y1=a*x1+ y2-a*x2 - a*(x1-x2)+y2-y1=0 - a = (y1-y2)/(x1-x2) - */ - var/a = (top_left_y-bottom_right_y)/(top_left_x-bottom_med_x) - var/b = bottom_right_y-a*bottom_med_x - - if (a*x+b < y) //if point is above diagonal top_left -> bottom_median - x = bottom_med_x + x - top_left_x - y = bottom_right_y - y + top_left_y - var/image/I = image(W.icon, W, icon_state = W.icon_state) - I.pixel_x = x - I.pixel_y = y - overlays += I -/* -/obj/item/weapon/firbang - desc = "It is set to detonate in 10 seconds." - name = "firbang" - icon = 'icons/obj/grenade.dmi' - icon_state = "flashbang" - var/state = null - var/det_time = 100.0 - w_class = 2.0 - item_state = "flashbang" - throw_speed = 4 - throw_range = 20 - flags = FPRINT | TABLEPASS | CONDUCT - slot_flags = SLOT_BELT - -/obj/item/weapon/firbang/afterattack(atom/target as mob|obj|turf|area, mob/user as mob) - if (user.get_active_hand() == src) - if ((M_CLUMSY in usr.mutations) && prob(50)) - user << "\red Huh? How does this thing work?!" - src.state = 1 - src.icon_state = "flashbang1" - playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - spawn( 5 ) - prime() - return - else if (!( src.state )) - user << "\red You prime the [src]! [det_time/10] seconds!" - src.state = 1 - src.icon_state = "flashbang1" - playsound(src.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3) - spawn( src.det_time ) - prime() - return - user.dir = get_dir(user, target) - user.drop_item() - var/t = (isturf(target) ? target : target.loc) - walk_towards(src, t, 3) - src.add_fingerprint(user) - return - -/obj/item/weapon/firbang/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/item/weapon/firbang/attack_hand() - walk(src, null, null) - ..() - return - -/obj/item/weapon/firbang/proc/prime() - playsound(src.loc, 'sound/effects/bang.ogg', 25, 1) - var/turf/T = get_turf(src) - if(T) - var/datum/effect/effect/system/harmless_smoke_spread/smoke = new - smoke.set_up(3, 0, src.loc) - smoke.attach(src) - smoke.start() - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(3, 1, src) - s.start() - new /obj/effect/new_year_tree(T) - del(src) - return - -/obj/item/weapon/firbang/attack_self(mob/user as mob) - if (!src.state) - if (M_CLUMSY in user.mutations) - user << "\red Huh? How does this thing work?!" - spawn( 5 ) - prime() - return - else - user << "\red You prime the [src]! [det_time/10] seconds!" - src.state = 1 - src.icon_state = "flashbang1" - add_fingerprint(user) - spawn( src.det_time ) - prime() - return - return - -/* -/datum/supply_packs/new_year - name = "New Year Celebration Equipment" - contains = list("/obj/item/weapon/firbang", - "/obj/item/weapon/firbang", - "/obj/item/weapon/firbang", - "/obj/item/weapon/wrapping_paper", - "/obj/item/weapon/wrapping_paper", - "/obj/item/weapon/wrapping_paper") - cost = 20 - containertype = "/obj/structure/closet/crate" - containername = "New Year Celebration crate" -*/ \ No newline at end of file diff --git a/code/unused/newcombatsystem.dm b/code/unused/newcombatsystem.dm deleted file mode 100644 index 274581a04e1..00000000000 --- a/code/unused/newcombatsystem.dm +++ /dev/null @@ -1,191 +0,0 @@ -//It's not a very big change, but I think melee will benefit from it. -//Currently will only be restricted to special training weapons to test the balancedness of the system. -//1)Knockdown, stun and weaken chances are separate and dependant on the part of the body you're aiming at -//eg a mop will be better applied to legs since it has a higher base knockdown chance than the other disabling states -//while an energy gun would be better applied to the chest because of the stunning chance. -//2)Weapons also have a parry chance which is checked every time the one wielding the weapon is attacked in melee -//in the area is currently aiming at and is able to defend himself. -//More ideas to come. - -//NOTES: doesn't work with armor yet - -/obj/item/weapon/training //subclass of weapons that is currently the only one that uses the alternate combat system - name = "training weapon" - desc = "A weapon for training the advanced fighting technicues" - var/chance_parry = 0 - var/chance_weaken = 0 - var/chance_stun = 0 - var/chance_knockdown = 0 - var/chance_knockout = 0 - var/chance_disarm = 0 - -//chances - 5 is low, 10 is medium, 15 is good - -/obj/item/weapon/training/axe //hard-hitting, but doesn't have much in terms of disabling people (except by killing) - name = "training axe" - icon_state = "training_axe" - /*combat stats*/ - force = 15 - chance_parry = 5 - chance_weaken = 10 - chance_stun = 5 - chance_knockdown = 5 - chance_knockout = 5 - chance_disarm = 0 - -/obj/item/weapon/training/sword //not bad attack, good at parrying and disarming - name = "training sword" - icon_state = "training_sword" - /*combat stats*/ - force = 10 - chance_parry = 15 - chance_weaken = 5 - chance_stun = 0 - chance_knockdown = 5 - chance_knockout = 0 - chance_disarm = 15 - -/obj/item/weapon/training/staff //not bad attack either, good at tripping and parrying - name = "training staff" - icon_state = "training_staff" - /*combat stats*/ - force = 10 - chance_parry = 15 - chance_weaken = 5 - chance_stun = 0 - chance_knockdown = 15 - chance_knockout = 0 - chance_disarm = 5 - -/obj/item/weapon/training/mace //worst attack, but has a good chance of stun, knockout or weaken - name = "training mace" - icon_state = "training_mace" - /*combat stats*/ - force = 5 - chance_parry = 0 - chance_weaken = 15 - chance_stun = 10 - chance_knockdown = 0 - chance_knockout = 10 - chance_disarm = 0 - -/obj/item/weapon/training/attack(target as mob, mob/user as mob) - var/target_area = attack_location(user.zone_sel.selecting) - for(var/mob/O in viewers(src,7)) - O << "\red \b [user.name] attacks [target.name] in the [target_area] with [src.name]!" - if(!target.stat && target.zone_sel.selecting == target_area) //parrying occurs here - if(istype(target.r_hand,/obj/item/weapon/training) - if(prob(target.r_hand:chance_parry)) - for(var/mob/O in viewers(src,7)) - O << "\red \b [target.name] deftly parries the attack with [target.r_hand.name]!" - return - if(istype(target.l_hand,/obj/item/weapon/training) - if(prob(target.l_hand:chance_parry)) - for(var/mob/O in viewers(src,7)) - O << "\red \b [target.name] deftly parries the attack with [target.l_hand.name]!" - return - target.adjustBruteLoss(-src.force) - - var/modifier_knockdown = 1.0 - var/modifier_knockout = 1.0 - var/modifier_stun = 1.0 - var/modifier_weaken = 1.0 - var/modifier_disarm = 0.0 - - switch(target_area) - if("eyes") - modifier_weaken = 2.0 - modifier_stun = 0.5 - modifier_knockdown = 0.0 - if("head") - modifier_stun = 0.8 - modifier_knockout = 1.5 - modifier_weaken = 1.2 - modifier_knockdown = 0.0 - if("chest") - if("right arm","r_arm") - if("left arm","l_arm") - if("right hand","r_hand") - if("left hand","l_hand") - if("groin") - if("right leg","r_leg") - if("left leg","l_leg") - if("right foot","r_foot") - if("left foot","l_foot") - - -/proc/attack_location(var/initloc = "chest") //proc to randomise actual hit loc based on where you're aiming at - var/resultloc = "chest" //also forgot hands/feet. bleh - var/percentage = rand(1,100) - switch(initloc) - if("eyes") - switch(percentage) - if(1 to 10) - resultloc = "eyes" - if(11 to 30) - resultloc = "head" - if(31 to 100) - resultloc = "chest" - if("head") - switch(percentage) - if(1 to 5) - resultloc = "eyes" - if(6 to 40) - resultloc = "head" - if(41 to 100) - resultloc = "chest" - if("chest") - switch(percentage) - if(1 to 80) - resultloc = "chest" - if(81 to 84) - resultloc = "right arm" - if(85 to 88) - resultloc = "left arm" - if(89 to 92) - resultloc = "right leg" - if(93 to 96) - resultloc = "left leg" - if(97 to 98) - resultloc = "groin" - if(99 to 100) - resultloc = "head" - if("l_arm") - switch(percentage) - if(1 to 60) - resultloc = "left arm" - if(61 to 100) - resultloc = "chest" - if("r_arm") - switch(percentage) - if(1 to 60) - resultloc = "right arm" - if(61 to 100) - resultloc = "chest" - if("groin") - switch(percentage) - if(1 to 35) - resultloc = "groin" - if(36 to 50) - resultloc = "left leg" - if(51 to 65) - resultloc = "right leg" - if(66 to 100) - resultloc = "chest" - if("l_leg") - switch(percentage) - if(1 to 60) - resultloc = "left leg" - if(61 to 70) - resultloc = "groin" - if(71 to 100) - resultloc = "chest" - if("r_leg") - switch(percentage) - if(1 to 60) - resultloc = "right leg" - if(61 to 70) - resultloc = "groin" - if(71 to 100) - resultloc = "chest" - return resultloc \ No newline at end of file diff --git a/code/unused/optics/beam.dm b/code/unused/optics/beam.dm deleted file mode 100644 index 0607989fae4..00000000000 --- a/code/unused/optics/beam.dm +++ /dev/null @@ -1,178 +0,0 @@ -// the laser beam - - -/obj/effect/beam/laser - name = "laser beam" - icon = 'icons/effects/beam.dmi' - icon_state = "full" - density = 0 - mouse_opacity = 0 - pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE - flags = TABLEPASS - var/wavelength // the (vaccuum) wavelength of the beam - var/width = 1 // 1=thin, 2=medium, 3=wide - - var/obj/effect/beam/laser/next - var/obj/effect/beam/laser/prev - var/obj/master - - New(var/atom/newloc, var/dirn, var/lambda, var/omega=1, var/half=0) - - if(!isturf(loc)) - return - - //world << "creating beam at ([newloc.x],[newloc.y]) with [dirn] [lambda] [omega] [half]" - - icon_state = "[omega]-[half ? "half" : "full"]" - dir = dirn - set_wavelength(lambda) - ..(newloc) - spawn(0) - src.propagate() - src.verbs -= /atom/movable/verb/pull - - - - proc/propagate() - var/turf/T = get_step(src, dir) - if(T) - if(T.Enter(src)) - next = new(T, dir, wavelength, width, 0) - next.prev = src - next.master = src.master - else - spawn(5) - propagate() - - - proc/remove() - if(next) - next.remove() - del(src) - - - - proc/blocked(var/atom/A) - return density || opacity -/* -/turf/Enter(atom/movable/mover as mob|obj) - if (!mover || !isturf(mover.loc)) - return 1 - - - //First, check objects to block exit that are not on the border - for(var/obj/obstacle in mover.loc) - if((obstacle.flags & ~ON_BORDER) && (mover != obstacle) && (forget != obstacle)) - if(!obstacle.CheckExit(mover, src)) - mover.Bump(obstacle, 1) - return 0 - - //Now, check objects to block exit that are on the border - for(var/obj/border_obstacle in mover.loc) - if((border_obstacle.flags & ON_BORDER) && (mover != border_obstacle) && (forget != border_obstacle)) - if(!border_obstacle.CheckExit(mover, src)) - mover.Bump(border_obstacle, 1) - return 0 - - //Next, check objects to block entry that are on the border - for(var/obj/border_obstacle in src) - if(border_obstacle.flags & ON_BORDER) - if(!border_obstacle.CanPass(mover, mover.loc, 1, 0) && (forget != border_obstacle)) - mover.Bump(border_obstacle, 1) - return 0 - - //Then, check the turf itself - if (!src.CanPass(mover, src)) - mover.Bump(src, 1) - return 0 - - //Finally, check objects/mobs to block entry that are not on the border - for(var/atom/movable/obstacle in src) - if(obstacle.flags & ~ON_BORDER) - if(!obstacle.CanPass(mover, mover.loc, 1, 0) && (forget != obstacle)) - mover.Bump(obstacle, 1) - return 0 - return 1 //Nothing found to block so return success! -*/ - - - HasEntered(var/atom/movable/AM) - if(istype(AM, /obj/effect/beam)) - return - if(blocked(AM)) - remove(src) - if(prev) - prev.propagate() - else if(master) - master:turn_on() - - proc/set_wavelength(var/lambda) - - var/w = round(lambda,1) // integer wavelength - wavelength = lambda - // first look for cached version of the icon at this wavelength - var/icon/cached = beam_icons["[w]"] - if(cached) - icon = cached - - return - - // no cached version, so generate a new one - - // this maps a wavelength in the range 380-780 nm to an R,G,B,A value - var/red = 0 - var/green = 0 - var/blue = 0 - var/alpha = 0 - - switch(w) - if(380 to 439) - red = (440-w) / 60 - green = 0 - blue = 1 - if(440 to 489) - red = 0 - green = (w-440) / 50 - blue = 1 - if(490 to 509) - red = 0 - green = 1 - blue = (510 - w) / 20 - if(510 to 579) - red = (w-510) / 70 - green = 1 - blue = 0 - if(580 to 644) - red = 1 - green = (645-w) / 65 - blue = 0 - if(645 to 780) - red = 1 - green = 0 - blue = 0 - - // colour is done, now calculate intensity - switch(w) - if(380 to 419) - alpha = 0.75*(w-380)/40 - if(420 to 700) - alpha = 0.75 - if(701 to 780) - alpha = 0.75*(780-w)/80 - - // remap alpha by intensity gamma - if(alpha != 0) - alpha = alpha**0.80 - - var/icon/I = icon('icons/effects/beam.dmi') - I.MapColors(red,0,0,0, 0,green,0,0, 0,0,blue,0, 0,0,0,alpha, 0,0,0,0) - icon = I - - beam_icons["[w]"] = I - - - -// global cache of beam icons -// this is an assoc list mapping (integer) wavelength to icons - -var/list/beam_icons = new() \ No newline at end of file diff --git a/code/unused/optics/laser-pointer.dm b/code/unused/optics/laser-pointer.dm deleted file mode 100644 index 8838e2d3bfa..00000000000 --- a/code/unused/optics/laser-pointer.dm +++ /dev/null @@ -1,73 +0,0 @@ -// A laser pointer. Emits a (tunable) low-power laser beam -// Used for alignment and testing of the optics system - -/obj/item/device/laser_pointer - name = "laser pointer" - desc = "A portable low-power laser used for optical system alignment. The label reads: 'Danger: Class IIIa laser device. Avoid direct eye exposure." - icon = 'optics.dmi' - icon_state = "pointer0" - var/on = 0 // true if operating - var/wavelength = 632 // operation wavelength (nm) - - var/gain_peak = 632 // gain peak (nm) - var/gain_width = 35 // gain bandwidth (nm) - var/peak_output = 0.005 // max output 5 mW - layer = OBJ_LAYER + 0.1 - - w_class = 4 - m_amt = 500 - g_amt = 100 - w_amt = 200 - - var/obj/effect/beam/laser/beam // the created beam - - flags = FPRINT | CONDUCT | TABLEPASS - - attack_ai() - return - - attack_paw() - return - - attack_self(var/mob/user) - - - on = !on - if(on) - turn_on() - else - turn_off() - - updateicon() - - verb/rotate() - set name = "Rotate" - set src in view(1) - turn_off() - dir = turn(dir, -90) - if(on) turn_on() - - Move(var/atom/newloc,var/newdir) - . = ..(newloc,newdir) - if(on && . && isturf(newloc)) - turn_off() - turn_on() - return . - - proc/turn_on() - if(!isturf(loc)) - return - - beam = new(loc, dir, wavelength, 1, 1) - beam.master = src - - proc/turn_off() - if(beam) - beam.remove() - - dropped() - turn_off() - turn_on() - - proc/updateicon() - icon_state = "pointer[on]" \ No newline at end of file diff --git a/code/unused/optics/mirror.dm b/code/unused/optics/mirror.dm deleted file mode 100644 index c50d3efc044..00000000000 --- a/code/unused/optics/mirror.dm +++ /dev/null @@ -1,83 +0,0 @@ -// Mirror object -// Part of the optics system -// -// reflects laser beams -// 16 directional states 0/22.5/45/67.5deg to allow for 0/45deg beam angles - - -// ideas: -// frame/stand icon w/ mirror directional overlay -// two sets of overlay icons for 0/45 and 22.5/67.5 deg angles - -// can rotate cw/acw - need screwdriver to loosen/tighten mirror -// use wrench to anchor/unanchor frame -// if touched, gets dirty - fingerprints, which reduce reflectivity -// if dirty and hit with high-power beam, mirror may shatter -// some kind of dust accumulation with HasProximity? Could check for mob w/o labcoat etc. -// can clean with acetone+wipes - -/obj/optical/mirror - icon = 'optical.dmi' - icon_state = "mirrorA" - dir = 1 - desc = "A large, optical-grade mirror firmly mounted on a stand." - flags = FPRINT - anchored = 0 - var/rotatable = 0 // true if mirror can be rotated - var/angle = 0 // normal of mirror, 0-15. 0=N, 1=NNE, 2=NE, 3=ENE, 4=E etc - - - New() - ..() - set_angle() - - - - //set the angle from icon_state and dir - proc/set_angle() - switch(dir) - if(1) - angle = 0 - if(5) - angle = 2 - if(4) - angle = 4 - if(6) - angle = 6 - if(2) - angle = 8 - if(10) - angle = 10 - if(8) - angle = 12 - if(9) - angle = 14 - - if(icon_state == "mirrorB") // 22.5deg turned states - angle++ - return - - // set the dir and icon_state from the angle - proc/set_dir() - if(angle%2 == 1) - icon_state = "mirrorB" - else - icon_state = "mirrorA" - switch(round(angle/2)*2) - if(0) - dir = 1 - if(2) - dir = 5 - if(4) - dir = 4 - if(6) - dir = 6 - if(8) - dir = 2 - if(10) - dir = 10 - if(12) - dir = 8 - if(14) - dir = 9 - return \ No newline at end of file diff --git a/code/unused/pda2/base_os.dm b/code/unused/pda2/base_os.dm deleted file mode 100644 index a92a3381e1f..00000000000 --- a/code/unused/pda2/base_os.dm +++ /dev/null @@ -1,446 +0,0 @@ -/datum/computer/file/pda_program/os - proc - receive_os_command(list/command_list) - if((!src.holder) || (!src.master) || (!command_list) || !(command_list["command"])) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(!(holder in src.master.contents)) - if(master.active_program == src) - master.active_program = null - return 1 - - return 0 - -//Main os program: Provides old pda interface and four programs including file browser, notes, messenger, and atmos scan - main_os - name = "ThinkOS 7" - size = 8.0 - var/mode = 0 - //Note vars - var/note = "Congratulations, your station has chosen the Thinktronic 5150 Personal Data Assistant!" - var/note_mode = 0 //0 For note editor, 1 for note browser - var/datum/computer/file/text/note_file = null //If set, save to this file. - //Messenger vars - var/list/detected_pdas = list() - var/message_on = 1 - var/message_silent = 0 //To beep or not to beep, that is the question - var/message_mode = 0 //0 for pda list, 1 for messages - var/message_tone = "beep" //Custom ringtone - var/message_note = null //Current messages in memory (Store as separate file only later??) - //File browser vars - var/datum/computer/folder/browse_folder = null - var/datum/computer/file/clipboard = null //Current file to copy - - - - receive_os_command(list/command_list) - if(..()) - return - - //world << "[command_list["command"]]" - return - - return_text() - if(..()) - return - - var/dat = src.return_text_header() - - switch(src.mode) - if(0) - dat += "

      PERSONAL DATA ASSISTANT

      " - dat += "Owner: [src.master.owner]

      " - - dat += "

      General Functions

      " - dat += "" - - dat += "

      Utilities

      " - dat += "" - - if(1) - //Note Program. Can save/load note files. - dat += "

      Notekeeper V2.5

      " - - if(!src.note_mode) - dat += "Edit" - dat += " | New File" - dat += " | Save" - dat += " | Load
      " - - dat += src.note - else - dat += " Back" - dat += " | \[[src.holding_folder.holder.file_amount - src.holding_folder.holder.file_used]\] Free
      " - dat += "" - - for(var/datum/computer/file/text/T in src.holding_folder.contents) - dat += "" - dat += "" - dat += "" - - dat += "
      [T.name][T.extension]Length: [T.data ? (length(T.data)) : "0"]
      " - - if(2) - //Messenger. Uses Radio. Is a messenger. - //TO-DO: ~file sharing~ - src.master.overlays.Cut() //Remove existing alerts - dat += "

      SpaceMessenger V4.0.5

      " - - if (!src.message_mode) - - dat += "Ringer: [src.message_silent == 1 ? "Off" : "On"] | " - dat += "Send / Receive: [src.message_on == 1 ? "On" : "Off"] | " - dat += "Set Ringtone | " - dat += "Messages
      " - - dat += "Scan
      " - dat += "Detected PDAs
      " - - dat += "
        " - - var/count = 0 - - if (src.message_on) - for (var/obj/item/device/pda2/P in src.detected_pdas) - if (!P.owner) - src.detected_pdas -= P - continue - else if (P == src) //I guess this can happen if somebody copies the system file. - src.detected_pdas -= P - continue - - dat += "
      • [P]" - - dat += "
      • " - count++ - - dat += "
      " - - if (count == 0) - dat += "None detected.
      " - - else - dat += "Clear | " - dat += "Back
      " - - dat += "

      Messages

      " - - dat += src.message_note - dat += "
      " - - if(3) - //File Browser. - //To-do(?): Setting "favorite" programs to access straight from main menu - //Not sure how needed it is, not like they have to go through 500 subfolders or whatever - if((!src.browse_folder) || !(src.browse_folder.holder in src.master)) - src.browse_folder = src.holding_folder - - dat += " | Paste" - dat += " | Drive: " - dat += "\[[src.browse_folder.holder == src.master.hd ? "MAIN" : "CART"]\]
      " - - dat += "Contents of [browse_folder] | Drive ID:\[[src.browse_folder.holder.title]]
      " - dat += "Used: \[[src.browse_folder.holder.file_used]/[src.browse_folder.holder.file_amount]\]
      " - - dat += "" - for(var/datum/computer/file/F in browse_folder.contents) - if(F == src) - dat += "" - continue - dat += "" - dat += "" - - dat += "" - - dat += "" - dat += "" - - dat += "" - - dat += "" - - dat += "
      SystemSize: [src.size]SYSTEM
      [F.name]Size: [F.size][F.extension]DelRenameCopy
      " - - if(4) - //Atmos Scanner - dat += "

      Atmospheric Readings

      " - - var/turf/T = get_turf_or_move(get_turf(src.master)) - if (isnull(T)) - dat += "Unable to obtain a reading.
      " - else - var/datum/gas_mixture/environment = T.return_air() - - var/pressure = environment.return_pressure() - var/total_moles = environment.total_moles() - - dat += "Air Pressure: [round(pressure,0.1)] kPa
      " - - if (total_moles()) - var/o2_level = environment.oxygen/total_moles() - var/n2_level = environment.nitrogen/total_moles() - var/co2_level = environment.carbon_dioxide/total_moles() - var/plasma_level = environment.toxins/total_moles() - var/unknown_level = 1-(o2_level+n2_level+co2_level+plasma_level) - - dat += "Nitrogen: [round(n2_level*100)]%
      " - - dat += "Oxygen: [round(o2_level*100)]%
      " - - dat += "Carbon Dioxide: [round(co2_level*100)]%
      " - - dat += "Plasma: [round(plasma_level*100)]%
      " - - if(unknown_level > 0.01) - dat += "OTHER: [round(unknown_level)]%
      " - - dat += "Temperature: [round(environment.temperature-T0C)]°C
      " - - dat += "
      " - - return dat - - Topic(href, href_list) - if(..()) - return - - if(href_list["mode"]) - var/newmode = text2num(href_list["mode"]) - src.mode = max(newmode, 0) - - else if(href_list["flight"]) - src.master.toggle_light() - - else if(href_list["scanner"]) - if(src.master.scan_program) - src.master.scan_program = null - - else if(href_list["input"]) - switch(href_list["input"]) - if("tone") - var/t = input(usr, "Please enter new ringtone", src.name, src.message_tone) as text - if (!t) - return - - if (!src.master || !in_range(src.master, usr) && src.master.loc != usr) - return - - if(!(src.holder in src.master)) - return - - t = copytext(sanitize(t), 1, 20) - src.message_tone = t - - if("note") - var/t = input(usr, "Please enter note", src.name, src.note) as message - if (!t) - return - - if (!src.master || !in_range(src.master, usr) && src.master.loc != usr) - return - - if(!(src.holder in src.master)) - return - - t = copytext(adminscrub(t), 1, MAX_MESSAGE_LEN) - src.note = t - - - if("message") - var/obj/item/device/pda2/P = locate(href_list["target"]) - if(!P || !istype(P)) - return - - var/t = input(usr, "Please enter message", P.name, null) as text - if (!t) - return - - if (!src.master || !in_range(src.master, usr) && src.master.loc != usr) - return - - if(!(src.holder in src.master)) - return - - - var/datum/signal/signal = new - signal.data["command"] = "text message" - signal.data["message"] = t - signal.data["sender"] = src.master.owner - signal.data["tag"] = "\ref[P]" - src.post_signal(signal) - src.message_note += "→ To [P.owner]:
      [t]
      " - log_pda("[usr] sent [t] to [P.owner]") - - if("rename") - var/datum/computer/file/F = locate(href_list["target"]) - if(!F || !istype(F)) - return - - var/t = input(usr, "Please enter new name", src.name, F.name) as text - t = copytext(sanitize(t), 1, 16) - if (!t) - return - if (!in_range(src.master, usr) || !(F.holder in src.master)) - return - if(F.holder.read_only) - return - F.name = capitalize(lowertext(t)) - - - else if(href_list["message_func"]) //Messenger specific topic junk - switch(href_list["message_func"]) - if("ringer") - src.message_silent = !src.message_silent - if("on") - src.message_on = !src.message_on - if("clear") - src.message_note = null - if("scan") - if(src.message_on) - src.detected_pdas = list() - var/datum/signal/signal = new - signal.data["command"] = "report pda" - src.post_signal(signal) - - else if(href_list["note_func"]) //Note program specific topic junk - switch(href_list["note_func"]) - if("new") - src.note_file = null - src.note = null - if("save") - if(src.note_file && src.note_file.holder in src.master) - src.note_file.data = src.note - else - var/datum/computer/file/text/F = new /datum/computer/file/text - if(!src.holding_folder.add_file(F)) - del(F) - else - src.note_file = F - F.data = src.note - - if("load") - var/datum/computer/file/text/T = locate(href_list["target"]) - if(!T || !istype(T)) - return - - src.note_file = T - src.note = note_file.data - src.note_mode = 0 - - if("switchmenu") - src.note_mode = !src.note_mode - - else if(href_list["browse_func"]) //File browser specific topic junk - var/datum/computer/target = locate(href_list["target"]) - switch(href_list["browse_func"]) - if("drive") - if(src.browse_folder.holder == src.master.hd && src.master.cartridge && (src.master.cartridge.root)) - src.browse_folder = src.master.cartridge.root - else - src.browse_folder = src.holding_folder - if("open") - if(!target || !istype(target)) - return - if(istype(target, /datum/computer/file/pda_program)) - if(istype(target,/datum/computer/file/pda_program/os) && (src.master.host_program)) - return - else - src.master.run_program(target) - src.master.updateSelfDialog() - return - - if("delete") - if(!target || !istype(target)) - return - src.master.delete_file(target) - - if("copy") - if(istype(target,/datum/computer/file) && (!target.holder || (target.holder in src.master.contents))) - src.clipboard = target - - if("paste") - if(istype(target,/datum/computer/folder)) - if(!src.clipboard || !src.clipboard.holder || !(src.clipboard.holder in src.master.contents)) - return - - if(!istype(src.clipboard)) - return - - src.clipboard.copy_file_to_folder(target) - - - else if(href_list["message_mode"]) - var/newmode = text2num(href_list["message_mode"]) - src.message_mode = max(newmode, 0) - - src.master.add_fingerprint(usr) - src.master.updateSelfDialog() - return - - receive_signal(datum/signal/signal) - if(..()) - return - - switch(signal.data["command"]) - if("text message") - if(!message_on || !signal.data["message"]) - return - var/sender = signal.data["sender"] - if(!sender) - sender = "!Unknown!" - - src.message_note += "← From [sender]:
      [signal.data["message"]]
      " - var/alert_beep = null //Don't beep if set to silent. - if(!src.message_silent) - alert_beep = src.message_tone - - src.master.display_alert(alert_beep) - src.master.updateSelfDialog() - - if("report pda") - if(!message_on) - return - - var/datum/signal/newsignal = new - newsignal.data["command"] = "reporting pda" - newsignal.data["tag"] = "\ref[signal.source]" - src.post_signal(newsignal) - - if("reporting pda") - if(!detected_pdas) - detected_pdas = new() - - if(!(signal.source in detected_pdas)) - detected_pdas += signal.source - - src.master.updateSelfDialog() - - return - - return_text_header() - if(!src.master) - return - - var/dat - - if(src.mode) - dat += " | Main Menu" - - else if (!isnull(src.master.cartridge)) - dat += " | Eject [src.master.cartridge]" - - dat += " | Refresh" - - return dat \ No newline at end of file diff --git a/code/unused/pda2/base_program.dm b/code/unused/pda2/base_program.dm deleted file mode 100644 index f5c11efc077..00000000000 --- a/code/unused/pda2/base_program.dm +++ /dev/null @@ -1,185 +0,0 @@ -//Eventual plan: Convert all datum/data to datum/computer/file -/datum/computer/file/text - name = "text" - extension = "TEXT" - size = 2.0 - var/data = null - -/datum/computer/file/record - name = "record" - extension = "REC" - - var/list/fields = list( ) - - -//base pda program - -/datum/computer/file/pda_program - name = "blank program" - extension = "PPROG" - var/obj/item/device/pda2/master = null - var/id_tag = null - - os - name = "blank system program" - extension = "PSYS" - - scan - name = "blank scan program" - extension = "PSCAN" - - New(obj/holding as obj) - if(holding) - src.holder = holding - - if(istype(src.holder.loc,/obj/item/device/pda2)) - src.master = src.holder.loc - - proc - return_text() - if((!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(!(holder in src.master.contents)) - //world << "Holder [holder] not in [master] of prg:[src]" - if(master.active_program == src) - master.active_program = null - return 1 - - if(!src.holder.root) - src.holder.root = new /datum/computer/folder - src.holder.root.holder = src - src.holder.root.name = "root" - - return 0 - - process() //This isn't actually used at the moment - if((!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(!(holder in src.master.contents)) - if(master.active_program == src) - master.active_program = null - return 1 - - if(!src.holder.root) - src.holder.root = new /datum/computer/folder - src.holder.root.holder = src - src.holder.root.name = "root" - - return 0 - - //maybe remove this, I haven't found a good use for it yet - send_os_command(list/command_list) - if(!src.master || !src.holder || src.master.host_program || !command_list) - return 1 - - if(!istype(src.master.host_program) || src.master.host_program == src) - return 1 - - src.master.host_program.receive_os_command() - - return 0 - - return_text_header() - if(!src.master || !src.holder) - return - - var/dat = " | Main Menu" - dat += " | Refresh" - - return dat - - post_signal(datum/signal/signal, newfreq) - if(master) - master.post_signal(signal, newfreq) - else - del(signal) - - transfer_holder(obj/item/weapon/disk/data/newholder,datum/computer/folder/newfolder) - - if((newholder.file_used + src.size) > newholder.file_amount) - return 0 - - if(!newholder.root) - newholder.root = new /datum/computer/folder - newholder.root.holder = newholder - newholder.root.name = "root" - - if(!newfolder) - newfolder = newholder.root - - if((src.holder && src.holder.read_only) || newholder.read_only) - return 0 - - if((src.holder) && (src.holder.root)) - src.holder.root.remove_file(src) - - newfolder.add_file(src) - - if(istype(newholder.loc,/obj/item/device/pda2)) - src.master = newholder.loc - - //world << "Setting [src.holder] to [newholder]" - src.holder = newholder - return 1 - - - receive_signal(datum/signal/signal) - if((!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(!(holder in src.master.contents)) - if(master.active_program == src) - master.active_program = null - return 1 - - return 0 - - - Topic(href, href_list) - if((!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(src.master.active_program != src) - return 1 - - if ((!usr.contents.Find(src.master) && (!in_range(src.master, usr) || !istype(src.master.loc, /turf))) && (!istype(usr, /mob/living/silicon))) - return 1 - - if(!(holder in src.master.contents)) - if(master.active_program == src) - master.active_program = null - return 1 - - usr.machine = src.master - - if (href_list["close"]) - usr.machine = null - usr << browse(null, "window=pda2") - return 0 - - if (href_list["quit"]) -// src.master.processing_programs.Remove(src) - if(src.master.host_program && src.master.host_program.holder && (src.master.host_program.holder in src.master.contents)) - src.master.run_program(src.master.host_program) - src.master.updateSelfDialog() - return 1 - else - src.master.active_program = null - src.master.updateSelfDialog() - return 1 - - return 0 \ No newline at end of file diff --git a/code/unused/pda2/pda2.dm b/code/unused/pda2/pda2.dm deleted file mode 100644 index fb3001c9a00..00000000000 --- a/code/unused/pda2/pda2.dm +++ /dev/null @@ -1,298 +0,0 @@ -//The advanced pea-green monochrome lcd of tomorrow. - - -//TO-DO: rearrange all this disk/data stuff so that fixed disks are the parent type -//because otherwise you have carts going into floppy drives and it's ALL MAD -/obj/item/weapon/disk/data/cartridge - name = "Cart 2.0" - desc = "A data cartridge for portable microcomputers." - icon = 'icons/obj/pda.dmi' - icon_state = "cart" - item_state = "electronic" - file_amount = 80.0 - title = "ROM Cart" - - pda2test - name = "Test Cart" - New() - ..() - src.root.add_file( new /datum/computer/file/computer_program/arcade(src)) - src.root.add_file( new /datum/computer/file/pda_program/manifest(src)) - src.root.add_file( new /datum/computer/file/pda_program/status_display(src)) - src.root.add_file( new /datum/computer/file/pda_program/signaler(src)) - src.root.add_file( new /datum/computer/file/pda_program/qm_records(src)) - src.root.add_file( new /datum/computer/file/pda_program/scan/health_scan(src)) - src.root.add_file( new /datum/computer/file/pda_program/records/security(src)) - src.root.add_file( new /datum/computer/file/pda_program/records/medical(src)) - src.read_only = 1 - - -/obj/item/device/pda2 - name = "PDA" - desc = "A portable microcomputer by Thinktronic Systems, LTD. Functionality determined by an EEPROM cartridge." - icon = 'icons/obj/pda.dmi' - icon_state = "pda" - item_state = "electronic" - w_class = 2.0 - flags = FPRINT | TABLEPASS - slow_flags = SLOT_BELT - - var/owner = null - var/default_cartridge = null // Access level defined by cartridge - var/obj/item/weapon/disk/data/cartridge/cartridge = null //current cartridge - var/datum/computer/file/pda_program/active_program = null - var/datum/computer/file/pda_program/os/host_program = null - var/datum/computer/file/pda_program/scan/scan_program = null - var/obj/item/weapon/disk/data/fixed_disk/hd = null - var/fon = 0 //Is the flashlight function on? - var/f_lum = 3 //Luminosity for the flashlight function -// var/datum/data/record/active1 = null //General -// var/datum/data/record/active2 = null //Medical -// var/datum/data/record/active3 = null //Security -// var/obj/item/weapon/integrated_uplink/uplink = null //Maybe replace uplink with some remote ~syndicate~ server - var/frequency = 1149 - var/datum/radio_frequency/radio_connection - - var/setup_default_cartridge = null //Cartridge contains job-specific programs - var/setup_drive_size = 24.0 //PDAs don't have much work room at all, really. - var/setup_system_os_path = /datum/computer/file/pda_program/os/main_os //Needs an operating system to...operate!! - - -/obj/item/device/pda2/pickup(mob/user) - if (src.fon) - src.sd_SetLuminosity(0) - user.sd_SetLuminosity(user.luminosity + src.f_lum) - -/obj/item/device/pda2/dropped(mob/user) - if (src.fon) - user.sd_SetLuminosity(user.luminosity - src.f_lum) - src.sd_SetLuminosity(src.f_lum) - -/obj/item/device/pda2/New() - ..() - spawn(5) - src.hd = new /obj/item/weapon/disk/data/fixed_disk(src) - src.hd.file_amount = src.setup_drive_size - src.hd.name = "Minidrive" - src.hd.title = "Minidrive" - - if(src.setup_system_os_path) - src.host_program = new src.setup_system_os_path - - src.hd.file_amount = max(src.hd.file_amount, src.host_program.size) - - src.host_program.transfer_holder(src.hd) - - if(radio_controller) - radio_controller.add_object(src, frequency) - - - if (src.default_cartridge) - src.cartridge = new src.setup_default_cartridge(src) -// if(src.owner) -// processing_items.Add(src) - -/obj/item/device/pda2/attack_self(mob/user as mob) - user.machine = src - - var/dat = "Personal Data Assistant" - - dat += "Close" - - if (!src.owner) - if(src.cartridge) - dat += " | Eject [src.cartridge]" - dat += "
      Warning: No owner information entered. Please swipe card.

      " - dat += "Retry" - else - if(src.active_program) - dat += src.active_program.return_text() - else - if(src.host_program) - src.run_program(src.host_program) - dat += src.active_program.return_text() - else - if(src.cartridge) - dat += " | Eject [src.cartridge]
      " - dat += "
      Fatal Error 0x17
      " - dat += "No System Software Loaded
      " - //To-do: System recovery shit (maybe have a dedicated computer for this kind of thing) - - - user << browse(dat,"window=pda2") - onclose(user,"pda2") - return - -/obj/item/device/pda2/Topic(href, href_list) - ..() - - if (usr.contents.Find(src) || usr.contents.Find(src.master) || (istype(src.loc, /turf) && get_dist(src, usr) <= 1)) - if (usr.stat || usr.restrained()) - return - - src.add_fingerprint(usr) - usr.machine = src - - - if(href_list["return_to_host"]) - if(src.host_program) - src.active_program = src.host_program - src.host_program = null - - else if (href_list["eject_cart"]) - src.eject_cartridge() - - else if (href_list["refresh"]) - src.updateSelfDialog() - - else if (href_list["close"]) - usr << browse(null, "window=pda2") - usr.machine = null - - src.updateSelfDialog() - return - -/obj/item/device/pda2/attackby(obj/item/weapon/C as obj, mob/user as mob) - if (istype(C, /obj/item/weapon/disk/data/cartridge) && isnull(src.cartridge)) - user.drop_item() - C.loc = src - user << "\blue You insert [C] into [src]." - src.cartridge = C - src.updateSelfDialog() - - else if (istype(C, /obj/item/weapon/card/id) && !src.owner && C:registered_name) - src.owner = C:registered_name - src.name = "PDA-[src.owner]" - user << "\blue Card scanned." - src.updateSelfDialog() - -/obj/item/device/pda2/receive_signal(datum/signal/signal) - if(!signal || signal.encryption || !src.owner) return - - if(signal.data["tag"] && signal.data["tag"] != "\ref[src]") return - - if(src.host_program) - src.host_program.receive_signal(signal) - - if(src.active_program && (src.active_program != src.host_program)) - src.host_program.receive_signal(signal) - - return - -/obj/item/device/pda2/attack(mob/M as mob, mob/user as mob) - if(src.scan_program) - return - else - ..() - -/obj/item/device/pda2/afterattack(atom/A as mob|obj|turf|area, mob/user as mob) - var/scan_dat = null - if(src.scan_program && istype(src.scan_program)) - scan_dat = src.scan_program.scan_atom(A) - - if(scan_dat) - A.visible_message("\red [user] has scanned [A]!") - user.show_message(scan_dat, 1) - - return - - -/obj/item/device/pda2/proc - - post_signal(datum/signal/signal,var/newfreq) - if(!signal) - return - var/freq = newfreq - if(!freq) - freq = src.frequency - - signal.source = src - - var/datum/radio_frequency/frequency = radio_controller.return_frequency(freq) - - signal.transmission_method = TRANSMISSION_RADIO - if(frequency) - return frequency.post_signal(src, signal) - else - del(signal) - - eject_cartridge() - if(src.cartridge) - var/turf/T = get_turf(src) - - if(src.active_program && (src.active_program.holder == src.cartridge)) - src.active_program = null - - if(src.host_program && (src.host_program.holder == src.cartridge)) - src.host_program = null - - if(src.scan_program && (src.scan_program.holder == src.cartridge)) - src.scan_program = null - - src.cartridge.loc = T - src.cartridge = null - - return - - //Toggle the built-in flashlight - toggle_light() - src.fon = (!src.fon) - - if (ismob(src.loc)) - if (src.fon) - src.loc.sd_SetLuminosity(src.loc.luminosity + src.f_lum) - else - src.loc.sd_SetLuminosity(src.loc.luminosity - src.f_lum) - else - src.sd_SetLuminosity(src.fon * src.f_lum) - - src.updateSelfDialog() - - display_alert(var/alert_message) //Add alert overlay and beep - if (alert_message) - playsound(src.loc, 'sound/machines/twobeep.ogg', 50, 1) - for (var/mob/O in hearers(3, src.loc)) - O.show_message(text("\icon[src] *[alert_message]*")) - - src.overlays.Cut() - src.overlays += image('icons/obj/pda.dmi', "pda-r") - return - - run_program(datum/computer/file/pda_program/program) - if((!program) || (!program.holder)) - return 0 - - if(!(program.holder in src)) - // world << "Not in src" - program = new program.type - program.transfer_holder(src.hd) - - if(program.master != src) - program.master = src - - if(!src.host_program && istype(program, /datum/computer/file/pda_program/os)) - src.host_program = program - - if(istype(program, /datum/computer/file/pda_program/scan)) - if(program == src.scan_program) - src.scan_program = null - else - src.scan_program = program - return 1 - - src.active_program = program - return 1 - - delete_file(datum/computer/file/file) - //world << "Deleting [file]..." - if((!file) || (!file.holder) || (file.holder.read_only)) - //world << "Cannot delete :(" - return 0 - - //Don't delete the running program you jerk - if(src.active_program == file || src.host_program == file) - src.active_program = null - - //world << "Now calling del on [file]..." - del(file) - return 1 \ No newline at end of file diff --git a/code/unused/pda2/record_progs.dm b/code/unused/pda2/record_progs.dm deleted file mode 100644 index 2ea856c93e2..00000000000 --- a/code/unused/pda2/record_progs.dm +++ /dev/null @@ -1,181 +0,0 @@ -//CONTENTS: -//Generic records -//Security records -//Medical records - - -/datum/computer/file/pda_program/records - var/mode = 0 - var/datum/data/record/active1 = null //General - var/datum/data/record/active2 = null //Security/Medical/Whatever - -//To-do: editing arrest status/etc from pda. -/datum/computer/file/pda_program/records/security - name = "Security Records" - size = 12.0 - - return_text() - if(..()) - return - - var/dat = src.return_text_header() - - switch(src.mode) - if(0) - dat += "

      Security Record List

      " - - for (var/datum/data/record/R in data_core.general) - dat += "[R.fields["id"]]: [R.fields["name"]]
      " - - dat += "
      " - - if(1) - - dat += "

      Security Record

      " - - dat += "
      Back
      " - - if (istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1)) - dat += "Name: [src.active1.fields["name"]] ID: [src.active1.fields["id"]]
      " - dat += "Sex: [src.active1.fields["sex"]]
      " - dat += "Age: [src.active1.fields["age"]]
      " - dat += "Fingerprint: [src.active1.fields["fingerprint"]]
      " - dat += "Physical Status: [src.active1.fields["p_stat"]]
      " - dat += "Mental Status: [src.active1.fields["m_stat"]]
      " - else - dat += "Record Lost!
      " - - dat += "
      " - - dat += "

      Security Data

      " - if (istype(src.active2, /datum/data/record) && data_core.security.Find(src.active2)) - dat += "Criminal Status: [src.active2.fields["criminal"]]
      " - - dat += "Minor Crimes: [src.active2.fields["mi_crim"]]
      " - dat += "Details: [src.active2.fields["mi_crim"]]

      " - - dat += "Major Crimes: [src.active2.fields["ma_crim"]]
      " - dat += "Details: [src.active2.fields["ma_crim_d"]]

      " - - dat += "Important Notes:
      " - dat += "[src.active2.fields["notes"]]" - else - dat += "Record Lost!
      " - - dat += "
      " - - return dat - - Topic(href, href_list) - if(..()) - return - - if(href_list["mode"]) - var/newmode = text2num(href_list["mode"]) - src.mode = max(newmode, 0) - - else if(href_list["select_rec"]) - var/datum/data/record/R = locate(href_list["select_rec"]) - var/datum/data/record/S = locate(href_list["select_rec"]) - - if (data_core.general.Find(R)) - for (var/datum/data/record/E in data_core.security) - if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) - S = E - break - - src.active1 = R - src.active2 = S - - src.mode = 1 - - src.master.add_fingerprint(usr) - src.master.updateSelfDialog() - return - -/datum/computer/file/pda_program/records/medical - name = "Medical Records" - size = 8.0 - - return_text() - if(..()) - return - - var/dat = src.return_text_header() - - switch(src.mode) - if(0) - - dat += "

      Medical Record List

      " - for (var/datum/data/record/R in data_core.general) - dat += "[R.fields["id"]]: [R.fields["name"]]
      " - dat += "
      " - - if(1) - - dat += "

      Medical Record

      " - - dat += "
      Back
      " - - if (istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1)) - dat += "Name: [src.active1.fields["name"]] ID: [src.active1.fields["id"]]
      " - dat += "Sex: [src.active1.fields["sex"]]
      " - dat += "Age: [src.active1.fields["age"]]
      " - dat += "Fingerprint: [src.active1.fields["fingerprint"]]
      " - dat += "Physical Status: [src.active1.fields["p_stat"]]
      " - dat += "Mental Status: [src.active1.fields["m_stat"]]
      " - else - dat += "Record Lost!
      " - - dat += "
      " - - dat += "

      Medical Data

      " - if (istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2)) - dat += "Blood Type: [src.active2.fields["b_type"]]

      " - - dat += "Minor Disabilities: [src.active2.fields["mi_dis"]]
      " - dat += "Details: [src.active2.fields["mi_dis_d"]]

      " - - dat += "Major Disabilities: [src.active2.fields["ma_dis"]]
      " - dat += "Details: [src.active2.fields["ma_dis_d"]]

      " - - dat += "Allergies: [src.active2.fields["alg"]]
      " - dat += "Details: [src.active2.fields["alg_d"]]

      " - - dat += "Current Diseases: [src.active2.fields["cdi"]]
      " - dat += "Details: [src.active2.fields["cdi_d"]]

      " - - dat += "Important Notes: [src.active2.fields["notes"]]
      " - else - dat += "Record Lost!
      " - - dat += "
      " - - return dat - - Topic(href, href_list) - if(..()) - return - - if(href_list["mode"]) - var/newmode = text2num(href_list["mode"]) - src.mode = max(newmode, 0) - - else if(href_list["select_rec"]) - var/datum/data/record/R = locate(href_list["select_rec"]) - var/datum/data/record/M = locate(href_list["select_rec"]) - - if (data_core.general.Find(R)) - for (var/datum/data/record/E in data_core.medical) - if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) - M = E - break - - src.active1 = R - src.active2 = M - - src.mode = 1 - - src.master.add_fingerprint(usr) - src.master.updateSelfDialog() - return \ No newline at end of file diff --git a/code/unused/pda2/scanners.dm b/code/unused/pda2/scanners.dm deleted file mode 100644 index 499b8679542..00000000000 --- a/code/unused/pda2/scanners.dm +++ /dev/null @@ -1,103 +0,0 @@ -//CONTENTS: -//Base scanner stuff -//Health scanner -//Forensic scanner -//Reagent scanner - -/datum/computer/file/pda_program/scan - return_text() - return src.return_text_header() - - proc/scan_atom(atom/A as mob|obj|turf|area) - - if( !A || (!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(!(holder in src.master.contents)) - if(master.scan_program == src) - master.scan_program = null - return 1 - - return 0 - - //Health analyzer program - health_scan - name = "Health Scan" - size = 8.0 - - scan_atom(atom/A as mob|obj|turf|area) - if(..()) - return - - var/mob/living/carbon/C = A - if(!istype(C)) - return - - var/dat = "\blue Analyzing Results for [C]:\n" - dat += "\blue \t Overall Status: [C.stat > 1 ? "dead" : "[C.health]% healthy"]\n" - dat += "\blue \t Damage Specifics: [C.getOxyLoss() > 50 ? "\red" : "\blue"][C.getOxyLoss()]-[C.getToxLoss() > 50 ? "\red" : "\blue"][C.getToxLoss()]-[C.getFireLoss() > 50 ? "\red" : "\blue"][C.getFireLoss()]-[C.getBruteLoss() > 50 ? "\red" : "\blue"][C.getBruteLoss()]\n" - dat += "\blue \t Key: Suffocation/Toxin/Burns/Brute\n" - dat += "\blue \t Body Temperature: [C.bodytemperature-T0C]°C ([C.bodytemperature*1.8-459.67]°F)" - if(C.virus) - dat += "\red \nWarning Virus Detected.\nName: [C.virus.name].\nType: [C.virus.spread].\nStage: [C.virus.stage]/[C.virus.max_stages].\nPossible Cure: [C.virus.cure]" - - return dat - - //Forensic scanner - forensic_scan - name = "Forensic Scan" - size = 8.0 - - scan_atom(atom/A as mob|obj|turf|area) - if(..()) - return - var/dat = null - - if(istype(A,/mob/living/carbon/human)) - var/mob/living/carbon/human/H = A - if (!istype(H.dna, /datum/dna) || !isnull(H.gloves)) - dat += "\blue Unable to scan [A]'s fingerprints.\n" - else - dat += "\blue [H]'s Fingerprints: [md5(H.dna.uni_identity)]\n" - if ( !(H.blood_DNA.len) ) - dat += "\blue No blood found on [H]\n" - else - for(var/i = 1, i < H.blood_DNA.len, i++) - var/list/templist = H.blood_DNA[i] - user << "\blue Blood type: [templist[2]]\nDNA: [templist[1]]" - - if (!A.fingerprints) - dat += "\blue Unable to locate any fingerprints on [A]!\n" - else - var/list/L = params2list(A:fingerprints) - dat += "\blue Isolated [L.len] fingerprints.\n" - for(var/i in L) - dat += "\blue \t [i]\n" - - return dat - - - //Reagent scanning program - reagent_scan - name = "Reagent Scan" - size = 6.0 - - scan_atom(atom/A as mob|obj|turf|area) - if(..()) - return - var/dat = null - if(!isnull(A.reagents)) - if(A.reagents.reagent_list.len > 0) - var/reagents_length = A.reagents.reagent_list.len - dat += "\blue [reagents_length] chemical agent[reagents_length > 1 ? "s" : ""] found.\n" - for (var/datum/reagent/re in A.reagents.reagent_list) - dat += "\blue \t [re] - [re.volume]\n" - else - dat = "\blue No active chemical agents found in [A]." - else - dat = "\blue No significant chemical agents found in [A]." - - return dat diff --git a/code/unused/pda2/smallprogs.dm b/code/unused/pda2/smallprogs.dm deleted file mode 100644 index 549e8fc0f52..00000000000 --- a/code/unused/pda2/smallprogs.dm +++ /dev/null @@ -1,204 +0,0 @@ -//Assorted small programs not worthy of their own file -//CONTENTS: -//Crew Manifest viewer -//Status display controller -//Remote signaling program -//Cargo orders monitor - -//Manifest -/datum/computer/file/pda_program/manifest - name = "Manifest" - - return_text() - if(..()) - return - - var/dat = src.return_text_header() - - dat += "

      Crew Manifest

      " - dat += "Entries cannot be modified from this terminal.

      " - - for (var/datum/data/record/t in data_core.general) - dat += "[t.fields["name"]] - [t.fields["rank"]]
      " - dat += "
      " - - return dat - -//Status Display -/datum/computer/file/pda_program/status_display - name = "Status Controller" - size = 8.0 - var/message1 // For custom messages on the displays. - var/message2 - - return_text() - if(..()) - return - - var/dat = src.return_text_header() - - dat += "

      Station Status Display Interlink

      " - - dat += "\[ Clear \]
      " - dat += "\[ Shuttle ETA \]
      " - dat += "\[ Message \]" - - dat += "
      " - dat += "\[ Alert: None |" - - dat += " Red Alert |" - dat += " Lockdown |" - dat += " Biohazard \]
      " - - return dat - - - Topic(href, href_list) - if(..()) - return - - if(href_list["statdisp"]) - switch(href_list["statdisp"]) - if("message") - post_status("message", message1, message2) - if("alert") - post_status("alert", href_list["alert"]) - - if("setmsg1") - message1 = input("Line 1", "Enter Message Text", message1) as text|null - if (!src.master || !in_range(src.master, usr) && src.master.loc != usr) - return - - if(!(src.holder in src.master)) - return - src.master.updateSelfDialog() - - if("setmsg2") - message2 = input("Line 2", "Enter Message Text", message2) as text|null - if (!src.master || !in_range(src.master, usr) && src.master.loc != usr) - return - - if(!(src.holder in src.master)) - return - - src.master.updateSelfDialog() - else - post_status(href_list["statdisp"]) - - src.master.add_fingerprint(usr) - src.master.updateSelfDialog() - return - - proc/post_status(var/command, var/data1, var/data2) - if(!src.master) - return - - var/datum/signal/status_signal = new - status_signal.source = src.master - status_signal.transmission_method = 1 - status_signal.data["command"] = command - - switch(command) - if("message") - status_signal.data["msg1"] = data1 - status_signal.data["msg2"] = data2 - if("alert") - status_signal.data["picture_state"] = data1 - - src.post_signal(status_signal,"1435") - -//Signaler -/datum/computer/file/pda_program/signaler - name = "Signalix 5" - size = 8.0 - var/send_freq = 1457 //Frequency signal is sent at, should be kept within normal radio ranges. - var/send_code = 30 - var/last_transmission = 0 //No signal spamming etc - - return_text() - if(..()) - return - - var/dat = src.return_text_header() - - dat += "

      Remote Signaling System

      " - dat += {" -Send Signal
      - -Frequency: -- -- -[format_frequency(send_freq)] -+ -+
      -
      -Code: -- -- -[send_code] -+ -+
      "} - - return dat - - Topic(href, href_list) - if(..()) - return - - if (href_list["send"]) - if(last_transmission && world.time < (last_transmission + 5)) - return - last_transmission = world.time - spawn( 0 ) - var/time = time2text(world.realtime,"hh:mm:ss") - lastsignalers.Add("[time] : [usr.key] used [src.master] @ location ([src.master.loc.x],[src.master.loc.y],[src.master.loc.z]) : [format_frequency(send_freq)]/[send_code]") - - var/datum/signal/signal = new - signal.source = src - signal.encryption = send_code - signal.data["message"] = "ACTIVATE" - - src.post_signal(signal,"[send_freq]") - return - - else if (href_list["adj_freq"]) - src.send_freq = sanitize_frequency(src.send_freq + text2num(href_list["adj_freq"])) - - else if (href_list["adj_code"]) - src.send_code += text2num(href_list["adj_code"]) - src.send_code = round(src.send_code) - src.send_code = min(100, src.send_code) - src.send_code = max(1, src.send_code) - - src.master.add_fingerprint(usr) - src.master.updateSelfDialog() - return - -//Supply record monitor -/datum/computer/file/pda_program/qm_records - name = "Supply Records" - size = 8.0 - - return_text() - if(..()) - return - - var/dat = src.return_text_header() - dat += "

      Supply Record Interlink

      " - - dat += "
      Supply shuttle
      " - dat += "Location: [supply_shuttle_moving ? "Moving to station ([supply_shuttle_timeleft] Mins.)":supply_shuttle_at_station ? "Station":"Dock"]
      " - dat += "Current approved orders:
        " - for(var/S in supply_shuttle_shoppinglist) - var/datum/supply_order/SO = S - dat += "
      1. [SO.object.name] approved by [SO.orderedby] [SO.comment ? "([SO.comment])":""]
      2. " - dat += "
      " - - dat += "Current requests:
        " - for(var/S in supply_shuttle_requestlist) - var/datum/supply_order/SO = S - dat += "
      1. [SO.object.name] requested by [SO.orderedby]
      2. " - dat += "
      Upgrade NOW to Space Parts & Space Vendors PLUS for full remote order control and inventory management." - - return dat diff --git a/code/unused/pipe.dm b/code/unused/pipe.dm deleted file mode 100644 index 60e552e3406..00000000000 --- a/code/unused/pipe.dm +++ /dev/null @@ -1,1832 +0,0 @@ -// pipeline datum for storing inter-machine links -// create a pipeline - -//number of pipelines -var/linenums = 0 - -/obj/machinery/pipeline/New() - ..() - - gas = new /datum/gas_mixture() - ngas = new /datum/gas_mixture() - - gasflowlist += src - -// find the pipeline that contains the /obj/machine (including pipe) -/proc/findline(var/obj/machinery/M) - - for(var/obj/machinery/pipeline/P in plines) - - for(var/obj/machinery/O in P.nodes) - - if(M==O) - return P - - return null - -// sets the vnode1&2 terminators to the joining machines (or null) -/obj/machinery/pipeline/proc/setterm() - - //first make sure pipes are oriented correctly - - var/obj/machinery/M = null - - for(var/obj/machinery/pipes/P in nodes) - if(!M) // special case for 1st pipe - if(P.node1 && P.node1.ispipe()) - P.flip() // flip if node1 is a pipe - else - if(P.node1 != M) //other cases, flip if node1 doesn't point to previous node - P.flip() // (including if it is null) - - - M = P - - - // pipes are now ordered so that n1/n2 is in same order as pipeline list - - var/obj/machinery/pipes/P = nodes[1] // 1st node in list - vnode1 = P.node1 // n1 points to 1st machine - P = nodes[nodes.len] // last node in list - vnode2 = P.node2 // n2 points to last machine - - if(vnode1) - vnode1.buildnodes() - if(vnode2) - vnode2.buildnodes() - - return - -/* -/obj/machinery/pipeline/get_gas_moles(from) - return gas.total_moles()/capmult -*/ -/obj/machinery/pipeline/get_gas(from) - return gas - -/obj/machinery/pipeline/gas_flow() - //if(suffix == "d" && Debug) world.log << "PLF1 [gas.total_moles()] ~ [ngas.total_moles()]" - - gas.copy_from(ngas) - - //if(suffix == "d" && Debug) world.log << "PLF2 [gas.total_moles()] ~ [ngas.total_moles()]" - -/obj/machinery/pipeline/process() - /* - // heat exchange for whole pipeline - - //if(suffix=="dbgp") - // world.log << "PLP" - // Plasma() - -// var/dbg = (suffix == "d") && Debug - - //if(dbg) world.log << "PLP1 [gas.total_moles()] ~ [ngas.total_moles()]" - - if(!numnodes) - return //dividing by zero is bad okay? - - var/gtemp = ngas.temperature // cached temperature for heat exch calc - var/tot_node = ngas.total_moles() / numnodes // fraction of gas in this node - - //if(dbg) world.log << "PLHE: [gtemp] [tot_node]" - - if(tot_node>0.1) // no pipe contents, don't heat - for(var/obj/machinery/pipes/P in src.nodes) // for each segment of pipe - P.heat_exchange(ngas, tot_node, numnodes, gtemp) //, dbg) // exchange heat with its turf - if(!istype(P, /obj/machinery/pipes/heat_exch) && ((100*tot_node/P.capacity > 15000) || (gtemp > 8000)) ) - P.rupture() - //Commenting this out because it spams on endlessly - //for (var/mob/M in viewers(P)) - //M.show_message("\red The pipe has ruptured!", 3) - //so this is changed to pipe rupturing instead of explosions - //i.e. it ruptures if the pressure over 15000% - //and temperature over 8000K - //it also doesn't work on heat_exchange pipes - // now do standard gas flow proc - - - //if(dbg) world.log << "PLP2 [ngas.total_moles()]" - - var/delta_gt - - if(vnode1 && !(vnode1.stat & BROKEN)) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas.total_moles() / capmult) - calc_delta( src, gas, ngas, vnode1, delta_gt)//, dbg) - - //if(dbg) world.log << "PLT1 [delta_gt] >> [gas.total_moles()] ~ [ngas.total_moles()]" - - flow = delta_gt - else - leak_to_turf(1) - - if(vnode2 && !(vnode2.stat & BROKEN)) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas.total_moles() / capmult) - calc_delta( src, gas, ngas, vnode2, delta_gt)//, dbg) - - //if(dbg) world.log << "PLT2 [delta_gt] >> [gas.total_moles()] ~ [ngas.total_moles()]" - - flow -= delta_gt - else - leak_to_turf(2) - - */ //TODO: FIX - -/obj/machinery/pipeline/proc/leak_to_turf(var/port) - /* - var/turf/T - var/obj/machinery/pipes/P - var/list/ndirs - - switch(port) - if(1) - P = nodes[1] // 1st node in list - if (P==null) - T = src.loc - else - ndirs = P.get_node_dirs() - - T = get_step(P, ndirs[1]) - - - if(2) - P = nodes[nodes.len] // last node in list - if (P==null) - T = src.loc - else - - ndirs = P.get_node_dirs() - T = get_step(P, ndirs[2]) - if (T==null) - return - if(T.density) - return - - flow_to_turf(gas, ngas, T) - */ //TODO: FIX - - -// build the pipelines (THIS HAPPENS ONCE!) -/proc/makepipelines() - - for(var/obj/machinery/pipes/P in machines) // look for a pipe - - if(!P.plnum) // if not already part of a line - P.buildnodes(++linenums) // add it, and spread to all connected pipes - - //world.log<<"Line #[linecount] started at [P] ([P.x],[P.y],[P.z])" - - for(var/L = 1 to linenums) // for count of lines found - var/obj/machinery/pipeline/PL = new() // make a pipeline virtual object - PL.name = "pipeline #[L]" - plines += PL // and add it to the list - PL.linenumber = L - - - - for(var/obj/machinery/pipes/P in machines) // look for pipes - - if(P.termination) // true if pipe is terminated (ends in blank or a machine) - var/obj/machinery/pipeline/PL = plines[P.plnum] // get the pipeline from the pipe's pl-number - - var/list/pipes = pipelist(null, P) // get a list of pipes from P until terminated - - PL.nodes = pipes // pipeline is this list of nodes - PL.numnodes = pipes.len // with this many nodes - PL.capmult = PL.numnodes+1 // with this flow multiplier - - - - for(var/obj/machinery/pipes/P in machines) // all pipes - P.setline() // set the pipeline object for this pipe - - if(P.tag == "dbg") //add debug tag to line containing debug pipe - P.parent.tag = "dbg" - - if(P.suffix == "dbgpp") //add debug tag to line containing debug pipe - P.parent.suffix = "dbgp" - - if(P.suffix == "d") //add debug tag to line containing debug pipe - P.parent.suffix = "d" - - - for(var/obj/machinery/M in machines) // for all machines - if(M.p_dir) // which are pipe-connected - if(!M.ispipe()) // is not a pipe itself - M.buildnodes() // build the nodes, setting the links to the virtual pipelines - // also sets the vnodes for the pipelines - - for(var/obj/machinery/pipeline/PL in plines) // for all lines - PL.setterm() // orient the pipes and set the pipeline vnodes to the terminating machines - -// return a list of pipes (not including terminating machine) - -/proc/pipelist(var/obj/machinery/source, var/obj/machinery/startnode) - - var/list/L = list() - - var/obj/machinery/node = startnode - var/obj/machinery/prev = source - var/obj/machinery/newnode - - while(node) - L += node - newnode = node.next(prev) - prev = node - - if(newnode && newnode.ispipe()) - node = newnode - else - break - - return L - -// new pipes system - -// flip the nodes of a pipe -/obj/machinery/pipes/proc/flip() - var/obj/machinery/tempnode = node1 - node1 = node2 - node2 = tempnode - return - - -// return the next pipe in the node chain -/obj/machinery/pipes/next(var/obj/machinery/from) - - if(from == null) // if from null, then return the next actual pipe - if(node1 && node1.ispipe() ) - return node1 - if(node2 && node2.ispipe() ) - return node2 - return null // else return null if no real pipe connected - - else if(from == node1) // otherwise, return the node opposite the incoming one - return node2 - else - return node1 - - -// set the pipeline obj from the pl-number and global list of pipelines - -/obj/machinery/pipes/setline() - src.parent = plines[plnum] - return - -// returns the pipeline that this line is in - -/obj/machinery/pipes/getline() - return parent - -/obj/machinery/pipes/orient_pipe(P as obj) - if (!( src.node1 )) - src.node1 = P - else - if (!( src.node2 )) - src.node2 = P - else - return 0 - return 1 - -// returns a list of dir1, dir2 & p_dir for a pipe - -/obj/machinery/pipes/proc/get_dirs() - var/b1 - var/b2 - - for(var/d in cardinal) - if(p_dir & d) - if(!b1) - b1 = d - else if(!b2) - b2 = d - - return list(b1, b2, p_dir) - -// returns a list of the directions of a pipe, matched to nodes (if present) - -/obj/machinery/pipes/proc/get_node_dirs() - var/list/dirs = get_dirs() - - - if(!node1 && !node2) // no nodes - just return the standard dirs - return dirs // note extra p_dir on end of list is unimportant - else - if(node1) - var/d1 = get_dir(src, node1) // find the direction of node1 - if(d1==dirs[1]) // if it matches - return dirs // then dirs list is correct - else - return list(dirs[2], dirs[1]) // otherwise return the list swapped - - else // node2 must be valid - var/d2 = get_dir(src, node2) // direction of node2 - if(d2==dirs[2]) // matches - return dirs // dirs list is correct - else - return list(dirs[2], dirs[1]) // otherwise swap order - - -/obj/machinery/pipes/proc/update() - - var/turf/T = src.loc - - var/list/dirs = get_dirs() - - var/is = "[dirs[3]]" - - if(stat & BROKEN) - is += "-b" - - if ((src.level == 1 && isturf(src.loc) && T.intact)) - src.invisibility = 101 - is += "-f" - - else - src.invisibility = 0 - - src.icon_state = is - - if(node1 && node2) - overlays.Cut() - else if(!node1 && !node2) - overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[1]) - overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[2]) - else if(!node1) - var/d2 = get_dir(src, node2) - if(dirs[1] == d2) - overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[2]) - else - overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[1]) - else if(!node2) - var/d1 = get_dir(src, node1) - if(dirs[1] == d1) - overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[2]) - else - overlays += image('icons/obj/pipes.dmi', "discon", FLY_LAYER, dirs[1]) - - - return - -/obj/machinery/pipes/hide(var/i) - update() - - //its lazy right now but wait until after my exams and I'll redo it. - //redid it, oh shit - -/obj/machinery/pipes/proc/rupture() - - stat |= BROKEN - update() - -/obj/machinery/pipes/Del() - stat |= BROKEN - update() - ..() - - -/obj/machinery/pipes/attackby(obj/item/weapon/W as obj, mob/user as mob) - - if (istype(W, /obj/item/weapon/weldingtool) && W:welding) - if(!(stat & BROKEN)) - return - if (W:weldfuel < 2) - user << "\blue You need more welding fuel to complete this task." - return - W:weldfuel -= 2 - stat &= ~BROKEN - update() - for (var/mob/M in viewers(src)) - M.show_message("\red The pipe has been mended by [user.name] with the weldingtool.", 3, "\red You hear welding.", 2) - return - -/obj/machinery/pipes/ex_act(severity) - switch(severity) - if(1.0) - del(src) - return - if(2.0) - stat |= BROKEN - update() - if (prob(50)) - del(src) - return - if(3.0) - if(prob(75)) - stat |= BROKEN - update() - if (prob(25)) - del(src) - return - else - return -/* - var/strength = (((plasma + oxygen/2.0) / 1600000.0) * sqrt(temp) ) / 10 - message_admins("CODER: Pipe explosion strength: [strength], Temperature: [temp], Plasma: [plasma], Oxygen: [oxygen]") - //lets say hypothetically it uses up 9/10 of its energy in bursting the pipe - - if (strength < 773.0) - var/turf/T = get_turf(src.loc) - T.poison += plasma - T.firelevel = T.poison - T.res_vars() - - //if ((src.gas.temperature > (450+T0C) && src.gas.plasma == 1600000.0)) - - if (strength > (450+T0C)) - var/turf/sw = locate(max(T.x - 4, 1), max(T.y - 4, 1), T.z) - var/turf/ne = locate(min(T.x + 4, world.maxx), min(T.y + 4, world.maxy), T.z) - defer_powernet_rebuild = 1 - - for(var/turf/U in block(sw, ne)) - var/zone = 4 - if ((U.y <= (T.y + 1) && U.y >= (T.y - 1) && U.x <= (T.x + 2) && U.x >= (T.x - 2)) ) - zone = 3 - if ((U.y <= (T.y + 1) && U.y >= (T.y - 1) && U.x <= (T.x + 1) && U.x >= (T.x - 1) )) - zone = 2 - for(var/atom/A in U) - A.ex_act(zone) - //Foreach goto(342) - U.ex_act(zone) - U.buildlinks() - //Foreach goto(170) - defer_powernet_rebuild = 0 - makepowernets() - - else - //if ((src.gas.temperature > (300+T0C) && src.gas.plasma == 1600000.0)) - if (strength > (300+T0C)) - var/turf/sw = locate(max(T.x - 4, 1), max(T.y - 4, 1), T.z) - var/turf/ne = locate(min(T.x + 4, world.maxx), min(T.y + 4, world.maxy), T.z) - defer_powernet_rebuild = 1 - - for(var/turf/U in block(sw, ne)) - var/zone = 4 - if ((U.y <= (T.y + 2) && U.y >= (T.y - 2) && U.x <= (T.x + 2) && U.x >= (T.x - 2)) ) - zone = 3 - for(var/atom/A in U) - A.ex_act(zone) - //Foreach goto(598) - U.ex_act(zone) - U.buildlinks() - //Foreach goto(498) - defer_powernet_rebuild = 0 - makepowernets() - - //src.master = null - //SN src = null - del(src) - return - - var/turf/T = src.loc - while(!( istype(T, /turf) )) - T = T.loc - - for(var/mob/M in range(T)) - flick("flash", M.flash) - //Foreach goto(732) - //var/m_range = 2 - - var/m_range = round(strength / 387) - for(var/obj/machinery/atmoalter/canister/C in range(2, T)) - if (!( C.destroyed )) - if (C.gas.plasma >= 35000) - C.destroyed = 1 - m_range++ - - //Foreach goto(776) - var/min = m_range - var/med = m_range * 2 - var/max = m_range * 3 - var/u_max = m_range * 4 - - var/turf/sw = locate(max(T.x - u_max, 1), max(T.y - u_max, 1), T.z) - var/turf/ne = locate(min(T.x + u_max, world.maxx), min(T.y + u_max, world.maxy), T.z) - - defer_powernet_rebuild = 1 - - for(var/turf/U in block(sw, ne)) - - var/zone = 4 - if ((U.y <= (T.y + max) && U.y >= (T.y - max) && U.x <= (T.x + max) && U.x >= (T.x - max) )) - zone = 3 - if ((U.y <= (T.y + med) && U.y >= (T.y - med) && U.x <= (T.x + med) && U.x >= (T.x - med) )) - zone = 2 - if ((U.y <= (T.y + min) && U.y >= (T.y - min) && U.x <= (T.x + min) && U.x >= (T.x - min) )) - zone = 1 - for(var/atom/A in U) - A.ex_act(zone) - //Foreach goto(1217) - U.ex_act(zone) - U.buildlinks() - //U.mark(zone) - - //Foreach goto(961) - //src.master = null - defer_powernet_rebuild = 0 - makepowernets() - - //SN src = null - del(src) - return -*/ -/* -/obj/machinery/pipes/process() -*/ - -/obj/machinery/pipes/New() - - ..() - - if(istype(src, /obj/machinery/pipes/heat_exch)) - h_dir = text2num(icon_state) - else - p_dir = text2num(icon_state) - - -/obj/machinery/pipes/ispipe() // return true since this is a pipe - return 1 - -/obj/machinery/pipes/buildnodes(var/linenum) - - var/list/dirs = get_dirs() - - node1 = get_machine(level, src.loc, dirs[1]) - node2 = get_machine(level, src.loc, dirs[2]) - - if(plnum) - return - - update() - - plnum = linenum - - termination = 0 - - if(node1 && node1.ispipe() ) - - node1.buildnodes(linenum) - else - termination++ - - if(node2 && node2.ispipe() ) - node2.buildnodes(linenum) - else - termination++ - - -/obj/machinery/pipes/heat_exch/get_dirs() - var/b1 - var/b2 - - for(var/d in cardinal) - if(h_dir & d) - if(!b1) - b1 = d - else if(!b2) - b2 = d - - return list(b1, b2, h_dir) - -/obj/machinery/pipes/heat_exch/buildnodes(var/linenum) - - src.level = 2 // h/e pipe cannot be put underfloor - - var/list/dirs = get_dirs() - - node1 = get_he_machine(level, src.loc, dirs[1]) - node2 = get_he_machine(level, src.loc, dirs[2]) - - if(plnum) - return - - update() - - plnum = linenum - - termination = 0 - - if(node1 && node1.ispipe() ) - - node1.buildnodes(linenum) - else - termination++ - - if(node2 && node2.ispipe() ) - node2.buildnodes(linenum) - else - termination++ - - -/obj/machinery/pipes/proc/heat_exchange(var/datum/gas_mixture/gas, var/tot_node, var/numnodes, var/temp, var/dbg=0) - -/* var/turf/T = src.loc // turf location of pipe - if(T.density) return - if(istype(src, /obj/machinery/pipes/flexipipe)) return - - if( level != 1) // no heat exchange for under-floor pipes - if(istype(T,/turf/space)) // heat exchange less efficient in space (no conduction) - gas.temperature += ( T.temp - temp) / (3.0 * insulation * numnodes) - else - - // if(dbg) world.log << "PHE: ([x],[y]) [T.temp]-> \..." - var/delta_T = (T.temp - temp) / (insulation) // normal turf - - gas.temperature += delta_T / numnodes // heat the pipe due to turf temperature - - /* - if(abs(delta_T*tot_node/T.total_moles()) > 1) - world.log << "Turf [T] at [T.x],[T.y]: gt=[temp] tt=[T.temp]" - world.log << "dT = [delta_T] tn=[tot_node] ttg=[T.total_moles()] tt-=[delta_T*tot_node/T.total_moles()]" - - */ - var/tot_turf = max(1, T.total_moles()) - T.temp -= delta_T*min(10,tot_node/tot_turf) // also heat the turf due to pipe temp - // clamp max temp change to prevent thermal runaway - // if low amount of gas in turf - // if(dbg) world.log << "[T.temp] [tot_turf] #[delta_T]" - T.res_vars() // ensure turf tmp vars are updated - - else // if level 1 but in space, perform cooling anyway - exposed pipes - if(istype(T,/turf/space)) - gas.temperature += ( T.temp - temp) / (3.0 * insulation * numnodes) -*/ //TODO FIX -// finds the machine with compatible p_dir in 1 step in dir from S -/proc/get_machine(var/level, var/turf/S, mdir) - - var/flip = turn(mdir, 180) - - var/turf/T = get_step(S, mdir) - - for(var/obj/machinery/M in T.contents) - if(M.level == level) - if(M.p_dir & flip) - return M - - return null - -// finds the machine with compatible h_dir in 1 step in dir from S -/proc/get_he_machine(var/level, var/turf/S, mdir) - - var/flip = turn(mdir, 180) - - var/turf/T = get_step(S, mdir) - - for(var/obj/machinery/M in T.contents) - if(M.level == level) - if(M.h_dir & flip) - return M - - return null - -// ***** circulator - -/obj/machinery/circulator/New() - ..() - gas1 = new /datum/gas_mixture() - gas2 = new /datum/gas_mixture() - - ngas1 = new /datum/gas_mixture() - ngas2 = new /datum/gas_mixture() - - gasflowlist += src - - //gas.co2 = capacity - - updateicon() - -/obj/machinery/circulator/buildnodes() - - var/turf/TS = get_step(src, SOUTH) - var/turf/TN = get_step(src, NORTH) - - for(var/obj/machinery/M in TS) - - if(M && (M.p_dir & 1)) - node1 = M - break - - for(var/obj/machinery/M in TN) - - if(M && (M.p_dir & 2)) - node2 = M - break - - - if(node1) vnode1 = node1.getline() - - if(node2) vnode2 = node2.getline() - - -/* -/obj/machinery/circulator/verb/toggle_power() - set src in view(1) - - if(status == 1) - status = 2 - spawn(30) // 3 second delay for slow-off - if(status == 2) - status = 0 - updateicon() - else if(status == 0) - status =1 - - updateicon() - - - -/obj/machinery/circulator/verb/set_rate(r as num) - set src in view(1) - rate = r/100.0*capacity -*/ - -/obj/machinery/circulator/proc/control(var/on, var/prate) - - rate = prate/100*capacity - - if(status == 1) - if(!on) - status = 2 - spawn(30) - if(status == 2) - status = 0 - updateicon() - else if(status == 0) - if(on) - status = 1 - else // status ==2 - if(on) - status = 1 - - updateicon() - - -/obj/machinery/circulator/proc/updateicon() - - if(stat & NOPOWER) - icon_state = "circ[side]-p" - return - - var/is - switch(status) - if(0) - is = "off" - if(1) - is = "run" - if(2) - is = "slow" - - icon_state = "circ[side]-[is]" - - - -/obj/machinery/circulator/power_change() - ..() - updateicon() - -/* -/obj/machinery/circulator/receive_gas(var/obj/substance/gas/t_gas as obj, from as obj, amount) - - - if(from != src.node1) - return - - amount = min(receive_amount(src), amount) - - - //src.gas.transfer_from(t_gas, amount) - - return -*/ -/obj/machinery/circulator/gas_flow() - - gas1.copy_from(ngas1) - gas2.copy_from(ngas2) - -/obj/machinery/circulator/process() - /* - // if operating, pump from resv1 to resv2 - - if(! (stat & NOPOWER) ) // only do circulator step if powered; still do rest of gas flow at all times - if(status==1 || status==2) - gas2.transfer_from(gas1, status==1? rate : rate/2) - use_power(rate/capacity * 100) - ngas1.copy_from(gas1) - ngas2.copy_from(gas2) - - - // now do standard process - - var/delta_gt - - if(vnode1) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas1.total_moles() / capmult) - calc_delta( src, gas1, ngas1, vnode1, delta_gt) - else - leak_to_turf(1) - - if(vnode2) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas2.total_moles() / capmult) - calc_delta( src, gas2, ngas2, vnode2, delta_gt) - else - leak_to_turf(2)*/ //TODO FIX - -/obj/machinery/circulator/proc/leak_to_turf(var/port) - /* - var/turf/T - - switch(port) - if(1) - T = get_step(src, SOUTH) - if(2) - T = get_step(src, NORTH) - - if(T.density) - T = src.loc - if(T.density) - return - - switch(port) - if(1) - flow_to_turf(gas1, ngas1, T) - if(2) - flow_to_turf(gas2, ngas2, T) - - - // do leak - */ //TODO: FIX - -/* -/obj/machinery/circulator/get_gas_moles(from) - if(from == vnode1) - return gas1.total_moles()/capmult - else - return gas2.total_moles()/capmult -*/ //TODO: FIX -/obj/machinery/circulator/get_gas(from) - if(from == vnode1) - return gas1 - else - return gas2 - -/* -/obj/machinery/connector/New() - ..() - - gas = new /datum/gas_mixture() - ngas = new /datum/gas_mixture() - //agas = new/obj/substance/gas() - - gasflowlist += src - spawn(5) - var/obj/machinery/atmoalter/A = locate(/obj/machinery/atmoalter, src.loc) - - if(A && A.c_status != 0) - connected = A - A.anchored = 1 - - - - -/obj/machinery/connector/buildnodes() - var/turf/T = get_step(src.loc, src.dir) - var/fdir = turn(src.p_dir, 180) - - for(var/obj/machinery/M in T) - if(M.p_dir & fdir) - src.node = M - break - - if(node) vnode = node.getline() - - - return - - - -/obj/machinery/connector/examine() - set src in oview(1) - ..() - if(connected) - usr << "It is connected to \an [connected.name]." - else - usr << "It is unconnected." - - - -/obj/machinery/connector/get_gas_val(from) - return gas.total_moles()/capmult - -/obj/machinery/connector/get_gas(from) - return gas - - -/obj/machinery/connector/gas_flow() - -// var/dbg = (suffix == "d") && Debug - //if(dbg) world.log << "CF0: ngas=[ngas.total_moles()]" - - //ngas.transfer_from(agas, -1) - - //if(dbg) world.log << "CF1: ngas=[gas.total_moles()]" - gas.copy_from(ngas) - //if(dbg) world.log << "CF2: gas=[gas.total_moles()]" - flag = 0 - -/obj/machinery/connector/process() - //if(suffix=="dbgp") - // world.log << "CP" - // Plasma() - - var/delta_gt -// var/dbg = (suffix == "d") && Debug - - //if(dbg) world.log << "C[tag]P: [gas.total_moles()] ~ [ngas.total_moles()]" - //if(dbg && connected) world.log << "C[tag]PC: [connected.gas.total_moles()]" - - if(vnode) - - delta_gt = FLOWFRAC * ( vnode.get_gas_val(src) - gas.total_moles() / capmult) - //if(dbg) world.log << "C[tag]P0: [delta_gt]" - - //var/obj/substance/gas/vgas = vnode.get_gas(src) - - //if(dbg) world.log << "C[tag]P1: [gas.total_moles()], [ngas.total_moles()] -> [vgas.total_moles()]" - calc_delta( src, gas, ngas, vnode, delta_gt)//, dbg) - //if(dbg) world.log << "C[tag]P2: [gas.total_moles()], [ngas.total_moles()] -> [vgas.total_moles()]" - - else - leak_to_turf() - - if(connected) - var/amount - if(connected.c_status == 1) // canister set to release - - //if(dbg) world.log << "C[tag]PC1: [gas.total_moles()], [ngas.total_moles()] <- [connected.gas.total_moles()]" - amount = min(connected.c_per, capacity - gas.total_moles() ) // limit to space in connector - amount = max(0, min(amount, connected.gas.total_moles() ) ) // limit to amount in canister, or 0 - //if(dbg) world.log << "C[tag]PC2: a=[amount]" - //var/ng = ngas.total_moles() - ngas.transfer_from( connected.gas, amount) - //if(dbg) world.log <<"[ngas.total_moles()-ng] from siph to connector" - //if(dbg) world.log << "C[tag]PC3: [gas.total_moles()], [ngas.total_moles()] <- [connected.gas.total_moles()]" - else if(connected.c_status == 2) // canister set to accept - - amount = min(connected.c_per, connected.gas.maximum - connected.gas.total_moles()) //limit to space in canister - amount = max(0, min(amount, gas.total_moles() ) ) // limit to amount in connector, or 0 - - connected.gas.transfer_from( ngas, amount) - - //flag = 1 - - //if(suffix=="dbgp") - // world.log << "CP" - // Plasma() -*/ //TODO: FIX - - -/obj/machinery/connector/proc/leak_to_turf() - /* - //var/dbg = (tag == "dbg") && Debug - - var/turf/T = get_step(src, dir) - if(T && !T.density) - - //if(dbg) world.log << "CLT1: [gas.tostring()] ~ [ngas.tostring()]\nTg = [T.tostring()]" - - - flow_to_turf(gas, ngas, T) - - //if(dbg) world.log << "CLT2: [gas.tostring()] ~ [ngas.tostring()]\nTg = [T.tostring()]" - */ - - -/obj/machinery/junction/New() - ..() - gas = new/datum/gas_mixture(src) - ngas = new/datum/gas_mixture() - gasflowlist += src - - h_dir = dir // the h/e pipe is in obj dir - p_dir = turn(dir, 180) // the reg pipe is in opposite dir - - -/obj/machinery/junction/buildnodes() - - var/turf/T = src.loc - - node1 = get_he_machine(level, T, h_dir ) // the h/e pipe - - node2 = get_machine(level, T , p_dir ) // the regular pipe - - if(node1) vnode1 = node1.getline() - if(node2) vnode2 = node2.getline() - - return - - -/obj/machinery/junction/gas_flow() - - //var/dbg - //if(tag == "dbg1") - // dbg = 1 - //else if(tag == "dbg2") - // dbg = 2 - - //if(dbg) world.log << "J[dbg]F1: [gas.tostring()] ~ [ngas.tostring()]" - - - gas.copy_from(ngas) - - //if(dbg) world.log << "J[dbg]F2: [gas.tostring()] ~ [ngas.tostring()]" - -/obj/machinery/junction/process() -/* - //var/dbg - //if(tag == "dbg1") - // dbg = 1 - //else if(tag == "dbg2") - // dbg = 2 - - //if(dbg) world.log << "J[dbg]P: [gas.tostring()] ~ [ngas.tostring()]" - - var/delta_gt - - if(vnode1) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas.total_moles() / capmult) - calc_delta( src, gas, ngas, vnode1, delta_gt) //, dbg) - - // if(dbg) world.log << "J[dbg]T1: [delta_gt] >> [gas.tostring()] ~ [ngas.tostring()]" - else - leak_to_turf(1) - - if(vnode2) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas.total_moles() / capmult) - calc_delta( src, gas, ngas, vnode2, delta_gt) //, dbg) - - // if(dbg) world.log << "J[dbg]T2: [delta_gt] >> [gas.tostring()] ~ [ngas.tostring()]" - else - leak_to_turf(2) -*/ //TODO: FIX - -/obj/machinery/junction/get_gas_val(from) - return gas.total_moles()/capmult - -/obj/machinery/junction/get_gas(from) - return gas - -/obj/machinery/junction/proc/leak_to_turf(var/port) - - var/turf/T - - - switch(port) - if(1) - T = get_step(src, dir) - if(2) - T = get_step(src, turn(dir, 180) ) - - if(T.density) - T = src.loc - if(T.density) - return - - flow_to_turf(gas, ngas, T) - - -/obj/machinery/vent/New() - - ..() - p_dir = dir - gas = new /datum/gas_mixture(src) - ngas = new /datum/gas_mixture() - gasflowlist += src - - -/obj/machinery/vent/buildnodes() - - var/turf/T = get_step(src.loc, src.dir) - var/fdir = turn(src.p_dir, 180) - - for(var/obj/machinery/M in T) - if(M.p_dir & fdir) - src.node = M - break - - if(node) vnode = node.getline() - - return - - -/obj/machinery/vent/get_gas_val(from) - return gas.total_moles()/2 - -/obj/machinery/vent/get_gas(from) - return gas - - -/obj/machinery/vent/gas_flow() - -// var/dbg = (suffix=="d") && Debug - //if(dbg) world.log << "V[tag]F1: [gas.total_moles()] ~ [ngas.total_moles()]" - gas.copy_from(ngas) - //if(dbg) world.log << "V[tag]F2: [gas.total_moles()] ~ [ngas.total_moles()]" - -/obj/machinery/vent/process() - /* - -// var/dbg = (suffix=="d") && Debug - //if(dbg) world.log << "V[tag]T1: [gas.total_moles()] ~ [ngas.total_moles()]" - - //if(suffix=="dbgp") - // world.log << "VP" - // Plasma() - - var/delta_gt - - var/turf/T = src.loc - - delta_gt = FLOWFRAC * (gas.total_moles() / capmult) - //var/ng = ngas.total_moles() - ngas.turf_add(T, delta_gt) - - //if(dbg) world.log << "[num2text(ng-ngas.total_moles(),10)] from vent to turf" - //if(dbg) world.log << "V[tag]T2: [gas.total_moles()] ~ [ngas.total_moles()]" - - if(vnode) - - //if(dbg) world.log << "V[tag]N1: [gas.total_moles()] ~ [ngas.total_moles()]" - - delta_gt = FLOWFRAC * ( vnode.get_gas_val(src) - gas.total_moles() / capmult) - - calc_delta( src, gas, ngas, vnode, delta_gt)//, dbg) - - //if(dbg) world.log << "V[tag]N2: [gas.total_moles()] ~ [ngas.total_moles()]" - - else - leak_to_turf() - */ //TODO: FIX - - -/obj/machinery/vent/proc/leak_to_turf() -// note this is a leak from the node, not the vent itself -// thus acts as a link between the vent turf and the turf in step(dir) - - var/turf/T = get_step(src, dir) - if(T && !T.density) - flow_to_turf(gas, ngas, T) - - -// inlet - equilibrates between pipe contents and turf -// very similar to vent, except that a vent always dumps pipe gas into turf -/obj/machinery/inlet/New() - - ..() - - p_dir = dir - gas = new /datum/gas_mixture(src) - ngas = new /datum/gas_mixture() - gasflowlist += src - - -/obj/machinery/inlet/buildnodes() - - var/turf/T = get_step(src.loc, src.dir) - var/fdir = turn(src.p_dir, 180) - - for(var/obj/machinery/M in T) - if(M.p_dir & fdir) - src.node = M - break - - if(node) vnode = node.getline() - - return - - -/obj/machinery/inlet/get_gas_val(from) - return gas.total_moles()/2 - -/obj/machinery/inlet/get_gas(from) - return gas - - -/obj/machinery/inlet/gas_flow() - - gas.copy_from(ngas) - -/obj/machinery/inlet/process() - /* - //if(suffix=="dbgp") - // world.log << "VP" - // Plasma() - - var/delta_gt - - var/turf/T = src.loc - - // this is the difference between vent and inlet - - if(T && !T.density) - flow_to_turf(gas, ngas, T, dbg) // act as gas leak - - if(dbg) world.log << "I[tag]T2: [gas.total_moles()] ~ [ngas.total_moles()]" - - if(vnode) - - //if(dbg) world.log << "V[tag]N1: [gas.total_moles()] ~ [ngas.total_moles()]" - - delta_gt = FLOWFRAC * ( vnode.get_gas_val(src) - gas.total_moles() / capmult) - - calc_delta( src, gas, ngas, vnode, delta_gt)//, dbg) - - //if(dbg) world.log << "V[tag]N2: [gas.total_moles()] ~ [ngas.total_moles()]" - - else - leak_to_turf() - */ //TODO: FIX - - - -/obj/machinery/inlet/proc/leak_to_turf() -// note this is a leak from the node, not the inlet itself -// thus acts as a link between the inlet turf and the turf in step(dir) - - var/turf/T = get_step(src, dir) - if(T && !T.density) - flow_to_turf(gas, ngas, T) - - - -// standard proc for all machines - passed gas/ngas as arguments -// equilibrate a pipe object and a turf's gas content - -/obj/machinery/proc/flow_to_turf(var/datum/gas_mixture/sgas, var/datum/gas_mixture/sngas, var/turf/T, var/dbg = 0) -/* - if(dbg) world.log << "FTT: G=[sgas.tostring()] ~ N=[sngas.tostring()]" - if(dbg) world.log << "T=[T.tostring()]" - - - - var/t_tot = T.total_moles() * 0.2 // partial pressure of turf gas at pipe, for the moment - - var/delta_gt = FLOWFRAC * ( t_tot - sgas.total_moles() / capmult ) - - if(dbg) world.log << "FTT: dgt=[delta_gt]" - - var/datum/gas_mixture/ndelta = new() - - if(delta_gt < 0) // flow from pipe to turf - - //world.log << "FTT<0" - ndelta.set_frac(sgas, -delta_gt) // ndelta contains gas to transfer to turf - //world.log << "ND=[ndelta.tostring()]" - sngas.sub_delta(ndelta) // update new gas to remove the amount transfered - //world.log << "SN=[sngas.tostring()]" - ndelta.turf_add(T, -1) // add all of ndelta to turf - //world.log << "T=[T.tostring()]" - - //world.log << "LTT: [num2text(-delta_gt,10)] from [sgas.loc] to turf" - - - else // flow from turf to pipe - if(dbg) world.log << "FTT>0" - - sngas.turf_take(T, delta_gt) // grab gas from turf and direcly add it to the new gas - if(dbg) world.log << "SN=[sngas.tostring()]" - if(dbg) world.log << "T=[T.tostring()]" - - if(dbg) world.log << "LTT: [num2text(delta_gt,10)] from turf to [sgas.loc]" - - T.res_vars() // update turf gas vars for both cases -*/ //TODO: FIX - -// on-off valve - -/obj/machinery/valve/mvalve/New() - ..() - gas1 = new/datum/gas_mixture/(src) - ngas1 = new/datum/gas_mixture/() - gas2 = new/datum/gas_mixture/(src) - ngas2 = new/datum/gas_mixture/() - - gasflowlist += src - switch(dir) - if(1, 2) - p_dir = 3 - if(4,8) - p_dir = 12 - - icon_state = "valve[open]" - -/obj/machinery/valve/mvalve/examine() - set src in oview(1) - - usr << "[desc] It is [ open? "open" : "closed"]." - - - -/obj/machinery/valve/mvalve/buildnodes() - var/turf/T = src.loc - - node1 = get_machine(level, T, dir ) // the h/e pipe - - node2 = get_machine(level, T , turn(dir, 180) ) // the regular pipe - - if(node1) vnode1 = node1.getline() - if(node2) vnode2 = node2.getline() - - return - - -/obj/machinery/valve/mvalve/gas_flow() - gas1.copy_from(ngas1) - gas2.copy_from(ngas2) - - -/obj/machinery/valve/mvalve/process() -/* var/delta_gt - - if(vnode1) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas1.total_moles() / capmult) - calc_delta( src, gas1, ngas1, vnode1, delta_gt) - - else - leak_to_turf(1) - - if(vnode2) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas2.total_moles() / capmult) - calc_delta( src, gas2, ngas2, vnode2, delta_gt) - - else - leak_to_turf(2) - - - if(open) // valve operating, so transfer btwen resv1 & 2 - - delta_gt = FLOWFRAC * (gas1.total_moles() / capmult - gas2.total_moles() / capmult) - - var/datum/gas_mixture//ndelta = new() - - if(delta_gt < 0) // then flowing from R2 to R1 - - ndelta.set_frac(gas2, -delta_gt) - - ngas2.sub_delta(ndelta) - ngas1.add_delta(ndelta) - - else // flowing from R1 to R2 - ndelta.set_frac(gas1, delta_gt) - ngas2.add_delta(ndelta) - ngas1.sub_delta(ndelta)*/ //TODO: FIX - - - - -/obj/machinery/valve/mvalve/get_gas_val(from) - if(from == vnode2) - return gas2.total_moles()/capmult - else - return gas1.total_moles()/capmult - -/obj/machinery/valve/mvalve/get_gas(from) - if(from == vnode2) - return gas2 - return gas1 - -/obj/machinery/valve/mvalve/proc/leak_to_turf(var/port) - - var/turf/T - - - switch(port) - if(1) - T = get_step(src, dir) - if(2) - T = get_step(src, turn(dir, 180) ) - - if(T.density) - T = src.loc - if(T.density) - return - - if(port==1) - flow_to_turf(gas1, ngas1, T) - else - flow_to_turf(gas2, ngas2, T) - -/obj/machinery/valve/mvalve/attack_paw(mob/user) - attack_hand(user) - -/obj/machinery/valve/mvalve/attack_ai(mob/user) - user << "\red You are unable to use this as it is physically operated." - return - -/obj/machinery/valve/mvalve/attack_hand(mob/user) - ..() - add_fingerprint(user) - if(stat & BROKEN) - return - - if(!open) // now opening - flick("valve01", src) - icon_state = "valve1" - sleep(10) - else // now closing - flick("valve10", src) - icon_state = "valve0" - sleep(10) - open = !open - -// Digital Valve - -/obj/machinery/valve/dvalve/New() - ..() - gas1 = new/datum/gas_mixture/(src) - ngas1 = new/datum/gas_mixture/() - gas2 = new/datum/gas_mixture/(src) - ngas2 = new/datum/gas_mixture/() - - gasflowlist += src - switch(dir) - if(1, 2) - p_dir = 3 - if(4,8) - p_dir = 12 - - icon_state = "dvalve[open]" - -/obj/machinery/valve/dvalve/examine() - set src in oview(1) - if(NOPOWER) - usr << "[desc] It is unpowered! It is [ open? "open" : "closed"]." - return - usr << "[desc] It is [ open? "open" : "closed"]." - - - -/obj/machinery/valve/dvalve/buildnodes() - var/turf/T = src.loc - - node1 = get_machine(level, T, dir ) // the h/e pipe - - node2 = get_machine(level, T , turn(dir, 180) ) // the regular pipe - - if(node1) vnode1 = node1.getline() - if(node2) vnode2 = node2.getline() - - return - - -/obj/machinery/valve/dvalve/gas_flow() - gas1.copy_from(ngas1) - gas2.copy_from(ngas2) - -/obj/machinery/valve/dvalve/power_change() - ..() - if(stat & NOPOWER) - icon_state = "dvalve[open]nopower" - return - icon_state = "dvalve[open]" - - -/obj/machinery/valve/dvalve/process() - /* - var/delta_gt - - if(vnode1) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas1.total_moles() / capmult) - calc_delta( src, gas1, ngas1, vnode1, delta_gt) - - else - leak_to_turf(1) - - if(vnode2) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas2.total_moles() / capmult) - calc_delta( src, gas2, ngas2, vnode2, delta_gt) - - else - leak_to_turf(2) - - - if(open) // valve operating, so transfer btwen resv1 & 2 - - delta_gt = FLOWFRAC * (gas1.total_moles() / capmult - gas2.total_moles() / capmult) - - var/datum/gas_mixture/ndelta = new() - - if(delta_gt < 0) // then flowing from R2 to R1 - - ndelta.set_frac(gas2, -delta_gt) - - ngas2.sub_delta(ndelta) - ngas1.add_delta(ndelta) - - else // flowing from R1 to R2 - ndelta.set_frac(gas1, delta_gt) - ngas2.add_delta(ndelta) - ngas1.sub_delta(ndelta) - */ //TODO: FIX - - - -/obj/machinery/valve/dvalve/get_gas_val(from) - if(from == vnode2) - return gas2.total_moles()/capmult - else - return gas1.total_moles()/capmult - -/obj/machinery/valve/dvalve/get_gas(from) - if(from == vnode2) - return gas2 - return gas1 - -/obj/machinery/valve/dvalve/proc/leak_to_turf(var/port) - - var/turf/T - - - switch(port) - if(1) - T = get_step(src, dir) - if(2) - T = get_step(src, turn(dir, 180) ) - - if(T.density) - T = src.loc - if(T.density) - return - - if(port==1) - flow_to_turf(gas1, ngas1, T) - else - flow_to_turf(gas2, ngas2, T) - -/obj/machinery/valve/dvalve/attack_paw(mob/user) - return src.attack_hand(user) - -/obj/machinery/valve/dvalve/attack_ai(var/mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/valve/dvalve/attack_hand(mob/user) - ..() - add_fingerprint(user) - if(stat & (BROKEN|NOPOWER)) - return - - if(!open) // now opening - flick("dvalve01", src) - icon_state = "dvalve1" - sleep(10) - else // now closing - flick("dvalve10", src) - icon_state = "dvalve0" - sleep(10) - open = !open - -// one way pipe - -/obj/machinery/oneway/New() - ..() - gas1 = new/datum/gas_mixture/(src) - ngas1 = new/datum/gas_mixture/() - gas2 = new/datum/gas_mixture/(src) - ngas2 = new/datum/gas_mixture/() - - gasflowlist += src - p_dir = dir|turn(dir, 180) - -/obj/machinery/oneway/buildnodes() - var/turf/T = src.loc - - node1 = get_machine(level, T, dir ) - node2 = get_machine(level, T , turn(dir, 180) ) - - if(node1) vnode1 = node1.getline() - if(node2) vnode2 = node2.getline() - - return - -/obj/machinery/oneway/gas_flow() - gas1.copy_from(ngas1) - gas2.copy_from(ngas2) - -/obj/machinery/oneway/process() -/* - var/delta_gt - - if(vnode1) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas1.total_moles() / capmult) - calc_delta( src, gas1, ngas1, vnode1, delta_gt) - - else - leak_to_turf(1) - - if(vnode2) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas2.total_moles() / capmult) - calc_delta( src, gas2, ngas2, vnode2, delta_gt) - - else - leak_to_turf(2) - - - delta_gt = FLOWFRAC * (gas1.total_moles() / capmult - gas2.total_moles() / capmult) - var/datum/gas_mixture/ndelta = new() - - if(delta_gt < 0) // then flowing from R2 to R1 - ndelta.set_frac(gas2, -delta_gt) - ngas2.sub_delta(ndelta) - ngas1.add_delta(ndelta)*/ //TODO: FIX - -/obj/machinery/oneway/get_gas_val(from) - if(from == vnode2) - return gas2.total_moles()/capmult - else - return gas1.total_moles()/capmult - -/obj/machinery/oneway/get_gas(from) - if(from == vnode2) - return gas2 - return gas1 - -/obj/machinery/oneway/proc/leak_to_turf(var/port) - var/turf/T - - switch(port) - if(1) - T = get_step(src, dir) - if(2) - T = get_step(src, turn(dir, 180) ) - - if(T.density) - T = src.loc - if(T.density) - return - - if(port==1) - flow_to_turf(gas1, ngas1, T) - else - flow_to_turf(gas2, ngas2, T) - -/obj/machinery/oneway/pipepump/process() - /* - if(! (stat & NOPOWER) ) // pump if power - gas1.transfer_from(gas2, rate) - use_power(25, ENVIRON) - ngas1.copy_from(gas1) - ngas2.copy_from(gas2) - - var/delta_gt - - if(vnode1) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas1.total_moles() / capmult) - calc_delta( src, gas1, ngas1, vnode1, delta_gt) - - else - leak_to_turf(1) - - if(vnode2) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas2.total_moles() / capmult) - calc_delta( src, gas2, ngas2, vnode2, delta_gt) - - else - leak_to_turf(2) - */ //TODO: FIX - -/obj/machinery/oneway/pipepump/proc/updateicon() - icon_state = "pipepump-[(stat & NOPOWER) ? "stop" : "run"]" - -/obj/machinery/oneway/pipepump/power_change() - if(powered(ENVIRON)) - stat &= ~NOPOWER - else - - stat |= NOPOWER - spawn(rand(1,15)) // So they don't all turn off at the same time - updateicon() - -// Filter inlet -// works with filter_control - -/obj/machinery/inlet/filter/New() - ..() - src.gas = new /datum/gas_mixture() - src.ngas = new /datum/gas_mixture() - -/obj/machinery/inlet/filter/buildnodes() - var/turf/T = get_step(src.loc, src.dir) - var/fdir = turn(src.p_dir, 180) - - for(var/obj/machinery/M in T) - if(M.p_dir & fdir) - src.node = M - break - - if(node) vnode = node.getline() - return - -/obj/machinery/inlet/filter/get_gas_val(from) - return gas.total_moles()/2 - -/obj/machinery/inlet/filter/get_gas(from) - return gas - -/obj/machinery/inlet/filter/gas_flow() - gas.copy_from(ngas) - -/obj/machinery/inlet/filter/process() - src.updateicon() - if(!(stat & NOPOWER)) - /* var/turf/T = src.loc - if(!T || T.density) return - - if(!vnode) return leak_to_turf() - var/obj/substance/gas/exterior = new() - exterior.oxygen = T.oxygen - exterior.n2 = T.n2 - exterior.plasma = T.poison - exterior.co2 = T.co2 - exterior.sl_gas = T.sl_gas - exterior.temperature = T.temp - var/obj/substance/gas/interior = gas - var/obj/substance/gas/flowing = new() - - var/flow_rate = (exterior.total_moles()-interior.total_moles())*FLOWFRAC - if(flow_rate <= 0) - return - flowing.set_frac(exterior,flow_rate) - if(!(src.f_mask & GAS_O2)) flowing.oxygen = 0 - if(!(src.f_mask & GAS_N2)) flowing.n2 = 0 - if(!(src.f_mask & GAS_PL)) flowing.plasma = 0 - if(!(src.f_mask & GAS_CO2)) flowing.co2 = 0 - if(!(src.f_mask & GAS_N2O)) flowing.sl_gas = 0 - use_power(5,ENVIRON) - exterior.sub_delta(flowing) - interior.add_delta(flowing)*/ //TODO: FIX - else - ..() - return - -/obj/machinery/inlet/filter/leak_to_turf() -// note this is a leak from the node, not the inlet itself -// thus acts as a link between the inlet turf and the turf in step(dir) - var/turf/T = get_step(src, dir) - if(T && !T.density) - flow_to_turf(gas, ngas, T) - -/obj/machinery/inlet/filter/power_change() - if(powered(ENVIRON)) - stat &= ~NOPOWER - else - stat |= NOPOWER - spawn(rand(1,15)) - updateicon() - return - -/obj/machinery/inlet/filter/proc/updateicon() - /* - if(stat & NOPOWER) - icon_state = "inlet_filter-0" - return - if(src.gas.total_moles() > src.gas.maximum/2) - icon_state = "inlet_filter-4" - else if(src.gas.total_moles() > src.gas.maximum/3) - icon_state = "inlet_filter-3" - else if(src.gas.total_moles() > src.gas.maximum/4) - icon_state = "inlet_filter-2" - else if(src.gas.total_moles() >= 1 || src.f_mask >= 1) - icon_state = "inlet_filter-1" - else - icon_state = "inlet_filter-0" - return - */ //TODO FIX - -// Filter vent -// doesn't do anything yet - -/obj/machinery/vent/filter/power_change() - if(powered(ENVIRON)) - stat &= ~NOPOWER - else - stat |= NOPOWER - spawn(rand(1,15)) - updateicon() - return - -/obj/machinery/vent/filter/proc/updateicon() - /* - if(stat & NOPOWER) - icon_state = "vent_filter-0" - return - if(src.gas.total_moles() > src.gas.maximum/2) - icon_state = "vent_filter-4" - else if(src.gas.total_moles() > src.gas.maximum/3) - icon_state = "vent_filter-3" - else if(src.gas.total_moles() > src.gas.maximum/4) - icon_state = "vent_filter-2" - else if(src.gas.total_moles() >= 1 || src.f_mask >= 1) - icon_state = "vent_filter-1" - else - icon_state = "vent_filter-0" - return - */ //TODO FIX \ No newline at end of file diff --git a/code/unused/pipe_filter.dm b/code/unused/pipe_filter.dm deleted file mode 100644 index 8c67b9031f1..00000000000 --- a/code/unused/pipe_filter.dm +++ /dev/null @@ -1,243 +0,0 @@ -// *** pipefilter - -/obj/machinery/pipefilter/New() - ..() - p_dir = (NORTH|SOUTH|EAST|WEST) ^ turn(dir, 180) - - src.gas = new /datum/gas_mixture/() - src.ngas = new /datum/gas_mixture/() - - src.f_gas = new /datum/gas_mixture/() - src.f_ngas = new /datum/gas_mixture/() - - gasflowlist += src - -/obj/machinery/pipefilter/buildnodes() - var/turf/T = src.loc - - n1dir = turn(dir, 90) - n2dir = turn(dir,-90) - - node1 = get_machine( level, T , n1dir ) // the main flow dir - node2 = get_machine( level, T , n2dir ) - node3 = get_machine( level, T, dir ) // the ejector port - - if(node1) vnode1 = node1.getline() - if(node2) vnode2 = node2.getline() - if(node3) vnode3 = node3.getline() - -/obj/machinery/pipefilter/gas_flow() - gas.copy_from(ngas) - f_gas.copy_from(f_ngas) - -/obj/machinery/pipefilter/process() -/* var/delta_gt - - if(vnode1) - delta_gt = FLOWFRAC * ( vnode1.get_gas_val(src) - gas.total_moles() / capmult) - calc_delta( src, gas, ngas, vnode1, delta_gt) - else - leak_to_turf(1) - if(vnode2) - delta_gt = FLOWFRAC * ( vnode2.get_gas_val(src) - gas.total_moles() / capmult) - calc_delta( src, gas, ngas, vnode2, delta_gt) - else - leak_to_turf(2) - if(vnode3) - delta_gt = FLOWFRAC * ( vnode3.get_gas_val(src) - f_gas.total_moles() / capmult) - calc_delta( src, f_gas, f_ngas, vnode3, delta_gt) - else - leak_to_turf(3) - - // transfer gas from ngas->f_ngas according to extraction rate, but only if we have power - if(! (stat & NOPOWER) ) - use_power(min(src.f_per, 100),ENVIRON) - var/datum/gas_mixture/ndelta = src.get_extract() - ngas.sub_delta(ndelta) - f_ngas.add_delta(ndelta) - AutoUpdateAI(src) - src.updateUsrDialog()*/ //TODO: FIX - -/obj/machinery/pipefilter/get_gas_val(from) - return ((from == vnode3) ? f_gas.total_moles() : gas.total_moles())/capmult - -/obj/machinery/pipefilter/get_gas(from) - return (from == vnode3) ? f_gas : gas - -/obj/machinery/pipefilter/proc/leak_to_turf(var/port) - var/turf/T - - switch(port) - if(1) - T = get_step(src, n1dir) - if(2) - T = get_step(src, n2dir) - if(3) - T = get_step(src, dir) - if(T.density) - T = src.loc - if(T.density) - return - flow_to_turf(f_gas, f_ngas, T) - return - - if(T.density) - T = src.loc - if(T.density) - return - - flow_to_turf(gas, ngas, T) - -/obj/machinery/pipefilter/proc/get_extract() - /* - var/datum/gas_mixture/ndelta = new() - if (src.f_mask & GAS_O2) - ndelta.oxygen = min(src.f_per, src.ngas.oxygen) - if (src.f_mask & GAS_N2) - ndelta.n2 = min(src.f_per, src.ngas.n2) - if (src.f_mask & GAS_PL) - ndelta.plasma = min(src.f_per, src.ngas.plasma) - if (src.f_mask & GAS_CO2) - ndelta.co2 = min(src.f_per, src.ngas.co2) - if (src.f_mask & GAS_N2O) - ndelta.sl_gas = min(src.f_per, src.ngas.sl_gas) - return ndelta - */ //TODO: FIX - -/obj/machinery/pipefilter/attackby(obj/item/weapon/W, mob/user as mob) - if(istype(W, /obj/item/weapon/detective_scanner)) - return ..() - if(istype(W, /obj/item/weapon/screwdriver)) - if(bypassed) - user.show_message(text("\red Remove the foreign wires first!"), 1) - return - src.add_fingerprint(user) - user.show_message(text("\red Now []securing the access system panel...", (src.locked) ? "un" : "re"), 1) - sleep(30) - locked =! locked - user.show_message(text("\red Done!"),1) - src.updateicon() - return - if(istype(W, /obj/item/weapon/cable_coil) && !bypassed) - if(src.locked) - user.show_message(text("\red You must remove the panel first!"),1) - return - var/obj/item/weapon/cable_coil/C = W - if(C.use(4)) - user.show_message(text("\red You unravel some cable.."),1) - else - user.show_message(text("\red Not enough cable! (Requires four pieces)"),1) - src.add_fingerprint(user) - user.show_message(text("\red Now bypassing the access system... (This may take a while)"), 1) - sleep(100) - bypassed = 1 - src.updateicon() - return - if(istype(W, /obj/item/weapon/wirecutters) && bypassed) - src.add_fingerprint(user) - user.show_message(text("\red Now removing the bypass wires... (This may take a while)"), 1) - sleep(50) - bypassed = 0 - src.updateicon() - return - if(istype(W, /obj/item/weapon/card/emag) && (!emagged)) - emagged++ - src.add_fingerprint(user) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\red [] has shorted out the [] with an electromagnetic card!", user, src), 1) - src.overlays += image('icons/obj/pipes2.dmi', "filter-spark") - sleep(6) - src.updateicon() - return src.attack_hand(user) - return src.attack_hand(user) - -// pipefilter interact/topic -/obj/machinery/pipefilter/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/pipefilter/attack_ai(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/pipefilter/attack_hand(mob/user as mob) -/* if(stat & NOPOWER) - user << browse(null, "window=pipefilter") - user.machine = null - return - - var/list/gases = list("O2", "N2", "Plasma", "CO2", "N2O") - user.machine = src - var/dat = "Filter Release Rate:
      \nM - - - - - [src.f_per] + + + + + M
      \n" - for (var/i = 1; i <= gases.len; i++) - dat += "[gases[i]]: [(src.f_mask & 1 << (i - 1)) ? "Releasing" : "Passing"]
      \n" - if(gas.total_moles()) - var/totalgas = gas.total_moles() - var/pressure = round(totalgas / gas.maximum * 100) - var/nitrogen = gas.n2 / totalgas * 100 - var/oxygen = gas.oxygen / totalgas * 100 - var/plasma = gas.plasma / totalgas * 100 - var/co2 = gas.co2 / totalgas * 100 - var/no2 = gas.sl_gas / totalgas * 100 - - dat += "
      Gas Levels:
      \nPressure: [pressure]%
      \nNitrogen: [nitrogen]%
      \nOxygen: [oxygen]%
      \nPlasma: [plasma]%
      \nCO2: [co2]%
      \nN2O: [no2]%
      \n" - else - dat += "
      Gas Levels:
      \nPressure: 0%
      \nNitrogen: 0%
      \nOxygen: 0%
      \nPlasma: 0%
      \nCO2: 0%
      \nN2O: 0%
      \n" - dat += "
      \nClose
      \n" - - user << browse(dat, "window=pipefilter;size=300x365")*/ //TODO: FIX - //onclose(user, "pipefilter") - -/obj/machinery/pipefilter/Topic(href, href_list) - ..() - if(usr.restrained() || usr.lying) - return - if ((((get_dist(src, usr) <= 1 || usr.telekinesis == 1) || istype(usr, /mob/living/silicon/ai)) && istype(src.loc, /turf))) - usr.machine = src - if (href_list["close"]) - usr << browse(null, "window=pipefilter;") - usr.machine = null - return - if (src.allowed(usr) || src.emagged || src.bypassed) - if (href_list["fp"]) - src.f_per = min(max(round(src.f_per + text2num(href_list["fp"])), 0), src.maxrate) - else if (href_list["tg"]) - // toggle gas - src.f_mask ^= text2num(href_list["tg"]) - src.updateicon() - else - usr.see("\red Access Denied ([src.name] operation restricted to authorized atmospheric technicians.)") - AutoUpdateAI(src) - src.updateUsrDialog() - src.add_fingerprint(usr) - else - usr << browse(null, "window=pipefilter") - usr.machine = null - return - -/obj/machinery/pipefilter/power_change() - if(powered(ENVIRON)) - stat &= ~NOPOWER - else - stat |= NOPOWER - spawn(rand(1,15)) //so all the filters don't come on at once - updateicon() - -/obj/machinery/pipefilter/proc/updateicon() - src.overlays.Cut() - if(stat & NOPOWER) - icon_state = "filter-off" - else - icon_state = "filter" - if(emagged) //only show if powered because presumeably its the interface that has been fried - src.overlays += image('icons/obj/pipes2.dmi', "filter-emag") - if (src.f_mask & (GAS_N2O|GAS_PL)) - src.overlays += image('icons/obj/pipes2.dmi', "filter-tox") - if (src.f_mask & GAS_O2) - src.overlays += image('icons/obj/pipes2.dmi', "filter-o2") - if (src.f_mask & GAS_N2) - src.overlays += image('icons/obj/pipes2.dmi', "filter-n2") - if (src.f_mask & GAS_CO2) - src.overlays += image('icons/obj/pipes2.dmi', "filter-co2") - if(!locked) - src.overlays += image('icons/obj/pipes2.dmi', "filter-open") - if(bypassed) //should only be bypassed if unlocked - src.overlays += image('icons/obj/pipes2.dmi', "filter-bypass") \ No newline at end of file diff --git a/code/unused/powerarmor/powerarmor.dm b/code/unused/powerarmor/powerarmor.dm deleted file mode 100644 index d25dd4148d1..00000000000 --- a/code/unused/powerarmor/powerarmor.dm +++ /dev/null @@ -1,283 +0,0 @@ -/* - * File Updated to match /tg/station code standards on the 28/12/2013 (UK/GMT) by RobRichards - */ - -/obj/item/clothing/suit/space/powered - name = "Powered armor" - desc = "Not for rookies." - icon_state = "power_armour" - item_state = "swat" - w_class = 4//bulky item - - - flags = FPRINT | STOPSPRESSUREDMAGE | THICKMATERIAL - body_parts_covered = CHEST|LEGS|FEET|ARMS - armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/gun,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen) - slowdown = 9 - var/fuel = 0 - - var/list/togglearmor = list(melee = 90, bullet = 70, laser = 60,energy = 40, bomb = 75, bio = 75, rad = 75) - var/active = 0 - - var/helmrequired = 1 - var/obj/item/clothing/head/space/powered/helm - - var/glovesrequired = 0 - var/obj/item/clothing/gloves/powered/gloves - - var/shoesrequired = 0 - var/obj/item/clothing/shoes/powered/shoes - //Adding gloves and shoes as possible armor components. --NEO - - var/obj/item/powerarmor/servos/servos - var/obj/item/powerarmor/reactive/reactive - var/obj/item/powerarmor/atmoseal/atmoseal - var/obj/item/powerarmor/power/power - -/obj/item/clothing/suit/space/powered/New() - verbs += /obj/item/clothing/suit/space/powered/proc/poweron - -/obj/item/clothing/suit/space/powered/proc/poweron() - set category = "Object" - set name = "Activate armor systems" - - var/mob/living/carbon/human/user = usr - - if(user.stat) - return //if you're unconscious or dead, no dicking with your armor. --NEO - - if(!istype(user)) - user << "This suit was engineered for human use only." - return - - if(user.wear_suit!=src) - user << "The suit functions best if you are inside of it." - return - - if(helmrequired && !istype(user.head, /obj/item/clothing/head/space/powered)) - user << "Helmet missing, unable to initiate power-on procedure." - return - - if(glovesrequired && !istype(user.gloves, /obj/item/clothing/gloves/powered)) - user << "Gloves missing, unable to initiate power-on procedure." - return - - if(shoesrequired && !istype(user.shoes, /obj/item/clothing/shoes/powered)) - user << "Shoes missing, unable to initiate power-on procedure." - return - - if(active) - user << "The suit is already on, you can't turn it on twice." - return - - if(!power || !power.checkpower()) - user << "Powersource missing or depleted." - return - - verbs -= /obj/item/clothing/suit/space/powered/proc/poweron - - user << "Suit interlocks engaged." - if(helmrequired) - helm = user.head - helm.flags |= NODROP - if(glovesrequired) - gloves = user.gloves - gloves.flags |= NODROP - if(shoesrequired) - shoes = user.shoes - shoes.flags |= NODROP - flags |= NODROP - sleep(20) - - if(atmoseal) - atmoseal.toggle() - sleep(20) - - if(reactive) - reactive.toggle() - sleep(20) - - if(servos) - servos.toggle() - sleep(20) - - user << "All systems online." - active = 1 - power.process() - - verbs += /obj/item/clothing/suit/space/powered/proc/poweroff - - -/obj/item/clothing/suit/space/powered/proc/poweroff() - set category = "Object" - set name = "Deactivate armor systems" - powerdown() //BYOND doesn't seem to like it if you try using a proc with vars in it as a verb, hence this. --NEO - -/obj/item/clothing/suit/space/powered/proc/powerdown(sudden = 0) - - var/delay = sudden?0:20 - - var/mob/living/carbon/human/user = usr - - if(user.stat && !sudden) - return //if you're unconscious or dead, no dicking with your armor. --NEO - - if(!active) - return - - verbs -= /obj/item/clothing/suit/space/powered/proc/poweroff - - if(sudden) - user << "Your armor loses power!" - - if(servos) - servos.toggle(sudden) - sleep(delay) - - if(reactive) - reactive.toggle(sudden) - sleep(delay) - - if(atmoseal) - if(istype(atmoseal, /obj/item/powerarmor/atmoseal/optional) && helm) - var/obj/item/powerarmor/atmoseal/optional/Atmo_seal = atmoseal - Atmo_seal.helmtoggle(sudden) - atmoseal.toggle(sudden) - - sleep(delay) - - if(!sudden) - usr << "Suit interlocks disengaged." - if(helm) - helm.flags &= ~NODROP - helm = null - if(gloves) - gloves.flags &= ~NODROP - gloves = null - if(shoes) - shoes.flags &= ~NODROP - gloves = null - flags &= ~NODROP - //Not a tabbing error, the thing only unlocks if you intentionally power-down the armor. --NEO - sleep(delay) - - if(!sudden) - usr << "All systems disengaged." - - active = 0 - verbs += /obj/item/clothing/suit/space/powered/proc/poweron - - - -/obj/item/clothing/suit/space/powered/attackby(obj/item/weapon/W as obj, mob/user as mob) - if(power && istype(power,/obj/item/powerarmor/power/plasma)) - var/obj/item/powerarmor/power/plasma/Plasma_power = power - switch(W.type) - if(/obj/item/stack/sheet/mineral/plasma) - var/obj/item/stack/sheet/mineral/plasma/P = W - if(fuel < 50) - user << "You feed some refined plasma into the armor's generator." - Plasma_power.fuel += 25 - P.amount-- - if (P.amount <= 0) - del(P) - return - else - user << "The generator already has plenty of plasma." - return - - if(/obj/item/weapon/ore/plasma) //raw plasma has impurities, so it doesn't provide as much fuel. --NEO - if(fuel < 50) - user << "You feed some plasma into the armor's generator." - Plasma_power.fuel += 15 - del(W) - return - else - user << "The generator already has plenty of plasma." - return - - ..() - -/obj/item/clothing/head/space/powered - name = "Powered armor" - icon_state = "power_armour_helmet" - desc = "Not for rookies." - flags = FPRINT | HEADCOVERSEYES | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL | BLOCKHAIR - item_state = "swat" - armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) - var/obj/item/clothing/suit/space/powered/parent - -/obj/item/clothing/head/space/powered/proc/atmotoggle() - set category = "Object" - set name = "Toggle helmet seals" - - var/mob/living/carbon/human/user = usr - - if(!istype(user)) - user << "This helmet is engineered for human use." - return - if(user.head != src) - user << "Can't engage the seals without wearing the helmet." - return - - if(!user.wear_suit || !istype(user.wear_suit,/obj/item/clothing/suit/space/powered)) - user << "This helmet can only couple with powered armor." - return - - var/obj/item/clothing/suit/space/powered/armor = user.wear_suit - - if(!armor.atmoseal || !istype(armor.atmoseal, /obj/item/powerarmor/atmoseal/optional)) - user << "This armor's atmospheric seals are missing or incompatible." - return - - armor.atmoseal:helmtoggle(0,1) - - - -/obj/item/clothing/gloves/powered - name = "Powered armor" - icon_state = "power_armour_gloves" - desc = "Not for rookies." - flags = FPRINT - item_state = "swat" - armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) - -/obj/item/clothing/shoes/powered - name = "Powered armor" - icon_state = "power_armour_boots" - desc = "Not for rookies." - flags = FPRINT - item_state = "swat" - armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10) - - -obj/item/clothing/suit/space/powered/spawnable/badmin/New() - servos = new /obj/item/powerarmor/servos(src) - servos.parent = src - reactive = new /obj/item/powerarmor/reactive(src) - reactive.parent = src - atmoseal = new /obj/item/powerarmor/atmoseal/optional/adminbus(src) - atmoseal.parent = src - power = new /obj/item/powerarmor/power(src) - power.parent = src - - verbs += /obj/item/clothing/suit/space/powered/proc/poweron - - var/obj/item/clothing/head/space/powered/helm = new /obj/item/clothing/head/space/powered(src.loc) - helm.verbs += /obj/item/clothing/head/space/powered/proc/atmotoggle - -obj/item/clothing/suit/space/powered/spawnable/regular/New() - servos = new /obj/item/powerarmor/servos(src) - servos.parent = src - reactive = new /obj/item/powerarmor/reactive/Centcom(src) - reactive.parent = src - atmoseal = new /obj/item/powerarmor/atmoseal/optional/adminbus(src) - atmoseal.parent = src - power = new /obj/item/powerarmor/power(src) - power.parent = src - - verbs += /obj/item/clothing/suit/space/powered/proc/poweron - - var/obj/item/clothing/head/space/powered/helm = new /obj/item/clothing/head/space/powered(src.loc) - helm.verbs += /obj/item/clothing/head/space/powered/proc/atmotoggle diff --git a/code/unused/powerarmor/powerarmorcomponents.dm b/code/unused/powerarmor/powerarmorcomponents.dm deleted file mode 100644 index e4aa6ce7087..00000000000 --- a/code/unused/powerarmor/powerarmorcomponents.dm +++ /dev/null @@ -1,277 +0,0 @@ -/* - * File Updated to match /tg/station code standards on the 28/12/2013 (UK/GMT) by RobRichards - */ - -/obj/item/powerarmor - icon = 'icons/obj/PowerArmour.dmi' - icon_state = "Plates" - name = "Generic power armor component" - desc = "This is the base object, you should never see one." - var/obj/item/clothing/suit/space/powered/parent //so the component knows which armor it belongs to. - slowdown = 0 //how much the component slows down the wearer - -/obj/item/powerarmor/proc/toggle() - return - //The child objects will use this proc - - -/obj/item/powerarmor/power - name = "Adminbus power armor power source" - desc = "Runs on the rare Badminium molecule." - icon_state = "Plasma" - -/obj/item/powerarmor/process() - return - -/obj/item/powerarmor/proc/checkpower() - return 1 - -/obj/item/powerarmor/power/plasma - name = "Miniaturized plasma generator" - desc = "Runs on plasma." - slowdown = 1 - var/fuel = 0 - -/obj/item/powerarmor/power/plasma/process() - if (fuel > 0 && parent.active) - fuel-- - spawn(50) - process() - return - else if (parent.active) - parent.powerdown(1) - return - -/obj/item/powerarmor/power/plasma/checkpower() - return fuel - -/obj/item/powerarmor/power/powercell - icon_state = "Powercell" - name = "Powercell interface" - desc = "Boring, but reliable." - var/obj/item/weapon/stock_parts/cell/cell - slowdown = 0.5 - -/obj/item/powerarmor/power/powercell/process() - if (cell && cell.charge > 0 && parent.active) - cell.use(50) - spawn(50) - process() - return - else if (parent.active) - parent.powerdown(1) - return - -/obj/item/powerarmor/power/powercell/checkpower() - return max(cell.charge, 0) - -/obj/item/powerarmor/power/nuclear - icon_state = "Nuclear" - name = "Miniaturized nuclear generator" - desc = "For all your radioactive needs." - slowdown = 1.5 - -/obj/item/powerarmor/power/nuclear/process() - if(!crit_fail) - if(prob(src.reliability)) return 1 //No failure - if(prob(src.reliability)) - for (var/mob/M in range(0,src.parent)) //Only a minor failure, enjoy your radiation. - if(src.parent in M.contents) - M << "Your armor feels pleasantly warm for a moment." - else - M << "You feel a warm sensation." - M.radiation += rand(1,40) - else - for (var/mob/M in range(rand(1,4),src.parent)) //Big failure, TIME FOR RADIATION BITCHES - if (src.parent in M.contents) - M << "Your armor's reactor overloads!" - M << "You feel a wave of heat wash over you." - M.radiation += 100 - crit_fail = 1 //broken~ - parent.powerdown(1) - spawn(50) - process() - -/obj/item/powerarmor/power/nuclear/checkpower() - return !crit_fail - -/obj/item/powerarmor/reactive - icon_state = "Plates" - name = "Adminbus power armor reactive plating" - desc = "Made with the rare Badminium molecule." - var/list/togglearmor = list(melee = 250, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100) - //Good lord an active energy axe does 150 damage a swing? Anyway, barring var editing, this armor loadout should be impervious to anything. Enjoy, badmins~ --NEO - -/obj/item/powerarmor/reactive/toggle(sudden = 0) - switch(parent.active) - if(1) - if(!sudden) - usr << "Reactive armor systems disengaged." - if(0) - usr << "Reactive armor systems engaged." - var/list/switchover = list() - for (var/armorvar in parent.armor) - switchover[armorvar] = togglearmor[armorvar] - togglearmor[armorvar] = parent.armor[armorvar] - parent.armor[armorvar] = switchover[armorvar] - //Probably not the most elegant way to have the vars switch over, but it works. Also propagates the values to the other objects. - if(parent.helm) - parent.helm.armor[armorvar] = parent.armor[armorvar] - if(parent.gloves) - parent.gloves.armor[armorvar] = parent.armor[armorvar] - if(parent.shoes) - parent.shoes.armor[armorvar] = parent.armor[armorvar] - -/obj/item/powerarmor/reactive/Centcom - name = "Centcom power armor reactive plating" - desc = "Pretty effective against everything, not perfect though." - togglearmor = list(melee = 90, bullet = 70, laser = 60,energy = 40, bomb = 75, bio = 75, rad = 75) - slowdown = 2 - - -/obj/item/powerarmor/servos - icon_state = "Servo" - name = "Adminbus power armor movement servos" - desc = "Made with the rare Badminium molecule." - var/toggleslowdown = 9 - -/obj/item/powerarmor/servos/toggle(sudden = 0) - switch(parent.active) - if(1) - if(!sudden) - usr << "Movement assist servos disengaged." - parent.slowdown += toggleslowdown - if(0) - usr << "Movement assist servos engaged." - parent.slowdown -= toggleslowdown - -/obj/item/powerarmor/atmoseal - icon_state = "Tubes" - name = "Power armor atmospheric seals" - desc = "Keeps the bad stuff out." - slowdown = 1 - var/sealed = 0 - -/obj/item/powerarmor/atmoseal/toggle(sudden = 0) - switch(parent.active) - if(1) - if(!sudden) - usr << "Atmospheric seals disengaged." - parent.gas_transfer_coefficient = 1 - parent.permeability_coefficient = 1 - if(parent.helmrequired) - parent.helm.gas_transfer_coefficient = 1 - parent.helm.permeability_coefficient = 1 - parent.helm.cold_protection = initial(parent.helm.cold_protection) - parent.helm.min_cold_protection_temperature = initial(parent.helm.min_cold_protection_temperature) - parent.helm.heat_protection = initial(parent.helm.heat_protection) - parent.helm.max_heat_protection_temperature = initial(parent.helm.max_heat_protection_temperature) - if(parent.glovesrequired) - parent.gloves.gas_transfer_coefficient = 1 - parent.gloves.permeability_coefficient = 1 - parent.gloves.cold_protection = initial(parent.gloves.cold_protection) - parent.gloves.min_cold_protection_temperature = initial(parent.gloves.min_cold_protection_temperature) - parent.gloves.heat_protection = initial(parent.gloves.heat_protection) - parent.gloves.max_heat_protection_temperature = initial(parent.gloves.max_heat_protection_temperature) - if(parent.shoesrequired) - parent.shoes.gas_transfer_coefficient = 1 - parent.shoes.permeability_coefficient = 1 - parent.shoes.cold_protection = initial(parent.shoes.cold_protection) - parent.shoes.min_cold_protection_temperature = initial(parent.shoes.min_cold_protection_temperature) - parent.shoes.heat_protection = initial(parent.shoes.heat_protection) - parent.shoes.max_heat_protection_temperature = initial(parent.shoes.max_heat_protection_temperature) - sealed = 0 - - if(0) - usr << "Atmospheric seals engaged." - parent.gas_transfer_coefficient = 0.01 - parent.permeability_coefficient = 0.02 - if(parent.helmrequired) - parent.helm.gas_transfer_coefficient = 0.01 - parent.helm.permeability_coefficient = 0.02 - parent.helm.cold_protection = HEAD - parent.helm.min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT - parent.helm.heat_protection = HEAD - parent.helm.max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT - if(parent.glovesrequired) - parent.gloves.gas_transfer_coefficient = 0.01 - parent.gloves.permeability_coefficient = 0.02 - parent.gloves.cold_protection = HANDS - parent.gloves.min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT - parent.gloves.heat_protection = HANDS - parent.gloves.max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT - if(parent.shoesrequired) - parent.shoes.gas_transfer_coefficient = 0.01 - parent.shoes.permeability_coefficient = 0.02 - parent.shoes.cold_protection = FEET - parent.shoes.min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT - parent.shoes.heat_protection = FEET - parent.shoes.max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT - sealed = 1 - -/obj/item/powerarmor/atmoseal/adminbus - name = "Adminbus power armor atmospheric seals" - desc = "Made with the rare Badminium molecule." - slowdown = 0 - -/obj/item/powerarmor/atmoseal/optional - name = "Togglable power armor atmospheric seals" - desc = "Keeps the bad stuff out, but lets you remove your helmet without having to turn the whole suit off." - - -/obj/item/powerarmor/atmoseal/optional/proc/helmtoggle(sudden = 0, manual = 0) - var/mob/living/carbon/human/user = usr - var/obj/item/clothing/head/space/powered/helm - if(user.head && istype(user.head,/obj/item/clothing/head/space/powered)) - helm = user.head - - if(!sealed) - user << "Unable to initialize helmet seal, armor seals not active." - return - if(!helm.parent) - user << "Helmet locked." - helm.flags |= NODROP - parent.helm = helm - helm.parent = parent - sleep(20) - parent.helm.gas_transfer_coefficient = 0.01 - parent.helm.permeability_coefficient = 0.02 - parent.helm.cold_protection = HEAD - parent.helm.min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT - parent.helm.heat_protection = HEAD - parent.helm.max_heat_protection_temperature = SPACE_HELM_MAX_TEMP_PROTECT - - user << "Helmet atmospheric seals engaged." - if(manual) - for (var/armorvar in helm.armor) - helm.armor[armorvar] = parent.armor[armorvar] - return - else - if(manual) - user << "Helmet atmospheric seals disengaged." - parent.helm.gas_transfer_coefficient = 1 - parent.helm.permeability_coefficient = 1 - parent.helm.cold_protection = initial(parent.helm.cold_protection) - parent.helm.min_cold_protection_temperature = initial(parent.helm.min_cold_protection_temperature) - parent.helm.heat_protection = initial(parent.helm.heat_protection) - parent.helm.max_heat_protection_temperature = initial(parent.helm.max_heat_protection_temperature) - if(manual) - for (var/armorvar in helm.armor) - helm.armor[armorvar] = parent.reactive.togglearmor[armorvar] - if(!sudden) - if(manual) - sleep(20) - user << "Helmet unlocked." - helm.flags &= ~NODROP - parent.helm = null - helm.parent = null - - - -/obj/item/powerarmor/atmoseal/optional/adminbus - name = "Adminbus togglable power armor atmospheric seals" - desc = "Made with the rare Badminium molecule." - slowdown = 0 - - - diff --git a/code/unused/scrap.dm b/code/unused/scrap.dm deleted file mode 100644 index bd3dad3dba5..00000000000 --- a/code/unused/scrap.dm +++ /dev/null @@ -1,289 +0,0 @@ -// The scrap item -// a single object type represents all combinations of size and composition of scrap -// - - -/obj/item/scrap - name = "scrap" - icon = 'scrap.dmi' - icon_state = "1metal0" - item_state = "scrap-metal" - desc = "A piece of scrap" - var/classtext = "" - throwforce = 14.0 - m_amt = 0 - g_amt = 0 - w_amt = 0 - var/size = 1 // 1=piece, 2= few pieces, 3=small pile, 4=large pile - var/blood = 0 // 0=none, 1=blood-stained, 2=bloody - - throwforce = 8.0 - throw_speed = 1 - throw_range = 4 - w_class = 1 - flags = FPRINT | TABLEPASS | CONDUCT - -#define MAX_SCRAP 15000 // maximum content amount of a scrap pile - - -/obj/item/scrap/New() - src.verbs -= /atom/movable/verb/pull - ..() - update() - -// return a copy -/obj/item/scrap/proc/copy() - var/obj/item/scrap/ret = new() - ret.set_components(m_amt, g_amt, w_amt) - return ret - - -// set the metal, glass and waste content -/obj/item/scrap/proc/set_components(var/m, var/g, var/w) - m_amt = m - g_amt = g - w_amt = w - update() - -// returns the total amount of scrap in this pile -/obj/item/scrap/proc/total() - return m_amt + g_amt + w_amt - - -// sets the size, appearance, and description of the scrap depending on component amounts -/obj/item/scrap/proc/update() - var/total = total() - - - // determine size of pile - if(total<=400) - size = 1 - else if(total<=1600) - size = 2 - else - size = 3 - - w_class = size - - var/sizetext = "" - - switch(size) - if(1) - sizetext = "A piece of" - if(2) - sizetext = "A few pieces of" - if(3) - sizetext = "A pile of" - - // determine bloodiness - var/bloodtext = "" - switch(blood) - if(0) - bloodtext = "" - if(1) - bloodtext = "blood-stained " - if(2) - bloodtext = "bloody " - - - // find mixture and composition - var/class = 0 // 0 = mixed, 1=mostly. 2=pure - var/major = "waste" // the major component type - - var/max = 0 - - if(m_amt > max) - max = m_amt - else if(g_amt > max) - max = g_amt - else if(w_amt > max) - max = w_amt - - if(max == total) - class = 2 // pure - else if(max/total > 0.6) - class = 1 // mostly - else - class = 0 // mixed - - if(class>0) - var/remain = total - max - if(m_amt > remain) - major = "metal" - else if(g_amt > remain) - major = "glass" - else - major = "waste" - - - if(class == 1) - desc = "[sizetext] mostly [major] [bloodtext]scrap." - classtext = "mostly [major] [bloodtext]" - else - desc = "[sizetext] [bloodtext][major] scrap." - classtext = "[bloodtext][major] " - icon_state = "[size][major][blood]" - else - desc = "[sizetext] [bloodtext]mixed scrap." - classtext = "[bloodtext]mixed" - icon_state = "[size]mixed[blood]" - - if(size==0) - pixel_x = rand(-5,5) - pixel_y = rand(-5,5) - else - pixel_x = 0 - pixel_y = 0 - - // clear or set conduction flag depending on whether scrap is mostly metal - if(major=="metal") - flags |= CONDUCT - else - flags &= ~CONDUCT - - item_state = "scrap-[major]" - -// add a scrap item to this one -// if the resulting pile is too big, transfer only what will fit -// otherwise add them and deleted the added pile - -/obj/item/scrap/proc/add_scrap(var/obj/item/scrap/other, var/limit = MAX_SCRAP) - var/total = total() - var/other_total = other.total() - - if( (total + other_total) <= limit ) - m_amt += other.m_amt - g_amt += other.g_amt - w_amt += other.w_amt - - blood = (total*blood + other_total*other.blood) / (total + other_total) - del(other) - - else - var/space = limit - total - - var/m = round(other.m_amt/other_total*space, 1) - var/g = round(other.g_amt/other_total*space, 1) - var/w = round(other.w_amt/other_total*space, 1) - - m_amt += m - g_amt += g - w_amt += w - - other.m_amt -= m - other.g_amt -= g - other.w_amt -= w - - var/other_trans = m + g + w - other.update() - blood = (total*blood + other_trans*other.blood) / (total + other_trans) - - - blood = round(blood,1) - src.update() - -// limit this pile to maximum size -// return any remainder as a new scrap item (or null if none) -// note return item is not necessarily smaller than max size - -/obj/item/scrap/proc/remainder(var/limit = MAX_SCRAP) - var/total = total() - if(total > limit) - var/m = round( m_amt/total * limit, 1) - var/g = round( g_amt/total * limit, 1) - var/w = round( w_amt/total * limit, 1) - - var/obj/item/scrap/S = new() - S.set_components(m_amt - m,g_amt - g,w_amt - w) - src.set_components(m,g,w) - - return S - return null - -// if other pile of scrap tries to enter the same turf, then add that pile to this one - -/obj/item/scrap/CanPass(var/obj/item/scrap/O) - - if(istype(O)) - - src.add_scrap(O) - if(O) - return 0 // O still exists if not all could be transfered, so block it - return 1 - -/obj/item/scrap/proc/to_text() - return "[m_amt],[g_amt],[w_amt] ([total()])" - - -// attack with hand removes a single piece from a pile -/obj/item/scrap/attack_hand(mob/user) - add_fingerprint(user) - if(src.is_single_piece()) - return ..(user) - var/obj/item/scrap/S = src.get_single_piece() - S.attack_hand(user) - return - - -/obj/item/scrap/attackby(obj/item/I, mob/user) - ..() - if(istype(I, /obj/item/scrap)) - var/obj/item/scrap/S = I - if( (S.total()+src.total() ) > MAX_SCRAP ) - user << "The pile is full." - return - if(ismob(src.loc)) // can't combine scrap in hand - return - - src.add_scrap(S) - -// when dropped, try to make a pile if scrap is already there -/obj/item/scrap/dropped() - - spawn(2) // delay to allow drop postprocessing (since src may be destroyed) - for(var/obj/item/scrap/S in oview(0,src)) // excludes src itself - S.add_scrap(src) - -// return true if this is a single piece of scrap -// must be total<=400 and of single composition -/obj/item/scrap/proc/is_single_piece() - if(total() > 400) - return 0 - - var/empty = (m_amt == 0) + (g_amt == 0) + (w_amt == 0) - - return (empty==2) // must be 2 components with zero amount - - -// get a single piece of scrap from a pile -/obj/item/scrap/proc/get_single_piece() - - var/obj/item/scrap/S = new() - - var/cmp = pick(m_amt;1 , g_amt;2, w_amt;3) - - var/amount = 400 - switch(cmp) - if(1) - if(m_amt < amount) - amount = m_amt - - S.set_components(amount, 0, 0) - src.set_components(m_amt - amount, g_amt, w_amt) - - if(2) - if(g_amt < amount) - amount = g_amt - S.set_components(0, amount, 0) - src.set_components(m_amt, g_amt - amount, w_amt) - - if(3) - if(w_amt < amount) - amount = w_amt - S.set_components(0, 0, amount) - src.set_components(m_amt, g_amt, w_amt - amount) - - - return S - - diff --git a/code/unused/shuttle_engines.dm b/code/unused/shuttle_engines.dm deleted file mode 100644 index 457154db0f2..00000000000 --- a/code/unused/shuttle_engines.dm +++ /dev/null @@ -1,37 +0,0 @@ - -/obj/structure/shuttle - name = "shuttle" - icon = 'icons/turf/shuttle.dmi' - -/obj/structure/shuttle/engine - name = "engine" - density = 1 - anchored = 1.0 - -/obj/structure/shuttle/engine/heater - name = "heater" - icon_state = "heater" - -/obj/structure/shuttle/engine/platform - name = "platform" - icon_state = "platform" - -/obj/structure/shuttle/engine/propulsion - name = "propulsion" - icon_state = "propulsion" - opacity = 1 - -/obj/structure/shuttle/engine/propulsion/burst - name = "burst" - -/obj/structure/shuttle/engine/propulsion/burst/left - name = "left" - icon_state = "burst_l" - -/obj/structure/shuttle/engine/propulsion/burst/right - name = "right" - icon_state = "burst_r" - -/obj/structure/shuttle/engine/router - name = "router" - icon_state = "router" diff --git a/code/unused/siphs.dm b/code/unused/siphs.dm deleted file mode 100644 index 6104b3bc2d6..00000000000 --- a/code/unused/siphs.dm +++ /dev/null @@ -1,515 +0,0 @@ -/obj/machinery/atmoalter/siphs/New() - ..() - src.gas = new /datum/gas_mixture() - - return - -/obj/machinery/atmoalter/siphs/proc/releaseall() - src.t_status = 1 - src.t_per = max_valve - return - -/obj/machinery/atmoalter/siphs/proc/reset(valve, auto) - if(c_status!=0) - return - - if (valve < 0) - src.t_per = -valve - src.t_status = 1 - else - if (valve > 0) - src.t_per = valve - src.t_status = 2 - else - src.t_status = 3 - if (auto) - src.t_status = 4 - src.setstate() - return - -/obj/machinery/atmoalter/siphs/proc/release(amount, flag) - /* - var/T = src.loc - if (!( istype(T, /turf) )) - return - if (locate(/obj/move, T)) - T = locate(/obj/move, T) - if (!( amount )) - return - if (!( flag )) - amount = min(amount, max_valve) - src.gas.turf_add(T, amount) - return - */ //TODO: FIX - -/obj/machinery/atmoalter/siphs/proc/siphon(amount, flag) - /* - var/T = src.loc - if (!( istype(T, /turf) )) - return - if (locate(/obj/move, T)) - T = locate(/obj/move, T) - if (!( amount )) - return - if (!( flag )) - amount = min(amount, 900000.0) - src.gas.turf_take(T, amount) - return - */ //TODO: FIX - -/obj/machinery/atmoalter/siphs/proc/setstate() - - if(stat & NOPOWER) - icon_state = "siphon:0" - return - - if (src.holding) - src.icon_state = "siphon:T" - else - if (src.t_status != 3) - src.icon_state = "siphon:1" - else - src.icon_state = "siphon:0" - return - -/obj/machinery/atmoalter/siphs/fullairsiphon/New() - /* - ..() - if(!empty) - src.gas.oxygen = 2.73E7 - src.gas.n2 = 1.027E8 - return - */ //TODO: FIX - -/obj/machinery/atmoalter/siphs/fullairsiphon/port/reset(valve, auto) - - if (valve < 0) - src.t_per = -valve - src.t_status = 1 - else - if (valve > 0) - src.t_per = valve - src.t_status = 2 - else - src.t_status = 3 - if (auto) - src.t_status = 4 - src.setstate() - return - -/obj/machinery/atmoalter/siphs/fullairsiphon/air_vent/attackby(W as obj, user as mob) - - if (istype(W, /obj/item/weapon/screwdriver)) - if (src.c_status) - src.anchored = 1 - src.c_status = 0 - else - if (locate(/obj/machinery/connector, src.loc)) - src.anchored = 1 - src.c_status = 3 - else - if (istype(W, /obj/item/weapon/wrench)) - src.alterable = !( src.alterable ) - return - -/obj/machinery/atmoalter/siphs/fullairsiphon/air_vent/setstate() - - - if(stat & NOPOWER) - icon_state = "vent-p" - return - - if (src.t_status == 4) - src.icon_state = "vent2" - else - if (src.t_status == 3) - src.icon_state = "vent0" - else - src.icon_state = "vent1" - return - -/obj/machinery/atmoalter/siphs/fullairsiphon/air_vent/reset(valve, auto) - - if (auto) - src.t_status = 4 - return - -/obj/machinery/atmoalter/siphs/scrubbers/process() - /* - if(stat & NOPOWER) return - - if(src.gas.temperature >= 3000) - src.melt() - - if (src.t_status != 3) - var/turf/T = src.loc - if (istype(T, /turf)) - if (locate(/obj/move, T)) - T = locate(/obj/move, T) - if (T.firelevel < 900000.0) - src.gas.turf_add_all_oxy(T) - - else - T = null - switch(src.t_status) - if(1.0) - if( !portable() ) use_power(50, ENVIRON) - if (src.holding) - var/t1 = src.gas.total_moles() - var/t2 = t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.holding.gas.transfer_from(src.gas, t) - else - if (T) - var/t1 = src.gas.total_moles() - var/t2 = t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.gas.turf_add(T, t) - if(2.0) - if( !portable() ) use_power(50, ENVIRON) - if (src.holding) - var/t1 = src.gas.total_moles() - var/t2 = src.maximum - t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.gas.transfer_from(src.holding.gas, t) - else - if (T) - var/t1 = src.gas.total_moles() - var/t2 = src.maximum - t1 - var/t = src.t_per - if (t > t2) - t = t2 - src.gas.turf_take(T, t) - if(4.0) - if( !portable() ) use_power(50, ENVIRON) - if (T) - if (T.firelevel > 900000.0) - src.f_time = world.time + 400 - else - if (world.time > src.f_time) - src.gas.extract_toxs(T) - if( !portable() ) use_power(150, ENVIRON) - var/contain = src.gas.total_moles() - if (contain > 1.3E8) - src.gas.turf_add(T, 1.3E8 - contain) - - src.setstate() - src.updateDialog() - return - */ //TODO: FIX - -/obj/machinery/atmoalter/siphs/scrubbers/air_filter/setstate() - - if(stat & NOPOWER) - icon_state = "vent-p" - return - - if (src.t_status == 4) - src.icon_state = "vent2" - else - if (src.t_status == 3) - src.icon_state = "vent0" - else - src.icon_state = "vent1" - return - -/obj/machinery/atmoalter/siphs/scrubbers/air_filter/attackby(W as obj, user as mob) - - if (istype(W, /obj/item/weapon/screwdriver)) - if (src.c_status) - src.anchored = 1 - src.c_status = 0 - else - if (locate(/obj/machinery/connector, src.loc)) - src.anchored = 1 - src.c_status = 3 - else - if (istype(W, /obj/item/weapon/wrench)) - src.alterable = !( src.alterable ) - return - -/obj/machinery/atmoalter/siphs/scrubbers/air_filter/reset(valve, auto) - - if (auto) - src.t_status = 4 - src.setstate() - return - -/obj/machinery/atmoalter/siphs/scrubbers/port/setstate() - - if(stat & NOPOWER) - icon_state = "scrubber:0" - return - - if (src.holding) - src.icon_state = "scrubber:T" - else - if (src.t_status != 3) - src.icon_state = "scrubber:1" - else - src.icon_state = "scrubber:0" - return - -/obj/machinery/atmoalter/siphs/scrubbers/port/reset(valve, auto) - - if (valve < 0) - src.t_per = -valve - src.t_status = 1 - else - if (valve > 0) - src.t_per = valve - src.t_status = 2 - else - src.t_status = 3 - if (auto) - src.t_status = 4 - src.setstate() - return - -//true if the siphon is portable (therfore no power needed) - -/obj/machinery/proc/portable() - return istype(src, /obj/machinery/atmoalter/siphs/fullairsiphon/port) || istype(src, /obj/machinery/atmoalter/siphs/scrubbers/port) - -/obj/machinery/atmoalter/siphs/power_change() - - if( portable() ) - return - - if(!powered(ENVIRON)) - spawn(rand(0,15)) - stat |= NOPOWER - setstate() - else - stat &= ~NOPOWER - setstate() - - -/obj/machinery/atmoalter/siphs/process() - /* -// var/dbg = (suffix=="d") && Debug - - if(stat & NOPOWER) return - - if (src.t_status != 3) - var/turf/T = src.loc - if (istype(T, /turf)) - if (locate(/obj/move, T)) - T = locate(/obj/move, T) - else - T = null - switch(src.t_status) - if(1.0) - if( !portable() ) use_power(50, ENVIRON) - if (src.holding) - var/t1 = src.gas.total_moles() - var/t2 = t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.holding.gas.transfer_from(src.gas, t) - else - if (T) - var/t1 = src.gas.total_moles() - var/t2 = t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.gas.turf_add(T, t) - if(2.0) - if( !portable() ) use_power(50, ENVIRON) - if (src.holding) - var/t1 = src.gas.total_moles() - var/t2 = src.maximum - t1 - var/t = src.t_per - if (src.t_per > t2) - t = t2 - src.gas.transfer_from(src.holding.gas, t) - else - if (T) - var/t1 = src.gas.total_moles() - var/t2 = src.maximum - t1 - var/t = src.t_per - if (t > t2) - t = t2 - //var/g = gas.total_moles() - //if(dbg) world.log << "VP0 : [t] from turf: [gas.total_moles()]" - //if(dbg) Air() - - src.gas.turf_take(T, t) - //if(dbg) world.log << "VP1 : now [gas.total_moles()]" - - //if(dbg) world.log << "[gas.total_moles()-g] ([t]) from turf to siph" - - //if(dbg) Air() - if(4.0) - if( !portable() ) - use_power(50, ENVIRON) - - if (T) - if (T.firelevel > 900000.0) - src.f_time = world.time + 300 - else - if (world.time > src.f_time) - var/difference = CELLSTANDARD - (T.oxygen + T.n2) - if (difference > 0) - var/t1 = src.gas.total_moles() - if (difference > t1) - difference = t1 - src.gas.turf_add(T, difference) - - src.updateDialog() - - src.setstate() - return - */ //TODO: FIX - -/obj/machinery/atmoalter/siphs/attack_ai(user as mob) - return src.attack_hand(user) - -/obj/machinery/atmoalter/siphs/attack_paw(user as mob) - - return src.attack_hand(user) - return - -/obj/machinery/atmoalter/siphs/attack_hand(var/mob/user as mob) - - if(stat & NOPOWER) return - - if(src.portable() && istype(user, /mob/living/silicon/ai)) //AI can't use portable siphons - return - - user.machine = src - var/tt - switch(src.t_status) - if(1.0) - tt = text("Releasing Siphon Stop", src, src) - if(2.0) - tt = text("Release Siphoning Stop", src, src) - if(3.0) - tt = text("Release Siphon Stopped Automatic", src, src, src) - else - tt = "Automatic equalizers are on!" - var/ct = null - switch(src.c_status) - if(1.0) - ct = text("Releasing Accept Stop", src, src) - if(2.0) - ct = text("Release Accepting Stop", src, src) - if(3.0) - ct = text("Release Accept Stopped", src, src) - else - ct = "Disconnected" - var/at = null - if (src.t_status == 4) - at = text("Automatic On Stop", src) - var/dat = text("Canister Valves []
      \n\tContains/Capacity [] / []
      \n\tUpper Valve Status: [] []
      \n\t\tM - - - - [] + + + + M
      \n\tPipe Valve Status: []
      \n\t\tM - - - - [] + + + + M
      \n
      \n\nClose
      \n\t
      ", (!( src.alterable ) ? "Valves are locked. Unlock with wrench!" : "You can lock this interface with a wrench."), num2text(src.gas.return_pressure(), 10), num2text(src.maximum, 10), (src.t_status == 4 ? text("[]", at) : text("[]", tt)), (src.holding ? text("
      (Tank ([])", src, src.holding.air_contents.return_pressure()) : null), src, num2text(max_valve, 7), src, src, src, src, src.t_per, src, src, src, src, src, num2text(max_valve, 7), ct, src, num2text(max_valve, 7), src, src, src, src, src.c_per, src, src, src, src, src, num2text(max_valve, 7), user) - user << browse(dat, "window=siphon;size=600x300") - onclose(user, "siphon") - return - -/obj/machinery/atmoalter/siphs/Topic(href, href_list) - ..() - - if (usr.stat || usr.restrained()) - return - if ((!( src.alterable )) && (!istype(usr, /mob/living/silicon/ai))) - return - if (((get_dist(src, usr) <= 1 || usr.telekinesis == 1) && istype(src.loc, /turf)) || (istype(usr, /mob/living/silicon/ai))) - usr.machine = src - if (href_list["c"]) - var/c = text2num(href_list["c"]) - switch(c) - if(1.0) - src.c_status = 1 - if(2.0) - src.c_status = 2 - if(3.0) - src.c_status = 3 - else - else - if (href_list["t"]) - var/t = text2num(href_list["t"]) - if (src.t_status == 0) - return - switch(t) - if(1.0) - src.t_status = 1 - if(2.0) - src.t_status = 2 - if(3.0) - src.t_status = 3 - if(4.0) - src.t_status = 4 - src.f_time = 1 - else - else - if (href_list["tp"]) - var/tp = text2num(href_list["tp"]) - src.t_per += tp - src.t_per = min(max(round(src.t_per), 0), max_valve) - else - if (href_list["cp"]) - var/cp = text2num(href_list["cp"]) - src.c_per += cp - src.c_per = min(max(round(src.c_per), 0), max_valve) - else - if (href_list["tank"]) - var/cp = text2num(href_list["tank"]) - if (cp == 1) - src.holding.loc = src.loc - src.holding = null - if (src.t_status == 2) - src.t_status = 3 - src.updateUsrDialog() - - src.add_fingerprint(usr) - else - usr << browse(null, "window=canister") - return - return - -/obj/machinery/atmoalter/siphs/attackby(var/obj/W as obj, mob/user as mob) - - if (istype(W, /obj/item/weapon/tank)) - if (src.holding) - return - var/obj/item/weapon/tank/T = W - user.drop_item() - T.loc = src - src.holding = T - else - if (istype(W, /obj/item/weapon/screwdriver)) - var/obj/machinery/connector/con = locate(/obj/machinery/connector, src.loc) - if (src.c_status) - src.anchored = 0 - src.c_status = 0 - user.show_message("\blue You have disconnected the siphon.") - if(con) - con.connected = null - else - if (con && !con.connected) - src.anchored = 1 - src.c_status = 3 - user.show_message("\blue You have connected the siphon.") - con.connected = src - else - user.show_message("\blue There is nothing here to connect to the siphon.") - - - else - if (istype(W, /obj/item/weapon/wrench)) - src.alterable = !( src.alterable ) - if (src.alterable) - user << "\blue You unlock the interface!" - else - user << "\blue You lock the interface!" - return - - diff --git a/code/unused/spacecraft/manufacturing.dm b/code/unused/spacecraft/manufacturing.dm deleted file mode 100644 index 9036407ac5e..00000000000 --- a/code/unused/spacecraft/manufacturing.dm +++ /dev/null @@ -1,247 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 - -// Entirely unfinished. Mostly just bouncing ideas off the code. - - -// Smelting -// Grinding -// Spraying -// Crate - -/obj/deploycrate - icon = 'icons/obj/mining.dmi' - icon_state = "deploycrate" - density = 1 - var/payload - -/obj/deploycrate/attack_hand(mob/user as mob) - switch(payload) - if(null) - return - //if("cloner") - // make a cloner - // blah blah - for (var/mob/V in hearers(src)) - V.show_message("[src] lets out a pneumatic hiss, its panels rapdily unfolding and expanding to produce its payload.", 2) - del(src) - - -/obj/machinery/nanosprayer - icon = 'icons/obj/mining.dmi' - icon_state = "sprayer" - density = 1 - anchored = 1 - var/payload - var/hacked = 0 - var/temp = 100 - - var/usr_density = 5 - var/usr_lastupdate = 0 - - var/time_started = 0 - - var/points = 0 - var/totalpoints = 0 - - var/state = 0 // 0 - Idle, 1 - Spraying, 2 - Done, 3 - Overheated - -obj/machinery/nanosprayer/proc/update_temp() - // 1 second : 1 degree - if(src.state == 0) - var/diff = (world.time - usr_lastupdate) * 10 - temp -= diff - if(temp < 100) - temp = 100 - usr_lastupdate = world.time - return temp - else if(src.state == 1) - var/diff = (world.time - usr_lastupdate) * 10 - diff = diff * usr_density - temp += diff - usr_lastupdate = world.time - return temp - -obj/machinery/nanosprayer/process() - src.time_started = world.time - totalpoints = lentext(payload) * rand(5,10) - if(!totalpoints) - totalpoints = 1 - while(src.state == 1) - // Each unit of cost is 20 seconds - density - temp += density * rand(1,4) - sleep(200 - (usr_density * 10)) - if(src.temp > 350) - src.state = 3 - src.overheat() - return 0 - points += usr_density - if(points >= totalpoints) - src.state = 2 - src.complete() - return 1 - - -obj/machinery/nanosprayer/proc/cooldown() - while(state != 1) - sleep(200) - temp -= rand(5,20) - if(temp < 100) - temp = 100 - return - -obj/machinery/nanosprayer/proc/overheat() - return - -obj/machinery/nanosprayer/proc/complete() - src.totalpoints = 0 - src.points = 0 - spawn() cooldown() - return - -obj/machinery/nanosprayer/attack_hand(user as mob) - var/dat - if(..()) - return - dat += text("Core Temp: [temp]�C
      ") - dat += text("Nanocloud Density: [usr_density] million
      ") - dat += text("\[- / +\]
      ") - if(payload) - dat += text("
      Task: [payload]
      ") - switch(state) - if(0) - dat += text("Status: Idling
      ") - if(1) - dat += text("Status: Spraying
      ") - if(2) - dat += text("Status: Spray Task Complete
      ") - if(3) - dat += text("Status: OVERHEATED
      ") - if(state == 1) - if(points <= 0) - points = 1 - var/complete = (points * 100)/totalpoints - if(complete < 0) - complete = 0 - if(complete > 100) - complete = 100 - dat += text("Progress: [complete]%
      ") - if(state == 2) - dat += text("Progress: 100%
      ") - dat += text("\[Release Payload\]
      ") - dat += text("

      Set Task
      ") - dat += text("Start Spray
      ") - dat += text("Cancel Spray") - dat += text("

      Refresh") - user << browse("NANO SPRAY 1.1[dat]", "window=nanosprayer") - onclose(user, "nanosprayer") - -obj/machinery/nanosprayer/Topic(href, href_list) - if(..()) - return - usr.machine = src - src.add_fingerprint(usr) - if(href_list["plus"]) - usr_density += 1 - if(href_list["minus"]) - usr_density -= 1 - if(usr_density < 1) - usr_density = 1 - if(href_list["start"]) - if(state == 0) - state = 1 - spawn() src.process() - if(href_list["stop"]) - if(state == 1) - state = 0 - points = 0 - totalpoints = 0 - spawn() cooldown() - if(href_list["settask"]) - if(state == 0) - var/temppayload = input("Set a Task:", "Job Assignment") as text|null - if(temppayload) - payload = temppayload - //if(href_list["release"]) - // if(state == 2) - // Create the crate somewhere - src.updateUsrDialog() - -/obj/machinery/smelter - icon = 'icons/obj/mining.dmi' - icon_state = "sprayer" - density = 1 - anchored = 1 - var/locked = 0 - var/closed = 0 - var/state = 0 // 0 - Idle, 1 - Smelt, 2 - Cool, 3 - Clean - var/slag = 0 - var/hacked = 0 - -obj/machinery/smelter/attack_hand(user as mob) - var/dat - if(..()) - return - dat += text("

      Smelt-o-Matic Control Interface

      ") - dat += text("The red light is [src.closed ? "off" : "on"].
      ") - dat += text("The green light is [src.locked ? "on" : "off"].
      ") - switch(slag) - if(0) - dat += text("The meter is resting at zero.
      ") - if(1 to 2) - dat += text("The meter is wobbling at the mid-point marker.
      ") - if(3) - dat += text("The meter strains, displaying its maximum value.
      ") - else - dat += text("The meter has broken.
      ") - switch(state) - if(0) - dat += text("Status:Idle
      ") - if(1) - dat += text("Status:Smelting
      ") - if(2) - dat += text("Status:Cooling
      ") - if(3) - dat += text("Status:Cleaning
      ") - dat += text("

      Turn key [src.locked ? "to upper-left position" : "to upper-right position"]
      ") - dat += text("Flip switch [src.closed ? "up" : "down"]
      ") - dat += text("Push large flashing yellow button
      ") - user << browse("SMELTOMATIC[dat]", "window=smelter") - onclose(user, "smelter") - - -obj/machinery/smelter/Topic(href, href_list) - if(..()) - return - usr.machine = src - src.add_fingerprint(usr) - if(href_list["key"]) - src.locked = !src.locked - if(href_list["switch"]) - src.closed = !src.closed - if(href_list["button"]) - //Do stuff to actually smelt shit or something I don't know - return - src.updateUsrDialog() - - -/obj/machinery/slaggrinder - icon = 'icons/obj/mining.dmi' - - density = 1 - anchored = 1 - - - -/obj/machinery/adminmachine - icon = 'icons/obj/mining.dmi' - icon_state = "sprayer" - density = 1 - anchored = 1 - - var/gameticker - var/gameworld - - New() - ..() - gameticker = ticker - gameworld = world diff --git a/code/unused/spacecraft/shipcore.dm b/code/unused/spacecraft/shipcore.dm deleted file mode 100644 index ee6a843d399..00000000000 --- a/code/unused/spacecraft/shipcore.dm +++ /dev/null @@ -1,348 +0,0 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 - -/obj/machinery/shipcore - icon = 'craft.dmi' - icon_state = "core" - density = 1 - - var/width = 6 - var/height = 8 - var/list/turfs = list() - var/list/builders - var/list/components = list() - var/build_status = "unbuilt" - - - proc/group_self() - builders = list() - turfs = list() - components = list() - - src.anchored = 1 - - var/obj/ship_builder/L = new(locate(src.x, src.y, src.z)) - L.dir = WEST - L.distance = width/2 - L.core = src - - var/obj/ship_builder/R = new(locate(src.x+1, src.y, src.z)) - R.dir = EAST - R.distance = (width/2)-1 - R.core = src - - builders.Add(L, R) - - spawn() L.scan() - spawn() R.scan() - - var/h - for(h=1, h[src.wires[wire] ? "Mend" : "Cut"] Pulse
      ") - - dat += text("The red light is [src.disabled ? "off" : "on"].
      ") - dat += text("The green light is [src.shocked ? "off" : "on"].
      ") - dat += text("The blue light is [src.hacked ? "off" : "on"].
      ") -*/ - switch(src.build_status) - if("unbuilt") - dat += "

      Core Status: Undeployed


      " - dat += "Build Ship
      " - if("built") - dat += "

      Core Status: Deployed


      " - dat += "Move
      " - if("rebuilding") - dat += "

      Core Status: Recalibrating


      " - user << browse("Ship Core[dat]","window=shipcore") - onclose(user, "shipcore") - return - user << browse("Ship Core Control Panel[dat]", "window=shipcore") - onclose(user, "shipcore") - return - -obj/machinery/shipcore/Topic(href, href_list) - if(..()) - return - usr.machine = src - src.add_fingerprint(usr) - if(href_list["groupself"]) - src.group_self() - if (href_list["move"]) - var/list/beacons = list() - for(var/obj/effect/ship_landing_beacon/b in world) - if(istype(b, /obj/effect/ship_landing_beacon)) - if(b.active) - beacons.Add(b) - if(!beacons.len) - return - var/obj/choice = input("Choose a beacon to land at.", "Beacon Selection") in beacons - if(choice) - src.MoveShip(choice.loc) - - for(var/mob/M in viewers(1, src)) - if ((M.client && M.machine == src)) - src.attack_hand(M) - src.updateUsrDialog() - return - - - -obj/machinery/ship_component - name = "ship component" - icon = 'craft.dmi' - var/obj/machinery/shipcore/core - var/required_draw = 0 - var/active = 1 - - proc - draw_power(var/n as num) - if(!n) - n = required_draw - if(core.draw_power(n)) - return 1 - else - return 0 - -obj/machinery/ship_component/thruster - name = "thruster" - icon_state = "thruster" - density = 1 - opacity = 1 - - var/cooldown = 600 // In 1/10th seconds - var/lastused - var/ready = 0 - required_draw = 100 - - proc - check_ready() - if(ready) - return 1 - if(lastused + cooldown <= world.time) - for(var/turf/T in range(1,src)) - if(istype(T, /turf/space)) - src.ready = 1 - break - else - src.ready = 0 - return src.ready - - fire() - src.check_ready() - if(!ready) - return 0 - if(src.draw_power()) - src.ready = 0 - src.lastused = world.time - return 1 - else - return 0 - -obj/machinery/ship_component/engine - name = "engine" - icon_state = "engine" - density = 1 - opacity = 1 - - var/charge = 1000 - var/capacity = 1000 - - draw_power(var/n as num) - if(charge >= n) - charge -= n - return 1 - else - return 0 - -obj/machinery/ship_component/control_panel - name = "control panel" - icon_state = "controlpanel" - density = 1 - opacity = 0 - - attack_hand(user as mob) - var/dat - if(..()) - return - if(!src.core) - dat += "No linked core found. Deploy ship core first." - else - dat += "Ship Status: [src.core.build_status]

      " - dat += "

      Installed Components:



      " - dat += "" - for(var/obj/machinery/ship_component/C in core.components) - dat += "" - if(istype(C, /obj/machinery/ship_component/engine)) - dat += "" - if(istype(C, /obj/machinery/ship_component/thruster)) - dat += "" - dat += "
      [C.name][C.active ? "Active" : "Inactive"]
      Fuel: [C:charge]/[C:capacity]
      Status: [C:check_ready() ? "Ready" : "On Cooldown"]
      " - user << browse("Ship Controls[dat]","window=shipcontrols") - onclose(user, "shipcontrols") - - Topic(href, href_list) - if(..()) - return - usr.machine = src - src.add_fingerprint(usr) - - - - - - - - -/obj/ship_builder - icon = 'craft.dmi' - icon_state = "builder" - density = 0 - opacity = 0 - - var/obj/machinery/shipcore/core - var/distance = 0 - - proc/scan() - if(distance < 0) - cleanup_self() - var/i - for(i=0, iworld.maxx-4 || T.x<4) continue //putting them at the edge is dumb - if(T.y>world.maxy-4 || T.y<4) continue - turfs += T - if(!turfs.len) turfs += pick(/turf in orange(6)) - var/datum/effect/effect/system/harmless_smoke_spread/smoke = new /datum/effect/effect/system/harmless_smoke_spread() - smoke.set_up(10, 0, usr.loc) - smoke.start() - var/turf/picked = pick(turfs) - if(!isturf(picked)) return - usr.loc = picked - usr.verbs -= /client/proc/blink - spawn(40) - usr.verbs += /client/proc/blink - -//TELEPORT - -/mob/proc/teleport() - set category = "Spells" - set name = "Teleport" - set desc = "This spell teleports you to a type of area of your selection." - if(usr.stat) - src << "Not when you are incapacitated." - return - if(!usr.casting()) return - var/A - usr.verbs -= /mob/proc/teleport -/* - var/list/theareas = new/list() - for(var/area/AR in world) - if(istype(AR, /area/shuttle) || istype(AR, /area/syndicate_station)) continue - if(theareas.Find(AR.name)) continue - var/turf/picked = pick(get_area_turfs(AR.type)) - if (picked.z == src.z) - theareas += AR.name - theareas[AR.name] = AR -*/ - - A = input("Area to jump to", "BOOYEA", A) in teleportlocs - - spawn(600) - usr.verbs += /mob/proc/teleport - - var/area/thearea = teleportlocs[A] - - usr.say("SCYAR NILA [uppertext(A)]") - - var/datum/effect/effect/system/harmless_smoke_spread/smoke = new /datum/effect/effect/system/harmless_smoke_spread() - smoke.set_up(5, 0, usr.loc) - smoke.attach(usr) - smoke.start() - var/list/L = list() - for(var/turf/T in get_area_turfs(thearea.type)) - if(!T.density) - var/clear = 1 - for(var/obj/O in T) - if(O.density) - clear = 0 - break - if(clear) - L+=T - - if(!L.len) - usr <<"The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry." - return - - var/attempt = 0 - var/success = 0 - while(!success) - success = Move(pick(L)) - if(attempt > 20) break //Failsafe - if(!success) - usr.loc = pick(L) - - smoke.start() - - -//JAUNT - -/client/proc/jaunt() - set category = "Spells" - set name = "Ethereal Jaunt" - set desc = "This spell creates your ethereal form, temporarily making you invisible and able to pass through walls." - if(usr.stat) - src << "Not when you are incapacitated." - return - if(!usr.casting()) return - usr.verbs -= /client/proc/jaunt - spawn(300) - usr.verbs += /client/proc/jaunt - spell_jaunt(usr) - -/proc/spell_jaunt(var/mob/H, time = 50) - if(H.stat) return - spawn(0) - var/mobloc = get_turf(H.loc) - var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt( mobloc ) - var/atom/movable/overlay/animation = new /atom/movable/overlay( mobloc ) - animation.name = "water" - animation.density = 0 - animation.anchored = 1 - animation.icon = 'icons/mob/mob.dmi' - animation.icon_state = "liquify" - animation.layer = 5 - animation.master = holder - flick("liquify",animation) - H.loc = holder - H.client.eye = holder - var/datum/effect/effect/system/steam_spread/steam = new /datum/effect/effect/system/steam_spread() - steam.set_up(10, 0, mobloc) - steam.start() - sleep(time) - mobloc = get_turf(H.loc) - animation.loc = mobloc - steam.location = mobloc - steam.start() - H.canmove = 0 - sleep(20) - flick("reappear",animation) - sleep(5) - if(!H.Move(mobloc)) - for(var/direction in list(1,2,4,8,5,6,9,10)) - var/turf/T = get_step(mobloc, direction) - if(T) - if(H.Move(T)) - break - H.canmove = 1 - H.client.eye = H - del(animation) - del(holder) -/* -/obj/effect/dummy/spell_jaunt - name = "water" - icon = 'icons/effects/effects.dmi' - icon_state = "nothing" - var/canmove = 1 - density = 0 - anchored = 1 - -/obj/effect/dummy/spell_jaunt/relaymove(var/mob/user, direction) - if (!src.canmove) return - switch(direction) - if(NORTH) - src.y++ - if(SOUTH) - src.y-- - if(EAST) - src.x++ - if(WEST) - src.x-- - if(NORTHEAST) - src.y++ - src.x++ - if(NORTHWEST) - src.y++ - src.x-- - if(SOUTHEAST) - src.y-- - src.x++ - if(SOUTHWEST) - src.y-- - src.x-- - src.canmove = 0 - spawn(2) src.canmove = 1 - -/obj/effect/dummy/spell_jaunt/ex_act(blah) - return -/obj/effect/dummy/spell_jaunt/bullet_act(blah,blah) - return -*/ -//MUTATE - -/client/proc/mutate() - set category = "Spells" - set name = "Mutate" - set desc = "This spell causes you to turn into a hulk and gain laser vision for a short while." - if(usr.stat) - src << "Not when you are incapacitated." - return - if(!usr.casting()) return - usr.verbs -= /client/proc/mutate - spawn(400) - usr.verbs += /client/proc/mutate - - usr.say("BIRUZ BENNAR") - - usr << text("\blue You feel strong! You feel pressure building behind your eyes!") - if (!(M_HULK in usr.mutations)) - usr.mutations.Add(M_HULK) - if (!(M_LASER in usr.mutations)) - usr.mutations.Add(M_LASER) - spawn (300) - if (M_LASER in usr.mutations) usr.mutations.Remove(M_LASER) - if (M_HULK in usr.mutations) usr.mutations.Remove(M_HULK) - return - -//BODY SWAP /N - -/mob/proc/swap(mob/living/M as mob in oview()) - set category = "Spells" - set name = "Mind Transfer" - set desc = "This spell allows the user to switch bodies with a target." - if(usr.stat) - src << "Not when you are incapacitated." - return - - if(M.client && M.mind) - if(M.mind.special_role != "Wizard" || "Fake Wizard" || "Changeling" || "Cultist" || "Ninja")//Wizards, changelings, ninjas, and cultists are protected. - if( (istype(M, /mob/living/carbon/human)) || (istype(M, /mob/living/carbon/monkey)) && M.stat != 2) - var/mob/living/carbon/human/H = M //so it does not freak out when looking at the variables. - var/mob/living/carbon/human/U = src - - U.whisper("GIN'YU CAPAN") - U.verbs -= /mob/proc/swap - //Remove special verbs from both mobs - if(U.mind.special_verbs.len) - for(var/V in U.mind.special_verbs) - U.verbs -= V - if(H.mind.special_verbs.len) - for(var/V in H.mind.special_verbs) - H.verbs -= V - - //empty out H - var/mob/dead/observer/G = H.ghostize(0) //Transfers H to a temporary mob - - //Start the Transfer - U.mind.transfer_to(H) - G.mind.transfer_to(U) - U.key = G.key //has to be called explicitly since ghostize() set the datum/mind/var/active = 0 - - //Re-add those special verbs and stuff - if(H.mind.special_verbs.len) - var/spell_loss = 1//Can lose only one spell during transfer. - var/probability = 95 //To determine the chance of wizard losing their spell. - for(var/V in H.mind.special_verbs) - if(spell_loss == 0) - H.verbs += V - else - if(prob(probability)) - H.verbs += V - probability -= 7//Chance of of keeping spells goes down each time a spell is added. Less spells means less chance of losing them. - else - spell_loss = 0 - H.mind.special_verbs -= V - spawn(500) - H << "The mind transfer has robbed you of a spell." - - if(U.mind.special_verbs.len)//Basic fix to swap verbs for any mob if needed. - for(var/V in U.mind.special_verbs) - U.verbs += V - - spawn(500) - U << "Something about your body doesn't seem quite right..." - - U.Paralyse(20) - H.Paralyse(20) - - spawn(600) - H.verbs += /mob/proc/swap - - else - src << "Their mind is not compatible." - return - else - src << "Their mind is resisting your spell." - return - - else - src << "They appear to be brain-dead." - return \ No newline at end of file diff --git a/code/unused/tensioner.dm b/code/unused/tensioner.dm deleted file mode 100644 index 1cf5eb2acd8..00000000000 --- a/code/unused/tensioner.dm +++ /dev/null @@ -1,876 +0,0 @@ -#define PLAYER_WEIGHT 5 -#define HUMAN_DEATH -5000 -#define OTHER_DEATH -5000 -#define EXPLO_SCORE -10000 //boum - -#define COOLDOWN_TIME 12000 // Twenty minutes -#define MIN_ROUND_TIME 18000 - - -#define FLAT_PERCENT 0 - -//estimated stats -//80 minute round -//60 player server -//48k player-ticks - -//60 deaths (ideally) -//20 explosions - - -var/global/datum/tension/tension_master - -/datum/tension - var/score - - var/deaths - var/human_deaths - var/explosions - var/adminhelps - var/air_alarms - - var/nuketeam = 0 - var/malfAI = 0 - var/wizard = 0 - - var/forcenexttick = 0 - var/supress = 0 - var/eversupressed = 0 - var/cooldown = 0 - - var/round1 = 0 - var/round2 = 0 - var/round3 = 0 - var/round4 = 0 - - var/list/antagonistmodes = null - - - - var/list/potentialgames = list() - - New() - score = 0 - deaths=0 - human_deaths=0 - explosions=0 - adminhelps=0 - air_alarms=0 - - if(FLAT_PERCENT) // I cannot into balance - antagonistmodes = list ( - "POINTS_FOR_TRATIOR" = 6, - "POINTS_FOR_CHANGLING" = 6, - "POINTS_FOR_REVS" = 3, - "POINTS_FOR_MALF" = 1, - "POINTS_FOR_WIZARD" = 2, - "POINTS_FOR_CULT" = 3, - "POINTS_FOR_NUKETEAM" = 2, - "POINTS_FOR_ALIEN" = 5, - "POINTS_FOR_NINJA" = 3, - "POINTS_FOR_DEATHSQUAD" = 2, - "POINTS_FOR_BORGDEATHSQUAD" = 2 - ) - - else - antagonistmodes = list ( - "POINTS_FOR_TRATIOR" = 100000, - "POINTS_FOR_CHANGLING" = 120000, - "POINTS_FOR_REVS" = 150000, - "POINTS_FOR_MALF" = 250000, - "POINTS_FOR_WIZARD" = 150000, - "POINTS_FOR_CULT" = 150000, - "POINTS_FOR_NUKETEAM" = 250000, - "POINTS_FOR_ALIEN" = 200000, - "POINTS_FOR_NINJA" = 200000, - "POINTS_FOR_DEATHSQUAD" = 500000, - "POINTS_FOR_BORGDEATHSQUAD" = 500000 - ) - - proc/process() - score += get_num_players()*PLAYER_WEIGHT - - if(config.Tensioner_Active) - if(world.time > MIN_ROUND_TIME) - round1++ - if(!supress && !cooldown) - if(prob(1) || forcenexttick) - round2++ - if(prob(10) || forcenexttick) - round3++ - if(forcenexttick) - forcenexttick = 0 - - for (var/client/C in admin_list) - C << " The tensioner wishes to create additional antagonists! Press (this) in 60 seconds to abort!" - - spawn(600) - if(!supress) - cooldown = 1 - spawn(COOLDOWN_TIME) - cooldown = 0 - round4++ - - if(!antagonistmodes.len) - return - - var/thegame = null - - if(FLAT_PERCENT) - thegame = pickweight(antagonistmodes) - antagonistmodes.Remove(thegame) - - else - for(var/V in antagonistmodes) // OH SHIT SOMETHING IS GOING TO HAPPEN NOW - if(antagonistmodes[V] < score) - potentialgames.Add(V) - antagonistmodes.Remove(V) - if(potentialgames.len) - thegame = pick(potentialgames) - - - if(thegame) - - - log_admin("The tensioner fired, and decided on [thegame]") - - switch(thegame) - if("POINTS_FOR_TRATIOR") - if(!makeTratiors()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - if("POINTS_FOR_CHANGLING") - if(!makeChanglings()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - if("POINTS_FOR_REVS") - if(!makeRevs()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - if("POINTS_FOR_MALF") - if(!makeMalfAImode()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - if("POINTS_FOR_WIZARD") - if(!makeWizard()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - - if("POINTS_FOR_CULT") - if(!makeCult()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - - if("POINTS_FOR_NUKETEAM") - if(!makeNukeTeam()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - - if("POINTS_FOR_ALIEN") - if(!makeAliens()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - - if("POINTS_FOR_NINJA") - if(!makeSpaceNinja()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - - if("POINTS_FOR_DEATHSQUAD") - if(!makeDeathsquad()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - - if("POINTS_FOR_BORG_DEATHSQUAD") - if(!makeBorgDeathsquad()) - forcenexttick = 1 - else - potentialgames.Remove(thegame) - - - proc/get_num_players() - var/peeps = 0 - for (var/mob/M in player_list) - if (!M.client) - continue - peeps += 1 - - return peeps - - proc/death(var/mob/M) - if (!M) return - deaths++ - - if (istype(M,/mob/living/carbon/human)) - score += HUMAN_DEATH - human_deaths++ - else - score += OTHER_DEATH - - - proc/explosion() - score += EXPLO_SCORE - explosions++ - - proc/new_adminhelp() - adminhelps++ - - proc/new_air_alarm() - air_alarms++ - - - Topic(href, href_list) - - if(!usr || !usr.client) - return //This shouldnt happen - - if(!usr.client.holder) - message_admins("\red [key_name(usr)] tried to use the tensioner without authorization.") - log_admin("[key_name(usr)] tried to use the tensioner without authorization.") - return - - log_admin("[key_name(usr)] used a tensioner override. The override was [href]") - message_admins("[key_name(usr)] used a tensioner override. The override was [href]") - - - if(href_list["addScore"]) - score += 50000 - - if (href_list["makeTratior"]) - makeTratiors() - - else if (href_list["makeChanglings"]) - makeChanglings() - - else if (href_list["makeRevs"]) - makeRevs() - - else if (href_list["makeWizard"]) - makeWizard() - - else if (href_list["makeCult"]) - makeCult() - - else if (href_list["makeMalf"]) - makeMalfAImode() - - else if (href_list["makeNukeTeam"]) - makeNukeTeam() - - else if (href_list["makeAliens"]) - makeAliens() - - else if (href_list["makeSpaceNinja"]) - makeSpaceNinja() - - else if (href_list["makeDeathsquad"]) - makeDeathsquad() - - else if (href_list["makeBorgDeathsquad"]) - makeBorgDeathsquad() - - else if (href_list["Supress"]) - supress = 1 - eversupressed++ - spawn(6000) - supress = 0 - - else if (href_list["ToggleStatus"]) - config.Tensioner_Active = !config.Tensioner_Active - - - proc/makeMalfAImode() - - var/list/mob/living/silicon/AIs = list() - var/mob/living/silicon/malfAI = null - var/datum/mind/themind = null - - for(var/mob/living/silicon/ai/ai in player_list) - if(ai.client) - AIs += ai - - if(AIs.len) - malfAI = pick(AIs) - - else - return 0 - - if(malfAI) - themind = malfAI.mind - themind.make_AI_Malf() - return 1 - -/* - if(BE_CHANGELING) roletext="changeling" - if(BE_TRAITOR) roletext="traitor" - if(BE_OPERATIVE) roletext="operative" - if(BE_WIZARD) roletext="wizard" - if(BE_REV) roletext="revolutionary" - if(BE_CULTIST) roletext="cultist" - - - for(var/mob/new_player/player in world) - if(player.client && player.ready) - if(player.preferences.be_special & role) -*/ - - - proc/makeTratiors() - - var/datum/game_mode/traitor/temp = new - - if(config.protect_roles_from_antagonist) - temp.restricted_jobs += temp.protected_jobs - - var/list/mob/living/carbon/human/candidates = list() - var/mob/living/carbon/human/H = null - - for(var/mob/living/carbon/human/applicant in player_list) - - var/datum/preferences/preferences = new - - if(applicant.stat < 2) - if(applicant.mind) - if (!applicant.mind.special_role) - if(!jobban_isbanned(applicant, "traitor") && !jobban_isbanned(applicant, "Syndicate")) - if(!(applicant.job in temp.restricted_jobs)) - if(applicant.client) - if(preferences.savefile_load(applicant, 0)) - if(preferences.be_special & BE_TRAITOR) - candidates += applicant - - if(candidates.len) - var/numTratiors = min(candidates.len, 3) - - for(var/i = 0, i300)//If more than 30 game seconds passed. - return - candidates += G - if("No") - return - - sleep(300) - - for(var/mob/dead/observer/G in candidates) - if(!G.client) - candidates.Remove(G) - - spawn(0) - if(candidates.len) - while((!theghost || !theghost.client) && candidates.len) - theghost = pick(candidates) - candidates.Remove(theghost) - if(!theghost) - return 0 - var/mob/living/carbon/human/new_character=makeBody(theghost) - new_character.mind.make_Wizard() - - return 1 // Has to return one before it knows if there's a wizard to prevent the parent from automatically selecting another game mode. - - - proc/makeCult() - - var/datum/game_mode/cult/temp = new - if(config.protect_roles_from_antagonist) - temp.restricted_jobs += temp.protected_jobs - - var/list/mob/living/carbon/human/candidates = list() - var/mob/living/carbon/human/H = null - - for(var/mob/living/carbon/human/applicant in player_list) - - var/datum/preferences/preferences = new - - if(applicant.stat < 2) - if(applicant.mind) - if (!applicant.mind.special_role) - if(!jobban_isbanned(applicant, "cultist") && !jobban_isbanned(applicant, "Syndicate")) - if(!(applicant.job in temp.restricted_jobs)) - if(applicant.client) - if(preferences.savefile_load(applicant, 0)) - if(preferences.be_special & BE_CULTIST) - candidates += applicant - - if(candidates.len) - var/numCultists = min(candidates.len, 4) -// var/list/runeWords = list() - - for(var/i = 0, i300)//If more than 30 game seconds passed. - return - candidates += G - if("No") - return - - sleep(300) - - for(var/mob/dead/observer/G in candidates) - if(!G.client) - candidates.Remove(G) - - spawn(0) - if(candidates.len) - var/numagents = 5 - syndicate_begin() - - for(var/i = 0, iAlert: The shuttle is going back!
      " - - var/syndicate_commando_number = syndicate_commandos_possible //for selecting a leader - - */ - var/syndicate_leader_selected = 0 //when the leader is chosen. The last person spawned. - - //Generates a list of commandos from active ghosts. Then the user picks which characters to respawn as the commandos. - - - for(var/mob/dead/observer/G in player_list) - spawn(0) - switch(alert(G,"Do you wish to be considered for an elite syndicate strike team being sent in?","Please answer in 30 seconds!","Yes","No")) - if("Yes") - if((world.time-time_passed)>300)//If more than 30 game seconds passed. - return - candidates += G - if("No") - return - sleep(300) - - for(var/mob/dead/observer/G in candidates) - if(!G.key) - candidates.Remove(G) - - if(candidates.len) - var/numagents = 6 - //Spawns commandos and equips them. - for (var/obj/effect/landmark/L in /area/syndicate_mothership/elite_squad) - if(numagents<=0) - break - if (L.name == "Syndicate-Commando") - syndicate_leader_selected = numagents == 1?1:0 - - var/mob/living/carbon/human/new_syndicate_commando = create_syndicate_death_commando(L, syndicate_leader_selected) - - - while((!theghost || !theghost.client) && candidates.len) - theghost = pick(candidates) - candidates.Remove(theghost) - - if(!theghost) - del(new_syndicate_commando) - break - - new_syndicate_commando.key = theghost.key - new_syndicate_commando.internal = new_syndicate_commando.s_store - new_syndicate_commando.internals.icon_state = "internal1" - - //So they don't forget their code or mission. - - - new_syndicate_commando << "\blue You are an Elite Syndicate. [!syndicate_leader_selected?"commando":"LEADER"] in the service of the Syndicate. \nYour current mission is: \red [input]" - - numagents-- - - //Spawns the rest of the commando gear. - // for (var/obj/effect/landmark/L) - // if (L.name == "Commando_Manual") - //new /obj/item/weapon/gun/energy/pulse_rifle(L.loc) - // var/obj/item/weapon/paper/P = new(L.loc) - // P.info = "

      Good morning soldier!. This compact guide will familiarize you with standard operating procedure. There are three basic rules to follow:
      #1 Work as a team.
      #2 Accomplish your objective at all costs.
      #3 Leave no witnesses.
      You are fully equipped and stocked for your mission--before departing on the Spec. Ops. Shuttle due South, make sure that all operatives are ready. Actual mission objective will be relayed to you by Central Command through your headsets.
      If deemed appropriate, Central Command will also allow members of your team to equip assault power-armor for the mission. You will find the armor storage due West of your position. Once you are ready to leave, utilize the Special Operations shuttle console and toggle the hull doors via the other console.

      In the event that the team does not accomplish their assigned objective in a timely manner, or finds no other way to do so, attached below are instructions on how to operate a Nanotrasen Nuclear Device. Your operations LEADER is provided with a nuclear authentication disk and a pin-pointer for this reason. You may easily recognize them by their rank: Lieutenant, Captain, or Major. The nuclear device itself will be present somewhere on your destination.

      Hello and thank you for choosing Nanotrasen for your nuclear information needs. Today's crash course will deal with the operation of a Fission Class Nanotrasen made Nuclear Device.
      First and foremost, DO NOT TOUCH ANYTHING UNTIL THE BOMB IS IN PLACE. Pressing any button on the compacted bomb will cause it to extend and bolt itself into place. If this is done to unbolt it one must completely log in which at this time may not be possible.
      To make the device functional:
      #1 Place bomb in designated detonation zone
      #2 Extend and anchor bomb (attack with hand).
      #3 Insert Nuclear Auth. Disk into slot.
      #4 Type numeric code into keypad ([nuke_code]).
      Note: If you make a mistake press R to reset the device.
      #5 Press the E button to log onto the device.
      You now have activated the device. To deactivate the buttons at anytime, for example when you have already prepped the bomb for detonation, remove the authentication disk OR press the R on the keypad. Now the bomb CAN ONLY be detonated using the timer. A manual detonation is not an option.
      Note: Toggle off the SAFETY.
      Use the - - and + + to set a detonation time between 5 seconds and 10 minutes. Then press the timer toggle button to start the countdown. Now remove the authentication disk so that the buttons deactivate.
      Note: THE BOMB IS STILL SET AND WILL DETONATE
      Now before you remove the disk if you need to move the bomb you can: Toggle off the anchor, move it, and re-anchor.

      The nuclear authorization code is: [nuke_code ? nuke_code : "None provided"]

      Good luck, soldier!

      " - // P.name = "Spec. Ops. Manual" - - for (var/obj/effect/landmark/L in /area/shuttle/syndicate_elite) - if (L.name == "Syndicate-Commando-Bomb") - new /obj/effect/spawner/newbomb/timer/syndicate(L.loc) - // del(L) - - return 1 // Has to return one before it knows if there's a wizard to prevent the parent from automatically selecting another game mode. - - - proc/makeBorgDeathsquad() - var/list/mob/dead/observer/candidates = list() - var/mob/dead/observer/theghost = null - var/time_passed = world.time - var/list/namelist = list("Tyr","Fenrir","Lachesis","Clotho","Atropos","Nyx") - - //Generates a list of commandos from active ghosts. Then the user picks which characters to respawn as the commandos. - - for(var/mob/dead/observer/G in player_list) - spawn(0) - switch(alert(G,"Do you wish to be considered for a cyborg strike team being sent in?","Please answer in 30 seconds!","Yes","No")) - if("Yes") - if((world.time-time_passed)>300)//If more than 30 game seconds passed. - return - candidates += G - if("No") - return - sleep(300) - - for(var/mob/dead/observer/G in candidates) - if(!G.client || !G.key) - candidates.Remove(G) - - if(candidates.len) - var/numagents = 3 - - //Spawns commandos and equips them. - for (var/obj/effect/landmark/L in /area/borg_deathsquad) - if(numagents<=0) - break - if (L.name == "Borg-Deathsquad") - - var/name = pick(namelist) - namelist.Remove(name) - - var/mob/living/silicon/robot/new_borg_deathsquad = create_borg_death_commando(L, name) - - - - while((!theghost || !theghost.client) && candidates.len) - theghost = pick(candidates) - candidates.Remove(theghost) - - if(!theghost) - del(new_borg_deathsquad) - break - - new_borg_deathsquad.key = theghost.key - - //So they don't forget their code or mission. - - - new_borg_deathsquad << "You are a borg deathsquad operative. Follow your laws." - numagents-- - - //Spawns the rest of the commando gear. - // for (var/obj/effect/landmark/L) - // if (L.name == "Commando_Manual") - //new /obj/item/weapon/gun/energy/pulse_rifle(L.loc) - // var/obj/item/weapon/paper/P = new(L.loc) - // P.info = "

      Good morning soldier!. This compact guide will familiarize you with standard operating procedure. There are three basic rules to follow:
      #1 Work as a team.
      #2 Accomplish your objective at all costs.
      #3 Leave no witnesses.
      You are fully equipped and stocked for your mission--before departing on the Spec. Ops. Shuttle due South, make sure that all operatives are ready. Actual mission objective will be relayed to you by Central Command through your headsets.
      If deemed appropriate, Central Command will also allow members of your team to equip assault power-armor for the mission. You will find the armor storage due West of your position. Once you are ready to leave, utilize the Special Operations shuttle console and toggle the hull doors via the other console.

      In the event that the team does not accomplish their assigned objective in a timely manner, or finds no other way to do so, attached below are instructions on how to operate a Nanotrasen Nuclear Device. Your operations LEADER is provided with a nuclear authentication disk and a pin-pointer for this reason. You may easily recognize them by their rank: Lieutenant, Captain, or Major. The nuclear device itself will be present somewhere on your destination.

      Hello and thank you for choosing Nanotrasen for your nuclear information needs. Today's crash course will deal with the operation of a Fission Class Nanotrasen made Nuclear Device.
      First and foremost, DO NOT TOUCH ANYTHING UNTIL THE BOMB IS IN PLACE. Pressing any button on the compacted bomb will cause it to extend and bolt itself into place. If this is done to unbolt it one must completely log in which at this time may not be possible.
      To make the device functional:
      #1 Place bomb in designated detonation zone
      #2 Extend and anchor bomb (attack with hand).
      #3 Insert Nuclear Auth. Disk into slot.
      #4 Type numeric code into keypad ([nuke_code]).
      Note: If you make a mistake press R to reset the device.
      #5 Press the E button to log onto the device.
      You now have activated the device. To deactivate the buttons at anytime, for example when you have already prepped the bomb for detonation, remove the authentication disk OR press the R on the keypad. Now the bomb CAN ONLY be detonated using the timer. A manual detonation is not an option.
      Note: Toggle off the SAFETY.
      Use the - - and + + to set a detonation time between 5 seconds and 10 minutes. Then press the timer toggle button to start the countdown. Now remove the authentication disk so that the buttons deactivate.
      Note: THE BOMB IS STILL SET AND WILL DETONATE
      Now before you remove the disk if you need to move the bomb you can: Toggle off the anchor, move it, and re-anchor.

      The nuclear authorization code is: [nuke_code ? nuke_code : "None provided"]

      Good luck, soldier!

      " - // P.name = "Spec. Ops. Manual" - - - return 1 // Has to return one before it knows if there's a wizard to prevent the parent from automatically selecting another game mode. - - - proc/makeBody(var/mob/dead/observer/G_found) // Uses stripped down and bastardized code from respawn character - if(!G_found || !G_found.key) return - - //First we spawn a dude. - var/mob/living/carbon/human/new_character = new(pick(latejoin))//The mob being spawned. - - new_character.gender = pick(MALE,FEMALE) - - var/datum/preferences/A = new() - A.randomize_appearance_for(new_character) - if(new_character.gender == MALE) - new_character.real_name = "[pick(first_names_male)] [pick(last_names)]" - else - new_character.real_name = "[pick(first_names_female)] [pick(last_names)]" - new_character.name = new_character.real_name - new_character.age = rand(17,45) - - new_character.dna.ready_dna(new_character) - new_character.key = G_found.key - - return new_character - - /proc/create_syndicate_death_commando(obj/spawn_location, syndicate_leader_selected = 0) - var/mob/living/carbon/human/new_syndicate_commando = new(spawn_location.loc) - var/syndicate_commando_leader_rank = pick("Lieutenant", "Captain", "Major") - var/syndicate_commando_rank = pick("Corporal", "Sergeant", "Staff Sergeant", "Sergeant 1st Class", "Master Sergeant", "Sergeant Major") - var/syndicate_commando_name = pick(last_names) - - new_syndicate_commando.gender = pick(MALE, FEMALE) - - var/datum/preferences/A = new()//Randomize appearance for the commando. - A.randomize_appearance_for(new_syndicate_commando) - - new_syndicate_commando.real_name = "[!syndicate_leader_selected ? syndicate_commando_rank : syndicate_commando_leader_rank] [syndicate_commando_name]" - new_syndicate_commando.name = new_syndicate_commando.real_name - new_syndicate_commando.age = !syndicate_leader_selected ? rand(23,35) : rand(35,45) - - new_syndicate_commando.dna.ready_dna(new_syndicate_commando)//Creates DNA. - - //Creates mind stuff. - new_syndicate_commando.mind_initialize() - new_syndicate_commando.mind.assigned_role = "MODE" - new_syndicate_commando.mind.special_role = "Syndicate Commando" - - //Adds them to current traitor list. Which is really the extra antagonist list. - ticker.mode.traitors += new_syndicate_commando.mind - new_syndicate_commando.equip_syndicate_commando(syndicate_leader_selected) - - return new_syndicate_commando - - - - - - /proc/create_borg_death_commando(obj/spawn_location, name) - - var/mob/living/silicon/robot/new_borg_deathsquad = new(spawn_location.loc, 1) - - new_borg_deathsquad.real_name = name - new_borg_deathsquad.name = name - - //Creates mind stuff. - new_borg_deathsquad.mind_initialize() - new_borg_deathsquad.mind.assigned_role = "MODE" - new_borg_deathsquad.mind.special_role = "Borg Commando" - - //Adds them to current traitor list. Which is really the extra antagonist list. - ticker.mode.traitors += new_borg_deathsquad.mind - //del(spawn_location) // Commenting this out for multiple commando teams. - return new_borg_deathsquad - - - - - -/obj/machinery/computer/Borg_station - name = "Cyborg Station Terminal" - icon = 'icons/obj/computer.dmi' - icon_state = "syndishuttle" - req_access = list() - var/temp = null - var/hacked = 0 - var/jumpcomplete = 0 - -/obj/machinery/computer/Borg_station/attack_hand() - if(jumpcomplete) - return - if(alert(usr, "Are you sure you want to send a cyborg deathsquad?", "Confirmation", "Yes", "No") == "Yes") - var/area/start_location = locate(/area/borg_deathsquad/start) - var/area/end_location = locate(/area/borg_deathsquad/station) - - var/list/dstturfs = list() - var/throwy = world.maxy - - for(var/turf/T in end_location) - dstturfs += T - if(T.y < throwy) - throwy = T.y - - // hey you, get out of the way! - for(var/turf/T in dstturfs) - // find the turf to move things to - var/turf/D = locate(T.x, throwy - 1, 1) - //var/turf/E = get_step(D, SOUTH) - for(var/atom/movable/AM as mob|obj in T) - AM.Move(D) - if(istype(T, /turf/simulated)) - del(T) - - start_location.move_contents_to(end_location) - - for(var/obj/machinery/door/poddoor/P in end_location) - P.open() - jumpcomplete = 1 - command_alert("DRADIS contact! Set condition one throughout the station!") diff --git a/code/unused/toilets.dm b/code/unused/toilets.dm deleted file mode 100644 index f943a1cc548..00000000000 --- a/code/unused/toilets.dm +++ /dev/null @@ -1,96 +0,0 @@ -/* -CONTAINS: -TOILET - -/obj/item/weapon/storage/toilet - name = "toilet" - w_class = 4.0 - anchored = 1.0 - density = 0.0 - var/status = 0.0 - var/clogged = 0.0 - anchored = 1.0 - icon = 'icons/obj/stationobjs.dmi' - icon_state = "toilet" - item_state = "syringe_kit" - -/obj/item/weapon/storage/toilet/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if (src.contents.len >= 7) - user << "The toilet is clogged!" - return - if (istype(W, /obj/item/weapon/disk/nuclear)) - user << "This is far too important to flush!" - return - if (istype(W, /obj/item/weapon/storage/)) - return - if (istype(W, /obj/item/weapon/grab)) - playsound(src.loc, 'sound/effects/slosh.ogg', 50, 1) - for(var/mob/O in viewers(user, null)) - O << text("\blue [] gives [] a swirlie!", user, W) - return - var/t - for(var/obj/item/weapon/O in src) - t += O.w_class - t += W.w_class - if (t > 30) - user << "You cannot fit the item inside." - return - user.u_equip(W) - W.loc = src - if ((user.client && user.s_active != src)) - user.client.screen -= W - src.orient2hud(user) - W.dropped(user) - add_fingerprint(user) - for(var/mob/O in viewers(user, null)) - O.show_message(text("\blue [] has put [] in []!", user, W, src), 1) - return - -/obj/item/weapon/storage/toilet/MouseDrop_T(mob/M as mob, mob/user as mob) - if (!ticker) - user << "You can't help relieve anyone before the game starts." - return - if ((!( istype(M, /mob) ) || get_dist(src, user) > 1 || M.loc != src.loc || user.restrained() || usr.stat)) - return - if (M == usr) - for(var/mob/O in viewers(user, null)) - if ((O.client && !( O.blinded ))) - O << text("\blue [] sits on the toilet.", user) - else - for(var/mob/O in viewers(user, null)) - if ((O.client && !( O.blinded ))) - O << text("\blue [] is seated on the toilet by []!", M, user) - M.anchored = 1 - M.buckled = src - M.loc = src.loc - src.add_fingerprint(user) - return - -/obj/item/weapon/storage/toilet/attack_hand(mob/user as mob) - for(var/mob/M in src.loc) - if (M.buckled) - if (M != user) - for(var/mob/O in viewers(user, null)) - if ((O.client && !( O.blinded ))) - O << text("\blue [] is zipped up by [].", M, user) - else - for(var/mob/O in viewers(user, null)) - if ((O.client && !( O.blinded ))) - O << text("\blue [] zips up.", M) -// world << "[M] is no longer buckled to [src]" - M.anchored = 0 - M.buckled = null - src.add_fingerprint(user) - if((src.clogged < 1) || (src.contents.len < 7) || (user.loc != src.loc)) - for(var/mob/O in viewers(user, null)) - O << text("\blue [] flushes the toilet.", user) - src.clogged = 0 - src.contents.len = 0 - else if((src.clogged >= 1) || (src.contents.len >= 7) || (user.buckled != src.loc)) - for(var/mob/O in viewers(user, null)) - O << text("\blue The toilet is clogged!") - return - - -*/ \ No newline at end of file diff --git a/code/unused/traps.dm b/code/unused/traps.dm deleted file mode 100644 index 94681d1929d..00000000000 --- a/code/unused/traps.dm +++ /dev/null @@ -1,225 +0,0 @@ -/obj/effect/pressure_plate - name = "pressure plate" - desc = "A pressure plate that triggers a trap or a few of them." - density = 0 - var/list/connected_traps_names = list() //mappers, edit this when you place pressure plates on the map. don't forget to make the connected traps have an UNIQUE name - var/list/connected_traps = list() //actual references to the connected traps. leave empty, it is generated at runtime from connected_traps_names - var/trigger_type = "mob and obj" //can be "mob", "obj" or "mob and obj", the only moveable types - -/obj/effect/pressure_plate/New() - ..() - src:visibility = 0 - refresh() - -/obj/effect/pressure_plate/verb/refresh() - set name = "Refresh Pressure Plate Links" - set category = "Object" - set src in view() - connected_traps = list() //emptying the list first - for(var/trap_name in connected_traps_names) - for(var/obj/effect/trap/the_trap in world) - if(the_trap.name == trap_name) - connected_traps += the_trap //adding the trap with the matching name - -/obj/effect/pressure_plate/HasEntered(atom/victim as mob|obj) - if(victim.density && (trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj)))) - for(var/obj/effect/trap/T in connected_traps) - T.trigger(victim) - -/obj/effect/pressure_plate/Bumped(atom/victim as mob|obj) - if(victim.density && (trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj)))) - for(var/obj/effect/trap/T in connected_traps) - T.trigger(victim) - -/obj/effect/trap //has three subtypes - /aoe, /area (ie affects an entire area), /single (only the victim is affected) - name = "trap" - desc = "It's a trap!" - density = 0 - var/uses = 1 //how many times it can be triggered - var/trigger_type = "mob and obj" //can be "mob", "obj" or "mob and obj", the only moveable types. can also be "none" to not be triggered by entering its square (needs to have a pressure plate attached in that case) - var/target_type = "mob" //if it targets mobs, turfs or objs - var/include_dense = 1 //if it includes dense targets in the aoe (may be important for some reason). you'll probably want to change it to 1 if you target mobs or objs - -/obj/effect/trap/New() - ..() - src:visibility = 0 //seriously, it keeps saying "undefined var" when I try to do it in the define - -/obj/effect/trap/HasEntered(victim as mob|obj) - if(trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj))) - trigger(victim) - -/obj/effect/trap/Bumped(victim as mob|obj) - if(trigger_type == "mob and obj" || (trigger_type == "mob" && istype(victim,/mob)) || (trigger_type == "obj" && istype(victim,/obj))) - trigger(victim) - -/obj/effect/trap/proc/trigger(victim) - if(!uses) - return - uses-- - activate(victim) - -/obj/effect/trap/proc/activate() - -/obj/effect/trap/aoe - name = "aoe trap" - desc = "This trap affects a number of mobs, turfs or objs in an aoe" - var/aoe_radius = 3 //radius of aoe - var/aoe_range_or_view = "view" //if it includes all tiles in [radius] range or view - -/obj/effect/trap/aoe/proc/picktargets() - - var/list/targets = list() - - switch(target_type) - if("turf") - switch(aoe_range_or_view) - if("view") - for(var/turf/T in view(src,aoe_radius)) - if(!T.density || include_dense) - targets += T - if("range") - for(var/turf/T in range(src,aoe_radius)) - if(!T.density || include_dense) - targets += T - if("mob") - switch(aoe_range_or_view) - if("view") - for(var/mob/living/M in view(src,aoe_radius)) - if(!M.density || include_dense) - targets += M - if("range") - for(var/mob/living/M in range(src,aoe_radius)) - if(!M.density || include_dense) - targets += M - if("obj") - switch(aoe_range_or_view) - if("view") - for(var/obj/O in view(src,aoe_radius)) - if(!O.density || include_dense) - targets += O - if("range") - for(var/obj/O in range(src,aoe_radius)) - if(!O.density || include_dense) - targets += O - - return targets - -/obj/effect/trap/aoe/rocksfall - name = "rocks fall trap" - desc = "Your DM must really hate you." - target_type = "turf" - include_dense = 0 - var/rocks_amt = 10 //amount of rocks falling - var/rocks_min_dmg = 50 //min damage per rock - var/rocks_max_dmg = 100 //max damage per rock - var/rocks_hit_chance = 100 //the chance for a rock to hit you - var/list/rocks_type = list() //what rocks might it drop on the target. with var editing, not even limited to rocks. - -/obj/effect/trap/aoe/rocksfall/New() - - ..() - - rocks_type = pick_rock_types() - -/obj/effect/trap/aoe/rocksfall/proc/pick_rock_types() //since we may want subtypes of the trap with completely different rock types, which is best done this way - - var/list/varieties = list() - - varieties = typesof(/obj/item/weapon/ore) - varieties -= /obj/item/weapon/ore/diamond //don't want easily available rare ores, hmm? - varieties -= /obj/item/weapon/ore/uranium - varieties -= /obj/item/weapon/ore/slag //that'd be just stupid - - return varieties - -/obj/effect/trap/aoe/rocksfall/activate() - - var/list/targets = list() - targets = picktargets() - - if(target_type == "turf") - for(var/i=0,i 0) - step(src, src.dir) - sleep(1) - t1-- - else - var/t1 = round(src.speed / 5) - while(t1 > 0) - step(src, src.dir) - t1-- - return - -/obj/machinery/vehicle/meteorhit(var/obj/O as obj) - for (var/obj/item/I in src) - I.loc = src.loc - - for (var/mob/M in src) - M.loc = src.loc - if (M.client) - M.client.eye = M.client.mob - M.client.perspective = MOB_PERSPECTIVE - del(src) - -/obj/machinery/vehicle/ex_act(severity) - switch (severity) - if (1.0) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - //SN src = null - del(src) - if(2.0) - if (prob(50)) - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - ex_act(severity) - //SN src = null - del(src) - -/obj/machinery/vehicle/blob_act() - for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc - del(src) - -/obj/machinery/vehicle/Bump(var/atom/A) - //world << "[src] bumped into [A]" - spawn (0) - ..() - src.speed = 0 - return - return - -/obj/machinery/vehicle/relaymove(mob/user as mob, direction) - if (user.stat) - return - - if ((user in src)) - if (direction & 1) - src.speed = max(src.speed - 1, 1) - else if (direction & 2) - src.speed = min(src.maximum_speed, src.speed + 1) - else if (src.can_rotate && direction & 4) - src.dir = turn(src.dir, -90.0) - else if (src.can_rotate && direction & 8) - src.dir = turn(src.dir, 90) - else if (direction & 16 && src.can_maximize_speed) - src.speed = src.maximum_speed - -/obj/machinery/vehicle/verb/eject() - set src = usr.loc - - if (usr.stat) - return - - var/mob/M = usr - M.loc = src.loc - if (M.client) - M.client.eye = M.client.mob - M.client.perspective = MOB_PERSPECTIVE - step(M, turn(src.dir, 180)) - return - -/obj/machinery/vehicle/verb/board() - set src in oview(1) - - if (usr.stat) - return - - if (src.one_person_only && locate(/mob, src)) - usr << "There is no room! You can only fit one person." - return - - var/mob/M = usr - if (M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src - - M.loc = src - -/obj/machinery/vehicle/verb/unload(var/atom/movable/A in src) - set src in oview(1) - - if (usr.stat) - return - - if (istype(A, /atom/movable)) - A.loc = src.loc - for(var/mob/O in view(src, null)) - if ((O.client && !(O.blinded))) - O << text("\blue [] unloads [] from []!", usr, A, src) - - if (ismob(A)) - var/mob/M = A - if (M.client) - M.client.perspective = MOB_PERSPECTIVE - M.client.eye = M - -/obj/machinery/vehicle/verb/load() - set src in oview(1) - - if (usr.stat) - return - - if (((istype(usr, /mob/living/carbon/human)) && (!(ticker) || (ticker && ticker.mode != "monkey")))) - var/mob/living/carbon/human/H = usr - - if ((H.pulling && !(H.pulling.anchored))) - if (src.one_person_only && !(istype(H.pulling, /obj/item/weapon))) - usr << "You may only place items in." - else - H.pulling.loc = src - if (ismob(H.pulling)) - var/mob/M = H.pulling - if (M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src - - for(var/mob/O in viewers(src, null)) - if ((O.client && !( O.blinded ))) - O << text("\blue [] loads [] into []!", H, H.pulling, src) - - H.stop_pulling() - - -/obj/machinery/vehicle/space_ship - icon = 'escapepod.dmi' - icon_state = "pod" - var/datum/global_iterator/space_ship_inertial_movement/pr_inertial_movement - var/datum/global_iterator/space_ship_speed_increment/pr_speed_increment - var/last_relay = 0 - var/obj/machinery/portable_atmospherics/canister/internal_tank - var/health = 100 - var/datum/effects/system/spark_spread/spark_system = new - - New() - ..() - internal_tank = new /obj/machinery/portable_atmospherics/canister/air(src) - pr_inertial_movement = new /datum/global_iterator/space_ship_inertial_movement(list(src),0) - pr_speed_increment = new /datum/global_iterator/space_ship_speed_increment(list(src),0) - src.spark_system.set_up(2, 0, src) - src.spark_system.attach(src) - return - - proc/inspace() - if(istype(src.loc, /turf/space)) - return 1 - return 0 - - remove_air(amount) - if(src.internal_tank) - return src.internal_tank.air_contents.remove(amount) - else - var/turf/T = get_turf(src) - return T.remove_air(amount) - - return_air() - if(src.internal_tank) - return src.internal_tank.return_air() - return - - proc/return_pressure() - if(src.internal_tank) - return src.internal_tank.return_pressure() - return 0 - - proc/return_temperature() - if(src.internal_tank) - return src.internal_tank.return_temperature() - return 0 - - Bump(var/atom/movable/A) - if(istype(A)) - step(A, src.dir) - else - if(pr_inertial_movement.cur_delay<2) - take_damage(25) - pr_speed_increment.stop() - pr_inertial_movement.stop() - return - - proc/take_damage(value) - if(isnum(value)) - src.health -= value - if(src.health>0) - src.spark_system.start() -// world << "[src] health is [health]" - else - src.ex_act(1) - return - - process() - return - - proc/get_desired_speed() - return (pr_inertial_movement.max_delay-pr_inertial_movement.desired_delay)/(pr_inertial_movement.max_delay-pr_inertial_movement.min_delay)*100 - - proc/get_current_speed() - return (pr_inertial_movement.max_delay-pr_inertial_movement.cur_delay)/(pr_inertial_movement.max_delay-pr_inertial_movement.min_delay)*100 - -/obj/machinery/vehicle/space_ship/relaymove(mob/user as mob, direction) - spawn() - if (user.stat || world.time-last_relay<2) - return - last_relay = world.time - var/speed_change = 0 - if(direction & NORTH) - pr_inertial_movement.desired_delay = between(pr_inertial_movement.min_delay, pr_inertial_movement.desired_delay-1, pr_inertial_movement.max_delay) - speed_change = 1 - else if (direction & SOUTH) - pr_inertial_movement.desired_delay = between(pr_inertial_movement.min_delay, pr_inertial_movement.desired_delay+1, pr_inertial_movement.max_delay) - speed_change = 1 - else if (src.can_rotate && direction & 4) - src.dir = turn(src.dir, -90.0) - else if (src.can_rotate && direction & 8) - src.dir = turn(src.dir, 90) - if(speed_change) -// user << "Desired speed: [get_desired_speed()]%" - src.pr_speed_increment.start() - src.pr_inertial_movement.start() - return - -//should try two directional iterator datums, one for vertical, one for horizontal movement. -/datum/global_iterator/space_ship_inertial_movement - delay = 1 - var/min_delay = 0 - var/max_delay = 15 - var/desired_delay - var/cur_delay - var/last_move - - New() - ..() - desired_delay = max_delay - cur_delay = max_delay - - stop() - src.cur_delay = max_delay - src.desired_delay = max_delay - return ..() - - process(var/obj/machinery/vehicle/space_ship/SS as obj) - if(cur_delay >= max_delay) - return src.stop() - if(world.time - last_move < cur_delay) - return - last_move = world.time -/* - if(src.delay>=SS.max_delay) - return src.stop() -*/ - if(!step(SS, SS.dir) || !SS.inspace()) - src.stop() - return - - proc/set_desired_delay(var/num as num) - src.desired_delay = num - return - -/datum/global_iterator/space_ship_speed_increment - delay = 5 - - process(var/obj/machinery/vehicle/space_ship/SS as obj) - if(SS.pr_inertial_movement.desired_delay!=SS.pr_inertial_movement.cur_delay) - var/delta = SS.pr_inertial_movement.desired_delay - SS.pr_inertial_movement.cur_delay - SS.pr_inertial_movement.cur_delay += delta>0?1:-1 -/* - for(var/mob/M in SS) - M << "Current speed: [SS.get_current_speed()]" -*/ - else - src.stop() - return diff --git a/paradise.dme b/paradise.dme index d2de60add4c..da523a65690 100644 --- a/paradise.dme +++ b/paradise.dme @@ -6,17 +6,9 @@ // BEGIN_FILE_DIR #define FILE_DIR . #define FILE_DIR "code" -#define FILE_DIR "code/TriDimension" -#define FILE_DIR "code/unused" -#define FILE_DIR "code/unused/goonheist" -#define FILE_DIR "code/WorkInProgress" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jungle" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/ShieldGen" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter" -#define FILE_DIR "code/WorkInProgress/IndexLP" -#define FILE_DIR "code/WorkInProgress/Susan" +#define FILE_DIR "code/modules" +#define FILE_DIR "code/modules/jungle" +#define FILE_DIR "code/modules/shieldgen" #define FILE_DIR "html" #define FILE_DIR "html/images" #define FILE_DIR "icons" @@ -185,13 +177,16 @@ #include "code\controllers\voting.dm" #include "code\datums\ai_laws.dm" #include "code\datums\browser.dm" +#include "code\datums\cargoprofile.dm" #include "code\datums\computerfiles.dm" #include "code\datums\datacore.dm" #include "code\datums\datumvars.dm" +#include "code\datums\medical_effects.dm" #include "code\datums\mind.dm" #include "code\datums\mixed.dm" #include "code\datums\modules.dm" #include "code\datums\organs.dm" +#include "code\datums\periodic_news.dm" #include "code\datums\recipe.dm" #include "code\datums\spell.dm" #include "code\datums\sun.dm" @@ -402,6 +397,7 @@ #include "code\game\machinery\flasher.dm" #include "code\game\machinery\floodlight.dm" #include "code\game\machinery\Freezer.dm" +#include "code\game\machinery\guestpass.dm" #include "code\game\machinery\hologram.dm" #include "code\game\machinery\holosign.dm" #include "code\game\machinery\hydroponics.dm" @@ -418,6 +414,7 @@ #include "code\game\machinery\overview.dm" #include "code\game\machinery\PDApainter.dm" #include "code\game\machinery\portable_turret.dm" +#include "code\game\machinery\programmable_unloader.dm" #include "code\game\machinery\recharger.dm" #include "code\game\machinery\rechargestation.dm" #include "code\game\machinery\recycler.dm" @@ -435,6 +432,7 @@ #include "code\game\machinery\syndicatebomb.dm" #include "code\game\machinery\teleporter.dm" #include "code\game\machinery\transformer.dm" +#include "code\game\machinery\turntable.dm" #include "code\game\machinery\turrets.dm" #include "code\game\machinery\vending.dm" #include "code\game\machinery\washing_machine.dm" @@ -462,6 +460,7 @@ #include "code\game\machinery\computer\aifixer.dm" #include "code\game\machinery\computer\arcade.dm" #include "code\game\machinery\computer\atmos_alert.dm" +#include "code\game\machinery\computer\atmos_control.dm" #include "code\game\machinery\computer\buildandrepair.dm" #include "code\game\machinery\computer\camera.dm" #include "code\game\machinery\computer\card.dm" @@ -565,6 +564,7 @@ #include "code\game\objects\effects\anomalies.dm" #include "code\game\objects\effects\bump_teleporter.dm" #include "code\game\objects\effects\effect_system.dm" +#include "code\game\objects\effects\explosion_particles.dm" #include "code\game\objects\effects\forcefields.dm" #include "code\game\objects\effects\gibs.dm" #include "code\game\objects\effects\glowshroom.dm" @@ -593,17 +593,22 @@ #include "code\game\objects\effects\spawners\gibspawner.dm" #include "code\game\objects\effects\spawners\vaultspawner.dm" #include "code\game\objects\items\apc_frame.dm" +#include "code\game\objects\items\ashtray.dm" #include "code\game\objects\items\blueprints.dm" #include "code\game\objects\items\bodybag.dm" #include "code\game\objects\items\candle.dm" +#include "code\game\objects\items\changestone.dm" #include "code\game\objects\items\contraband.dm" #include "code\game\objects\items\crayons.dm" #include "code\game\objects\items\flag.dm" #include "code\game\objects\items\latexballoon.dm" +#include "code\game\objects\items\policetape.dm" +#include "code\game\objects\items\random_items.dm" #include "code\game\objects\items\shooting_range.dm" #include "code\game\objects\items\toys.dm" #include "code\game\objects\items\trash.dm" #include "code\game\objects\items\devices\aicard.dm" +#include "code\game\objects\items\devices\autopsy.dm" #include "code\game\objects\items\devices\chameleonproj.dm" #include "code\game\objects\items\devices\debugger.dm" #include "code\game\objects\items\devices\flash.dm" @@ -665,8 +670,10 @@ #include "code\game\objects\items\weapons\dnascrambler.dm" #include "code\game\objects\items\weapons\explosives.dm" #include "code\game\objects\items\weapons\extinguisher.dm" +#include "code\game\objects\items\weapons\fireworks.dm" #include "code\game\objects\items\weapons\flamethrower.dm" #include "code\game\objects\items\weapons\gift_wrappaper.dm" +#include "code\game\objects\items\weapons\grenades.dm" #include "code\game\objects\items\weapons\handcuffs.dm" #include "code\game\objects\items\weapons\hydroponics.dm" #include "code\game\objects\items\weapons\kitchen.dm" @@ -834,6 +841,7 @@ #include "code\modules\admin\admin_verbs.dm" #include "code\modules\admin\banappearance.dm" #include "code\modules\admin\banjob.dm" +#include "code\modules\admin\buildmode.dm" #include "code\modules\admin\create_mob.dm" #include "code\modules\admin\create_object.dm" #include "code\modules\admin\create_turf.dm" @@ -961,6 +969,36 @@ #include "code\modules\clothing\under\jobs\engineering.dm" #include "code\modules\clothing\under\jobs\medsci.dm" #include "code\modules\clothing\under\jobs\security.dm" +#include "code\modules\computer3\bios.dm" +#include "code\modules\computer3\buildandrepair.dm" +#include "code\modules\computer3\component.dm" +#include "code\modules\computer3\computer.dm" +#include "code\modules\computer3\computer3_notes.dm" +#include "code\modules\computer3\file.dm" +#include "code\modules\computer3\laptop.dm" +#include "code\modules\computer3\lapvend.dm" +#include "code\modules\computer3\networking.dm" +#include "code\modules\computer3\NTOS.dm" +#include "code\modules\computer3\program.dm" +#include "code\modules\computer3\program_disks.dm" +#include "code\modules\computer3\server.dm" +#include "code\modules\computer3\storage.dm" +#include "code\modules\computer3\computers\arcade.dm" +#include "code\modules\computer3\computers\atmos_alert.dm" +#include "code\modules\computer3\computers\camera.dm" +#include "code\modules\computer3\computers\card.dm" +#include "code\modules\computer3\computers\communications.dm" +#include "code\modules\computer3\computers\crew.dm" +#include "code\modules\computer3\computers\customs.dm" +#include "code\modules\computer3\computers\HolodeckControl.dm" +#include "code\modules\computer3\computers\law.dm" +#include "code\modules\computer3\computers\medical.dm" +#include "code\modules\computer3\computers\Operating.dm" +#include "code\modules\computer3\computers\power.dm" +#include "code\modules\computer3\computers\prisoner.dm" +#include "code\modules\computer3\computers\robot.dm" +#include "code\modules\computer3\computers\security.dm" +#include "code\modules\computer3\computers\welcome.dm" #include "code\modules\customitems\item_defines.dm" #include "code\modules\customitems\item_spawning.dm" #include "code\modules\customitems\definitions\base.dm" @@ -1042,6 +1080,14 @@ #include "code\modules\hydroponics\seed_mobs.dm" #include "code\modules\hydroponics\seeds.dm" #include "code\modules\hydroponics\vines.dm" +#include "code\modules\jungle\falsewall.dm" +#include "code\modules\jungle\jungle.dm" +#include "code\modules\jungle\jungle_animals.dm" +#include "code\modules\jungle\jungle_plants.dm" +#include "code\modules\jungle\jungle_temple.dm" +#include "code\modules\jungle\jungle_tribe.dm" +#include "code\modules\jungle\jungle_turfs.dm" +#include "code\modules\jungle\misc_helpers.dm" #include "code\modules\karma\karma.dm" #include "code\modules\library\lib_items.dm" #include "code\modules\library\lib_machines.dm" @@ -1252,6 +1298,7 @@ #include "code\modules\mob\living\simple_animal\constructs.dm" #include "code\modules\mob\living\simple_animal\corpse.dm" #include "code\modules\mob\living\simple_animal\parrot.dm" +#include "code\modules\mob\living\simple_animal\pony.dm" #include "code\modules\mob\living\simple_animal\powers.dm" #include "code\modules\mob\living\simple_animal\shade.dm" #include "code\modules\mob\living\simple_animal\simple_animal.dm" @@ -1549,6 +1596,11 @@ #include "code\modules\scripting\Scanner\Tokens.dm" #include "code\modules\security levels\keycard authentication.dm" #include "code\modules\security levels\security levels.dm" +#include "code\modules\shieldgen\circuits_and_designs.dm" +#include "code\modules\shieldgen\energy_field.dm" +#include "code\modules\shieldgen\shield_capacitor.dm" +#include "code\modules\shieldgen\shield_gen.dm" +#include "code\modules\shieldgen\shield_gen_external.dm" #include "code\modules\shuttles\antagonist.dm" #include "code\modules\shuttles\departmental.dm" #include "code\modules\shuttles\escape_pods.dm" @@ -1593,73 +1645,6 @@ #include "code\modules\virus2\helpers.dm" #include "code\modules\virus2\isolator.dm" #include "code\modules\virus2\items_devices.dm" -#include "code\WorkInProgress\autopsy.dm" -#include "code\WorkInProgress\buildmode.dm" -#include "code\WorkInProgress\explosion_particles.dm" -#include "code\WorkInProgress\fireworks.dm" -#include "code\WorkInProgress\periodic_news.dm" -#include "code\WorkInProgress\Apples\artifacts.dm" -#include "code\WorkInProgress\Cael_Aislinn\sculpture.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\falsewall.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_animals.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_plants.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_temple.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_tribe.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\jungle_turfs.dm" -#include "code\WorkInProgress\Cael_Aislinn\Jungle\misc_helpers.dm" -#include "code\WorkInProgress\Cael_Aislinn\Rust\areas.dm" -#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\circuits_and_designs.dm" -#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\energy_field.dm" -#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\shield_capacitor.dm" -#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\shield_gen.dm" -#include "code\WorkInProgress\Cael_Aislinn\ShieldGen\shield_gen_external.dm" -#include "code\WorkInProgress\Chinsky\ashtray.dm" -#include "code\WorkInProgress\Chinsky\guestpass.dm" -#include "code\WorkInProgress\Cib\MedicalSideEffects.dm" -#include "code\WorkInProgress\computer3\bios.dm" -#include "code\WorkInProgress\computer3\buildandrepair.dm" -#include "code\WorkInProgress\computer3\component.dm" -#include "code\WorkInProgress\computer3\computer.dm" -#include "code\WorkInProgress\computer3\computer3_notes.dm" -#include "code\WorkInProgress\computer3\file.dm" -#include "code\WorkInProgress\computer3\laptop.dm" -#include "code\WorkInProgress\computer3\lapvend.dm" -#include "code\WorkInProgress\computer3\networking.dm" -#include "code\WorkInProgress\computer3\NTOS.dm" -#include "code\WorkInProgress\computer3\program.dm" -#include "code\WorkInProgress\computer3\program_disks.dm" -#include "code\WorkInProgress\computer3\server.dm" -#include "code\WorkInProgress\computer3\storage.dm" -#include "code\WorkInProgress\computer3\computers\arcade.dm" -#include "code\WorkInProgress\computer3\computers\atmos_alert.dm" -#include "code\WorkInProgress\computer3\computers\camera.dm" -#include "code\WorkInProgress\computer3\computers\card.dm" -#include "code\WorkInProgress\computer3\computers\communications.dm" -#include "code\WorkInProgress\computer3\computers\crew.dm" -#include "code\WorkInProgress\computer3\computers\customs.dm" -#include "code\WorkInProgress\computer3\computers\HolodeckControl.dm" -#include "code\WorkInProgress\computer3\computers\law.dm" -#include "code\WorkInProgress\computer3\computers\medical.dm" -#include "code\WorkInProgress\computer3\computers\Operating.dm" -#include "code\WorkInProgress\computer3\computers\power.dm" -#include "code\WorkInProgress\computer3\computers\prisoner.dm" -#include "code\WorkInProgress\computer3\computers\robot.dm" -#include "code\WorkInProgress\computer3\computers\security.dm" -#include "code\WorkInProgress\computer3\computers\welcome.dm" -#include "code\WorkInProgress\Mini\atmos_control.dm" -#include "code\WorkInProgress\Ported\policetape.dm" -#include "code\WorkInProgress\Sayu\belt.dm" -#include "code\WorkInProgress\Sayu\cargoprofile.dm" -#include "code\WorkInProgress\Sayu\grenades.dm" -#include "code\WorkInProgress\Sayu\programmable.dm" -#include "code\WorkInProgress\Sayu\random_items.dm" -#include "code\WorkInProgress\SkyMarshal\Ultralight_procs.dm" -#include "code\WorkInProgress\ZomgPonies\clothing\civilian.dm" -#include "code\WorkInProgress\ZomgPonies\mobs\pony.dm" -#include "code\WorkInProgress\ZomgPonies\oldcode\turntable.dm" -#include "code\WorkInProgress\ZomgPonies\powerarmor\powerarmor.dm" -#include "code\WorkInProgress\ZomgPonies\powerarmor\powerarmorcomponents.dm" #include "code\ZAS\_docs.dm" #include "code\ZAS\_gas_mixture.dm" #include "code\ZAS\Airflow.dm"
      New Game" - else - dat += "
      Attack | " - dat += "Heal | " - dat += "Recharge Power" - - dat += "
      " - - return dat - -/datum/computer/file/computer_program/arcade/Topic(href, href_list) - if(..()) - return - - if (!src.blocked) - if (href_list["attack"]) - src.blocked = 1 - var/attackamt = rand(2,6) - src.temp = "You attack for [attackamt] damage!" - src.master.updateUsrDialog() - - sleep(10) - src.enemy_hp -= attackamt - src.arcade_action() - - else if (href_list["heal"]) - src.blocked = 1 - var/pointamt = rand(1,3) - var/healamt = rand(6,8) - src.temp = "You use [pointamt] magic to heal for [healamt] damage!" - src.master.updateUsrDialog() - - sleep(10) - src.player_mp -= pointamt - src.player_hp += healamt - src.blocked = 1 - src.master.updateUsrDialog() - src.arcade_action() - - else if (href_list["charge"]) - src.blocked = 1 - var/chargeamt = rand(4,7) - src.temp = "You regain [chargeamt] points" - src.player_mp += chargeamt - - src.master.updateUsrDialog() - sleep(10) - src.arcade_action() - - if (href_list["newgame"]) //Reset everything - temp = "New Round" - player_hp = 30 - player_mp = 10 - enemy_hp = 45 - enemy_mp = 20 - gameover = 0 - - src.master.add_fingerprint(usr) - src.master.updateUsrDialog() - return - -/datum/computer/file/computer_program/arcade/proc/arcade_action() - if ((src.enemy_mp <= 0) || (src.enemy_hp <= 0)) - src.gameover = 1 - src.temp = "[src.enemy_name] has fallen! Rejoice!" - src.peripheral_command("vend prize") - - else if ((src.enemy_mp <= 5) && (prob(70))) - var/stealamt = rand(2,3) - src.temp = "[src.enemy_name] steals [stealamt] of your power!" - src.player_mp -= stealamt - src.master.updateUsrDialog() - - if (src.player_mp <= 0) - src.gameover = 1 - sleep(10) - src.temp = "You have been drained! GAME OVER" - - else if ((src.enemy_hp <= 10) && (src.enemy_mp > 4)) - src.temp = "[src.enemy_name] heals for 4 health!" - src.enemy_hp += 4 - src.enemy_mp -= 4 - - else - var/attackamt = rand(3,6) - src.temp = "[src.enemy_name] attacks for [attackamt] damage!" - src.player_hp -= attackamt - - if ((src.player_mp <= 0) || (src.player_hp <= 0)) - src.gameover = 1 - src.temp = "You have been crushed! GAME OVER" - - src.blocked = 0 - return \ No newline at end of file diff --git a/code/unused/computer2/base_program.dm b/code/unused/computer2/base_program.dm deleted file mode 100644 index b85923be77f..00000000000 --- a/code/unused/computer2/base_program.dm +++ /dev/null @@ -1,263 +0,0 @@ -/datum/computer - var/size = 4.0 - var/obj/item/weapon/disk/data/holder = null - var/datum/computer/folder/holding_folder = null - folder - name = "Folder" - size = 0.0 - var/gen = 0 - Del() - for(var/datum/computer/F in src.contents) - del(F) - ..() - proc - add_file(datum/computer/R) - if(!holder || holder.read_only || !R) - return 0 - if(istype(R,/datum/computer/folder) && (src.gen>=10)) - return 0 - if((holder.file_used + R.size) <= holder.file_amount) - src.contents.Add(R) - R.holder = holder - R.holding_folder = src - src.holder.file_used -= src.size - src.size += R.size - src.holder.file_used += src.size - if(istype(R,/datum/computer/folder)) - R:gen = (src.gen+1) - return 1 - return 0 - - remove_file(datum/computer/R) - if(holder && !holder.read_only || !R) -// world << "Removing file [R]. File_used: [src.holder.file_used]" - src.contents.Remove(R) - src.holder.file_used -= src.size - src.size -= R.size - src.holder.file_used += src.size - src.holder.file_used = max(src.holder.file_used, 0) -// world << "Removed file [R]. File_used: [src.holder.file_used]" - return 1 - return 0 - file - name = "File" - var/extension = "FILE" //Differentiate between types of files, why not - proc - copy_file_to_folder(datum/computer/folder/newfolder) - if(!newfolder || (!istype(newfolder)) || (!newfolder.holder) || (newfolder.holder.read_only)) - return 0 - - if((newfolder.holder.file_used + src.size) <= newfolder.holder.file_amount) - var/datum/computer/file/newfile = new src.type - - for(var/V in src.vars) - if (issaved(src.vars[V]) && V != "holder") - newfile.vars[V] = src.vars[V] - - if(!newfolder.add_file(newfile)) - del(newfile) - - return 1 - - return 0 - - - Del() - if(holder && holding_folder) - holding_folder.remove_file(src) - ..() - - -/datum/computer/file/computer_program - name = "blank program" - extension = "PROG" - //var/size = 4.0 - //var/obj/item/weapon/disk/data/holder = null - var/obj/machinery/computer2/master = null - var/active_icon = null - var/id_tag = null - var/list/req_access = list() - - New(obj/holding as obj) - if(holding) - src.holder = holding - - if(istype(src.holder.loc,/obj/machinery/computer2)) - src.master = src.holder.loc - - Del() - if(master) - master.processing_programs.Remove(src) - ..() - - proc - return_text() - if((!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(master.stat & (NOPOWER|BROKEN)) - return 1 - - if(!(holder in src.master.contents)) - //world << "Holder [holder] not in [master] of prg:[src]" - if(master.active_program == src) - master.active_program = null - return 1 - - if(!src.holder.root) - src.holder.root = new /datum/computer/folder - src.holder.root.holder = src - src.holder.root.name = "root" - - return 0 - - process() - if((!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(!(holder in src.master.contents)) - if(master.active_program == src) - master.active_program = null - master.processing_programs.Remove(src) - return 1 - - if(!src.holder.root) - src.holder.root = new /datum/computer/folder - src.holder.root.holder = src - src.holder.root.name = "root" - - return 0 - - receive_command(obj/source, command, datum/signal/signal) - if((!src.holder) || (!src.master) || (!source) || (source != src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(master.stat & (NOPOWER|BROKEN)) - return 1 - - if(!(holder in src.master.contents)) - if(master.active_program == src) - master.active_program = null - return 1 - - return 0 - - peripheral_command(command, datum/signal/signal) - if(master) - master.send_command(command, signal) - else - del(signal) - - transfer_holder(obj/item/weapon/disk/data/newholder,datum/computer/folder/newfolder) - - if((newholder.file_used + src.size) > newholder.file_amount) - return 0 - - if(!newholder.root) - newholder.root = new /datum/computer/folder - newholder.root.holder = newholder - newholder.root.name = "root" - - if(!newfolder) - newfolder = newholder.root - - if((src.holder && src.holder.read_only) || newholder.read_only) - return 0 - - if((src.holder) && (src.holder.root)) - src.holder.root.remove_file(src) - - newfolder.add_file(src) - - if(istype(newholder.loc,/obj/machinery/computer2)) - src.master = newholder.loc - - //world << "Setting [src.holder] to [newholder]" - src.holder = newholder - return 1 - - //Check access per program. - allowed(mob/M) - //check if it doesn't require any access at all - if(src.check_access(null)) - return 1 - if(istype(M, /mob/living/silicon)) - //AI can do whatever he wants - return 1 - else if(istype(M, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = M - //if they are holding or wearing a card that has access, that works - if(src.check_access(H.equipped()) || src.check_access(H.wear_id)) - return 1 - else if(istype(M, /mob/living/carbon/monkey)) - var/mob/living/carbon/monkey/george = M - //they can only hold things :( - if(george.equipped() && istype(george.equipped(), /obj/item/weapon/card/id) && src.check_access(george.equipped())) - return 1 - return 0 - - check_access(obj/item/weapon/card/id/I) - if(!src.req_access) //no requirements - return 1 - if(!istype(src.req_access, /list)) //something's very wrong - return 1 - - var/list/L = src.req_access - if(!L.len) //no requirements - return 1 - if(!I || !istype(I, /obj/item/weapon/card/id) || !I.access) //not ID or no access - return 0 - for(var/req in src.req_access) - if(!(req in I.access)) //doesn't have this access - return 0 - return 1 - - Topic(href, href_list) - if((!src.holder) || (!src.master)) - return 1 - - if((!istype(holder)) || (!istype(master))) - return 1 - - if(master.stat & (NOPOWER|BROKEN)) - return 1 - - if(src.master.active_program != src) - return 1 - - if ((!usr.contents.Find(src.master) && (!in_range(src.master, usr) || !istype(src.master.loc, /turf))) && (!istype(usr, /mob/living/silicon))) - return 1 - - if(!(holder in src.master.contents)) - if(master.active_program == src) - master.active_program = null - return 1 - - usr.machine = src.master - - if (href_list["close"]) - usr.machine = null - usr << browse(null, "window=comp2") - return 0 - - if (href_list["quit"]) -// src.master.processing_programs.Remove(src) - if(src.master.host_program && src.master.host_program.holder && (src.master.host_program.holder in src.master.contents)) - src.master.run_program(src.master.host_program) - src.master.updateUsrDialog() - return 1 - else - src.master.active_program = null - src.master.updateUsrDialog() - return 1 - - return 0 \ No newline at end of file diff --git a/code/unused/computer2/buildandrepair.dm b/code/unused/computer2/buildandrepair.dm deleted file mode 100644 index 1e1a77afce8..00000000000 --- a/code/unused/computer2/buildandrepair.dm +++ /dev/null @@ -1,150 +0,0 @@ -//Motherboard is just used in assembly/disassembly, doesn't exist in the actual computer object. -/obj/item/weapon/motherboard - name = "Computer mainboard" - desc = "A computer motherboard." - icon = 'icons/obj/module.dmi' - icon_state = "mainboard" - item_state = "electronic" - w_class = 3 - var/created_name = null //If defined, result computer will have this name. - -/obj/computer2frame - density = 1 - anchored = 0 - name = "Computer-frame" - icon = 'icons/obj/stock_parts.dmi' - icon_state = "0" - var/state = 0 - var/obj/item/weapon/motherboard/mainboard = null - var/obj/item/weapon/disk/data/fixed_disk/hd = null - var/list/peripherals = list() - var/created_icon_state = "aiupload" - -/obj/computer2frame/attackby(obj/item/P as obj, mob/user as mob) - switch(state) - if(0) - if(istype(P, /obj/item/weapon/wrench)) - playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) - if(do_after(user, 20)) - user << "\blue You wrench the frame into place." - src.anchored = 1 - src.state = 1 - if(istype(P, /obj/item/weapon/weldingtool)) - playsound(src.loc, 'sound/items/Welder.ogg', 50, 1) - if(do_after(user, 20)) - user << "\blue You deconstruct the frame." - new /obj/item/stack/sheet/metal( src.loc, 5 ) - del(src) - if(1) - if(istype(P, /obj/item/weapon/wrench)) - playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) - if(do_after(user, 20)) - user << "\blue You unfasten the frame." - src.anchored = 0 - src.state = 0 - if(istype(P, /obj/item/weapon/motherboard) && !mainboard) - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - user << "\blue You place the mainboard inside the frame." - src.icon_state = "1" - src.mainboard = P - user.drop_item() - P.loc = src - if(istype(P, /obj/item/weapon/screwdriver) && mainboard) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - user << "\blue You screw the mainboard into place." - src.state = 2 - src.icon_state = "2" - if(istype(P, /obj/item/weapon/crowbar) && mainboard) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) - user << "\blue You remove the mainboard." - src.state = 1 - src.icon_state = "0" - mainboard.loc = src.loc - src.mainboard = null - if(2) - if(istype(P, /obj/item/weapon/screwdriver) && mainboard && (!peripherals.len)) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - user << "\blue You unfasten the mainboard." - src.state = 1 - src.icon_state = "1" - - if(istype(P, /obj/item/weapon/peripheral)) - if(src.peripherals.len < 3) - user.drop_item() - src.peripherals.Add(P) - P.loc = src - user << "\blue You add [P] to the frame." - else - user << "\red There is no more room for peripheral cards." - - if(istype(P, /obj/item/weapon/crowbar) && src.peripherals.len) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) - user << "\blue You remove the peripheral boards." - for(var/obj/item/weapon/peripheral/W in src.peripherals) - W.loc = src.loc - src.peripherals.Remove(W) - - if(istype(P, /obj/item/weapon/cable_coil)) - if(P:amount >= 5) - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - if(do_after(user, 20)) - P:amount -= 5 - if(!P:amount) del(P) - user << "\blue You add cables to the frame." - src.state = 3 - src.icon_state = "3" - if(3) - if(istype(P, /obj/item/weapon/wirecutters)) - playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1) - user << "\blue You remove the cables." - src.state = 2 - src.icon_state = "2" - var/obj/item/weapon/cable_coil/A = new /obj/item/weapon/cable_coil( src.loc ) - A.amount = 5 - if(src.hd) - src.hd.loc = src.loc - src.hd = null - - if(istype(P, /obj/item/weapon/disk/data/fixed_disk) && !src.hd) - user.drop_item() - src.hd = P - P.loc = src - user << "\blue You connect the drive to the cabling." - - if(istype(P, /obj/item/weapon/crowbar) && src.hd) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) - user << "\blue You remove the hard drive." - src.hd.loc = src.loc - src.hd = null - - if(istype(P, /obj/item/stack/sheet/glass)) - if(P:amount >= 2) - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - if(do_after(user, 20)) - P:use(2) - user << "\blue You put in the glass panel." - src.state = 4 - src.icon_state = "4" - if(4) - if(istype(P, /obj/item/weapon/crowbar)) - playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1) - user << "\blue You remove the glass panel." - src.state = 3 - src.icon_state = "3" - new /obj/item/stack/sheet/glass( src.loc, 2 ) - if(istype(P, /obj/item/weapon/screwdriver)) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - user << "\blue You connect the monitor." - var/obj/machinery/computer2/C= new /obj/machinery/computer2( src.loc ) - C.setup_drive_size = 0 - C.icon_state = src.created_icon_state - if(mainboard.created_name) C.name = mainboard.created_name - del(mainboard) - if(hd) - C.hd = hd - hd.loc = C - for(var/obj/item/weapon/peripheral/W in src.peripherals) - W.loc = C - W.host = C - C.peripherals.Add(W) - del(src) \ No newline at end of file diff --git a/code/unused/computer2/computerII.dm b/code/unused/computer2/computerII.dm deleted file mode 100644 index 433853d682c..00000000000 --- a/code/unused/computer2/computerII.dm +++ /dev/null @@ -1,414 +0,0 @@ - -/obj/machinery/computer2 - name = "computer" - desc = "A computer workstation." - icon = 'icons/obj/computer.dmi' - icon_state = "aiupload" - density = 1 - anchored = 1.0 - req_access = list() //This doesn't determine PROGRAM req access, just the access needed to install/delete programs. - var/base_icon_state = "aiupload" //Assembly creates a new computer2 and not a child typepath, so initial doesn't work!! - var/datum/radio_frequency/radio_connection - var/obj/item/weapon/disk/data/fixed_disk/hd = null - var/datum/computer/file/computer_program/active_program - var/datum/computer/file/computer_program/host_program //active is set to this when the normal active quits, if available - var/list/processing_programs = list() - var/obj/item/weapon/card/id/authid = null //For records computers etc - var/obj/item/weapon/card/id/auxid = null //For computers that need two ids for some reason. - var/obj/item/weapon/disk/data/diskette = null - var/list/peripherals = list() - //Setup for Starting program & peripherals - var/setup_starting_program = null //If set to a program path it will start with this one active. - var/setup_starting_peripheral = null //Spawn with radio card and whatever path is here. - var/setup_drive_size = 64.0 //How big is the drive (set to 0 for no drive) - var/setup_id_tag - var/setup_has_radio = 0 //Does it spawn with a radio peripheral? - var/setup_radio_tag - var/setup_frequency = 1411 - -/obj/item/weapon/disk/data - var/datum/computer/folder/root = null - var/file_amount = 32.0 - var/file_used = 0.0 - var/portable = 1 - var/title = "Data Disk" - New() - src.root = new /datum/computer/folder - src.root.holder = src - src.root.name = "root" - -/obj/item/weapon/disk/data/fixed_disk - name = "Storage Drive" - icon_state = "harddisk" - title = "Storage Drive" - file_amount = 80.0 - portable = 0 - - attack_self(mob/user as mob) - return - -/obj/item/weapon/disk/data/computer2test - name = "Programme Diskette" - file_amount = 128.0 - New() - ..() - src.root.add_file( new /datum/computer/file/computer_program/arcade(src)) - src.root.add_file( new /datum/computer/file/computer_program/med_data(src)) - src.root.add_file( new /datum/computer/file/computer_program/airlock_control(src)) - src.root.add_file( new /datum/computer/file/computer_program/messenger(src)) - src.root.add_file( new /datum/computer/file/computer_program/progman(src)) - -/obj/machinery/computer2/medical - name = "Medical computer" - icon_state = "dna" - setup_has_radio = 1 - setup_starting_program = /datum/computer/file/computer_program/med_data - setup_starting_peripheral = /obj/item/weapon/peripheral/printer - -/obj/machinery/computer2/arcade - name = "arcade machine" - icon_state = "arcade" - desc = "An arcade machine." - setup_drive_size = 16.0 - setup_starting_program = /datum/computer/file/computer_program/arcade - setup_starting_peripheral = /obj/item/weapon/peripheral/prize_vendor - - -/obj/machinery/computer2/New() - ..() - - spawn(4) - if(setup_has_radio) - var/obj/item/weapon/peripheral/radio/radio = new /obj/item/weapon/peripheral/radio(src) - radio.frequency = setup_frequency - radio.code = setup_radio_tag - - if(!hd && (setup_drive_size > 0)) - src.hd = new /obj/item/weapon/disk/data/fixed_disk(src) - src.hd.file_amount = src.setup_drive_size - - if(ispath(src.setup_starting_program)) - src.active_program = new src.setup_starting_program - src.active_program.id_tag = setup_id_tag - - src.hd.file_amount = max(src.hd.file_amount, src.active_program.size) - - src.active_program.transfer_holder(src.hd) - - if(ispath(src.setup_starting_peripheral)) - new src.setup_starting_peripheral(src) - - src.base_icon_state = src.icon_state - - return - -/obj/machinery/computer2/attack_hand(mob/user as mob) - if(..()) - return - - user.machine = src - - var/dat - if((src.active_program) && (src.active_program.master == src) && (src.active_program.holder in src)) - dat = src.active_program.return_text() - else - dat = "Thinktronic BIOS V1.4

      " - - dat += "Current ID: [src.authid ? "[src.authid.name]" : "----------"]
      " - dat += "Auxiliary ID: [src.auxid ? "[src.auxid.name]" : "----------"]

      " - - var/progdat - if((src.hd) && (src.hd.root)) - for(var/datum/computer/file/computer_program/P in src.hd.root.contents) - progdat += "[P.name]Size: [P.size]" - - progdat += "Run" - - if(P in src.processing_programs) - progdat += "Halt" - else - progdat += "Load" - - progdat += "Del" - - continue - - dat += "Disk Space: \[[src.hd.file_used]/[src.hd.file_amount]\]
      " - dat += "Programs on Fixed Disk:
      " - - if(!progdat) - progdat = "No programs found.
      " - dat += "
      [progdat]
      " - - else - - dat += "Programs on Fixed Disk:
      " - dat += "
      No fixed disk detected.

      " - - dat += "
      " - - progdat = null - if((src.diskette) && (src.diskette.root)) - - dat += "Eject
      " - - for(var/datum/computer/file/computer_program/P in src.diskette.root.contents) - progdat += "[P.name]Size: [P.size]" - progdat += "Run" - - if(P in src.processing_programs) - progdat += "Halt" - else - progdat += "Load" - - progdat += "Install" - - continue - - dat += "Disk Space: \[[src.diskette.file_used]/[src.diskette.file_amount]\]
      " - dat += "Programs on Disk:
      " - - if(!progdat) - progdat = "No data found.
      " - dat += "
      [progdat]
      " - - else - - dat += "Programs on Disk:
      " - dat += "
      No diskette loaded.

      " - - dat += "
      " - - user << browse(dat,"window=comp2") - onclose(user,"comp2") - return - -/obj/machinery/computer2/Topic(href, href_list) - if(..()) - return - - if(!src.active_program) - if((href_list["prog"]) && (href_list["function"])) - var/datum/computer/file/computer_program/newprog = locate(href_list["prog"]) - if(newprog && istype(newprog)) - switch(href_list["function"]) - if("run") - src.run_program(newprog) - if("load") - src.load_program(newprog) - if("unload") - src.unload_program(newprog) - if((href_list["file"]) && (href_list["function"])) - var/datum/computer/file/newfile = locate(href_list["file"]) - if(!newfile) - return - switch(href_list["function"]) - if("install") - if((src.hd) && (src.hd.root) && (src.allowed(usr))) - newfile.copy_file_to_folder(src.hd.root) - - if("delete") - if(src.allowed(usr)) - src.delete_file(newfile) - - //If there is already one loaded eject, or if not and they have one insert it. - if (href_list["id"]) - switch(href_list["id"]) - if("auth") - if(!isnull(src.authid)) - src.authid.loc = get_turf(src) - src.authid = null - else - var/obj/item/I = usr.equipped() - if (istype(I, /obj/item/weapon/card/id)) - usr.drop_item() - I.loc = src - src.authid = I - if("aux") - if(!isnull(src.auxid)) - src.auxid.loc = get_turf(src) - src.auxid = null - else - var/obj/item/I = usr.equipped() - if (istype(I, /obj/item/weapon/card/id)) - usr.drop_item() - I.loc = src - src.auxid = I - - //Same but for a data disk - else if (href_list["disk"]) - if(!isnull(src.diskette)) - src.diskette.loc = get_turf(src) - src.diskette = null -/* else - var/obj/item/I = usr.equipped() - if (istype(I, /obj/item/weapon/disk/data)) - usr.drop_item() - I.loc = src - src.diskette = I -*/ - src.add_fingerprint(usr) - src.updateUsrDialog() - return - -/obj/machinery/computer2/process() - if(stat & (NOPOWER|BROKEN)) - return - use_power(250) - - for(var/datum/computer/file/computer_program/P in src.processing_programs) - P.process() - - return - -/obj/machinery/computer2/power_change() - if(stat & BROKEN) - icon_state = src.base_icon_state - src.icon_state += "b" - - else if(powered()) - icon_state = src.base_icon_state - stat &= ~NOPOWER - else - spawn(rand(0, 15)) - icon_state = src.base_icon_state - src.icon_state += "0" - stat |= NOPOWER - - -/obj/machinery/computer2/attackby(obj/item/W as obj, mob/user as mob) - if (istype(W, /obj/item/weapon/disk/data)) //INSERT SOME DISKETTES - if ((!src.diskette) && W:portable) - user.machine = src - user.drop_item() - W.loc = src - src.diskette = W - user << "You insert [W]." - src.updateUsrDialog() - return - - else if (istype(W, /obj/item/weapon/screwdriver)) - playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) - if(do_after(user, 20)) - var/obj/computer2frame/A = new /obj/computer2frame( src.loc ) - A.created_icon_state = src.base_icon_state - if (src.stat & BROKEN) - user << "\blue The broken glass falls out." - new /obj/item/weapon/shard( src.loc ) - A.state = 3 - A.icon_state = "3" - else - user << "\blue You disconnect the monitor." - A.state = 4 - A.icon_state = "4" - - for (var/obj/item/weapon/peripheral/C in src.peripherals) - C.loc = A - A.peripherals.Add(C) - - if(src.diskette) - src.diskette.loc = src.loc - - //TO-DO: move card reading to peripheral cards instead - if(src.authid) - src.authid.loc = src.loc - - if(src.auxid) - src.auxid.loc = src.loc - - if(src.hd) - src.hd.loc = A - A.hd = src.hd - - A.mainboard = new /obj/item/weapon/motherboard(A) - A.mainboard.created_name = src.name - - - A.anchored = 1 - del(src) - - else - src.attack_hand(user) - return - -/obj/machinery/computer2/proc/send_command(command, datum/signal/signal) - for(var/obj/item/weapon/peripheral/P in src.peripherals) - P.receive_command(src, command, signal) - - del(signal) - -/obj/machinery/computer2/proc/receive_command(obj/source, command, datum/signal/signal) - if(source in src.contents) - - for(var/datum/computer/file/computer_program/P in src.processing_programs) - P.receive_command(src, command, signal) - - del(signal) - - return - - -/obj/machinery/computer2/proc/run_program(datum/computer/file/computer_program/program,datum/computer/file/computer_program/host) - if(!program) - return 0 - -// src.unload_program(src.active_program) - - if(src.load_program(program)) - if(host && istype(host)) - src.host_program = host - else - src.host_program = null - - src.active_program = program - return 1 - - return 0 - -/obj/machinery/computer2/proc/load_program(datum/computer/file/computer_program/program) - if((!program) || (!program.holder)) - return 0 - - if(!(program.holder in src)) -// world << "Not in src" - program = new program.type - program.transfer_holder(src.hd) - - if(program.master != src) - program.master = src - - if(program in src.processing_programs) - return 1 - else - src.processing_programs.Add(program) - return 1 - - return 0 - -/obj/machinery/computer2/proc/unload_program(datum/computer/file/computer_program/program) - if((!program) || (!src.hd)) - return 0 - - if(program in src.processing_programs) - src.processing_programs.Remove(program) - return 1 - - return 0 - -/obj/machinery/computer2/proc/delete_file(datum/computer/file/file) - //world << "Deleting [file]..." - if((!file) || (!file.holder) || (file.holder.read_only)) - //world << "Cannot delete :(" - return 0 - - if(file in src.processing_programs) - src.processing_programs.Remove(file) - - if(src.active_program == file) - src.active_program = null - -// file.holder.root.remove_file(file) - - //world << "Now calling del on [file]..." - del(file) - return 1 \ No newline at end of file diff --git a/code/unused/computer2/filebrowse.dm b/code/unused/computer2/filebrowse.dm deleted file mode 100644 index 38c88f06161..00000000000 --- a/code/unused/computer2/filebrowse.dm +++ /dev/null @@ -1,164 +0,0 @@ -/datum/computer/file/computer_program/progman - name = "ProgManager" - size = 16.0 - var/datum/computer/folder/current_folder - var/mode = 0 - var/datum/computer/file/clipboard - - - return_text() - if(..()) - return - - if((!src.current_folder) || !(src.current_folder.holder in src.master)) - src.current_folder = src.holder.root - - var/dat = "Close | " - dat += "Quit" - - switch(mode) - if(0) - dat += " |Create Folder" - //dat += " | Create File" - dat += " | Paste" - dat += " | Root" - dat += " | Drive
      " - - dat += "Contents of [current_folder] | Drive:\[[src.current_folder.holder.title]]
      " - dat += "Used: \[[src.current_folder.holder.file_used]/[src.current_folder.holder.file_amount]\]
      " - - dat += "" - for(var/datum/computer/P in current_folder.contents) - if(P == src) - dat += "" - continue - dat += "" - dat += "" - - dat += "" - - dat += "" - dat += "" - - - if(istype(P,/datum/computer/file)) - dat += "" - - dat += "" - - dat += "
      SystemSize: [src.size]SYSTEM
      [P.name]Size: [P.size][(istype(P,/datum/computer/folder)) ? "FOLDER" : "[P:extension]"]DelRenameCopy
      " - - if(1) - dat += " | Main" - dat += " | Eject
      " - - for(var/obj/item/weapon/disk/data/D in src.master) - if(D == current_folder.holder) - dat += "[D.name]
      " - else - dat += "[D.title]
      " - - - return dat - - Topic(href, href_list) - if(..()) - return - - if(href_list["create"]) - if(current_folder) - var/datum/computer/F = null - switch(href_list["create"]) - if("folder") - F = new /datum/computer/folder - if(!current_folder.add_file(F)) - //world << "Couldn't add folder :(" - del(F) - if("file") - F = new /datum/computer/file - if(!current_folder.add_file(F)) - //world << "Couldn't add file :(" - del(F) - - if(href_list["file"] && href_list["function"]) - var/datum/computer/F = locate(href_list["file"]) - if(!F || !istype(F)) - return - switch(href_list["function"]) - if("open") - if(istype(F,/datum/computer/folder)) - src.current_folder = F - else if(istype(F,/datum/computer/file/computer_program)) - src.master.run_program(F,src) - src.master.updateUsrDialog() - return - - if("delete") - src.master.delete_file(F) - - if("copy") - if(istype(F,/datum/computer/file) && (!F.holder || (F.holder in src.master.contents))) - src.clipboard = F - - if("paste") - if(istype(F,/datum/computer/folder)) - if(!src.clipboard || !src.clipboard.holder || !(src.clipboard.holder in src.master.contents)) - return - - if(!istype(src.clipboard)) - return - - src.clipboard.copy_file_to_folder(F) - - if("rename") - spawn(0) - var/t = input(usr, "Please enter new name", F.name, null) as text - t = copytext(sanitize(t), 1, 16) - if (!t) - return - if (!in_range(src.master, usr) || !(F.holder in src.master)) - return - if(F.holder.read_only) - return - F.name = capitalize(lowertext(t)) - src.master.updateUsrDialog() - return - - -/* - if(href_list["open"]) - var/datum/computer/F = locate(href_list["open"]) - if(!F || !istype(F)) - return - - if(istype(F,/datum/computer/folder)) - src.current_folder = F - else if(istype(F,/datum/computer/file/computer_program)) - src.master.run_program(F) - src.master.updateUsrDialog() - return - - if(href_list["delete"]) - var/datum/computer/F = locate(href_list["delete"]) - if(!F || !istype(F)) - return - - src.master.delete_file(F) -*/ - if(href_list["top_folder"]) - src.current_folder = src.current_folder.holder.root - - if(href_list["mode"]) - var/newmode = text2num(href_list["mode"]) - newmode = max(newmode,0) - src.mode = newmode - - if(href_list["drive"]) - var/obj/item/weapon/disk/data/D = locate(href_list["drive"]) - if(D && istype(D) && D.root) - current_folder = D.root - src.mode = 0 - - src.master.add_fingerprint(usr) - src.master.updateUsrDialog() - return \ No newline at end of file diff --git a/code/unused/computer2/med_rec.dm b/code/unused/computer2/med_rec.dm deleted file mode 100644 index 0f510da7b8e..00000000000 --- a/code/unused/computer2/med_rec.dm +++ /dev/null @@ -1,463 +0,0 @@ -/datum/computer/file/computer_program/med_data - name = "Medical Records" - size = 32.0 - active_icon = "dna" - req_access = list(ACCESS_MEDICAL) - var/authenticated = null - var/rank = null - var/screen = null - var/datum/data/record/active1 = null - var/datum/data/record/active2 = null - var/a_id = null - var/temp = null - -/datum/computer/file/computer_program/med_data/return_text() - if(..()) - return - var/dat - if (src.temp) - dat = text("[src.temp]

      Clear Screen") - else - dat = text("Confirm Identity: []
      ", master, (src.master.authid ? text("[]", src.master.authid.name) : "----------")) - if (src.authenticated) - switch(src.screen) - if(1.0) - dat += {" -Search Records -
      List Records -
      -
      Virus Database -
      Medbot Tracking -
      -
      Record Maintenance -
      {Log Out}
      -"} - if(2.0) - dat += "Record List:
      " - for(var/datum/data/record/R in data_core.general) - dat += text("[]: []
      ", src, R, R.fields["id"], R.fields["name"]) - //Foreach goto(132) - dat += text("
      Back", src) - if(3.0) - dat += text("Records Maintenance
      \nBackup To Disk
      \nUpload From disk
      \nDelete All Records
      \n
      \nBack", src, src, src, src) - if(4.0) - dat += "
      Medical Record

      " - if ((istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1))) - dat += text("Name: [] ID: []
      \nSex: []
      \nAge: []
      \nFingerprint: []
      \nPhysical Status: []
      \nMental Status: []
      ", src.active1.fields["name"], src.active1.fields["id"], src, src.active1.fields["sex"], src, src.active1.fields["age"], src, src.active1.fields["fingerprint"], src, src.active1.fields["p_stat"], src, src.active1.fields["m_stat"]) - else - dat += "General Record Lost!
      " - if ((istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2))) - dat += text("
      \n
      Medical Data

      \nBlood Type: []
      \n
      \nMinor Disabilities: []
      \nDetails: []
      \n
      \nMajor Disabilities: []
      \nDetails: []
      \n
      \nAllergies: []
      \nDetails: []
      \n
      \nCurrent Diseases: [] (per disease info placed in log/comment section)
      \nDetails: []
      \n
      \nImportant Notes:
      \n\t[]
      \n
      \n
      Comments/Log

      ", src, src.active2.fields["b_type"], src, src.active2.fields["mi_dis"], src, src.active2.fields["mi_dis_d"], src, src.active2.fields["ma_dis"], src, src.active2.fields["ma_dis_d"], src, src.active2.fields["alg"], src, src.active2.fields["alg_d"], src, src.active2.fields["cdi"], src, src.active2.fields["cdi_d"], src, src.active2.fields["notes"]) - var/counter = 1 - while(src.active2.fields[text("com_[]", counter)]) - dat += text("[]
      Delete Entry

      ", src.active2.fields[text("com_[]", counter)], src, counter) - counter++ - dat += text("Add Entry

      ", src) - dat += text("Delete Record (Medical Only)

      ", src) - else - dat += "Medical Record Lost!
      " - dat += text("New Record

      ") - dat += text("\nPrint Record
      \nBack
      ", src, src) - if(5.0) - dat += {"
      Virus Database
      -
      GBS -
      Common Cold -
      Flu -
      Jungle Fever -
      Clowning Around -
      Plasmatoid -
      Space Rhinovirus -
      Robot Transformation -
      Back"} - if(6.0) - dat += "
      Medical Robot Monitor
      " - dat += "Back" - dat += "
      Medical Robots:" - var/bdat = null - for(var/obj/machinery/bot/medbot/M in world) - var/turf/bl = get_turf(M) - bdat += "[M.name] - \[[bl.x],[bl.y]\] - [M.on ? "Online" : "Offline"]
      " - if(!isnull(M.reagent_glass)) - bdat += "Reservoir: \[[M.reagent_glass.reagents.total_volume]/[M.reagent_glass.reagents.maximum_volume]\]" - else - bdat += "Using Internal Synthesizer." - - if(!bdat) - dat += "
      None detected
      " - else - dat += "[bdat]" - - else - else - dat += text("{Log In}", src) - dat += "
      {Quit}" - - return dat - -/datum/computer/file/computer_program/med_data/Topic(href, href_list) - if(..()) - return - if (!( data_core.general.Find(src.active1) )) - src.active1 = null - if (!( data_core.medical.Find(src.active2) )) - src.active2 = null - if (href_list["temp"]) - src.temp = null - else if (href_list["logout"]) - src.authenticated = null - src.screen = null - src.active1 = null - src.active2 = null - else if (href_list["login"]) - if (istype(usr, /mob/living/silicon)) - src.active1 = null - src.active2 = null - src.authenticated = 1 - src.rank = "AI" - src.screen = 1 - else if (istype(src.master.authid, /obj/item/weapon/card/id)) - src.active1 = null - src.active2 = null - if (src.check_access(src.master.authid)) - src.authenticated = src.master.authid.registered_name - src.rank = src.master.authid.assignment - src.screen = 1 - if (src.authenticated) - - if(href_list["screen"]) - src.screen = text2num(href_list["screen"]) - if(src.screen < 1) - src.screen = 1 - - src.active1 = null - src.active2 = null - - if(href_list["vir"]) - switch(href_list["vir"]) - if("gbs") - src.temp = {"Name: GBS -
      Number of stages: 5 -
      Spread: Airborne Transmission -
      Possible Cure: Spaceacillin -
      Affected Species: Human -
      -
      Notes: If left untreated death will occur. -
      -
      Severity: Major"} - if("cc") - src.temp = {"Name: Common Cold -
      Number of stages: 3 -
      Spread: Airborne Transmission -
      Possible Cure: Rest -
      Affected Species: Human -
      -
      Notes: If left untreated the subject will contract the flu. -
      -
      Severity: Minor"} - if("f") - src.temp = {"Name: The Flu -
      Number of stages: 3 -
      Spread: Airborne Transmission -
      Possible Cure: Rest -
      Affected Species: Human -
      -
      Notes: If left untreated the subject will feel quite unwell. -
      -
      Severity: Medium"} - if("jf") - src.temp = {"Name: Jungle Fever -
      Number of stages: 1 -
      Spread: Airborne Transmission -
      Possible Cure: None -
      Affected Species: Monkey -
      -
      Notes: monkeys with this disease will bite humans, causing humans to spontaneously to mutate into a monkey. -
      -
      Severity: Medium"} - if("ca") - src.temp = {"Name: Clowning Around -
      Number of stages: 4 -
      Spread: Airborne Transmission -
      Possible Cure: Spaceacillin -
      Affected Species: Human -
      -
      Notes: Subjects are affected by rampant honking and a fondness for shenanigans. They may also spontaneously phase through closed airlocks. -
      -
      Severity: Laughable"} - if("p") - src.temp = {"Name: Plasmatoid -
      Number of stages: 3 -
      Spread: Airborne Transmission -
      Possible Cure: Inaprovaline -
      Affected Species: Human and Monkey -
      -
      Notes: With this disease the victim will need plasma to breathe. -
      -
      Severity: Major"} - if("dna") - src.temp = {"Name: Space Rhinovirus -
      Number of stages: 4 -
      Spread: Airborne Transmission -
      Possible Cure: Spaceacillin -
      Affected Species: Human -
      -
      Notes: This disease transplants the genetic code of the intial vector into new hosts. -
      -
      Severity: Medium"} - if("bot") - src.temp = {"Name: Robot Transformation -
      Number of stages: 5 -
      Spread: Infected food -
      Possible Cure: None -
      Affected Species: Human -
      -
      Notes: This disease, actually acute nanomachine infection, converts the victim into a cyborg. -
      -
      Severity: Major"} - - if (href_list["del_all"]) - src.temp = text("Are you sure you wish to delete all records?
      \n\tYes
      \n\tNo
      ", src, src) - - if (href_list["del_all2"]) - for(var/datum/data/record/R in data_core.medical) - del(R) - src.temp = "All records deleted." - - if (href_list["field"]) - var/a1 = src.active1 - var/a2 = src.active2 - switch(href_list["field"]) - if("fingerprint") - if (istype(src.active1, /datum/data/record)) - var/t1 = input("Please input fingerprint hash:", "Med. records", src.active1.fields["id"], null) as text - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active1 != a1)) - return - src.active1.fields["fingerprint"] = t1 - if("sex") - if (istype(src.active1, /datum/data/record)) - if (src.active1.fields["sex"] == "Male") - src.active1.fields["sex"] = "Female" - else - src.active1.fields["sex"] = "Male" - if("age") - if (istype(src.active1, /datum/data/record)) - var/t1 = input("Please input age:", "Med. records", src.active1.fields["age"], null) as text - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active1 != a1)) - return - src.active1.fields["age"] = t1 - if("mi_dis") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please input minor disabilities list:", "Med. records", src.active2.fields["mi_dis"], null) as text - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["mi_dis"] = t1 - if("mi_dis_d") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please summarize minor dis.:", "Med. records", src.active2.fields["mi_dis_d"], null) as message - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["mi_dis_d"] = t1 - if("ma_dis") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please input major diabilities list:", "Med. records", src.active2.fields["ma_dis"], null) as text - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["ma_dis"] = t1 - if("ma_dis_d") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please summarize major dis.:", "Med. records", src.active2.fields["ma_dis_d"], null) as message - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["ma_dis_d"] = t1 - if("alg") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please state allergies:", "Med. records", src.active2.fields["alg"], null) as text - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["alg"] = t1 - if("alg_d") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please summarize allergies:", "Med. records", src.active2.fields["alg_d"], null) as message - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["alg_d"] = t1 - if("cdi") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please state diseases:", "Med. records", src.active2.fields["cdi"], null) as text - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["cdi"] = t1 - if("cdi_d") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please summarize diseases:", "Med. records", src.active2.fields["cdi_d"], null) as message - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["cdi_d"] = t1 - if("notes") - if (istype(src.active2, /datum/data/record)) - var/t1 = input("Please summarize notes:", "Med. records", src.active2.fields["notes"], null) as message - if ((!( t1 ) || !( src.authenticated ) || (!src.master) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - src.active2.fields["notes"] = t1 - if("p_stat") - if (istype(src.active1, /datum/data/record)) - src.temp = text("Physical Condition:
      \n\t*Deceased*
      \n\t*Unconscious*
      \n\tActive
      \n\tPhysically Unfit
      ", src, src, src, src) - if("m_stat") - if (istype(src.active1, /datum/data/record)) - src.temp = text("Mental Condition:
      \n\t*Insane*
      \n\t*Unstable*
      \n\t*Watch*
      \n\tStable
      ", src, src, src, src) - if("b_type") - if (istype(src.active2, /datum/data/record)) - src.temp = text("Blood Type:
      \n\tA- A+
      \n\tB- B+
      \n\tAB- AB+
      \n\tO- O+
      ", src, src, src, src, src, src, src, src) - else - - if (href_list["p_stat"]) - if (src.active1) - switch(href_list["p_stat"]) - if("deceased") - src.active1.fields["p_stat"] = "*Deceased*" - if("unconscious") - src.active1.fields["p_stat"] = "*Unconscious*" - if("active") - src.active1.fields["p_stat"] = "Active" - if("unfit") - src.active1.fields["p_stat"] = "Physically Unfit" - - if (href_list["m_stat"]) - if (src.active1) - switch(href_list["m_stat"]) - if("insane") - src.active1.fields["m_stat"] = "*Insane*" - if("unstable") - src.active1.fields["m_stat"] = "*Unstable*" - if("watch") - src.active1.fields["m_stat"] = "*Watch*" - if("stable") - src.active2.fields["m_stat"] = "Stable" - - - if (href_list["b_type"]) - if (src.active2) - switch(href_list["b_type"]) - if("an") - src.active2.fields["b_type"] = "A-" - if("bn") - src.active2.fields["b_type"] = "B-" - if("abn") - src.active2.fields["b_type"] = "AB-" - if("on") - src.active2.fields["b_type"] = "O-" - if("ap") - src.active2.fields["b_type"] = "A+" - if("bp") - src.active2.fields["b_type"] = "B+" - if("abp") - src.active2.fields["b_type"] = "AB+" - if("op") - src.active2.fields["b_type"] = "O+" - - - if (href_list["del_r"]) - if (src.active2) - src.temp = "Are you sure you wish to delete the record (Medical Portion Only)?
      \n\tYes
      \n\tNo
      " - - if (href_list["del_r2"]) - if (src.active2) - del(src.active2) - - if (href_list["d_rec"]) - var/datum/data/record/R = locate(href_list["d_rec"]) - var/datum/data/record/M = locate(href_list["d_rec"]) - if (!( data_core.general.Find(R) )) - src.temp = "Record Not Found!" - return - for(var/datum/data/record/E in data_core.medical) - if ((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"])) - M = E - else - //Foreach continue //goto(2540) - src.active1 = R - src.active2 = M - src.screen = 4 - - if (href_list["new"]) - if ((istype(src.active1, /datum/data/record) && !( istype(src.active2, /datum/data/record) ))) - var/datum/data/record/R = new /datum/data/record( ) - R.fields["name"] = src.active1.fields["name"] - R.fields["id"] = src.active1.fields["id"] - R.name = text("Medical Record #[]", R.fields["id"]) - R.fields["b_type"] = "Unknown" - R.fields["mi_dis"] = "None" - R.fields["mi_dis_d"] = "No minor disabilities have been declared." - R.fields["ma_dis"] = "None" - R.fields["ma_dis_d"] = "No major disabilities have been diagnosed." - R.fields["alg"] = "None" - R.fields["alg_d"] = "No allergies have been detected in this patient." - R.fields["cdi"] = "None" - R.fields["cdi_d"] = "No diseases have been diagnosed at the moment." - R.fields["notes"] = "No notes." - data_core.medical += R - src.active2 = R - src.screen = 4 - - if (href_list["add_c"]) - if (!( istype(src.active2, /datum/data/record) )) - return - var/a2 = src.active2 - var/t1 = input("Add Comment:", "Med. records", null, null) as message - if ((!( t1 ) || !( src.authenticated ) || usr.stat || usr.restrained() || (!in_range(src.master, usr) && (!istype(usr, /mob/living/silicon))) || src.active2 != a2)) - return - var/counter = 1 - while(src.active2.fields[text("com_[]", counter)]) - counter++ - src.active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [], 2556
      []", src.authenticated, src.rank, time2text(world.realtime, "DDD MMM DD hh:mm:ss"), t1) - - if (href_list["del_c"]) - if ((istype(src.active2, /datum/data/record) && src.active2.fields[text("com_[]", href_list["del_c"])])) - src.active2.fields[text("com_[]", href_list["del_c"])] = "Deleted" - - if (href_list["search"]) - var/t1 = input("Search String: (Name or ID)", "Med. records", null, null) as text - if ((!( t1 ) || usr.stat || (!src.master) || !( src.authenticated ) || usr.restrained() || ((!in_range(src.master, usr)) && (!istype(usr, /mob/living/silicon))))) - return - src.active1 = null - src.active2 = null - t1 = lowertext(t1) - for(var/datum/data/record/R in data_core.general) - if ((lowertext(R.fields["name"]) == t1 || t1 == lowertext(R.fields["id"]))) - src.active1 = R - else - - if (!( src.active1 )) - src.temp = text("Could not locate record [].", t1) - else - for(var/datum/data/record/E in data_core.medical) - if ((E.fields["name"] == src.active1.fields["name"] || E.fields["id"] == src.active1.fields["id"])) - src.active2 = E - else - - src.screen = 4 - - if (href_list["print_p"]) - var/info = "
      Medical Record

      " - if ((istype(src.active1, /datum/data/record) && data_core.general.Find(src.active1))) - info += text("Name: [] ID: []
      \nSex: []
      \nAge: []
      \nFingerprint: []
      \nPhysical Status: []
      \nMental Status: []
      ", src.active1.fields["name"], src.active1.fields["id"], src.active1.fields["sex"], src.active1.fields["age"], src.active1.fields["fingerprint"], src.active1.fields["p_stat"], src.active1.fields["m_stat"]) - else - info += "General Record Lost!
      " - if ((istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2))) - info += text("
      \n
      Medical Data

      \nBlood Type: []
      \n
      \nMinor Disabilities: []
      \nDetails: []
      \n
      \nMajor Disabilities: []
      \nDetails: []
      \n
      \nAllergies: []
      \nDetails: []
      \n
      \nCurrent Diseases: [] (per disease info placed in log/comment section)
      \nDetails: []
      \n
      \nImportant Notes:
      \n\t[]
      \n
      \n
      Comments/Log

      ", src.active2.fields["b_type"], src.active2.fields["mi_dis"], src.active2.fields["mi_dis_d"], src.active2.fields["ma_dis"], src.active2.fields["ma_dis_d"], src.active2.fields["alg"], src.active2.fields["alg_d"], src.active2.fields["cdi"], src.active2.fields["cdi_d"], src.active2.fields["notes"]) - var/counter = 1 - while(src.active2.fields[text("com_[]", counter)]) - info += text("[]
      ", src.active2.fields[text("com_[]", counter)]) - counter++ - else - info += "Medical Record Lost!
      " - info += "
      " - - var/datum/signal/signal = new - signal.data["data"] = info - signal.data["title"] = "Medical Record" - src.peripheral_command("print",signal) - - src.master.add_fingerprint(usr) - src.master.updateUsrDialog() - return \ No newline at end of file diff --git a/code/unused/computer2/messenger.dm b/code/unused/computer2/messenger.dm deleted file mode 100644 index be1930bb7a2..00000000000 --- a/code/unused/computer2/messenger.dm +++ /dev/null @@ -1,97 +0,0 @@ -/datum/computer/file/computer_program/messenger - name = "Messenger" - size = 8.0 - var/messages = null - var/screen_name = "User" - -//To-do: take screen_name from inserted id card?? -//Saving log to file datum - - return_text() - if(..()) - return - - var/dat = "Close | " - dat += "Quit
      " - - dat += "SpaceMessenger V4.1.2
      " - - dat += "Send Message" - - dat += " | Clear" - dat += " | Print" - - dat += " | Name:[src.screen_name]
      " - - dat += messages - - dat += "