Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into STILLALOTOFBLOOD

This commit is contained in:
Aurorablade
2015-07-08 18:16:25 -04:00
215 changed files with 850 additions and 888 deletions
@@ -749,7 +749,7 @@
"aou" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/fore)
"aov" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/fore)
"aow" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/fore)
"aox" = (/obj/machinery/door/airlock/maintenance{icon = 'icons/obj/doors/Doorint.dmi'; name = "Brig Emergency Storage"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/security/brig)
"aox" = (/turf/simulated/wall/r_wall,/area/engine/mechanic_workshop)
"aoy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "dark"},/area/security/brig)
"aoz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light/small,/turf/simulated/floor{dir = 10; icon_state = "whitered"},/area/security/brig)
"aoA" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/iv_drip{density = 0},/turf/simulated/floor{icon_state = "whitered"},/area/security/brig)
@@ -2817,7 +2817,7 @@
"bci" = (/obj/machinery/light{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/storage/tech)
"bcj" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/message_monitor{pixel_y = -5},/obj/item/weapon/circuitboard/arcade/battle{pixel_x = -4; pixel_y = 2},/obj/item/weapon/circuitboard/arcade/orion_trail{pixel_x = 4},/turf/simulated/floor{icon_state = "dark"},/area/storage/tech)
"bck" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/circuitboard/autolathe{pixel_x = 3; pixel_y = -3},/turf/simulated/floor{icon_state = "dark"},/area/storage/tech)
"bcl" = (/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/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/storage/tech)
"bcl" = (/obj/structure/spacepoddoor{dir = 4; icon_state = "n_beam"; tag = ""},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
"bcm" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/storage/tech)
"bcn" = (/obj/structure/table,/obj/item/weapon/module/power_control,/obj/item/weapon/airlock_electronics,/turf/simulated/floor{icon_state = "dark"},/area/storage/tech)
"bco" = (/obj/machinery/door_control{id = "transittube"; name = "Transit Tube Lockdown"; pixel_x = -24; pixel_y = -5; req_access_txt = "24"},/obj/machinery/door_control{desc = "A remote control-switch for secure storage."; id = "Secure Storage"; name = "Engineering Secure Storage"; pixel_x = -24; pixel_y = 5; req_access_txt = "11"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/engine/chiefs_office)
@@ -3181,7 +3181,7 @@
"bji" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor{dir = 1; icon_state = "yellowcorner"},/area/hallway/primary/starboard)
"bjj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/structure/sign/securearea{pixel_y = 32},/turf/simulated/floor{dir = 1; icon_state = "yellowcorner"},/area/hallway/primary/starboard)
"bjk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/power/apc{dir = 1; name = "Starboard Hallway APC"; pixel_x = 0; pixel_y = 26},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/turf/simulated/floor{dir = 1; icon_state = "yellowcorner"},/area/hallway/primary/starboard)
"bjl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/landmark/start{name = "Mechanic"},/turf/simulated/floor{dir = 4; icon_state = "cautioncorner"},/area/hallway/primary/starboard)
"bjl" = (/obj/machinery/door/poddoor/three_tile_hor{id_tag = "mechpodbay"},/obj/structure/spacepoddoor{dir = 4; icon_state = "n_beam"; tag = ""},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
"bjm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=14-Starboard-Central"; location = "13.3-Engineering-Central"},/turf/simulated/floor{dir = 4; icon_state = "cautioncorner"},/area/hallway/primary/starboard)
"bjn" = (/turf/simulated/wall/r_wall,/area/engine/break_room)
"bjo" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/glass,/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/engine/break_room)
@@ -3513,7 +3513,7 @@
"bpC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Port Primary Hallway"},/turf/simulated/floor{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/port)
"bpD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "neutralcorner"},/area/hallway/primary/central)
"bpE" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=4-Customs"; location = "3-Central-Port"},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central)
"bpF" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/Doorint.dmi'; name = "Starboard Emergency Storage"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/starboard)
"bpF" = (/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
"bpG" = (/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/hop,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/crew_quarters/heads)
"bpH" = (/obj/effect/landmark/start{name = "Head of Personnel"},/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/wood,/area/crew_quarters/heads)
"bpI" = (/obj/machinery/newscaster/security_unit{pixel_x = 32; pixel_y = 0},/obj/item/weapon/storage/box/PDAs{pixel_x = 4; pixel_y = 4},/obj/structure/table/woodentable,/obj/item/weapon/storage/box/ids,/obj/item/weapon/storage/box/ids,/turf/simulated/floor/wood,/area/crew_quarters/heads)
@@ -4578,12 +4578,12 @@
"bKb" = (/obj/item/stack/sheet/rglass{amount = 50},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/device/flashlight,/obj/structure/closet/crate,/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "bot"},/area/teleporter{name = "\improper Teleporter Room"})
"bKc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "delivery"},/area/teleporter{name = "\improper Teleporter Room"})
"bKd" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/closet/crate,/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"})
"bKe" = (/obj/machinery/light{dir = 1},/obj/structure/flora/kirbyplants,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/blueshield)
"bKe" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/engine,/area/engine/mechanic_workshop)
"bKf" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/blueshield)
"bKg" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/blueshield)
"bKh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/wood,/area/blueshield)
"bKi" = (/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"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/blueshield)
"bKj" = (/obj/machinery/light{dir = 1},/obj/structure/flora/kirbyplants,/obj/machinery/newscaster/security_unit{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/wood,/area/ntrep)
"bKj" = (/obj/machinery/door/airlock/maintenance{icon = 'icons/obj/doors/doorint.dmi'; name = "Brig Emergency Storage"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/security/brig)
"bKk" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/wood,/area/ntrep)
"bKl" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/wood,/area/ntrep)
"bKm" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/wood,/area/ntrep)
@@ -4663,11 +4663,11 @@
"bLI" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "delivery"},/area/teleporter{name = "\improper Teleporter Room"})
"bLJ" = (/obj/machinery/shieldwallgen,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/teleporter{name = "\improper Teleporter Room"})
"bLK" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 4; initialize_directions = 11},/turf/simulated/floor/plating,/area/atmos)
"bLL" = (/obj/machinery/photocopier,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/wood,/area/blueshield)
"bLL" = (/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/engine/mechanic_workshop)
"bLM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield)
"bLN" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/blueshield)
"bLO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/ntrep)
"bLP" = (/obj/machinery/photocopier,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/ntrep)
"bLP" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/mineral/plasma{amount = 30},/obj/machinery/cell_charger,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/engine/mechanic_workshop)
"bLQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet,/area/ntrep)
"bLR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/turf/simulated/floor/carpet,/area/ntrep)
"bLS" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/ntrep)
@@ -4910,8 +4910,8 @@
"bQv" = (/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)
"bQw" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue,/obj/item/weapon/folder/blue{pixel_x = 4; pixel_y = 6},/obj/item/weapon/paper/blueshield,/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield)
"bQx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; layer = 2.4; on = 1},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield)
"bQy" = (/obj/structure/sign/poster/legit{pixel_x = 32},/turf/simulated/floor/wood,/area/blueshield)
"bQz" = (/obj/structure/sign/poster/legit{pixel_x = -32},/turf/simulated/floor/wood,/area/ntrep)
"bQy" = (/obj/structure/table,/obj/item/pod_parts/core,/obj/item/weapon/circuitboard/mecha/pod,/obj/item/clothing/glasses/welding{pixel_y = 12},/obj/machinery/door_control{id = "mechpodbay"; name = "Pod Door Control"; pixel_x = 24},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/engine/mechanic_workshop)
"bQz" = (/obj/effect/landmark/start{name = "Mechanic"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/engine/mechanic_workshop)
"bQA" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills{req_access_txt = "57"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/ntrep)
"bQB" = (/obj/structure/table/woodentable,/obj/item/weapon/folder,/obj/item/weapon/stamp/centcom,/obj/item/weapon/pen/fluff/fountainpen,/turf/simulated/floor/carpet,/area/ntrep)
"bQC" = (/obj/machinery/door/window{dir = 1; name = "Desk Door"; req_access_txt = "73"},/obj/machinery/keycard_auth{pixel_x = 24; pixel_y = 0},/turf/simulated/floor/wood,/area/ntrep)
@@ -4964,7 +4964,7 @@
"bRx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/telecomms/server/presets/service,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server)
"bRy" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/telecomms/server/presets/supply,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server)
"bRz" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/hallway/secondary/entry{name = "Arrivals"})
"bRA" = (/turf/space,/area/hallway/secondary/entry{name = "Arrivals"})
"bRA" = (/obj/machinery/spod_part_fabricator,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/engine/mechanic_workshop)
"bRB" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/fpmaint2{name = "Port Maintenance"})
"bRC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating{tag = "icon-platingdmg2"; icon_state = "platingdmg2"},/area/maintenance/fpmaint2{name = "Port Maintenance"})
"bRD" = (/obj/structure/closet/crate,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/weapon/contraband/poster/legit,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
@@ -5046,7 +5046,7 @@
"bTb" = (/obj/machinery/light/small,/obj/machinery/power/terminal{dir = 4},/obj/machinery/camera{c_tag = "Telecoms - Server Room - Aft"; dir = 1; network = list("SS13","tcomm")},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server)
"bTc" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server)
"bTd" = (/obj/machinery/light/small,/obj/machinery/telecomms/broadcaster/preset_right,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/server)
"bTe" = (/obj/structure/lattice,/turf/space,/area/hallway/secondary/entry{name = "Arrivals"})
"bTe" = (/obj/structure/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/radio{pixel_y = 6},/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/engine/mechanic_workshop)
"bTf" = (/obj/structure/cable/yellow{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
"bTg" = (/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/maintenance/fpmaint2{name = "Port Maintenance"})
"bTh" = (/obj/item/trash/cheesie,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
@@ -5069,11 +5069,11 @@
"bTy" = (/obj/machinery/teleport/hub,/turf/simulated/floor/plating{icon_state = "warnplate"},/area/teleporter{name = "\improper Teleporter Room"})
"bTz" = (/obj/structure/closet/secure_closet/blueshield,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/wood,/area/blueshield)
"bTA" = (/obj/machinery/door_control{id = "blueshield"; name = "Privacy Shutters Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "67"},/obj/machinery/computer/crew,/turf/simulated/floor/wood,/area/blueshield)
"bTB" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/obj/machinery/camera{c_tag = "Blueshield's Office"; dir = 1; network = list("SS13")},/turf/simulated/floor/wood,/area/blueshield)
"bTB" = (/obj/structure/cable/yellow{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/engine/mechanic_workshop)
"bTC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/wood,/area/blueshield)
"bTD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/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)
"bTE" = (/obj/structure/filingcabinet,/turf/simulated/floor/wood,/area/ntrep)
"bTF" = (/obj/machinery/camera{c_tag = "NT Representative's Office"; dir = 1; network = list("SS13")},/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "NT Representative's Office"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood,/area/ntrep)
"bTF" = (/obj/machinery/computer/rdconsole/mechanics,/obj/machinery/power/apc{dir = 8; name = "Mechanic Workshop APC"; pixel_x = -25; pixel_y = 3},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/engine/mechanic_workshop)
"bTG" = (/obj/machinery/door_control{id = "representative"; name = "Privacy Shutters Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "73"},/obj/machinery/computer/secure_data,/turf/simulated/floor/wood,/area/ntrep)
"bTH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/structure/closet/secure_closet/ntrep,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/wood,/area/ntrep)
"bTI" = (/obj/structure/table,/obj/item/weapon/storage/fancy/donut_box,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor{icon_state = "bot"; dir = 1},/area/gateway)
@@ -7978,7 +7978,25 @@
"cXv" = (/obj/machinery/smartfridge,/turf/simulated/wall,/area/crew_quarters/bar)
"cXw" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/door/poddoor/preopen{id_tag = "Xenolab"; name = "test chamber blast door"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cXx" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/machinery/door/poddoor/preopen{id_tag = "Xenolab"; name = "test chamber blast door"},/turf/simulated/floor/plating,/area/toxins/xenobiology{name = "\improper Secure Lab"})
"cXy" = (/obj/machinery/computer/podtracker,/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/engine/mechanic_workshop)
"cXz" = (/obj/machinery/door/airlock/glass_engineering{name = "Mechanic Workshop"; req_access_txt = "70"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/engine/mechanic_workshop)
"cXA" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/starboard)
"cXB" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/starboard)
"cXC" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/starboard)
"cXD" = (/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/maintenance/starboard)
"cXE" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{tag = "icon-platingdmg1"; icon_state = "platingdmg1"},/area/maintenance/starboard)
"cXF" = (/obj/structure/rack{dir = 8; layer = 2.9},/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/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "dark"},/area/storage/tech)
"cXG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "cautioncorner"},/area/hallway/primary/starboard)
"cXH" = (/obj/machinery/door/airlock{icon = 'icons/obj/doors/doorint.dmi'; name = "Starboard Emergency Storage"; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/maintenance/starboard)
"cXI" = (/obj/machinery/light{dir = 1},/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/blueshield)
"cXJ" = (/obj/machinery/light{dir = 1},/obj/structure/flora/kirbyplants,/turf/simulated/floor/wood,/area/ntrep)
"cXK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/wood,/area/blueshield)
"cXL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood,/area/ntrep)
"cXM" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/blueshield)
"cXN" = (/obj/structure/sign/poster/legit{pixel_x = -32},/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/ntrep)
"cXO" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp,/obj/machinery/camera{c_tag = "Blueshield's Office"; dir = 1; network = list("SS13")},/obj/machinery/newscaster/security_unit{pixel_y = -32},/turf/simulated/floor/wood,/area/blueshield)
"cXP" = (/obj/machinery/camera{c_tag = "NT Representative's Office"; dir = 1; network = list("SS13")},/obj/structure/table/woodentable,/obj/machinery/photocopier/faxmachine{department = "NT Representative's Office"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/newscaster/security_unit{pixel_y = -32},/turf/simulated/floor/wood,/area/ntrep)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -8055,20 +8073,20 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaDaaDaaDaaDaaDaaDaaDaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaiaaiaaaaaaaaaaaaaaiaaaaaiaaiaakaaiaaiaaiaaiaaQadSadTadUadVadWadzadXabJadYadZaeaaebaecabgaedabJaecabgaclabgaeeaefaegaawaaaaaiaaiaehaehaehaehaehaaaaaiaaaaaaaeiaeiaekaejaelaeiaeiaaaaaiaaaaaaaaiaaaaaaaaaaaiaaaaaaaaaaaiaaaaaaaaaaaaaaiaaaaaaaaaaaaacWaemaenadsadsaeoaaaaaiaaaaaaaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaiaaaaaaaaaabWaaaaaaaaaaaiaaaaaaaaaaafaaaaaaabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaDaaDaaDaepaaDaaDaaDaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaiaaaaaiaaiaaaaaiaaaaaiaeqaeraeqaaiaaaaaaaaQaesaetaeuaaQaevadzaewaexabgadjabgaeyadjabgaewaezadjabgacEabgadjaeAaewaawaaiaaiaehaehaeBaeCaeDaehaehaaiaaiaeiaeiaeEaeFaeGaeHaeIaeiaeiaaiaeJaeJaeKaeJaeJaaiaaiaaiaaiacWacXacWacXacXacXacWacXacXacXacWacWaeLacWaeMaeNaeNaeOaeNaeNaePaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaaahaaaabzabzabzabzabzaaiaeQaaiabzabzabzabzabzaaiaahaaaaaaabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaaaaaaaDaaDaaDaaDaaDaaDaaDaaaaaaaaDaaDaaDaaDaaaaaaaaaaaaaaaaaiaaaaaiaaaaaaaaiaaiaaiaeqaeRaeqaaiaaiaaaaaQaaQaaQaaQaaQaeSaeTaeUaeVaeWaeXaeYaeZafaafbafcafdafeaffafgafhafiafjafkaflaaiaehaehafmafnafoafoafpaehaehaaiaeiafqafrafsaftafuafvafwaeiaaiaeJafxafyafzaeJaaaaaaaaaaaiacWafAacWafBafCafDacWafEafFafGacWafHafIafJafKafLafLafLafLafLafKaaiaaiaaiaaiaaiaaaaaaaaaaaaaaaaahaaiabTabUabUabUabUabVabWabXabYabYabYabYabZaaiaahaaaaaaabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaeqaeqafMaeqaeqaaiaaiaaiaaiaaiaaiaaEafNafOafPafQafRafSafTafOafUafVafWafXafYafZafOagaagbagcagdageaaiaehagfaggaghagiagjagkaglaehaaiagmagnagoagpagqagragsagtaguaaiaeKagvagwagxaeKaaaagyagyagyacWagzagAagBagCagCagDagCagEagFagGagHagHagHafKafLafLafLafLafLafKaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaaahaaiacracracracracraaiabWaaiacracracracracraaaaagaaaabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaaiaaaaaaaaaaaaaaaaaiagIagJagKagLagIaaaaaiaaaaaaaaaaaiaawaawagMagNagOaawagPagQagPabgabgabgabgagRagSagTagUagVagWagXaawaaiaehagYaggagZahaahbagkahcaehaaiahdaheahfahgahhahiahfahjahdaaiaeJagvahkagxaeJagyagyahlahmacWacWacWahnahoahpahpahqahrahsahtahtahuahvafKafLafLafLafLafLahwacWacWacWaaaaaiaaaaaaaaaaaaaaaaagaaaaaaaaaaaiaaaaaaaaaabWaaaaaaaaiaaaaaaaaiaaaaahaaaabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiahxahxahyahyahyahyahyagIahzahAahBagIahCahDahCahCaaaaaiaaaaawaawageaawaawaawageaawaawahEahFahGahHahIahJahKahLahLahLaehaehaehahMahNahOahPahQahRahSaehaaiaeiahTahUahVahWahXahYahZaeiaaiaeJagvahkagxaeJaiaagyaibaicaidaieacWaifahoahpaigaihaihaihaiiahtaijaikailafLafLafLafLafLaimainaioacXaaaaaiaaiaaiaaiaaiaaiaahaaiaaiaaiaaiaaiaaaaaaabWaaaaaaaaaaaaaaaaaiaaaaagaaaaaaabBabBabBabBaaaaaaabBabBabBabBabBabBabBaaaaaaabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipaiqahyairaisaitaiuagIaivaiwaixagIaiyaizaiAahCahCaaiaaaaaaaaaaaiaaaaaaaaaaaiaaiaiBaiCaiDaiCaiEaiFaiGaiHahLaiIaiJaiKaehaehaehaiLaiMaehaehaehaehaehaiNaeiaeiaiOaiPaiQaiSaiRaeiaeiaiNaiTaiUaiVaiWaeJagyagyaiXaiXaiYaiZacWajaahoajbajcajdajdajeajfajgajhajiacXafLafLafLafLafLacXajjajkacXaaaaaiaaaaaiaaaajlajlajlajlajlajlajlaaiaaiaaiabWaaiaaiaaiaaiaaiaahaaiaahaaaaaaaaaaaaaaaaaaaaaaaaabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiahxajmahxajnajoajpajqagIagIajrajsagIajtajuajvajwahCaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiajxahHahHahHahHajyajzajAahLajBajCajDaehajEajFajGajHajIajJajKajLaehajMajNajOajPajQajRajSajTajOajUajVaiTajWajXajYaeJajZaiXaiXakaaiXagyacWakbakcakdakeakfakfakgajfajkakhajiacXafLafLafLafLafLacXakiakjacXaaiaaiaaiaaiaaiajlakkaklakmaknakkajlaaiaaaakoakpakoaaaaaaaaiaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaahyakqakraksaktakuakvakwakxakyakzahCakAakBakCakDahDaaiaaaaaaaaiaaaaaaaaaagyagyagyajxakEakFakGakHakIakJakKahLakLajCakMaehakNakOakPakQakRakSakTakUakVakWakXakYakZalaalbalcaldalealfalgalhalialjalkaeJallalmalnaloalpagyalqalrahoalsajcaltajdaluajfalvajhalwalxafLafLafLafLafLalyalzalAalBalCalBaaaaaiaaaajlalDalEakkalEalFajlaaiaaaalGalHalGaaaaaaaaiaaaaaaaaaaahaaaaaaaaaaaaaaaaaaaaaaaaabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaahxalIahxalJalKalLalMahxalNalOalPalQalRalSalTalUahCaaialValVahDalValVaaaagyalWalWajxalXalYalZamaambamcamdameamfamgamfamhamiamiamjamkamlammamnamnamoampamqamramsamtamuamvamwamxamyamzamAamBamCamDaeJamEaiXaiXamFaicagyamGalrahoagHamHamIamJamKamLamMajhamNamOafLafLafLafLafLamPacWamQalBamRamSacqacqaaiajlamTamUamVamWamXajlaaiakoalGamYalGakoaaaaaiaaaaaaaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiahxamZanaanaanaanbancahxandaneanfahCanganhanianjahCalValVankanlakzalVagyagyanmannajxanoanpanqanransantanuahLanvanwanxaehanyanzanAanBanCanDanEanFahLanGanHanIamsanJanKanLanManNanOanPaiTaiTanQaeJaeJagyagyagyanRagyagyagyanSanTagHagHanUanVanWanXanXanYamNamOafLafLafLafLafLamPanZaoaalBamSalBalBalCalBajlaobaocakkaodaoeajlaaialGalGalHalGalGaaiaaiaaaaaaaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaofaogaaaaaaaofaaaaofaaaaaaaaiaaiaaiaaaaaaaaaaaaaaaaaiaaaaaiaaaaaiaaaahxaohaoiaojaokaolaomahxakCanealTalVaonalTalTalTaooalVaopaoqaoraosalVaotaouaovaowaoxaoyaozaoAaoBaoCaoDaoEaehajIaoFajIaehaehaoGaoHaoGaehaoIaoJaoKaoLaoManHaoNaoOaoPaoQaoRaoSaoTanOaoUaoVaoWaoXaoYaoZaoYapaapbapcapdapbapeapfapgaphaphapiapjapkaplaplaplapmamOafLafLafLafLafLamPapnapoalBaoaappapqaprapsajlapuaptapvapwapxajlaaiapyapzapAapBapyaaaaaiaaaaaaaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaofaofaaiaaiaofaofaofaaiaaaaofaofapCaofaofaaaaaialValVahDalVaaiaaaaaiaaiaaiaaiaaialVahDahxahxapDapEapFahxahxahxalTapGalPapHalRapIapJalTapKalValNapLapMalValVapNapOapPapQajxajxajxahHahHapRapSapTapUapVapWapXapYapZaqaanDaqbaehanDakTaqcahLaqdanHaqeaqfaqgaqhaqiaqjaqkanOaqlaqmaqmajOajOajOajOaqnagyagyagyagyagyaqoaqpaqqaqraqsaqtaquaqvaqwaqxaqyaqzaqAaqAaqAaqAaqAaqBaqCaqDalBapoapoapoapoaqEajlaqFaqGaqHaqIaqJajlaaiapyaqKaqLaqMapyaaaaaiaaiaaiacqaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaqNaaiaofaaiaqNaaiaofaofaaiaofaofaofaofaofaaaaaaaaaalVaqOaqPalVaqQaqRaqRaqRaqRaqRaqSalVaopaqTalVaqUaqValNaqWaqXalVaqYaqZaraalVaonapLarbarcardalVareapJarfalVargapOahlarhariagyarjajxarkarlansapSamdarmarnaroarparqarrarsartaruarvanDarwarxahLaryarzarAarBarCarDarEarFarEarGarHarIarJarJarKarLajOaqnagyarMarNarOarParParParParParQarRarSarTarTarTarTarTarUalBarVarWarXalBalBapoalBarYarZasaapoasbascasdaseasfasgashajlalCapyasiasjaskapyaaaaaiaaaaaaacqaaiaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaofaaiaofaaiaofaofaofapCaaiaaiaaiaofaofaaiaaaaaiaaiahDaslasmasnasoaspaspaspaspaspasqasrassastasuasvaswaspasxaspasyaszasAagyagyagyagyagyagyagyagyagyagyasBagyasCagyagyagyagyagyagyajxasDasEansapSapTapUasFasGasHasIasJasKasLasManCasNasOasPaoLasQasRasSasTasUasVasWasXasYasZataaqmatbatcatbatdajOateatfatgathaiXarPcXuatjauvatlatmatnatoarTatpatqatrarTalBalBapoaqCarZapnalBapoalBarXapoatsapoalBattatuajlajlatvatwajlatxapyapyatyatzapyatAalCatAatAatBatAaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaofaofaofaofaofaaiaofaofaaiaqNaofaofaaiaaiaaiaaialValVatCalValVatDatEatEatEatEatEatFalValValValVatGatHatIatIatIatIatJatKagyatLatMatNatOatPatQatRatSatTatUatVatWagyatXatYatYatYatZajzauaaubansaucaudaueanCaufaehaehaugauhauiaoLaehaujaugahLahLajOaukaulaumaukajOauoaunajOaupaqmaqmauqauqauqajOajOauragyaiXausautarPatkauuatkatlauwauxauyauzauAauBauCarTauDalBauEauFauGauHalBapralBalBalBauIalBalBauJauKauLajlajlajlajlaprapnapoauMauNatAauOauPauQatAaoaatAaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaaiaofaofaofaofaofaofaofaofaofaofaofauRaofaaiaqNalValValVauSauTalVaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaialVankauUalTalNauValNauWauXauYauZavaavbagyagyagyavdavcavcavcaveagyagyavfavgavhaviavfajzajzahHavjavkamdavlavlavmavnavlavoavlavnavlavpavlavoavqavravsavnavtavuavlavlavlavnavlavvajxavwavxavxavxavxahHaqnagyautaiXaiXarPavyavzavAarPavBavCavDavEavFarTarTarTavGalBapnavHatsapoalBapoalBavIalBavJavKavLavMavNavOavPavQavRavSavTavUavRavVapoapoavHapoavWatBavXatBacqacqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaeqaeqafMaeqaeqaaiaaiaaiaaiaaiaaiaaEafNafOafPafQafRafSafTafOafUafVafWafXafYafZafOagaagbagcagdageaaiaehagfaggaghagiagjagkaglaehaaiagmagnagoagpagqagragsagtaguaaiaeKagvagwagxaeKaaaagyagyagyacWagzagAagBagCagCagDagCagEagFagGagHagHagHafKafLafLafLafLafLafKaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaaahaaiacracracracracraaiabWaaiacracracracracraaiaagaaiabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaaiaaaaaaaaaaaaaaaaaiagIagJagKagLagIaaaaaiaaaaaaaaaaaiaawaawagMagNagOaawagPagQagPabgabgabgabgagRagSagTagUagVagWagXaawaaiaehagYaggagZahaahbagkahcaehaaiahdaheahfahgahhahiahfahjahdaaiaeJagvahkagxaeJagyagyahlahmacWacWacWahnahoahpahpahqahrahsahtahtahuahvafKafLafLafLafLafLahwacWacWacWaaaaaiaaaaaaaaaaaaaaaaagaaaaaaaaaaaiaaaaaaaaaabWaaaaaiaaaaaaaaaaaaaaaaaaaaaabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiahxahxahyahyahyahyahyagIahzahAahBagIahCahDahCahCaaaaaiaaaaawaawageaawaawaawageaawaawahEahFahGahHahIahJahKahLahLahLaehaehaehahMahNahOahPahQahRahSaehaaiaeiahTahUahVahWahXahYahZaeiaaiaeJagvahkagxaeJaiaagyaibaicaidaieacWaifahoahpaigaihaihaihaiiahtaijaikailafLafLafLafLafLaimainaioacXaaaaaiaaiaaiaaiaaiaaiaahaaiaaiaaiaaiaaiaaaaaaabWaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaabBabBabBabBaaaaaaabBabBabBabBabBabBabBaaaaaaabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaipaiqahyairaisaitaiuagIaivaiwaixagIaiyaizaiAahCahCaaiaaaaaaaaaaaiaaaaaaaaaaaiaaiaiBaiCaiDaiCaiEaiFaiGaiHahLaiIaiJaiKaehaehaehaiLaiMaehaehaehaehaehaiNaeiaeiaiOaiPaiQaiSaiRaeiaeiaiNaiTaiUaiVaiWaeJagyagyaiXaiXaiYaiZacWajaahoajbajcajdajdajeajfajgajhajiacXafLafLafLafLafLacXajjajkacXaaaaaiaaaaaiaaaajlajlajlajlajlajlajlaaiaaiaaiabWaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiahxajmahxajnajoajpajqagIagIajrajsagIajtajuajvajwahCaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiajxahHahHahHahHajyajzajAahLajBajCajDaehajEajFajGajHajIajJajKajLaehajMajNajOajPajQajRajSajTajOajUajVaiTajWajXajYaeJajZaiXaiXakaaiXagyacWakbakcakdakeakfakfakgajfajkakhajiacXafLafLafLafLafLacXakiakjacXaaiaaiaaiaaiaaiajlakkaklakmaknakkajlaaiaaaakoakpakoaoxbjlbclbclaoxaaiaagaaiaaaaaaaaaaaaaaaaaaaaaabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDaaDaaDaaDaaDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaahyakqakraksaktakuakvakwakxakyakzahCakAakBakCakDahDaaiaaaaaaaaiaaaaaaaaaagyagyagyajxakEakFakGakHakIakJakKahLakLajCakMaehakNakOakPakQakRakSakTakUakVakWakXakYakZalaalbalcaldalealfalgalhalialjalkaeJallalmalnaloalpagyalqalrahoalsajcaltajdaluajfalvajhalwalxafLafLafLafLafLalyalzalAalBalCalBaaaaaiaaaajlalDalEakkalEalFajlaaiaaaalGalHalGaoxbpFbpFbpFaoxaaaaahaaaaaaaaaaaaaaaaaaaaaaaaabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaahxalIahxalJalKalLalMahxalNalOalPalQalRalSalTalUahCaaialValVahDalValVaaaagyalWalWajxalXalYalZamaambamcamdameamfamgamfamhamiamiamjamkamlammamnamnamoampamqamramsamtamuamvamwamxamyamzamAamBamCamDaeJamEaiXaiXamFaicagyamGalrahoagHamHamIamJamKamLamMajhamNamOafLafLafLafLafLamPacWamQalBamRamSacqacqaaiajlamTamUamVamWamXajlaaiakoalGamYalGaoxbKebpFbpFaoxaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiahxamZanaanaanaanbancahxandaneanfahCanganhanianjahCalValVankanlakzalVagyagyanmannajxanoanpanqanransantanuahLanvanwanxaehanyanzanAanBanCanDanEanFahLanGanHanIamsanJanKanLanManNanOanPaiTaiTanQaeJaeJagyagyagyanRagyagyagyanSanTagHagHanUanVanWanXanXanYamNamOafLafLafLafLafLamPanZaoaalBamSalBalBalCalBajlaobaocakkaodaoeajlaaialGalGalHalGaoxbpFbpFbpFaoxaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaabBabBabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaofaogaaaaaaaofaaaaofaaaaaaaaiaaiaaiaaaaaaaaaaaaaaaaaiaaaaaiaaaaaiaaaahxaohaoiaojaokaolaomahxakCanealTalVaonalTalTalTaooalVaopaoqaoraosalVaotaouaovaowbKjaoyaozaoAaoBaoCaoDaoEaehajIaoFajIaehaehaoGaoHaoGaehaoIaoJaoKaoLaoManHaoNaoOaoPaoQaoRaoSaoTanOaoUaoVaoWaoXaoYaoZaoYapaapbapcapdapbapeapfapgaphaphapiapjapkaplaplaplapmamOafLafLafLafLafLamPapnapoalBaoaappapqaprapsajlapuaptapvapwapxajlaaiapyapzapAapBaoxbLPbLLbQyaoxaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaabBabBabBabBabBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaofaofaaiaaiaofaofaofaaiaaaaofaofapCaofaofaaaaaialValVahDalVaaiaaaaaiaaiaaiaaiaaialVahDahxahxapDapEapFahxahxahxalTapGalPapHalRapIapJalTapKalValNapLapMalValVapNapOapPapQajxajxajxahHahHapRapSapTapUapVapWapXapYapZaqaanDaqbaehanDakTaqcahLaqdanHaqeaqfaqgaqhaqiaqjaqkanOaqlaqmaqmajOajOajOajOaqnagyagyagyagyagyaqoaqpaqqaqraqsaqtaquaqvaqwaqxaqyaqzaqAaqAaqAaqAaqAaqBaqCaqDalBapoapoapoapoaqEajlaqFaqGaqHaqIaqJajlaaiapyaqKaqLaqMaoxbRAbQzbTeaoxaaaaaiaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaqNaaiaofaaiaqNaaiaofaofaaiaofaofaofaofaofaaaaaaaaaalVaqOaqPalVaqQaqRaqRaqRaqRaqRaqSalVaopaqTalVaqUaqValNaqWaqXalVaqYaqZaraalVaonapLarbarcardalVareapJarfalVargapOahlarhariagyarjajxarkarlansapSamdarmarnaroarparqarrarsartaruarvanDarwarxahLaryarzarAarBarCarDarEarFarEarGarHarIarJarJarKarLajOaqnagyarMarNarOarParParParParParQarRarSarTarTarTarTarTarUalBarVarWarXalBalBapoalBarYarZasaapoasbascasdaseasfasgashajlalCapyasiasjaskaoxbTFbTBcXyaoxaaaaaiaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaofaaiaofaaiaofaofaofapCaaiaaiaaiaofaofaaiaaaaaiaaiahDaslasmasnasoaspaspaspaspaspasqasrassastasuasvaswaspasxaspasyaszasAagyagyagyagyagyagyagyagyagyagyasBagyasCagyagyagyagyagyagyajxasDasEansapSapTapUasFasGasHasIasJasKasLasManCasNasOasPaoLasQasRasSasTasUasVasWasXasYasZataaqmatbatcatbatdajOateatfatgathaiXarPcXuatjauvatlatmatnatoarTatpatqatrarTalBalBapoaqCarZapnalBapoalBarXapoatsapoalBattatuajlajlatvatwajlatxapyapyatyatzaoxaoxcXzaoxaoxatBatAaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaofaofaofaofaofaaiaofaofaaiaqNaofaofaaiaaiaaiaaialValVatCalValVatDatEatEatEatEatEatFalValValValVatGatHatIatIatIatIatJatKagyatLatMatNatOatPatQatRatSatTatUatVatWagyatXatYatYatYatZajzauaaubansaucaudaueanCaufaehaehaugauhauiaoLaehaujaugahLahLajOaukaulaumaukajOauoaunajOaupaqmaqmauqauqauqajOajOauragyaiXausautarPatkauuatkatlauwauxauyauzauAauBauCarTauDalBauEauFauGauHalBapralBalBalBauIalBalBauJauKauLajlajlajlajlaprapnauPauMauNatAauOcXAauQatAaoaatAaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaaiaofaofaofaofaofaofaofaofaofaofaofauRaofaaiaqNalValValVauSauTalVaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaialVankauUalTalNauValNauWauXauYauZavaavbagyagyagyavdavcavcavcaveagyagyavfavgavhaviavfajzajzahHavjavkamdavlavlavmavnavlavoavlavnavlavpavlavoavqavravsavnavtavuavlavlavlavnavlavvajxavwavxavxavxavxahHaqnagyautaiXaiXarPavyavzavAarPavBavCavDavEavFarTarTarTavGalBapnavHatsapoalBapoalBavIalBavJavKavLavMavNavOavPavQavRavSavTavUavRcXBcXCcXCcXEcXDavWatBavXatBacqacqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqNaaiaofapCaofaofaofaofavYaaiaofaofaofaofaofaofavZawaavZawbawcalValVaaiaaaaaaaaaaaaaaaaaaaaaaaaaaialValValVapJalNalTalNawdaweawfawgawhawiagyaaaaaiaaaaaaaaaaaaaaaaaiaaaawjawkawlawmawnawoawpawqawrawsawtawuawuawvawtawuawwawxawtawyawzawuawAawBawCawuawDawEawFawGawGawHawIawJawKawLawMawNawOawPawQahHaqnagyawRahlawSarPawTawUawVawWawXawYawZarTaxaaxbaxcarTaxdalBalBalBauIalBalBapoalBaqDalBaxeatAatAattaxfajlatAatAatAatAatAatAatAatAatAanZatAatAatAatAatAaxgatAaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaofaofaofaofaofaofaofaofaofaofaofaaiaofaofaofaaialValValVaxhawialTalVaaaaxiaxjaxkaxjaxlaaiaaiaaiaaialVaxmalVaxnaspaspaspaxoaxpalVaxqaxraxsagyaaaaxtaxtaxtaxtaxtaxtaxtaaaavfaxuaxvaxwavfajzajzahHaxxaxyaxzaxAaxBaxCaxzaxDaxBaxyaxEaxFaxGaxHaxIaxJaxKaxLaxMaxNaxOaxPaxQaxOaxRaxSaxTaxUaxVaxWaxXaxYaxZahHaqnayaayaayaayaarPatiaybaycaydayeayfauyaygayhayiayjarTaykaylaymaynayoaynaypaynayqaynaynayraysaytayuayvaywayxayyayxayzayAayBayAayCatAatAatAayzayAayCayDayDayxaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaofaofaofaofaofaofaofayEaofaaiaaiaaiaaialValNawiaonahDaaaayFayGayHayIayFayJayJayJayKayKayKayKayLayKayKayMayMayMayMayNayMayOagyaaiaxtayPayQayRaySayTaxtaaaavfayUayUayVavfaaaaaaayWayXayYayZahHayXazaayZahHayXazbayZahHazcajzazdahHajzazeazfajzajzazgazgazhaziazjazgazgazkahHahHahHahHahHaqnayaazlazmaznarParParParParPazoazpazqavEavFarTarTarTalBazrapnanZapoapnazsapoatAatAatAatAatAaztazuazvazwazxazyazxazzazAazBazAazCayAazDayAazEazAazBazAayDazFazGaaiaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -8092,14 +8110,14 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaaaaWXaWwaWxaWyaWzaWAaWBaWCaWDaWEaWDaWFaWGaWDaWHaWIaWJaWKaWLalVaaaaaaaHWaHWaHWaHWaHWaaaaaiaVqaWMaSQaLRaNwaNwaWNaWOaKEaWPaWQaWRaWSaWTaWUaWVaWWalVawiaKKaKKaKKaOOaOOaXFaKPaWYaWZaKPaXaaXbaXcaVIaXdaXeaXfaVIaXgaXhaXiaXjaXkaXlaXmaXnaXoaXpaXqaIxaIxaUBaXraUBaIxaIxaUyaXsaXtaUyaXuaXvaXwaXxaXyaXzalBalBalBalBaXAalBalBalBalBalBalBaDmapnapoaXBaXBaXBaXBaXBaXBaXBaWiaXCaXDaXEaWiaXWaXGaWiaXHaXIaCiaCiaXJaXKaXLazxaXMazxaXNazAaXOazAayzayAaXPayAayCazAaXOazAayDazFazGaaiaaiaahaahaagaaiaagaahaahaagaagaahaahaahaagaaiaaiaaiaaiaaiaogaSAaXQaXRaXRaXRaXRaXRaXSaXSaXSaXTaXSaXSaXSaXRaXUaXRaXRaXRaXVaSHaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaaaZZaXXaXYaXYaXZaXYaXYaXYaYaaYbaYcaYdaYeaYeaYeaYfaYgaYhaYialVaaaaaaaaiaaiaaaaaaaaiaaiaaiaVqaYjaYkaYlaYmaNwaYnaYoaYpaYqaYraYsaYtaYuaYvaYwaYxalVaYyaYzaYAaYBaYCaYDaYEaYFaYGaYHaYIaYJaYKaYJaYLaYMaYNaYOaYPaYJaYQaYRaYRaYSaYTaYUaYRaYRaYVaYWaYWaYWaYXaYYaYWaYWaYZaYWaZaaZbaYWaYWaYWaZcaZdalBaZeaZfaZgaZhaZiaZjaZiaZkaZiaZlavUaWhavVaqCapoaXBaZmaZnaZoaZpaZqaZraWiaZsaZtaZtaZuaZtaZvaWiaZwaWnaZxaZyaZyaZyaZyaZyaZzayxaZAayAaZBayAazEayxayxayxaZAayAazEayDayDayxaaiaaiaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaaaaaaaaogaTMaTNaTTaaaaTQaZCaZCaZDaZEaZFaZGaZHaZEaZIaZCaZJaTQaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaZZaZZaZKaZZaSIaZZaZLaZZaXXaXYaZMaZNaZZaZLaZZaZOaZPaZQaZRalValValValVahDahDahDalValValVaVqaZSaZTaZTaZTaZTaZUaNwaZVaZWaZXaZYaUoaUoaUoaUobcUalValVbaaalValVbabbacbadbaebafbagbahbaebafbaibajbagbakbaebaebaebafbaebaebalbambaebaebaebaebaebaebaebanbaobaebaebahbapbaqbaebaebaebaebarbasbatbatbatbaubatbatbatalBbavalBaDmalBalBbawbawbawbawbaxbaybaybazbaAbaBaWibaCbaDbaEbaFbaGbaHaWibaIbaJbaKaZybaLbaMbaNaZybaOayxayxayxayxayxayxayxbaPayxayxayxayxayxaHLayxaaiaogaogaagaogaogaogaogaagaogaogaogaogaagaogaogaogaogaogaogaogaogaSAaTNaTTaaaaTQaZCaZFbaQbaRbaSbaTbaUbaRbaVaZFaZJaTQaaaaViaTNaTTbaWbaWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaZZaaiaaaaaiaaaaZZbaXaZZbaYbaYbaZbbaaZZbaXaZZaZZaSIbbbbbcbbdasoaspbbeaspbbfaspbbgbbhasqbbibbjbbkbbkbblbbmbbnbbobbpbbqbbrbbsbbqbbtbbubbqbbvbbwbbxbbybbzbbAbbBbbCbbDbbEbbEbbFbbGbbHbbIbbJbbKbbLbbMbbMbbMbbMbbMbbMbbMbbNbbObbPbbPbbPbbPbbPbbPbbPbbPbbQbbRbbSbbTbbPbbUbbQbbPbbPbbVbbWbbXbatbbYbbZbcabcbbccbatbcdbcealBbcfalBaaabawbcgbchbawbcibcjbckbclbcmbcnaWibcobcpbcqbcrbcsbctaWibcubcvbcwaZybcxbcybczaZybcAaKoaKobcBaKobcCaKoaKoaKobcDaKobcEbcFbcEbcFacqacqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaaaaRbbcGaTNaTTaaaaTQaZCbcHbcIaZCbcJbcKbcLaZCbcMbcNaZJaTQaaaaViaTNbcOaaabaWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaZZaaiaaaaaiaaaaZZbaXaZZbaYbaYbaZbbaaZZbaXaZZaZZaSIbbbbbcbbdasoaspbbeaspbbfaspbbgbbhasqbbibbjbbkbbkbblbbmbbnbbobbpbbqbbrbbsbbqbbtbbubbqbbvbbwbbxbbybbzbbAbbBbbCbbDbbEbbEbbFbbGbbHbbIbbJbbKbbLbbMbbMbbMbbMbbMbbMbbMbbNbbObbPbbPbbPbbPbbPbbPbbPbbPbbQbbRbbSbbTbbPbbUbbQbbPbbPbbVbbWbbXbatbbYbbZbcabcbbccbatbcdbcealBbcfalBaaabawbcgbchbawbcibcjbckcXFbcmbcnaWibcobcpbcqbcrbcsbctaWibcubcvbcwaZybcxbcybczaZybcAaKoaKobcBaKobcCaKoaKoaKobcDaKobcEbcFbcEbcFacqacqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaaaaRbbcGaTNaTTaaaaTQaZCbcHbcIaZCbcJbcKbcLaZCbcMbcNaZJaTQaaaaViaTNbcOaaabaWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaiaaaaZZaZLaZZaZZaZZaZZaZZaZZaZLaZZaaaaSIbcPbcQbcRbcRbcRbcRbcRbcRbcRbcRbcSbcTbbqbbqbdpbcVbdpbbqbbqbbqbcWbbqbcXbcYbcZbdabdbbdcbddbdebdfbdgbdhbbAbdibbCbdjbdkbdkbdlbdkbdmbdkbdnbdobdnbdBbdBbdBbdBbdBbdBbdBbdBbdBbdBbdBbdBbdBbdBbdBbdBbdBbdqbdqbdrbdqbdqbdqbdqbdqbdqbdsbbCbdtbatbdubdvbdwbdxbdybatbdzbdAalBaDmalCaaabeIbdCbdDbdEbdFbdGbdHbdIbdJbdKaWibdLbdMbdNbdNbdObdPaWibdQbdRbdQaZybdSbdTbdUaZybdVayxayxayxayxayxayxayxayxayxaEhayxayxaZzayxaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaogbdWbdXbdYbdZaTQaTQaTQaZCbeabebbecaZCaZCaZCbedbeebefaZJaTQaTQaTQbegaSGaSHaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabehbeibejbeibekbeibeibekbeibejbelbemaSIbcPbenbeobepbeqberbesbetbeubcRbevbewbexbeybezbeAbezbeAbeBbeAbeCbbqbeDbeEbeFbeGbeHbeObeJbeKbeLbeMbeNbgebePbeQbeRbdkbeSbeTbeUbeVbdkbeWbeXbeYaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaibdqbeZbfabfbbfcbfdbfebffbdqbfgbfhbfibatbfjbfkbflbfmbfnbatalBalBalBbfoalBaaabawbfpbfqbawbfrbfsbftbfubfvbfwaWibfxbfybfzbfAbfBbfCaWiaCibfDaCiaZybfEbfFbfGaZybfHbfHbfHacYaaZaaaaaaaaaaaaaaiaaaaaaayxbcFayxaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaRaaRabfIbfJaTNbfKbfLaaaaaaaTQbfMbfNbfOaZCaZCbfPaZCaZCbcMbfQbfRaTQaaaaaabfSaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabehbeibeibfTbfUbfVbfWbfXbfYbfZbgabgbbfVbgcbgdaZZbcPbcQbgLbgfbggbghbgibgjbgkbglbgmbgnbgobgpbgpbgqbgrbgsbbqbbqbbqbbqbgtbgubgvbgwbgxbdpbgybdebdfbgzbgAbgBbgCbbCbgDbdkbgEbgFbgGbgHbgIbgJbgKbgMaaiaaibgNbgPbgObgRbgQbgSbgPbgRbgQbgSbgObgObhcaaiaaibdqbgTbgUbgVbgWbgVbgXbgYbdqbgZbbCbhabhbbatbhebhdbhlbatbatbhfbhgalBbhhalBbhibawbawbawbawaXBaXBaXBbhjbhkaXBaWiaWiaWiaWiaWibhpbhmaWibhnbhobhnaZybhrbhqbiBaZybhsbhtbhubhvbhvbhwaaaaaaaaaaaiaaaaaaaaaacqaaaaaiaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiacqbhxbhybhzbhybhAaTTaaaaaaaaaaTQbhBaZFbhCbhDbhEbhFbhGbhDbhHaZFaZJaTQaaaaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhIbhJbhKbhLbfVbhMbhNbhMbhNbhMbhNbhMbfVbhObhPaZZbcPbhQbcRbhRbhSbhTbhUbhVbhWbcRbhXbhYbhZbiabibbicbidbiebifbigbihbiibijbikbilbimbinbiobipbiqbirbisbitbiubePbbCbgDbdkbivbiwbixbiybdkbizbiAbeYaaiaaibiNbiCbiDbiEbiFbiGbiHbiIbiJbiKbiLbiMbjyaaiaaibdqbiObiPbiQbiRbiSbiTbiUbdqbdsbiVbiWbiXbiYbiZbiYbjabjbbjcbiYbiYbiYbjdbiYbjebjfbjgbjhbiYbiYbjibjebjabjdbjjbjkbjibjlbjmbjnbjobjpbjqbjrbjsbjtbjubjvbjwbjxbjVbjzbjzbjAbjBbjCbjDaaaaaaaaaaaiaaaaaaaaaacqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiacqbhxbhybjEbhybjFaTTaaaaaaaaaaTQbjGbjHaZDbjIbjJbjKbjLbjMbjNaZCaZJaTQaTQaTQaTQbjOaSHaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhIbhJbhKbhLbfVbhMbhNbhMbhNbhMbhNbhMbfVbhObhPaZZbcPbhQbcRbhRbhSbhTbhUbhVbhWbcRbhXbhYbhZbiabibbicbidbiebifbigbihbiibijbikbilbimbinbiobipbiqbirbisbitbiubePbbCbgDbdkbivbiwbixbiybdkbizbiAbeYaaiaaibiNbiCbiDbiEbiFbiGbiHbiIbiJbiKbiLbiMbjyaaiaaibdqbiObiPbiQbiRbiSbiTbiUbdqbdsbiVbiWbiXbiYbiZbiYbjabjbbjcbiYbiYbiYbjdbiYbjebjfbjgbjhbiYbiYbjibjebjabjdbjjbjkbjicXGbjmbjnbjobjpbjqbjrbjsbjtbjubjvbjwbjxbjVbjzbjzbjAbjBbjCbjDaaaaaaaaaaaiaaaaaaaaaacqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiacqbhxbhybjEbhybjFaTTaaaaaaaaaaTQbjGbjHaZDbjIbjJbjKbjLbjMbjNaZCaZJaTQaTQaTQaTQbjOaSHaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabekbfVbfVbejbfVbhMbhNbhMbjPbhMbhNbhMbfVbhObhPaZZbjQbjRbjSbjTbjUbkubjWbkubeobeobjXbjYbcWbbqbjZbkabkbbkcbkdbkebkfbbqbkgbkhbkdbgwbkibbqbkjbkkbklbkmbknbgebgCbbCbgDbdkbkobkpbkqbkrbdkbksbktbeYbgQbmHbgQbkvbkwbkxbkybkxbkzbkxbkybkxbkAbkBbgQbmHbgQbdqbkCbkCbkCbkDbkEbkFbkGbdqbkHbkIbkJbkKbkLbkMbkLbkNbkLbkObkLbkLbkLbkPbkLbkQbkRbkSbkTbkLbkLbkUbkVbkWbkPbkXbkPbkYbkZblabjnblbblcblcbldbleblcblcblfblgblhblibjzbjzbljbhvbhvblkaaaaaaaaaaaiaaaaaaaaaaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaibllaaaaaaaaaaaibfLbfLbfIblmaTNaTTaaaaaaaaaaTQaTQbhBaZCaZCaZCblnaZCaZCaZCaZCbloaXUblpaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhIblqblrbhLbfVbhMbhNbhMbhNbhMbhNbhMbfVbhObhPaZZblsbltblublvblwblxblxblyblzblvblAblBblCbbqblDblEblFblGblHblIblJbbqblKblLblMblNblObbqblPblQblRblSblTbbAblUbfhblVblWblWblWblWblWbdnblXblYbdnbgQblZbmabmbbkybkybkybkybmcbkybkybkybkybmdbmebmfbgQbmgbmhbmibmjbmkbmlbmlbmmbdqbmnbmobmpbmqbmrbmsbmrbmtbmrbmubmrbmrbmvbmrbmrbmwbmxbmrbmybmvbmzbmAbmwbmBbmrbmCbmDbmEbmFbmGbnCbmIbmJbmKbmLblhbmMbmMbmNbmObmPbmQbjnbjnbjnacYbmRaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaabmSbmTbmUbmVbmWbmXbmYbmZaTNaTQaTQaTQaTQaTQbnabnbbnabnabncbndbncbnebnebnfbngbnhaTRaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnibeibeibfTbnjbfVbnkbfVbnlbnmbfVbnnbfVbgcbnoaZZbcPbnpbnqbnrbnsbntbnubnvbnwbnrbnxbnybnzbbqbnAbdpbnBbnEbbqbbqbbqbbqbbqbdpbnDbohbbqbbqbgebnFbnGbgebgebnHbabbbCbnIblWbnJbnKbnLblWbnMbnNbnObnPbnQbnRbnSbnTbnUbnVbnWbnXbnYbnWbnWbnZbnUboabobbocbgQbdqbkCbkCbkCbodbkCbkCbkCbdqboebbCbofbogbomboibombogbojbojbojbojbojbojalBalBbokalBalBalBbolbpFalBalBalBbonalBboobopboqborbosbotboubovbmMbowbowboxbmOboybfHbjnbozboAboBboCboDboDboEboFaaiaaaaaaaaiaaaaaaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaaaaaaiaaabmSboGboHaaaaaiboIboJboKboLboMboNbnaboOboPboQboRboSboTbnaboUboVboWboXboYboZboZbpaaTRaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnibeibeibfTbnjbfVbnkbfVbnlbnmbfVbnnbfVbgcbnoaZZbcPbnpbnqbnrbnsbntbnubnvbnwbnrbnxbnybnzbbqbnAbdpbnBbnEbbqbbqbbqbbqbbqbdpbnDbohbbqbbqbgebnFbnGbgebgebnHbabbbCbnIblWbnJbnKbnLblWbnMbnNbnObnPbnQbnRbnSbnTbnUbnVbnWbnXbnYbnWbnWbnZbnUboabobbocbgQbdqbkCbkCbkCbodbkCbkCbkCbdqboebbCbofbogbomboibombogbojbojbojbojbojbojalBalBbokalBalBalBbolcXHalBalBalBbonalBboobopboqborbosbotboubovbmMbowbowboxbmOboybfHbjnbozboAboBboCboDboDboEboFaaiaaaaaaaaiaaaaaaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaaaaaaiaaabmSboGboHaaaaaiboIboJboKboLboMboNbnaboOboPboQboRboSboTbnaboUboVboWboXboYboZboZbpaaTRaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnibeibpbbeibekbeibeibekbeibejbpcbpdaSIbpebpfbpgbbAbphbpibpjbpibpkbbAbplbpmbpnbpobppbpqbprbpsbptbpqbpubpvbpqbppbppbpwbppbpxbpybpzbpAbpBbppbpCbpDbpEbgDbqfbpGbpHbpIblWbeYbeYbeYbeYbgQbpJbpKbpLbpMbpNbpObkybpPbpQbpRbpSbpMbpTbpUbpVbpWbdqbpXbpYbpZbqabqbbkCbqcbdqbqdbbCbqebvFbqgbqhbqibogbqjbqkbqlbqmbqnbqobqpbqqbqralBbqsbqtbqubqvbqwalBatxbqxalBbqybqzbqAbjVbqBbqBbqBbqCbqDbmMbmMbqEbqFbqGbqHbqIbqJbqKbqLbqMbqNbqNbqObqPbqQbqQbqQbqRbqQbqQbqQbqQbqQbqQbqRbqQbqQbqQbqQbqQbqQbqRbqQbqSbqTbqNbqNbqNbqUbqVbqWbqXbqXbqYbqZbrabrbbrcbrdbrebrfbrgbrhbribrjbrkbrlbrmbrnbrobrpaXRaXRbrqaSHaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaaiaaiaaaaZZaZLaZZaZZaZZaZZaZZaZZaZLaZZaaaaSIbrrbrsbrtbbAbrubrvbrwbrvbrxbbAbrybrzbrAbrBbrBbrCbrDbrBbrBbrEbrFbrGbrHbrBbrBbrIbrBbrBbrBbrJbrKbrLbrLbrMbrNbrObrPblWbrQbrRbrSblWbrTbrUbrVbrWbrXbpSbrYbpNbrZbsabsbbscbsdbscbsebsfbsgbshbsibsjbskbdqbslbsmbsnbsobspbdqbdqbdqbdsbsqbsrbogbssbstbsubogbsvbswbsxbsybszbsAbsBbsCbsDbsEbsFbsGbsHbsIbsJbsKbsLbsMalBboobsNbsObjnbsPbsQbsRbsSbsTbsUbsVbsWbsXbmObsYbsZbtabtbbtcaSHaaaaaabtdboHaaiaaaaaaaaiaaaaaaaaaaaaaaaaaaaaiaaaaaaaaaaaaaaaaaaaaiaaabtebtfboFaaaaaiaVibtgbthbtibtjbtkbtlbtmbtnbtobtpbtqbtrbtsbttbtubtvbtwbtxboZbtybtzaTRaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaZZaaiaaaaaiaaaaZZbtAaZZbtBbtCbaYbtDaZZbtAaZZaZZaSIbcPbtEbtFbbAbtGbrvbtHbrvbtIbbAbtJbtKbtLbtMbtNbtObtPbtQbtRbtSbtTbtUbtNbtNbtNbtVbtNbtWbtXbtPbtYbtNbtNbtZbuabubbrPblWbucbudbuebufbugbuhbugbugbrXbuibujbukbukbukbulbumbunbuobupbukbukbukbuqburbgQbdqbusbutbuubuvbuwbdqbuxbuybuzbuAbsrbombuBbuCbuDbogbuEbuFbuGbuHbojbojalBalBbuIalBalBalBbuJbuKalBalBbuLbuMalBbuNbsNbuObjnbfHbfHbfHbfHbuPbfHbfHbuQbuRbuSbjnbjnbuTbuUbuVbuWaaabmSbuXaaaaaiaaaaaaaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaabtebtfboFaaibuYbuZbvabvbbvcbvdbnabvebvfbvgbvhbvibvjbnabvkbvlbvmbnebvnbvoboZbpaaTRaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -8111,13 +8129,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCPbCPbCPbCPbCPbCPbCPbCPbCPbCPbCPbCPbFWaZZaZZbcPbEwalVbExbEybEzbBjbEAbCUbCVbEBbECbEDbBjbEEbEFbEGbEHbxEbxEbxEbBoapLbvEbEIbEJbxKbxLbxKbxKbxKbxKbxKbEKbxKbvGbELbEMbENbEObEPbEQbEPbERbEPbEQbEPbESbETbEUbEVbEWbEXbEYbEZbEZbFabFbbEZbFcbFdbFebFfbFgbFhbEYbFibFjbEYbFkbFlbEYbFmbFnbFobFpbsrbFqbysbFrbysbFsbysbFtbysbFubApbApbFvbApbApbFwbFxbDJbFybAwbDMbFzbAAbyCalBbFAbFBbuObDnbFCbDSbFDbDSbFEbFFbFGbFHbFIbFJbCnbFKbFRbFMbFNbFObFPbFQbCnaaibCnbFSbFLbHRbCEaaiaaabAWaaabAVaaabAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaVibAXaTTaaaaaaaaaaaabFTbFUbFVbFVbGGbFXbGGbFVbFVbFYblpaTQaTQbjObFZbGaaaaaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCPbCPbCPbCPbCPbCPbCPbCPbCPbCPbCPbCPbGbbGcbGbbcPbGdalVbGebGfakzbBjbGgbCUbCVbGhbCUbGibBjbxEbGjbxEbDbbGkbGlbxEbBoapJbvEbGmbDgbGnbGobGpbGpbGpbGpbGpbGqbGpbGrbuabGsbGtbGubGvbGwbGvbGxbGybGzbGAbGBbGCbGDbGEbGvbGLbGFbGMbGHbGIbGJbGMbGKbHObIAbGNbGObGPbGQbGRbGSbGTbGUbGVbGObGWbGXbGYbGZbHabHbbHcbHdbHebHebHfbHgbHcbHhbHibHjbHkbyBbHlbyBbHmbHnbHobHpbHqbHrbHsbHtalBbHubHvbHwbHxbHybHzbHAbHBbHCbCnbHDbHEbHFbHGbHHbHIbEdbHJbHKbHLbHMbHNbICbHPbHQbHSbFLbKRbCEaaiaaabAWaaabAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaVibAXbHTaRaaRaaaaaaaaTRbHUbHVbHWbGGbHXbGGbHYbHZbIaaTRaaaaViaTNaTTbaWaogaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCPbCPbCPbCPbCPbCPbCPbCPbCPbCPbCPbCPaZZaZZaZZbcPbIbalVbIcalValVbBjbIdbIebIfbCUbCUbCUbBjbIgbIhbxEbIibxEbxEbxEbIjbIkbIlbBqbBqbEKbImbInbBqbBqbBqbBqbIobIpbzLbvJbIqbIrbIsbIsbItbIubIvbIsbIsbIwbIwbIxbIybIwbIzbIEbIBbIGbIzbIDbIDbISbIFbJrbIDbIHbIIbIJbIKbIHbIHbILbIMbINbIHbIObdnbIPbIQbIRbJsbITbIUbITbIVbIWbysbysbDGbDHbApbIXbIYbIZbIYbHjbJabJbbJcbJdbJebAAbJfalBbJgbJhbJibJjbJkbJlbJmbJnbyKbJobJpbJqbCBbCybCnbJtbJvbJubJvbJubLTbLKbCnaaibCEbCEbCEbCEbCEaaiaaabAWaaabAVaaabAWaahaagaaiaagaahaahaagaagaahaahaahaogaogaogaogbdWbJwaSCaSCbJxbmYbmYaTRbJybJzbJAbGGbFXbGGbJAbJzbJBaTRaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaibCPbCPbCPbCPbCPbCPbCPbCPbCPbCPbCPaaiaZZbJCbcPbJDalVbBoapLbJEbBjbJFbCVbJGbJHbGibCUbBjbJIbJJbxEbEEbJKbJLbxEbBoalTbvEbJMbJMbEKbxLbJNbJNbJObJPbJQbJRbvEbvEbELbJSbJTbIsbJUbJVbJWbJXbJYbJZbKabKbbKcbKdbIwbKebKfbKgbKhbKibIDbKjbKkbKlbKmbKnbIHbKobKpbKqbKrbIHbIHbIHbIHbIHbKsbdnbIPbKtbKubojbKvbKwbDDbKxbKybDDbKzbojbDHbKAbApbApbApbApbApbKBbKCbKDbKEbKFbAAbKGatAbKHbKIbKJbKKbKLbKMbKNbKObKPbKQbMxbKSbKTbKUbKUbKVbKWbKXbEebKYbKZbLabEvbEjbEkbLbbLcbLcbCEaaiaaibLdaaibLeaaibAWaaaaaaaaiaaaaaaaaaaaaaaaaaaaaiaaaaaaaaaaaaaogaaabLfaTPaTSaTNaTTaaaaTRbLgbJzbJzbJzbLhbJzbJzbJzbLiaTRaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaZZaZZaSIaZZaZKaZZaSIaZZaZZaZZaSIaZZaSIaSIaSIbLjbLkbLlbLmbLnbLobBjbLpbLqbJGbLrbLsbLtbBjbxEbxEbxEbxEbxEbxEbxEbBoakCbvEbLubLvbEKbxLbBqbBqbLwbBqbLxbLybvEbLzbvJbbCbLAbIsbLBbLCbLDbLEbLFbJZbLGbLHbLIbLJbLYbLLbLMbLMbLMbLNbLObLPbLQbLRbLQbLSbNJbLUbLVbLWbLXbPwbLZbMabMbbIHbMcbdnbMdbMebMfbMgbMgbMgbMhbMibMjbMkbMlbMgbMmbMgbMnbMobMpbMqbMrbAAbAAbMsbAAbAAbAAbJfbMtbMubMvbMtbyGbyGbyGbyGbyGbMwbyKbRsbMybMzbCzbMAbMBbMCbMDbEcbMEbMFbMGbCnaaibCnbMHbMIbMJbCEaaiaaabAWaaabAVaaabMKaogaogaogaogaagaogaogaogaogaagaogaaiaagaogaogaogaogaogaViaTNaTTaaaaTRbMLbMMbMNbJzbMObJzbMPbMQbMRaTRaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaibCPbCPbCPbCPbCPbCPbCPbCPbCPbCPbCPaaiaZZbJCbcPbJDalVbBoapLbJEbBjbJFbCVbJGbJHbGibCUbBjbJIbJJbxEbEEbJKbJLbxEbBoalTbvEbJMbJMbEKbxLbJNbJNbJObJPbJQbJRbvEbvEbELbJSbJTbIsbJUbJVbJWbJXbJYbJZbKabKbbKcbKdbIwcXIbKfbKgbKhbKibIDcXJbKkbKlbKmbKnbIHbKobKpbKqbKrbIHbIHbIHbIHbIHbKsbdnbIPbKtbKubojbKvbKwbDDbKxbKybDDbKzbojbDHbKAbApbApbApbApbApbKBbKCbKDbKEbKFbAAbKGatAbKHbKIbKJbKKbKLbKMbKNbKObKPbKQbMxbKSbKTbKUbKUbKVbKWbKXbEebKYbKZbLabEvbEjbEkbLbbLcbLcbCEaaiaaibLdaaibLeaaibAWaaaaaaaaiaaaaaaaaaaaaaaaaaaaaiaaaaaaaaaaaaaogaaabLfaTPaTSaTNaTTaaaaTRbLgbJzbJzbJzbLhbJzbJzbJzbLiaTRaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaZZaZZaSIaZZaZKaZZaSIaZZaZZaZZaSIaZZaSIaSIaSIbLjbLkbLlbLmbLnbLobBjbLpbLqbJGbLrbLsbLtbBjbxEbxEbxEbxEbxEbxEbxEbBoakCbvEbLubLvbEKbxLbBqbBqbLwbBqbLxbLybvEbLzbvJbbCbLAbIsbLBbLCbLDbLEbLFbJZbLGbLHbLIbLJbLYcXKbLMbLMbLMbLNbLOcXLbLQbLRbLQbLSbNJbLUbLVbLWbLXbPwbLZbMabMbbIHbMcbdnbMdbMebMfbMgbMgbMgbMhbMibMjbMkbMlbMgbMmbMgbMnbMobMpbMqbMrbAAbAAbMsbAAbAAbAAbJfbMtbMubMvbMtbyGbyGbyGbyGbyGbMwbyKbRsbMybMzbCzbMAbMBbMCbMDbEcbMEbMFbMGbCnaaibCnbMHbMIbMJbCEaaiaaabAWaaabAVaaabMKaogaogaogaogaagaogaogaogaogaagaogaaiaagaogaogaogaogaogaViaTNaTTaaaaTRbMLbMMbMNbJzbMObJzbMPbMQbMRaTRaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaZZbMSbvtaWybMTaWyaWBaWBbMUaWBbvtaWBbMVbvtaWBbvubMWalVbMXalNapMbBjbMYbMZbCUbCUbCUbNabBjbNbbNcbNdbNebNfbNgalVbBoarabvEbNhbNibEKbNjbNkbNkbNlbBqbBqbNmbvEbNnbvJbbCbJTbIsbNobNpbNqbNrbNsbJZbNtbNubNvbNwbIwbNxbNybNzbNybNAbIDbNBbNCbNDbNCbNEbIHbNFbNGbNHbNIbQGbNKbNLbNMbIHbNNbdnbNOaXlbKubMgbNPbNQbNRbNSbNTbNUbNUbNVbNWbMgbMgbMgbMgbMgbMgbMgbAAbNXbNYbNZbAAbOabMtbObbOcbOdbMtbOebOfaprbOgbyGbOhbOibOjbOkbOlbOmbOnbOobOpbOqbMEbOrbOsbICbHPbHQbOtbLcbOubCEaaiaaabAWaaabAVaaabAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaWbdWbOvaXRaXRbOwblpbOxbOybJzbOzbJzbOAbOBbFTbOwaXRaXRbOCaSHaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaZZaXXaXYaXYaXYaXYaXYbODbOEbOFbzhbzhbOGbOHbOIbOJbOKalVbcSaqWapMbBjbCWbOLbCUbCUbOLbOMbBjbONaooaoqbOObLobNfalVbBobOPbvEbOQbORbOSbOTbBqbOUbOVbOWbOXbOYbvEbOZbvJbbCbPabIsbPbbPcbPdbPebJZbJZbPfbPgbPhbPibIwbNxbNybNybNybPjbIDbNBbNCbPkbPlbPmbIHbPnbNGbPobPpbIHbPqbPrbPsbIHbPtbdnbPuaXlbPvbQMbPxbPybPzbPAbPBbNRbNRbPCbPDbMgbPEbPFbPGbPFbPHbMgbPIbPJbPKbPLbAAbJfbMtbPMbPNbPObMtarZapoapobPPbyGbOhbPQbPRbyHbyHbyHbPSbCzbPTbCzbMEbPUbMGbCnaaibCEbCEbCEbCEbCEaaiaaaaagaaabAVaaabAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaViaTNaTTaaaaaaaTRbPVbJzbJzbJzbPWbPXbPYaTRaaaaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaZZaZZbPZbPZaZZaZZaZZaSIaZZaSIaZZaSIaSIalVbQaalValValVbcSaraapMbBjbOMbQbbQcbCUbQcbQdbBjbQeapJalTapLbQfanfalVbBoalNbvEbvEbzLbQgbQhbzLbvEbvEbvEbvEbQibvEbvEbQjbfhbQkbIsbQlbQmbQnbQobQpbJZbQqbQrbQsbQtbIwbQubQvbQwbQxbQybIDbQzbNCbQAbQBbQCbIHbQDbNGbQEbQFbWfbQHbQIbQJbIHbQKbdnbQLaXlbKubZHbQNbQObQPbQQbQRbQSbQObPCbQTbMgbQUbQVbQWbQXbPHbMgbQYbQZbRabRbbRcbRdbMtbRebRfbRgbMtbRhbRibRjbRkbyGbRlbRmbMybRnbyHbRobOpbCzbOnbRpbRqbRrbLabEvbEjbEkbRtbSYbSXbCEaaiaaabAWaaabAVaaabAWaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaViaTNaTTaaaaaaaTRbRubRvbRwbJzbRxbRybRuaTRaaaaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaaaaZZbRzbaXaZZaaaaaibRAbRAbRAaaiaaaaaaalVbRBbRCbRDbREbRFbREbRGbBjbBjbBjbBjbRHbBjbBjbBjbRIaqWalNalTbRJbRKalVbRLbRMbvEbRNbRObRPbRQbRRbRSbRTbvEbRUbRVbRWbvEbvJbbCbRXbIsbLBbPcbRYbRZbLBbJZbSabSbbScbSdbIwbSebSfbSgbShbSibSjbSkbSlbSmbSnbSobIHbSpbSqbSrbSsbStbSubSvbSwbSxbSybdnbSzaXlbKubZHbSAbSBbSBbSCbSDbSEbSFbSGbSHbMgbSIbQVbSJbSKbSLbMgbSMbSNbSObSPbAAbJfbMtbMtbMtbMtbMtbSQapoapobSRbyGbRlbRmbMybSSbSTbRobSUbEcbOnbSVbMEbSWbMGbCnaaibCnbUmbWIbUnbCEaaiaaabAWaaabAVaaabAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaViaTNaTTaaaaaaaTRbSZbFVbTabTbbTcbFVbTdaTRaaaaaaaViaTNaSHaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaZZbPZbPZaZZaaiaaibTebTebTeaaiaaiaaialVbTfaspaspaspbzFapJapMalNankauUakCbTgbTharaalValValValValVbTialValVbBoapLbvEbTjbTkbTlbTlbRQbTmbTnbvEbTobTpbTqbvEbzKbbCbTrbIsbLBbTsbTtbTubTvbJZbTwbTxbTybIwbIwbTzbTAbTBbTCbTDbIDbTEbNBbTFbTGbTHbIHbTIbTJbTKbTLbQGbTMbTMbTNbIHbTObdnbTPaXlbKubMgbTQbTRbTSbNRbTTbTUbPAbTVbTWbTXbTYbTZbUabUbbUcbMgbAAbAAbAAbAAbAAbUdalBbUebPPaqDapobUfaqCbUgapobyGbyGbUhbJqbRnbyHbUibUjbCzbUkbRpbMEbUlbOsbICbHPbHQbXEbSYbXFbCEaaiaaabAWaaabAVaaabAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogbdWbUoaTQaTQaTQbloaXRaXRaXRaXUaXRaXRaXRbzdaTQaTQaTQbjOaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaZZaZZbPZbPZaZZaZZaZZaSIaZZaSIaZZaSIaSIalVbQaalValValVbcSaraapMbBjbOMbQbbQcbCUbQcbQdbBjbQeapJalTapLbQfanfalVbBoalNbvEbvEbzLbQgbQhbzLbvEbvEbvEbvEbQibvEbvEbQjbfhbQkbIsbQlbQmbQnbQobQpbJZbQqbQrbQsbQtbIwbQubQvbQwbQxcXMbIDcXNbNCbQAbQBbQCbIHbQDbNGbQEbQFbWfbQHbQIbQJbIHbQKbdnbQLaXlbKubZHbQNbQObQPbQQbQRbQSbQObPCbQTbMgbQUbQVbQWbQXbPHbMgbQYbQZbRabRbbRcbRdbMtbRebRfbRgbMtbRhbRibRjbRkbyGbRlbRmbMybRnbyHbRobOpbCzbOnbRpbRqbRrbLabEvbEjbEkbRtbSYbSXbCEaaiaaabAWaaabAVaaabAWaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaViaTNaTTaaaaaaaTRbRubRvbRwbJzbRxbRybRuaTRaaaaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaaaaaaZZbRzbaXaZZaaaaaiaaaaaaaaaaaiaaaaaaalVbRBbRCbRDbREbRFbREbRGbBjbBjbBjbBjbRHbBjbBjbBjbRIaqWalNalTbRJbRKalVbRLbRMbvEbRNbRObRPbRQbRRbRSbRTbvEbRUbRVbRWbvEbvJbbCbRXbIsbLBbPcbRYbRZbLBbJZbSabSbbScbSdbIwbSebSfbSgbShbSibSjbSkbSlbSmbSnbSobIHbSpbSqbSrbSsbStbSubSvbSwbSxbSybdnbSzaXlbKubZHbSAbSBbSBbSCbSDbSEbSFbSGbSHbMgbSIbQVbSJbSKbSLbMgbSMbSNbSObSPbAAbJfbMtbMtbMtbMtbMtbSQapoapobSRbyGbRlbRmbMybSSbSTbRobSUbEcbOnbSVbMEbSWbMGbCnaaibCnbUmbWIbUnbCEaaiaaabAWaaabAVaaabAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaViaTNaTTaaaaaaaTRbSZbFVbTabTbbTcbFVbTdaTRaaaaaaaViaTNaSHaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaiaZZbPZbPZaZZaaiaaiaaiaaiaaiaaiaaiaaialVbTfaspaspaspbzFapJapMalNankauUakCbTgbTharaalValValValValVbTialValVbBoapLbvEbTjbTkbTlbTlbRQbTmbTnbvEbTobTpbTqbvEbzKbbCbTrbIsbLBbTsbTtbTubTvbJZbTwbTxbTybIwbIwbTzbTAcXObTCbTDbIDbTEbNBcXPbTGbTHbIHbTIbTJbTKbTLbQGbTMbTMbTNbIHbTObdnbTPaXlbKubMgbTQbTRbTSbNRbTTbTUbPAbTVbTWbTXbTYbTZbUabUbbUcbMgbAAbAAbAAbAAbAAbUdalBbUebPPaqDapobUfaqCbUgapobyGbyGbUhbJqbRnbyHbUibUjbCzbUkbRpbMEbUlbOsbICbHPbHQbXEbSYbXFbCEaaiaaabAWaaabAVaaabAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogbdWbUoaTQaTQaTQbloaXRaXRaXRaXUaXRaXRaXRbzdaTQaTQaTQbjOaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalValValValVbRKbUpaspbUqbUrbUsbUtbUtbUtbUubUvbUtbUrbUtbUwbUtbUxbUtaMcbUyalTbvEbUzbUAbUBbUCbDgbUDbUEbvEbvEbvEbvEbvEbUFbbCbJTbUGbIsbUHbUHbUHbIsbIsbIwbIwbUIbIwbIwbUJbUJbUJbUKbUJbULbULbUMbUNbULbULbIHbIHbIHbIHbIHbIHbUObUObUObIHbUPbdnbUQaXlbURbUSbUTbUTbUTbUUbUTbUTbUVbUWbUTbUTbUTbUTbMgbUXbUYbUZbVabVbbVcapobVdbVealBbRjbVfbVgapobUfapoapoanZbyGbVhbFGbVibyHbyHbyHbVjbCzbVkbVlbMEbPUbMGbCnaaibCEbCEbCEbCEbCEaaiaaibMKaaibLeaaiaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaViaTNaTTaaaaaaaaaaaaaaaaaabVmaaaaaaaaaaaaaaaaaaaViaTNaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaabVnbVnbVobVpbVqalVbVralValValVaUfbVsbVsbVsbVsbVsbVsbVsalTbVtbVubVvbvEbVwbVxbVybVzbDgbRQbVAbVBbVCauUalVbVDbvJbVEbVFbVGbVHbVIbVIbVIbVJbVKbVLbVMbVIbVNbVObVGbVGbVPbVQbVPbVPbVRbVPbVSbVTbVTbVUbVVbVWbVXbVYbVZbVIbVIbVIbWabWbbVTbWcaXlbWdbWecahbWgbWhbWibWjbWkbWlbWibWmbWnbWobWpbMgbWqbWrbWsbWtbWubWvbWwbVebWxalBalBalBalBalBbWybWzbyGbyGbyGbWAbFGbJqbWBbWCbWDbFKbWEbWFbWGbRqbWHbLabEvbEjbEkbYVbYWbYWbCEaaiaaabAWaaabAVaaabAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaViaTNbHTaRaaRaaRaaRaaRaaRabVmaRaaRaaRaaRaaRaaRabfJaTNaSHaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaabVqbWJbWKbWLbVqalTbWMbLobWNalVbWObVsbWPbWQbWRbWSbWTbVsalTalNbVualNbvEbvEbvEbvEbvEbvEbvEbvEbvEatKalNalVbWUbvJbWVbWWbaebaebaebaebaebaebahbaebWXbWYbWZbagbaebaebaebrNbXabXbbXcbaebaebaebaebaebXdbXebaebaebahbaebaebaebaebXfbaebWXbXgbXhbXibXjbXkbXlbXkbXmbXmbXnbXobXpbXmbXlbXqbMgbMgbMgbMgbXrbXsapnanZbXtbXuapnbXubXvbXwalBauIalBbyGbXxbXybXzbXAbXBbXCbXCbXCbHIbCzbCzbCzbMEbXDbMGbCnaaibCnckEckGckFbCEaaiaaabAWaaabAVaaabAWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaogaVibXGaSCaSCaSCaSCaSCaSCaSCbXHaSCaSCaSCaSCaSCaSCaSCbXIaTTaogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+3 -3
View File
@@ -3794,8 +3794,8 @@
"buX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/space,/area/space)
"buY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/obj/structure/lattice,/turf/space,/area/space)
"buZ" = (/obj/item/device/radio/intercom{anyai = 1; broadcasting = 0; freerange = 1; listening = 1; name = "Captain's Intercom"; pixel_x = -27; pixel_y = -3},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/rack,/obj/item/weapon/tank/emergency_oxygen/double,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/suit/space/captain,/obj/item/clothing/mask/gas,/obj/item/clothing/head/helmet/space/capspace,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bva" = (/obj/machinery/computer/card,/obj/item/weapon/card/id/captains_spare,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bvb" = (/obj/structure/table/woodentable,/obj/machinery/recharger{pixel_y = 4},/obj/item/weapon/melee/chainofcommand,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bva" = (/obj/structure/table/woodentable,/obj/machinery/recharger{pixel_y = 4},/obj/item/weapon/melee/chainofcommand,/obj/item/weapon/card/id/captains_spare,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bvb" = (/obj/machinery/computer/card,/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bvc" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/wood,/area/crew_quarters/captain)
"bvd" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central/sw)
"bve" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/hallway/primary/central/sw)
@@ -8092,7 +8092,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboPboPboPboPboPboPboPboPboPboPboPaHRaAvaAvbpQbpRbpSbpSbpSbpTbpSbpSbpUbpVbpWaZOaZOaZObpXbjlbkFbpYbpZbntbjlbqabsubqaaZKaZKaZKaZKbqcaZKbqdbkQbkRbqebqfbnzbqgbqhbkRbmobkXbqibnCbnCbnCbqjbkXbqkbnHbmuaHVbqmbpqbprbqnbqobpubnNbqpbjPbqqbqrblgbqsbqtbqubmEbqvdavbqxbqybqzbqAbqBbqCbqDbnVbqEbllbqFbqGbocbodboebofbohbqHbohbohbohbohbqIbqJbqJbqJbqJbqKbohbohbohbohbqLbohbqHbqMbohbqNbqObqPbohbqQbqRbqRbqSbqTbqUbqVbkobkobkobkobkobkobkobqWbqXbqYbkobkobkobkobkobkobkobkobkobkobqZbrabrabrbbrcbrdbrebrfbrfbrfbrfbrgbrhaFTaabaaaaaaaabaNtaNtaNtaNtaNtaNtaaaaNtaNtaNtaNtdcdaNtaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboPboPboPboPboPboPboPboPboPboPboPbrjbrkbrlbrmbrnbpSbrobrpbrqbrqbrrbrsbrtbrubrvbrvbrwbrxbjlbjlbjlbmdbrybmcaZOaZOaZOaZObrzbbKbbKbrAbjybrBbrCbrDbrEbrFbrGbrHbrIbkRbrJbkXbrKbnCbnCbnCbrLaIgbrNbnHbrOblbbrPbrQbnLbnLbnLbnLbnNbrRbjPbrSbrTbjPbjPbjPbjPbjPbjPbjPblkbllbrUbrVbrWbrXbrYbrZbsabllbsbbscbscbsdbsdbsdbsdbsdbsdbsdbsebsebsfbsgbshbshbsgbsfbsebsebsibsibsibsibsibsibsjbsjbskbsjbsjbsjbsjbsjbslbsmbsnbsobkobkobspbspbsqbsqbsqbsqbsqbsrbrabrabqZbrabkobrabrabrabrabssbstbstbstbstbsFbsvbsvbsvbsvbsvbsvbsvbsvbsvaaaaaaaaaaaaaNtaNtaNtaNtaNtaNtaaaaNtaNtaNtaNtaNtaNtaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboPboPboPboPboPboPboPboPboPboPboPaAvaAvaAvbpQbswbpSbsxbpSaIhaIhbpSbpUbpUbdabsAbsBbsBbsCbjlbkFbsDbmdbsEbmcbsHbsGbujbsIbsJbsKbsKbsLbsKbsMbsNbkRbsObsPbsQbsRbsSbrDbsTbkXbsUbnCbnCbsVbsWbsXbrNbnHbsYblbbsZbtabtbbtcbtdbtebtfblbblbbtgbthbtibtjbtkbtjbtlbthaaabtmbllbtnbtobtpbtqbrYbnVbtrbllbtsbttbtubsdbtvbtwbtxbtybtzbtAbtBbtCbtDbtEbtFbtFbtEbtGbtHbtIbsibtJbtLbtKbtMbsibtNbtObtPbtQbtRbtSbtSbtTbslbtUbtVbtWbtXbtWbtYbtYbsqbtZbuabubbsqaImbudaImbsqbuebrabssbstaInbugaInbstbuhbuibstbuwbukbulbumaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNtaNtaNtaNtaNtaNtaaaaNtaNtaNtaNtaNtaNtaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboPboPboPboPboPboPboPboPboPboPaaabunaAvbuoblUbupbpSbuqbpSburbusbutbuubpSbuvbwHbuxbuybsCbjlbjlbjlbjlbjlbjlbuzbuAbuBbuCbuDbkRbkRbkRbkRbkRbkRbkRbuEbkRbkRbkRbuFbkRbuGbuHbuIbnCbnCbnCbuJaIgbuKbnHbuLblbbuMbtablcblcblcblbbuNblbbuObuPbuQbuRbuSbuTbuUbuVbuWbuXbuYbllbuZbnVbvabvbbrYbvcbnVbllbvdbvebvfbsdbvgbvhbvibvjbvkbvlbvmbtFbtFbtFbtFbtFbtFbtFbvnbvobvpbvqbvrbvsbvtbsibvubvvbvwbvxbxqbvzbvvbEbbslbvAbtVbvBbvCbvDbvEbvEbvFbvGbvHbvIbvJbvKbvLbvMbsqbvNbvObvPbstbvQbvRbvSbvTbvTbvUbstbvVbvWbvXbumaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNtaNtaNtaNtaNtaNtaaaaNtaNtaNtaNtaNtaNtaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboPboPboPboPboPboPboPboPboPboPaaabunaAvbuoblUbupbpSbuqbpSburbusbutbuubpSbuvbwHbuxbuybsCbjlbjlbjlbjlbjlbjlbuzbuAbuBbuCbuDbkRbkRbkRbkRbkRbkRbkRbuEbkRbkRbkRbuFbkRbuGbuHbuIbnCbnCbnCbuJaIgbuKbnHbuLblbbuMbtablcblcblcblbbuNblbbuObuPbuQbuRbuSbuTbuUbuVbuWbuXbuYbllbuZbnVbvbbvabrYbvcbnVbllbvdbvebvfbsdbvgbvhbvibvjbvkbvlbvmbtFbtFbtFbtFbtFbtFbtFbvnbvobvpbvqbvrbvsbvtbsibvubvvbvwbvxbxqbvzbvvbEbbslbvAbtVbvBbvCbvDbvEbvEbvFbvGbvHbvIbvJbvKbvLbvMbsqbvNbvObvPbstbvQbvRbvSbvTbvTbvUbstbvVbvWbvXbumaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNtaNtaNtaNtaNtaNtaaaaNtaNtaNtaNtaNtaNtaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIfazEaBmaBmaAvaAvaAvaAvaAvaAvaAvaGTbwabwbbpSbwcbwdbwebwfbwgbwhbwibgebbKbbKbbKbwjbrvbrvbrvbrvbrvbrvbwkbwlbwlbwmbwnbkRbwobwpbwqbwrbwsbwtbwubwvbkRbwwbwxbwybsTaIgbuIbnCbnCbwzbkXbkXbwAbwBbwCbwDbwEbwFbwGbzDbwIbwJbwKbwLbwMbwNbuWbwObwPbwObwPbwQbuWbuXbwRbwSbwTbwUbwVbwWbwXbwYbwZbwSbxabttbttbsdbxbbxcbxdbxebxfbsdbvmbtFbtFbtFbtFbtFbtFbtFbxgbxhbxibxjbxkbvqbxlbsibxmbxnbxobvxbEbbvzbxpbTrbslbxrbxsbxtbxubxubxvbxwbxxbxybxzbxzbxzbxAbxzbxBbxCbxDbxEbxFbxGbxHbxIbxJbxJbxJbxKbstbxLbvWbxMbumaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNtaNtaNtaNtaNtaaaaNtaNtaNtaNtaNtaaaaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAvbxObxPbxQbxRbxSbxSbxTbxUaFzbpSbxVaIhbwfbxXbpSbpSbpSaZOaJkaJkbyabybbyabyabyabybbyaaZOaZObkRbkRbkRbycbkRbydbydbydbydbydbydbwubyeaJlbygbyhbyibyjbykbylbymbynbyobypbyqbyrbysbytbyubyvbyvbywbyxbyybyzbyAbyBbyCbyDbthbyEbuUbyFbuSbyGbthaaabyHbyIbyJbyKbyIbyIbyIbyIbyLbllbyMbttbyNbyObyPbyQbyRbySbyTbsdbyUbyVbyWbyXbyYbyZbzabzbbvnbzcbsibzdbxkbzebzfbsibzgbzhbvwbvxbEbbvzbvvbEbbslbvAbtVbzibzjbzkbzlbzmaJmbzobzpbzqbzrbzsbztbzubsqbzvbzwbzxbstbzybzzbzAbvTbzBbzCbstbxLbvWbAhbumaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAvbzEbzFbzGaFyaFybzHbzIaFybzJbpSbzKaJMaKbbzNbpSaaaaaaaaaaabaabbzObzObzObzObzObzObzOaaaaaaaKcbzQbzRbzSbzTbydbydbydbydbydbydbzUbzVbzWbzXbzYbzZbAaaKdbkXbkXbAcbkXbkXbkXbAdbAebAfbAgbBubAibAibAjbAibAkbAlbAmbAnbyDbthbAobtjbtjbtjbApbthaaabyHbyIbAqbArbAsbAtbAubAvbAwbAxbAybttbAzbsdbtvbAAbABbACbADbAEbAFbAGbAHbAIbAJbAKbALbAMbANbAObAPbAQbxkbARbASbsibATbAUbAVbAWbAXbAYbAZbtTbslbBabBbbBcbBdbBdbBebBfaKjbBhbBibBjbBkbBlbBmbBnbsqbBobzwbBpbstbBqbBrbBsbvTbvTbBtbstbvVbvWbEGbumaaaaaaaaaaaaaabbBvbBwbBxbBwbBxbBwbByaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkxbkxbkxbkxbkxbkxbkxbkxbkxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+1 -1
View File
@@ -195,4 +195,4 @@ obj/machinery/atmospherics/proc/check_connect_types_construction(obj/machinery/a
/obj/machinery/atmospherics/singularity_pull(S, current_size)
if(current_size >= STAGE_FIVE)
Destroy()
qdel(src)
@@ -49,15 +49,15 @@ obj/machinery/atmospherics/binary
if(node1)
node1.disconnect(src)
del(network1)
qdel(network1)
if(node2)
node2.disconnect(src)
del(network2)
qdel(network2)
node1 = null
node2 = null
..()
return ..()
initialize()
if(node1 && node2) return
@@ -85,7 +85,7 @@ obj/machinery/atmospherics/binary
update_icon()
update_underlays()
build_network()
if(!network1 && node1)
network1 = new /datum/pipe_network()
@@ -135,7 +135,7 @@ obj/machinery/atmospherics/binary
else if(reference==node2)
del(network2)
node2 = null
update_icon()
update_underlays()
@@ -9,11 +9,11 @@
var/datum/omni_port/input
var/datum/omni_port/output
/obj/machinery/atmospherics/omni/filter/Del()
/obj/machinery/atmospherics/omni/filter/Destroy()
input = null
output = null
filters.Cut()
..()
return ..()
/obj/machinery/atmospherics/omni/filter/sort_ports()
for(var/datum/omni_port/P in ports)
@@ -46,7 +46,7 @@
..()
if(!on)
return 0
if(!input || !output)
return
@@ -54,7 +54,7 @@
var/datum/gas_mixture/input_air = input.air // it's completely happy with them if they're in a loop though i.e. "P.air.return_pressure()"... *shrug*
var/output_pressure = output_air.return_pressure()
if(output_pressure >= target_pressure)
return
for(var/datum/omni_port/P in filters)
@@ -68,14 +68,14 @@
if(input.transfer_moles > 0)
var/datum/gas_mixture/removed = input_air.remove(input.transfer_moles)
if(!removed)
return
for(var/datum/omni_port/P in filters)
var/datum/gas_mixture/filtered_out = new
filtered_out.temperature = removed.return_temperature()
switch(P.mode)
if(ATM_O2)
filtered_out.oxygen = removed.oxygen
@@ -97,15 +97,15 @@
filtered_out.trace_gases += trace_gas
else
filtered_out = null
P.air.merge(filtered_out)
if(P.network)
P.network.update = 1
output_air.merge(removed)
if(output.network)
output.network.update = 1
input.transfer_moles = 0
if(input.network)
input.network.update = 1
@@ -9,7 +9,7 @@
var/datum/omni_port/output
//setup tags for initial concentration values (must be decimal)
var/tag_north_con
var/tag_north_con
var/tag_south_con
var/tag_east_con
var/tag_west_con
@@ -44,10 +44,10 @@
tag_east_con = null
tag_west_con = null
/obj/machinery/atmospherics/omni/mixer/Del()
/obj/machinery/atmospherics/omni/mixer/Destroy()
inputs.Cut()
output = null
..()
return ..()
/obj/machinery/atmospherics/omni/mixer/sort_ports()
for(var/datum/omni_port/P in ports)
@@ -28,7 +28,7 @@
/obj/machinery/atmospherics/omni/New()
..()
icon_state = "base"
ports = new()
for(var/d in cardinal)
var/datum/omni_port/new_port = new(src, d)
@@ -44,7 +44,7 @@
if(new_port.mode > 0)
initialize_directions |= d
ports += new_port
build_icons()
/obj/machinery/atmospherics/omni/update_icon()
@@ -173,7 +173,7 @@
if(ATM_O2 to ATM_N2O)
ic_on += "_filter"
ic_off += "_out"
ic_on = icon_manager.get_atmos_icon("omni", , , ic_on)
ic_off = icon_manager.get_atmos_icon("omni", , , ic_off)
@@ -223,16 +223,16 @@
return null
/obj/machinery/atmospherics/omni/Del()
/obj/machinery/atmospherics/omni/Destroy()
loc = null
for(var/datum/omni_port/P in ports)
if(P.node)
P.node.disconnect(src)
del(P.network)
qdel(P.network)
P.node = null
..()
return ..()
/obj/machinery/atmospherics/omni/initialize()
for(var/datum/omni_port/P in ports)
@@ -287,7 +287,7 @@
P.node = null
P.update = 1
break
update_ports()
return null
@@ -60,7 +60,7 @@
return null
/obj/machinery/atmospherics/portables_connector/Del()
/obj/machinery/atmospherics/portables_connector/Destroy()
loc = null
if(connected_device)
@@ -68,11 +68,11 @@
if(node)
node.disconnect(src)
del(network)
qdel(network)
node = null
..()
return ..()
/obj/machinery/atmospherics/portables_connector/initialize()
if(node) return
@@ -127,7 +127,7 @@
if(reference==node)
del(network)
node = null
update_underlays()
return null
@@ -2,7 +2,7 @@ obj/machinery/atmospherics/trinary
dir = SOUTH
initialize_directions = SOUTH|NORTH|WEST
use_power = 1
var/on = 0
var/datum/gas_mixture/air1
@@ -54,24 +54,24 @@ obj/machinery/atmospherics/trinary
return null
Del()
Destroy()
loc = null
if(node1)
node1.disconnect(src)
del(network1)
qdel(network1)
if(node2)
node2.disconnect(src)
del(network2)
qdel(network2)
if(node3)
node3.disconnect(src)
del(network3)
qdel(network3)
node1 = null
node2 = null
node3 = null
..()
return ..()
initialize()
if(node1 && node2 && node3) return
@@ -163,7 +163,7 @@ obj/machinery/atmospherics/trinary
else if(reference==node3)
del(network3)
node3 = null
update_underlays()
return null
+5 -5
View File
@@ -101,24 +101,24 @@
return null
/obj/machinery/atmospherics/tvalve/Del()
/obj/machinery/atmospherics/tvalve/Destroy()
loc = null
if(node1)
node1.disconnect(src)
del(network_node1)
qdel(network_node1)
if(node2)
node2.disconnect(src)
del(network_node2)
qdel(network_node2)
if(node3)
node3.disconnect(src)
del(network_node3)
qdel(network_node3)
node1 = null
node2 = null
node3 = null
..()
return ..()
/obj/machinery/atmospherics/tvalve/proc/go_to_side()
@@ -33,11 +33,11 @@
if(node)
node.disconnect(src)
del(network)
qdel(network)
node = null
..()
return ..()
initialize()
if(node) return
+4 -4
View File
@@ -75,20 +75,20 @@
return null
/obj/machinery/atmospherics/valve/Del()
/obj/machinery/atmospherics/valve/Destroy()
loc = null
if(node1)
node1.disconnect(src)
del(network_node1)
qdel(network_node1)
if(node2)
node2.disconnect(src)
del(network_node2)
qdel(network_node2)
node1 = null
node2 = null
..()
return ..()
/obj/machinery/atmospherics/valve/proc/open()
if(open) return 0
+4 -4
View File
@@ -10,15 +10,15 @@ datum/pipeline
var/alert_pressure = 0
Del()
Destroy()
if(network)
del(network)
qdel(network)
if(air && air.volume)
temporarily_store_air()
del(air)
qdel(air)
..()
return ..()
proc/process()//This use to be called called from the pipe networks
+3 -3
View File
@@ -37,7 +37,7 @@ obj/machinery/atmospherics/mains_pipe
layer = 2.4 //under wires with their 2.5
force = 20
var/volume = 0
var/alert_pressure = 80*ONE_ATMOSPHERE
@@ -99,9 +99,9 @@ obj/machinery/atmospherics/mains_pipe
for(var/obj/machinery/atmospherics/pipe/mains_component/node in nodes)
node.disconnect()
Del()
Destroy()
disconnect()
..()
return ..()
initialize()
for(var/i = 1 to nodes.len)
+1 -1
View File
@@ -57,7 +57,7 @@
/obj/machinery/atmospherics/pipe/Destroy()
del(parent)
qdel(parent)
if(air_temporary && loc)
loc.assume_air(air_temporary)
+7 -10
View File
@@ -30,7 +30,7 @@
if(air_contents.oxygen < 0.5 || air_contents.toxins < 0.5)
return 0
active_hotspot = new(src)
active_hotspot = PoolOrNew(/obj/effect/hotspot, src)
active_hotspot.temperature = exposed_temperature
active_hotspot.volume = exposed_volume
@@ -98,18 +98,18 @@
var/turf/simulated/location = loc
if(!istype(location))
Kill()
qdel(src)
return
if(location.excited_group)
location.excited_group.reset_cooldowns()
if((temperature < FIRE_MINIMUM_TEMPERATURE_TO_EXIST) || (volume <= 1))
Kill()
qdel(src)
return
if(!(location.air) || location.air.toxins < 0.5 || location.air.oxygen < 0.5)
Kill()
qdel(src)
return
perform_exposure()
@@ -151,19 +151,16 @@
// Garbage collect itself by nulling reference to it
/obj/effect/hotspot/proc/Kill()
/obj/effect/hotspot/Destroy()
air_master.hotspots -= src
DestroyTurf()
qdel(src)
/obj/effect/hotspot/Destroy()
set_light(0)
if(istype(loc, /turf/simulated))
var/turf/simulated/T = loc
if(T.active_hotspot == src)
T.active_hotspot = null
loc = null
return ..()
..()
return QDEL_HINT_PUTINPOOL
/obj/effect/hotspot/proc/DestroyTurf()
+2
View File
@@ -20,6 +20,8 @@
#define CHAT_LOOC 256
#define CHAT_GHOSTRADIO 512
#define SHOW_TYPING 1024
#define DISABLE_SCOREBOARD 2048
#define DISABLE_KARMA_REMINDER 4096
#define TOGGLES_DEFAULT (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_ATTACKLOGS|CHAT_LOOC)
-6
View File
@@ -37,12 +37,6 @@
surgery_steps += S
sort_surgeries()
//Medical side effects. List all effects by their names
paths = typesof(/datum/medical_effect)-/datum/medical_effect
for(var/T in paths)
var/datum/medical_effect/M = new T
side_effects[M.name] = T
//List of job. I can't believe this was calculated multiple times per tick!
paths = typesof(/datum/job) -list(/datum/job,/datum/job/ai,/datum/job/cyborg)
for(var/T in paths)
+1
View File
@@ -10,6 +10,7 @@ var/global/list/spacepods_list = list() //list of all space pods. Used by hos
var/global/list/joblist = list() //list of all jobstypes, minus borg and AI
var/global/list/flag_list = list() //list of flags during Nations gamemode
var/global/list/airlocks = list() //list of all airlocks
var/global/list/singularities = list() //list of all singularities
var/global/list/aibots = list() // AI controlled bots
var/global/list/table_recipes = list() //list of all table craft recipes
-147
View File
@@ -1,147 +0,0 @@
// MEDICAL SIDE EFFECT BASE
// ========================
/datum/medical_effect
var/name = "None"
var/strength = 0
var/start = 0
var/list/triggers
var/list/cures
var/cure_message
/datum/medical_effect/proc/manifest(mob/living/carbon/human/H)
for(var/R in cures)
if(H.reagents.has_reagent(R))
return 0
for(var/R in triggers)
if(H.reagents.get_reagent_amount(R) >= triggers[R])
return 1
return 0
/datum/medical_effect/proc/on_life(mob/living/carbon/human/H, strength)
return
/datum/medical_effect/proc/cure(mob/living/carbon/human/H)
for(var/R in cures)
if(H.reagents.has_reagent(R))
if (cure_message)
H <<"\blue [cure_message]"
return 1
return 0
// MOB HELPERS
// ===========
/mob/living/carbon/human/var/list/datum/medical_effect/side_effects = list()
/mob/proc/add_side_effect(name, strength = 0)
/mob/living/carbon/human/add_side_effect(name, strength = 0)
for(var/datum/medical_effect/M in src.side_effects)
if(M.name == name)
M.strength = max(M.strength, 10)
M.start = life_tick
return
var/T = side_effects[name]
if (!T)
return
var/datum/medical_effect/M = new T
if(M.name == name)
M.strength = strength
M.start = life_tick
side_effects += M
/mob/living/carbon/human/proc/handle_medical_side_effects()
//Going to handle those things only every few ticks.
if(life_tick % 15 != 0)
return 0
var/list/L = typesof(/datum/medical_effect)-/datum/medical_effect
for(var/T in L)
var/datum/medical_effect/M = new T
if (M.manifest(src))
src.add_side_effect(M.name)
// One full cycle(in terms of strength) every 10 minutes
for (var/datum/medical_effect/M in side_effects)
if (!M) continue
var/strength_percent = sin((life_tick - M.start) / 2)
// Only do anything if the effect is currently strong enough
if(strength_percent >= 0.4)
if (M.cure(src) || M.strength > 50)
side_effects -= M
M = null
else
if(life_tick % 45 == 0)
M.on_life(src, strength_percent*M.strength)
// Effect slowly growing stronger
M.strength+=0.08
// HEADACHE
// ========
/datum/medical_effect/headache
name = "Headache"
triggers = list("cryoxadone" = 10)
cures = list("mannitol", "morphine", "sal_acid", "hydrocodone")
cure_message = "Your head stops throbbing..."
/datum/medical_effect/headache/on_life(mob/living/carbon/human/H, strength)
switch(strength)
if(1 to 10)
H.custom_pain("You feel a light pain in your head.",0)
if(11 to 30)
H.custom_pain("You feel a throbbing pain in your head!",1)
if(31 to INFINITY)
H.custom_pain("You feel an excrutiating pain in your head!",1)
// BAD STOMACH
// ===========
/datum/medical_effect/bad_stomach
name = "Bad Stomach"
triggers = list()
cures = list()
cure_message = "Your stomach feels a little better now..."
/datum/medical_effect/bad_stomach/on_life(mob/living/carbon/human/H, strength)
switch(strength)
if(1 to 10)
H.custom_pain("You feel a bit light around the stomach.",0)
if(11 to 30)
H.custom_pain("Your stomach hurts.",0)
if(31 to INFINITY)
H.custom_pain("You feel sick.",1)
// CRAMPS
// ======
/datum/medical_effect/cramps
name = "Cramps"
triggers = list("morphine" = 15)
cures = list("epinephrine")
cure_message = "The cramps let up..."
/datum/medical_effect/cramps/on_life(mob/living/carbon/human/H, strength)
switch(strength)
if(1 to 10)
H.custom_pain("The muscles in your body hurt a little.",0)
if(11 to 30)
H.custom_pain("The muscles in your body cramp up painfully.",0)
if(31 to INFINITY)
H.emote("me",1,"flinches as all the muscles in their body cramp up.")
H.custom_pain("There's pain all over your body.",1)
// ITCH
// ====
/datum/medical_effect/itch
name = "Itch"
triggers = list("space_drugs" = 10)
cures = list("epinephrine")
cure_message = "The itching stops..."
/datum/medical_effect/itch/on_life(mob/living/carbon/human/H, strength)
switch(strength)
if(1 to 10)
H.custom_pain("You feel a slight itch.",0)
if(11 to 30)
H.custom_pain("You want to scratch your itch badly.",0)
if(31 to INFINITY)
H.emote("me",1,"shivers slightly.")
H.custom_pain("This itch makes it really hard to concentrate.",1)
+1 -1
View File
@@ -625,7 +625,7 @@ datum/mind
for(var/obj/item/weapon/implant/loyalty/I in H.contents)
for(var/obj/item/organ/external/organs in H.organs)
if(I in organs.implants)
I.Destroy()
qdel(I)
H << "\blue <Font size =3><B>Your loyalty implant has been deactivated.</B></FONT>"
if("add")
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
+10 -4
View File
@@ -59,8 +59,8 @@
break
target.canmove = 1
target.client.eye = target
del(animation)
del(holder)
qdel(animation)
qdel(holder)
else
flick("liquify",animation)
target.loc = holder
@@ -85,8 +85,8 @@
break
target.canmove = 1
target.client.eye = target
del(animation)
del(holder)
qdel(animation)
qdel(holder)
/obj/effect/dummy/spell_jaunt
name = "water"
@@ -97,6 +97,12 @@
anchored = 1
invisibility = INVISIBILITY_OBSERVER
/obj/effect/dummy/spell_jaunt/Destroy()
// Eject contents if deleted somehow
for(var/atom/movable/AM in src)
AM.loc = get_turf(src)
return ..()
/obj/effect/dummy/spell_jaunt/relaymove(var/mob/user, direction)
if (!src.canmove) return
var/turf/newLoc = get_step(src,direction)
+3 -2
View File
@@ -14,8 +14,9 @@
/obj/effect/proc_holder/spell/wizard/targeted/trigger/Destroy()
for(var/spell in contents)
del(spell)
qdel(spell)
linked_spells = null
starting_spells = null
return ..()
/obj/effect/proc_holder/spell/wizard/targeted/trigger/cast(list/targets)
+2 -2
View File
@@ -93,9 +93,9 @@ sd_alert
response
list/validation
Del()
Destroy()
target << browse(null,"window=\ref[src]")
..()
return ..()
New(who, tag)
..()
+2 -12
View File
@@ -317,7 +317,8 @@
name = "DNA Modifier Access Console"
desc = "Allows you to scan and modify DNA."
icon = 'icons/obj/computer.dmi'
icon_state = "scanner"
icon_screen = "dna"
icon_keyboard = "med_key"
density = 1
circuit = /obj/item/weapon/circuitboard/scan_consolenew
var/selected_ui_block = 1.0
@@ -371,17 +372,6 @@
if(prob(75))
qdel(src)
/obj/machinery/computer/scan_consolenew/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/computer/scan_consolenew/New()
..()
for(var/i=0;i<3;i++)
+2 -3
View File
@@ -23,10 +23,9 @@
Destroy()
blob_cores -= src
if(overmind)
del(overmind)
qdel(overmind)
processing_objects.Remove(src)
..()
return
return ..()
update_icon()
if(health <= 0)
+1 -2
View File
@@ -14,8 +14,7 @@
Destroy()
blob_nodes -= src
processing_objects.Remove(src)
..()
return
return ..()
Life()
for(var/i = 1; i < 8; i += i)
+1 -1
View File
@@ -30,7 +30,7 @@
/mob/camera/blob/Destroy()
if (ghostimage)
ghost_darkness_images -= ghostimage
del(ghostimage)
qdel(ghostimage)
ghostimage = null;
updateallghostimages()
return ..()
+1 -2
View File
@@ -25,8 +25,7 @@
Destroy()
blobs -= src
..()
return
return ..()
CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
+2 -2
View File
@@ -74,9 +74,9 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
AI.client.images += blood
cult_viewpoints += src
/obj/effect/rune/Del()
..()
/obj/effect/rune/Destroy()
cult_viewpoints -= src
return ..()
/obj/effect/rune/examine()
set src in view(2)
+1 -1
View File
@@ -18,7 +18,7 @@
if(master)
master.vines -= src
master.growth_queue -= src
..()
return ..()
/obj/effect/biomass/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (!W || !user || !W.type) return
+9 -9
View File
@@ -339,10 +339,9 @@ var/global/datum/controller/gameticker/ticker
M.death()//No mercy
//If its actually the end of the round, wait for it to end.
//Otherwise if its a verb it will continue on afterwards.
sleep(300)
if(cinematic) del(cinematic) //end the cinematic
if(temp_buckle) del(temp_buckle) //release everybody
spawn(300)
if(cinematic) del(cinematic) //end the cinematic
if(temp_buckle) del(temp_buckle) //release everybody
return
@@ -454,11 +453,12 @@ var/global/datum/controller/gameticker/ticker
if(player.client)
if(player.client.karma_spent == 0)
var/dat
dat += {"<html><head><title>Karma Reminder</title></head><body><h1><B>Karma Reminder</B></h1><br>
You have not yet spent your karma for the round, surely there is a player who was worthy of receiving<br>
your reward? Look under 'Special Verbs' for the 'Award Karma' button, and use it once a round for best results!</table></body></html>"}
player << browse(dat, "window=karmareminder;size=400x300")
if(player.client.prefs && !(player.client.prefs.toggles & DISABLE_KARMA_REMINDER))
var/dat
dat += {"<html><head><title>Karma Reminder</title></head><body><h1><B>Karma Reminder</B></h1><br>
You have not yet spent your karma for the round, surely there is a player who was worthy of receiving<br>
your reward? Look under 'Special Verbs' for the 'Award Karma' button, and use it once a round for best results!</table></body></html>"}
player << browse(dat, "window=karmareminder;size=400x300")
/datum/controller/gameticker/proc/declare_completion()
+1 -1
View File
@@ -115,7 +115,7 @@
/obj/effect/meteor/Destroy()
walk(src,0) //this cancels the walk_towards() proc
..()
return ..()
/obj/effect/meteor/New()
..()
+5 -1
View File
@@ -12,6 +12,10 @@
var/obj/item/weapon/disk/nuclear/the_disk = null
var/active = 0
Destroy()
active = 0
the_disk = null
return ..()
attack_self()
if(!active)
@@ -377,7 +381,7 @@
/obj/item/weapon/pinpointer/operative/proc/workop()
scan_for_ops()
point_at(nearest_op, 0)
if(active && nearest_op)
if(active && nearest_op)
spawn(5)
.()
+2 -2
View File
@@ -20,9 +20,9 @@ datum/objective
if(text)
explanation_text = text
Del()
Destroy()
all_objectives -= src
..()
return ..()
proc/check_completion()
return completed
+3 -1
View File
@@ -211,7 +211,9 @@
world << "<b>The crew's final score is:</b>"
world << "<b><font size='4'>[score_crewscore]</font></b>"
for(var/mob/E in player_list)
if(E.client) E.scorestats()
if(E.client)
if(E.client.prefs && !(E.client.prefs.toggles & DISABLE_SCOREBOARD))
E.scorestats()
return
+1 -1
View File
@@ -22,7 +22,7 @@
owner=new_owner
owner.job_objectives += src
/datum/job_objective/Del()
/datum/job_objective/Destroy()
/datum/job_objective/proc/get_description()
return "Placeholder objective."
+3 -2
View File
@@ -24,8 +24,9 @@
Destroy()
if(Beacon)
del(Beacon)
..()
qdel(Beacon)
Beacon = null
return ..()
// update the invisibility and icon
hide(var/intact)
+4
View File
@@ -147,6 +147,10 @@
first_run()
/obj/machinery/alarm/Destroy()
if(radio_controller)
radio_controller.remove_object(src, frequency)
return ..()
/obj/machinery/alarm/proc/first_run()
alarm_area = get_area(src)
+8 -1
View File
@@ -134,9 +134,16 @@ obj/machinery/air_sensor
if(radio_controller)
set_frequency(frequency)
Destroy()
if(radio_controller)
radio_controller.remove_object(src,frequency)
return ..()
/obj/machinery/computer/general_air_control
icon = 'icons/obj/computer.dmi'
icon_state = "tank"
icon_screen = "tank"
icon_keyboard = "atmos_key"
circuit = "/obj/item/weapon/circuitboard/air_management"
req_one_access_txt = "24;10"
@@ -1,7 +1,8 @@
/obj/machinery/computer/area_atmos
name = "Area Air Control"
desc = "A computer used to control the stationary scrubbers and pumps in the area."
icon_state = "area_atmos"
icon_screen = "area_atmos"
icon_keyboard = "atmos_key"
circuit = "/obj/item/weapon/circuitboard/area_atmos"
var/list/connectedscrubbers = new()
+10 -6
View File
@@ -23,6 +23,10 @@
id_tag = id
return 1
/obj/machinery/meter/Destroy()
src.target = null
return ..()
/obj/machinery/meter/initialize()
if (!target)
src.target = locate(/obj/machinery/atmospherics/pipe) in loc
@@ -86,13 +90,13 @@
/obj/machinery/meter/examine()
var/t = "A gas flow meter. "
if(get_dist(usr, src) > 3 && !(istype(usr, /mob/living/silicon/ai) || istype(usr, /mob/dead)))
t += "\blue <B>You are too far away to read it.</B>"
else if(stat & (NOPOWER|BROKEN))
t += "\red <B>The display is off.</B>"
t += "\red <B>The display is off.</B>"
else if(src.target)
var/datum/gas_mixture/environment = target.return_air()
if(environment)
@@ -101,14 +105,14 @@
t += "The sensor error light is blinking."
else
t += "The connect error light is blinking."
usr << t
/obj/machinery/meter/Click()
if(istype(usr, /mob/living/silicon/ai)) // ghosts can call ..() for examine
src.examine()
return 1
return ..()
/obj/machinery/meter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob, params)
@@ -35,9 +35,9 @@
update_icon()
Destroy()
del(air_contents)
qdel(air_contents)
..()
return ..()
update_icon()
return null
+1 -1
View File
@@ -59,7 +59,7 @@
if(bug.current == src)
bug.current = null
bug = null
del(wires)
qdel(wires)
cameranet.removeCamera(src) //Will handle removal from the camera network and the chunks, so we don't need to worry about that
return ..()
-1
View File
@@ -447,7 +447,6 @@
src.icon_state = "pod_0"
src.eject_wait = 0 //If it's still set somehow.
domutcheck(src.occupant) //Waiting until they're out before possible notransform.
src.occupant.add_side_effect("Bad Stomach") // Give them an extra side-effect for free.
src.occupant = null
return
@@ -1,7 +1,8 @@
/obj/machinery/computer/HolodeckControl
name = "Holodeck Control Computer"
desc = "A computer used to control a nearby holodeck."
icon_state = "holocontrol"
icon_keyboard = "tech_key"
icon_screen = "holocontrol"
var/area/linkedholodeck = null
var/area/target = null
var/active = 0
+2 -1
View File
@@ -4,7 +4,8 @@
name = "Operating Computer"
density = 1
anchored = 1.0
icon_state = "operating"
icon_keyboard = "med_key"
icon_screen = "crew"
circuit = "/obj/item/weapon/circuitboard/operating"
var/mob/living/carbon/human/victim = null
var/obj/machinery/optable/table = null
+2 -1
View File
@@ -1,7 +1,8 @@
/obj/machinery/computer/aifixer
name = "AI System Integrity Restorer"
icon = 'icons/obj/computer.dmi'
icon_state = "ai-fixer"
icon_keyboard = "rd_key"
icon_screen = "ai-fixer"
circuit = /obj/item/weapon/circuitboard/aifixer
req_access = list(access_captain, access_robotics, access_heads)
var/mob/living/silicon/ai/occupant = null
+4 -1
View File
@@ -3,6 +3,8 @@
desc = "random arcade machine"
icon = 'icons/obj/computer.dmi'
icon_state = "arcade"
icon_keyboard = null
icon_screen = "invaders"
light_color = "#00FF00"
var/list/prizes = list( /obj/item/weapon/storage/box/snappops = 2,
@@ -42,7 +44,8 @@
/obj/item/weapon/id_decal/emag = 2,
/obj/item/weapon/spellbook/oneuse/fake_gib = 2,
/obj/item/toy/foamblade = 2,
/obj/item/toy/flash = 2
/obj/item/toy/flash = 2,
/obj/item/toy/minigibber = 2
)
/obj/machinery/computer/arcade/power_change()
+8 -5
View File
@@ -5,7 +5,8 @@
name = "Atmospheric Alert Computer"
desc = "Used to access the station's atmospheric sensors."
circuit = "/obj/item/weapon/circuitboard/atmos_alert"
icon_state = "alert:0"
icon_keyboard = "atmos_key"
icon_screen = "alert:0"
var/list/priority_alarms = list()
var/list/minor_alarms = list()
var/receive_frequency = 1437
@@ -60,13 +61,14 @@
if(stat & (NOPOWER|BROKEN))
return
if(priority_alarms.len)
icon_state = "alert:2"
icon_screen = "alert:2"
else if(minor_alarms.len)
icon_state = "alert:1"
icon_screen = "alert:1"
else
icon_state = "alert:0"
icon_screen = "alert:0"
return
@@ -117,5 +119,6 @@
return
/obj/machinery/computer/atmos_alert/Destroy()
radio_controller.remove_object(src, receive_frequency)
if(radio_controller)
radio_controller.remove_object(src, receive_frequency)
return ..()
@@ -5,7 +5,8 @@
/obj/machinery/computer/atmoscontrol
name = "\improper Central Atmospherics Computer"
icon = 'icons/obj/computer.dmi'
icon_state = "tank"
icon_keyboard = "atmos_key"
icon_screen = "tank"
density = 1
anchored = 1.0
circuit = "/obj/item/weapon/circuitboard/atmoscontrol"
+11 -5
View File
@@ -6,7 +6,8 @@ var/camera_cache_id = 1
/obj/machinery/computer/security
name = "Camera Monitor"
desc = "Used to access the various cameras networks on the station."
icon_state = "cameras"
icon_keyboard = "security_key"
icon_screen = "cameras"
circuit = "/obj/item/weapon/circuitboard/camera"
var/obj/machinery/camera/current = null
var/list/network = list("")
@@ -264,6 +265,7 @@ var/camera_cache_id = 1
desc = "Used for watching camera networks."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "telescreen"
light_range_on = 0
network = list("SS13")
density = 0
@@ -279,14 +281,16 @@ var/camera_cache_id = 1
icon = 'icons/obj/status_display.dmi'
icon_state = "entertainment"
light_color = "#FFEEDB"
light_range_on = 2
light_range_on = 0
network = list("news")
luminosity = 0
/obj/machinery/computer/security/wooden_tv
name = "Security Camera Monitor"
desc = "An old TV hooked into the stations camera network."
icon_state = "security_det"
icon_state = "television"
icon_keyboard = null
icon_screen = "detective_tv"
light_color = "#3848B3"
light_power_on = 0.5
network = list("SS13")
@@ -294,13 +298,15 @@ var/camera_cache_id = 1
/obj/machinery/computer/security/mining
name = "Outpost Camera Monitor"
desc = "Used to access the various cameras on the outpost."
icon_state = "miningcameras"
icon_keyboard = "mining_key"
icon_screen = "mining"
light_color = "#F9BBFC"
network = list("Mining Outpost")
/obj/machinery/computer/security/engineering
name = "Engineering Camera Monitor"
desc = "Used to monitor fires and breaches."
icon_state = "engineeringcameras"
icon_keyboard = "power_key"
icon_screen = "engie_cams"
light_color = "#FAC54B"
network = list("Power Alarms","Atmosphere Alarms","Fire Alarms")
+2 -1
View File
@@ -3,7 +3,8 @@
/obj/machinery/computer/card
name = "Identification Computer"
desc = "Terminal for programming Nanotrasen employee ID cards to access parts of the station."
icon_state = "id"
icon_keyboard = "id_key"
icon_screen = "id"
req_access = list(access_change_ids)
circuit = "/obj/item/weapon/circuitboard/card"
var/obj/item/weapon/card/id/scan = null
+3 -14
View File
@@ -1,7 +1,8 @@
/obj/machinery/computer/cloning
name = "Cloning Console"
icon = 'icons/obj/computer.dmi'
icon_state = "dna"
icon_keyboard = "med_key"
icon_screen = "dna"
circuit = "/obj/item/weapon/circuitboard/cloning"
req_access = list(access_heads) //Only used for record deletion right now.
var/obj/machinery/dna_scannernew/scanner = null //Linked scanner. For scanning.
@@ -372,16 +373,4 @@
if (R.ckey == find_key)
selected_record = R
break
return selected_record
/obj/machinery/computer/cloning/update_icon()
if(stat & BROKEN)
icon_state = "commb"
else
if(stat & NOPOWER)
src.icon_state = "c_unpowered"
stat |= NOPOWER
else
icon_state = initial(icon_state)
stat &= ~NOPOWER
return selected_record
@@ -36,7 +36,8 @@ var/shuttle_call/shuttle_calls[0]
/obj/machinery/computer/communications
name = "Communications Console"
desc = "This can be used for various important functions. Still under developement."
icon_state = "comm"
icon_keyboard = "tech_key"
icon_screen = "comm"
req_access = list(access_heads)
circuit = "/obj/item/weapon/circuitboard/communications"
var/prints_intercept = 1
+17 -14
View File
@@ -1,6 +1,7 @@
/obj/machinery/computer
name = "computer"
icon = 'icons/obj/computer.dmi'
icon_state = "computer"
density = 1
anchored = 1.0
use_power = 1
@@ -8,9 +9,10 @@
active_power_usage = 300
var/obj/item/weapon/circuitboard/circuit = null //if circuit==null, computer can't disassembly
var/processing = 0
var/light_range_on = 3
var/light_power_on = 2
var/icon_keyboard = "generic_key"
var/icon_screen = "generic"
var/light_range_on = 2
var/light_power_on = 1
/obj/machinery/computer/New()
..()
@@ -19,6 +21,7 @@
/obj/machinery/computer/initialize()
power_change()
update_icon()
/obj/machinery/computer/process()
if(stat & (NOPOWER|BROKEN))
@@ -65,18 +68,18 @@
density = 0
/obj/machinery/computer/update_icon()
..()
icon_state = initial(icon_state)
// Broken
overlays.Cut()
var/overlay_layer = LIGHTING_LAYER+0.1
if(stat & NOPOWER)
overlays += image(icon,"[icon_keyboard]_off",overlay_layer)
return
overlays += image(icon, icon_keyboard ,overlay_layer)
if(stat & BROKEN)
icon_state += "b"
// Powered
else if(stat & NOPOWER)
icon_state = initial(icon_state)
icon_state += "0"
luminosity = 0
overlays += image(icon,"[icon_state]_broken",overlay_layer)
else
overlays += image(icon,icon_screen,overlay_layer)
/obj/machinery/computer/power_change()
+2 -13
View File
@@ -1,7 +1,8 @@
/obj/machinery/computer/crew
name = "crew monitoring computer"
desc = "Used to monitor active health sensors built into most of the crew's uniforms."
icon_state = "crew"
icon_keyboard = "med_key"
icon_screen = "crew"
use_power = 1
idle_power_usage = 250
active_power_usage = 500
@@ -28,17 +29,5 @@
/obj/machinery/computer/crew/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
crew_monitor.ui_interact(user, ui_key, ui, force_open)
/obj/machinery/computer/crew/update_icon()
if(stat & BROKEN)
icon_state = "crewb"
else
if(stat & NOPOWER)
src.icon_state = "c_unpowered"
stat |= NOPOWER
else
icon_state = initial(icon_state)
stat &= ~NOPOWER
/obj/machinery/computer/crew/interact(mob/user)
crew_monitor.ui_interact(user)
+2 -1
View File
@@ -4,7 +4,8 @@
name = "Hologram Computer"
desc = "Rumoured to control holograms."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "holo_console0"
icon_keyboard = "tech_key"
icon_screen = "holocontrol"
var/obj/machinery/hologram/projector/projector = null
var/temp = null
var/lumens = 0.0
+3 -1
View File
@@ -2,7 +2,9 @@
name = "HONKputer Mark I"
desc = "A yellow computer used in case of critically low levels of HONK."
icon = 'icons/obj/machines/HONKputer.dmi'
icon_state = "honk"
icon_state = "honkputer"
icon_keyboard = "key_honk"
icon_screen = "honkcomms"
light_color = LIGHT_COLOR_PINK
req_access = list(access_clown)
circuit = "/obj/item/weapon/circuitboard/HONKputer"
+4 -2
View File
@@ -3,7 +3,8 @@
/obj/machinery/computer/aiupload
name = "AI Upload"
desc = "Used to upload laws to the AI."
icon_state = "command"
icon_screen = "command"
icon_keyboard = "med_key"
circuit = "/obj/item/weapon/circuitboard/aiupload"
var/mob/living/silicon/ai/current = null
var/opened = 0
@@ -60,7 +61,8 @@
/obj/machinery/computer/borgupload
name = "Cyborg Upload"
desc = "Used to upload laws to Cyborgs."
icon_state = "command"
icon_screen = "command"
icon_keyboard = "med_key"
circuit = "/obj/item/weapon/circuitboard/borgupload"
var/mob/living/silicon/robot/current = null
+5 -2
View File
@@ -3,7 +3,8 @@
/obj/machinery/computer/med_data//TODO:SANITY
name = "Medical Records"
desc = "This can be used to check medical records."
icon_state = "medcomp"
icon_keyboard = "med_key"
icon_screen = "medcomp"
req_one_access = list(access_medical, access_forensics_lockers)
circuit = "/obj/item/weapon/circuitboard/med_data"
var/obj/item/weapon/card/id/scan = null
@@ -518,4 +519,6 @@
/obj/machinery/computer/med_data/laptop
name = "Medical Laptop"
desc = "Cheap Nanotrasen Laptop."
icon_state = "medlaptop"
icon_state = "laptop"
icon_keyboard = "laptop_key"
icon_screen = "medlaptop"
+10 -9
View File
@@ -7,9 +7,9 @@
/obj/machinery/computer/message_monitor
name = "Message Monitor Console"
desc = "Used to Monitor the crew's messages, that are sent via PDA. Can also be used to view Request Console messages."
icon_state = "comm_logs"
icon_screen = "comm_logs"
light_color = LIGHT_COLOR_GREEN
var/hack_icon = "comm_logsc"
var/hack_icon = "tcboss"
var/normal_icon = "comm_logs"
circuit = "/obj/item/weapon/circuitboard/message_monitor"
//Server linked to.
@@ -55,7 +55,7 @@
// It'll take more time if there's more characters in the password..
if(!emag)
if(!isnull(src.linkedServer))
icon_state = hack_icon // An error screen I made in the computers.dmi
icon_screen = hack_icon // An error screen I made in the computers.dmi
emag = 1
screen = 2
spark_system.set_up(5, 0, src)
@@ -70,13 +70,14 @@
user << "<span class='notice'>A no server error appears on the screen.</span>"
/obj/machinery/computer/message_monitor/update_icon()
..()
if(stat & (NOPOWER|BROKEN))
return
if(emag || hacking)
icon_state = hack_icon
icon_screen = hack_icon
else
icon_state = normal_icon
icon_screen = normal_icon
..()
/obj/machinery/computer/message_monitor/initialize()
//Is the server isn't linked to a server, and there's a server available, default it to the first one in the list.
@@ -261,11 +262,11 @@
var/currentKey = src.linkedServer.decryptkey
user << "<span class='warning'>Brute-force completed! The key is '[currentKey]'.</span>"
src.hacking = 0
src.icon_state = normal_icon
src.icon_screen = normal_icon
src.screen = 0 // Return the screen back to normal
/obj/machinery/computer/message_monitor/proc/UnmagConsole()
src.icon_state = normal_icon
src.icon_screen = normal_icon
src.emag = 0
/obj/machinery/computer/message_monitor/proc/ResetMessage()
@@ -358,7 +359,7 @@
if((istype(usr, /mob/living/silicon/ai) || istype(usr, /mob/living/silicon/robot)) && (usr.mind.special_role && usr.mind.original == usr))
src.hacking = 1
src.screen = 2
src.icon_state = hack_icon
src.icon_screen = hack_icon
//Time it takes to bruteforce is dependant on the password length.
spawn(100*length(src.linkedServer.decryptkey))
if(src && src.linkedServer && usr)
+4 -15
View File
@@ -3,7 +3,7 @@
/obj/machinery/computer/pod
name = "Mass Drivers and Pod Doors Control"
desc = "A controll for launching pods. Some people prefer firing Mechas."
icon_state = "mass_drivers"
icon_screen = "mass_driver"
light_color = "#555555"
circuit = /obj/item/weapon/circuitboard/pod
var/list/id_tags = list()
@@ -90,9 +90,6 @@
visible_message("Cannot locate any mass driver of that ID. Cancelling firing sequence!")
return
if(icon_state != "old")
flick("mass_drivers_timing", src)
for(var/obj/machinery/door/poddoor/M in world)
if(M.z != src.z) continue
if(M.id_tag == ident_tag)
@@ -170,12 +167,10 @@
/obj/machinery/computer/pod/process()
if(!..())
return
var/timing = 0
for(var/ident_tag in id_tags)
if(timings[ident_tag])
if(times[ident_tag] > 0)
times[ident_tag] = round(times[ident_tag]) - 1
timing = 1
else
spawn()
launch_sequence(ident_tag)
@@ -187,11 +182,6 @@
else
times[ident_tag] = maxtimes[ident_tag]
updateDialog()
if(icon_state != "old")
if(timing)
icon_state = "mass_drivers_timing"
else
icon_state = "mass_drivers"
return
@@ -270,7 +260,9 @@
/obj/machinery/computer/pod/old
icon_state = "old"
icon_state = "oldcomp"
icon_screen = "library"
icon_keyboard = null
name = "DoorMex Control Computer"
circuit = /obj/item/weapon/circuitboard/olddoor
@@ -312,9 +304,6 @@
visible_message("Cannot locate any mass driver of that ID. Cancelling firing sequence!")
return
if(icon_state != "old")
flick("mass_drivers_timing", src)
if(teleporter_dest)
for(var/obj/structure/deathsquad_tele/D in world)
if(D.z != src.z) continue
@@ -1,7 +1,8 @@
/obj/machinery/computer/podtracker
name = "Pod Tracking Console"
icon = 'icons/obj/computer.dmi'
icon_state = "podtracking"
icon_keyboard = "tech_key"
icon_screen = "rdcomp"
light_color = LIGHT_COLOR_PURPLE
req_access = list(access_robotics)
circuit = "/obj/item/weapon/circuitboard/pod_locater"
+2 -1
View File
@@ -3,7 +3,8 @@
/obj/machinery/computer/prisoner
name = "Prisoner Management"
icon = 'icons/obj/computer.dmi'
icon_state = "explosive"
icon_keyboard = "security_key"
icon_screen = "explosive"
req_access = list(access_armory)
circuit = "/obj/item/weapon/circuitboard/prisoner"
var/id = 0.0
@@ -13,7 +13,8 @@ var/prison_shuttle_timeleft = 0
/obj/machinery/computer/prison_shuttle
name = "Prison Shuttle Console"
icon = 'icons/obj/computer.dmi'
icon_state = "shuttle"
icon_keyboard = "security_key"
icon_screen = "syndishuttle"
light_color = LIGHT_COLOR_PURE_CYAN
req_access = list(access_security)
circuit = "/obj/item/weapon/circuitboard/prison_shuttle"
+2 -1
View File
@@ -5,7 +5,8 @@
name = "robotics control console"
desc = "Used to remotely lockdown or detonate linked Cyborgs."
icon = 'icons/obj/computer.dmi'
icon_state = "robot"
icon_keyboard = "tech_key"
icon_screen = "robot"
req_access = list(access_robotics)
circuit = /obj/item/weapon/circuitboard/robotics
var/temp = null
+2 -1
View File
@@ -4,7 +4,8 @@
/obj/machinery/computer/salvage_ship
name = "salvage ship terminal"
icon = 'icons/obj/computer.dmi'
icon_state = "syndishuttle"
icon_keyboard = "syndie_key"
icon_screen = "syndishuttle"
req_access = list(access_salvage_captain)
var/area/curr_location
var/moving = 0
+2 -1
View File
@@ -3,7 +3,8 @@
/obj/machinery/computer/secure_data//TODO:SANITY
name = "Security Records"
desc = "Used to view and edit personnel's security records"
icon_state = "security"
icon_keyboard = "security_key"
icon_screen = "security"
req_one_access = list(access_security, access_forensics_lockers)
circuit = "/obj/item/weapon/circuitboard/secure_data"
var/obj/item/weapon/card/id/scan = null
+2 -1
View File
@@ -1,7 +1,8 @@
/obj/machinery/computer/shuttle
name = "Shuttle"
desc = "For shuttle control."
icon_state = "shuttle"
icon_keyboard = "tech_key"
icon_screen = "shuttle"
var/auth_need = 3.0
var/list/authorized = list( )
+3 -1
View File
@@ -3,7 +3,9 @@
/obj/machinery/computer/skills//TODO:SANITY
name = "Employment Records"
desc = "Used to view personnel's employment records"
icon_state = "medlaptop"
icon_state = "laptop"
icon_keyboard = "laptop_key"
icon_screen = "medlaptop"
light_color = LIGHT_COLOR_GREEN
req_one_access = list(access_heads)
circuit = "/obj/item/weapon/circuitboard/skills"
@@ -14,7 +14,8 @@ var/specops_shuttle_timeleft = 0
/obj/machinery/computer/specops_shuttle
name = "Spec. Ops. Shuttle Console"
icon = 'icons/obj/computer.dmi'
icon_state = "shuttle"
icon_keyboard = "security_key"
icon_screen = "syndishuttle"
light_color = LIGHT_COLOR_PURE_CYAN
req_access = list(access_cent_specops)
// req_access = list(ACCESS_CENT_SPECOPS)
@@ -2,7 +2,8 @@
/obj/machinery/computer/station_alert
name = "Station Alert Computer"
desc = "Used to access the station's automated alert system."
icon_state = "alert:0"
icon_keyboard = "tech_key"
icon_screen = "alert:0"
circuit = "/obj/item/weapon/circuitboard/stationalert"
var/alarms = list("Fire"=list(), "Atmosphere"=list(), "Power"=list())
@@ -102,15 +103,15 @@
process()
if(stat & (BROKEN|NOPOWER))
icon_state = "atmos0"
icon_screen = "alert:0"
return
var/active_alarms = 0
for (var/cat in src.alarms)
var/list/L = src.alarms[cat]
if(L.len) active_alarms = 1
if(active_alarms)
icon_state = "alert:2"
icon_screen = "alert:2"
else
icon_state = "alert:0"
icon_screen = "alert:0"
..()
return
+1 -13
View File
@@ -1,7 +1,7 @@
/obj/machinery/computer/merch
name = "Merch Computer"
icon = 'icons/obj/computer.dmi'
icon_state = "comm_logs"
icon_screen = "comm_logs"
circuit = "/obj/item/weapon/circuitboard/merch"
light_color = LIGHT_COLOR_GREEN
@@ -145,15 +145,3 @@ td.cost.toomuch {
usr << "\blue You've successfully purchased the item. It should be in your hands or on the floor."
src.updateUsrDialog()
return
/obj/machinery/computer/merch/update_icon()
if(stat & BROKEN)
icon_state = "comm_logsb"
else
if(stat & NOPOWER)
src.icon_state = "comm_logs0"
stat |= NOPOWER
else
icon_state = initial(icon_state)
stat &= ~NOPOWER
@@ -13,7 +13,8 @@ var/syndicate_elite_shuttle_timeleft = 0
/obj/machinery/computer/syndicate_elite_shuttle
name = "Elite Syndicate Squad Shuttle Console"
icon = 'icons/obj/computer.dmi'
icon_state = "syndishuttle"
icon_keyboard = "syndie_key"
icon_screen = "syndishuttle"
light_color = LIGHT_COLOR_PURE_CYAN
req_access = list(access_syndicate)
var/temp = null
@@ -6,7 +6,6 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
/obj/machinery/computer/telecrystals
name = "\improper Telecrystal assignment station"
desc = "A device used to manage telecrystals during group operations. You shouldn't be looking at this particular one..."
icon_state = "tcstation"
/////////////////////////////////////////////
/obj/machinery/computer/telecrystals/uplinker
@@ -14,6 +13,8 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
desc = "A device used to manage telecrystals during group operations. To use, simply insert your uplink. With your uplink installed \
you can upload your telecrystals to the group's pool using the console, or be assigned additional telecrystals by your lieutenant."
icon_state = "tcstation"
icon_keyboard = "tcstation_key"
icon_screen = "syndie"
var/obj/item/uplinkholder = null
var/obj/machinery/computer/telecrystals/boss/linkedboss = null
@@ -51,6 +52,7 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
/obj/machinery/computer/telecrystals/uplinker/update_icon()
overlays.Cut()
..()
if(uplinkholder)
overlays += "[initial(icon_state)]-closed"
@@ -126,7 +128,8 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
desc = "A device used to manage telecrystals during group operations. To use, simply initialize the machine by scanning for nearby uplink stations. \
Once the consoles are linked up, you can assign any telecrystals amongst your operatives; be they donated by your agents or rationed to the squad \
based on the danger rating of the mission."
icon_state = "tcboss"
icon_keyboard = "syndie_key"
icon_screen = "tcboss"
var/virgin = 1
var/scanrange = 10
var/storedcrystals = 0
@@ -4,7 +4,8 @@
/obj/machinery/computer/xenos_station
name = "xenos shuttle terminal"
icon = 'icons/obj/computer.dmi'
icon_state = "xenocontrol"
icon_keyboard = "telesci_key"
icon_screen = "telesci"
req_access = list()
var/area/curr_location
var/moving = 0
+1
View File
@@ -72,6 +72,7 @@
var/obj/item/weapon/reagent_containers/glass/B = beaker
if(beaker)
B.loc = get_step(T, SOUTH) //Beaker is carefully ejected from the wreckage of the cryotube
beaker = null
return ..()
/obj/machinery/atmospherics/unary/cryo_cell/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
-5
View File
@@ -262,11 +262,6 @@
operating = 0
air_update_turf(1)
update_freelok_sight()
//I shall not add a check every x ticks if a door has closed over some fire.
var/obj/effect/hotspot/fire = locate() in loc
if(fire)
qdel(fire)
return
/obj/machinery/door/proc/crush()
+24 -24
View File
@@ -453,9 +453,9 @@
f2.set_opacity(opacity)
Destroy()
del f1
del f2
..()
qdel(f1)
qdel(f2)
return ..()
/obj/machinery/door/poddoor/two_tile_ver
var/obj/machinery/door/poddoor/filler_object/f1
@@ -472,9 +472,9 @@
f2.set_opacity(opacity)
Destroy()
del f1
del f2
..()
qdel(f1)
qdel(f2)
return ..()
/obj/machinery/door/poddoor/three_tile_hor
var/obj/machinery/door/poddoor/filler_object/f1
@@ -495,10 +495,10 @@
f3.set_opacity(opacity)
Destroy()
del f1
del f2
del f3
..()
qdel(f1)
qdel(f2)
qdel(f3)
return ..()
/obj/machinery/door/poddoor/three_tile_ver
var/obj/machinery/door/poddoor/filler_object/f1
@@ -519,10 +519,10 @@
f3.set_opacity(opacity)
Destroy()
del f1
del f2
del f3
..()
qdel(f1)
qdel(f2)
qdel(f3)
return ..()
/obj/machinery/door/poddoor/four_tile_hor
var/obj/machinery/door/poddoor/filler_object/f1
@@ -547,11 +547,11 @@
f4.set_opacity(opacity)
Destroy()
del f1
del f2
del f3
del f4
..()
qdel(f1)
qdel(f2)
qdel(f3)
qdel(f4)
return ..()
/obj/machinery/door/poddoor/four_tile_ver
var/obj/machinery/door/poddoor/filler_object/f1
@@ -576,11 +576,11 @@
f4.set_opacity(opacity)
Destroy()
del f1
del f2
del f3
del f4
..()
qdel(f1)
qdel(f2)
qdel(f3)
qdel(f4)
return ..()
/obj/machinery/door/poddoor/filler_object
name = ""
+10 -15
View File
@@ -7,23 +7,18 @@
density = 0
anchored = 1
New() //set the turf below the flaps to block air
var/turf/T = get_turf(loc)
if(T)
T.blocks_air = 1
..()
/obj/structure/spacepoddoor/New()
..()
air_update_turf(1)
Destroy() //lazy hack to set the turf to allow air to pass if it's a simulated floor
var/turf/T = get_turf(loc)
if(T)
if(istype(T, /turf/simulated/floor))
T.blocks_air = 0
..()
/obj/structure/spacepoddoor/CanAtmosPass(turf/T)
return 0
/obj/structure/spacepoddoor/Destroy()
air_update_turf(1)
return ..()
/obj/structure/spacepoddoor/CanPass(atom/A, turf/T)
/obj/structure/spacepoddoor/CanPass(atom/movable/A, turf/T)
if(istype(A, /obj/spacepod))
return ..()
else return 0
else return 0
+3
View File
@@ -25,6 +25,9 @@
density = 0
if(health == 0)
playsound(src, "shatter", 70, 1)
if(electronics)
qdel(electronics)
electronics = null
return ..()
+2
View File
@@ -42,6 +42,8 @@
/obj/machinery/computer/guestpass
name = "guest pass terminal"
icon_state = "guest"
icon_screen = "pass"
icon_keyboard = null
density = 0
+2 -2
View File
@@ -196,10 +196,10 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
del(src)
return
/obj/machinery/hologram/Del()
/obj/machinery/hologram/Destroy()
if(hologram)
src:clear_holo()
..()
return ..()
/*
Holographic project of everything else.
+36 -31
View File
@@ -20,6 +20,13 @@
idle_power_usage = 2
active_power_usage = 500
/obj/machinery/gibber/Destroy()
if(contents.len)
for(var/atom/movable/A in contents)
A.loc = get_turf(src)
if(occupant) occupant = null
return ..()
//gibs anything that stands on it's input
/obj/machinery/gibber/autogibber
@@ -281,52 +288,50 @@
return
/obj/machinery/gibber/proc/feedinTopanim()
if(!src.occupant)
return
if(!occupant) return
src.layer = MOB_LAYER + 0.1
var/arbitrary_delay = 16 //arbitrary delay for animating going down
locked = 1 //lock gibber
src.locked = 1
var/image/gibberoverlay = new
var/image/gibberoverlay = new //used to simulate 3D effects
gibberoverlay.icon = src.icon
gibberoverlay.icon_state = "grinderoverlay"
gibberoverlay.overlays += image('icons/obj/kitchen.dmi', "gridle")
var/image/feedee = new
occupant.dir = 2
feedee.icon = getFlatIcon(occupant, 2)
feedee.pixel_y = 25
feedee.pixel_x = 2
feedee.icon = getFlatIcon(occupant, 2) //makes the image a copy of the occupant
overlays += feedee
overlays += gibberoverlay
var/atom/movable/holder = new //holder for occupant image
holder.name = null //make unclickable
holder.overlays += feedee //add occupant to holder overlays
holder.pixel_y = 25 //above the gibber
holder.pixel_x = 2
holder.loc = get_turf(src)
holder.layer = MOB_LAYER //simulate mob-like layering
holder.anchored = 1
var/i //our counter
for(i=0,i<30,i++) //32 tenths of a second (3.2seconds), counting from 0 to 31
overlays -= gibberoverlay
overlays -= feedee
var/atom/movable/holder2 = new //holder for gibber overlay, used to simulate 3D effect
holder2.name = null
holder2.overlays += gibberoverlay
holder2.loc = get_turf(src)
holder2.layer = MOB_LAYER + 0.1 //3D, it's above the mob, rest of the gibber is behind
holder2.anchored = 1
feedee.pixel_y--
animate(holder, pixel_y = 16, time = arbitrary_delay) //animate going down
if(feedee.pixel_y == 16)
feedee.icon += icon('icons/obj/kitchen.dmi', "footicon")
continue
sleep(arbitrary_delay)
if(feedee.pixel_y == -5)
overlays -= feedee
overlays -= gibberoverlay
src.locked = 0
break
holder.overlays -= feedee //reset static icon
feedee.icon += icon('icons/obj/kitchen.dmi', "footicon") //this is some byond magic; += to the icon var with a black and white image will mask it
holder.overlays += feedee
animate(holder, pixel_y = -3, time = arbitrary_delay) //animate going down further
overlays += feedee
overlays += gibberoverlay
sleep(arbitrary_delay) //time everything right, animate doesn't prevent proc from continuing
sleep(1)
overlays -= feedee
overlays -= gibberoverlay
src.layer = 3
qdel(holder) //get rid of holder object
qdel(holder2) //get rid of holder object
locked = 0 //unlock
/obj/machinery/gibber/proc/startgibbing(var/mob/user, var/UserOverride=0)
if(!istype(user) && !UserOverride)
+2
View File
@@ -116,6 +116,8 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
/obj/machinery/newscaster/Destroy()
allCasters -= src
viewing_channel = null
photo = null
return ..()
/obj/machinery/newscaster/update_icon()
+1
View File
@@ -157,6 +157,7 @@
/obj/machinery/porta_turret/Destroy()
//deletes its own cover with it
qdel(cover) // qdel
cover = null
return ..()
/obj/machinery/porta_turret/proc/isLocked(mob/user)
+1
View File
@@ -140,6 +140,7 @@
/obj/machinery/shieldgen/Destroy()
for(var/obj/machinery/shield/shield_tile in deployed_shields)
qdel(shield_tile)
deployed_shields = null
return ..()
+3 -3
View File
@@ -1,4 +1,4 @@
#define FONT_SIZE "4pt"
#define FONT_SIZE "5pt"
#define FONT_COLOR "#09f"
#define FONT_STYLE "Arial Black"
#define SCROLL_SPEED 2
@@ -35,7 +35,7 @@
var/ignore_friendc = 0
var/spookymode = 0
maptext_height = 26
maptext_width = 32
@@ -222,7 +222,7 @@
density = 0
var/spookymode = 0
var/mode = 0 // 0 = Blank
// 1 = AI emoticon
// 2 = Blue screen of death
+1 -1
View File
@@ -127,7 +127,7 @@
if(surplus() < 1500)
if(user) user << "<span class='notice'>The connected wire doesn't have enough current.</span>"
return
for(var/obj/singularity/singulo in world)
for(var/obj/singularity/singulo in singularities)
if(singulo.z == z)
singulo.target = src
icon_state = "[icontype]1"
+2 -2
View File
@@ -97,11 +97,11 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
/* --- Do a snazzy animation! --- */
flick("broadcaster_send", src)
/obj/machinery/telecomms/broadcaster/Del()
/obj/machinery/telecomms/broadcaster/Destroy()
// In case message_delay is left on 1, otherwise it won't reset the list and people can't say the same thing twice anymore.
if(message_delay)
message_delay = 0
..()
return ..()
/*
+1 -1
View File
@@ -5,7 +5,7 @@
/obj/machinery/computer/telecomms/server
name = "Telecommunications Server Monitor"
icon_state = "comm_logs"
icon_screen = "comm_logs"
var/screen = 0 // the screen number:
@@ -160,9 +160,9 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
add_link(T)
/obj/machinery/telecomms/Del()
/obj/machinery/telecomms/Destroy()
telecomms_list -= src
..()
return ..()
// Used in auto linking
/obj/machinery/telecomms/proc/add_link(var/obj/machinery/telecomms/T)
+1 -1
View File
@@ -9,7 +9,7 @@
/obj/machinery/computer/telecomms/monitor
name = "Telecommunications Monitor"
icon_state = "comm_monitor"
icon_screen = "comm_monitor"
var/screen = 0 // the screen number:
var/list/machinelist = list() // the machines located by the computer
@@ -1,6 +1,5 @@
/obj/machinery/computer/telecomms/traffic
name = "Telecommunications Traffic Control"
icon_state = "computer_generic"
var/screen = 0 // the screen number:
var/list/servers = list() // the servers located by the computer
+27 -12
View File
@@ -1,7 +1,8 @@
/obj/machinery/computer/teleporter
name = "Teleporter Control Console"
desc = "Used to control a linked teleportation Hub and Station."
icon_state = "teleport"
icon_screen = "teleport"
icon_keyboard = "teleport_key"
circuit = "/obj/item/weapon/circuitboard/teleporter"
var/obj/item/device/gps/locked = null
var/regime_set = "Teleporter"
@@ -21,6 +22,12 @@
/obj/machinery/computer/teleporter/initialize()
link_power_station()
/obj/machinery/computer/teleporter/Destroy()
if (power_station)
power_station.teleporter_console = null
power_station = null
return ..()
/obj/machinery/computer/teleporter/proc/link_power_station()
if(power_station)
return
@@ -35,14 +42,11 @@
var/obj/item/device/gps/L = I
if(L.locked_location && !(stat & (NOPOWER|BROKEN)))
if(!user.unEquip(L))
user << "<span class='notice'>\the [I] is stuck to your hand, you cannot put it in \the [src]</span>"
user << "<span class='warning'>\the [I] is stuck to your hand, you cannot put it in \the [src]</span>"
return
L.loc = src
locked = L
user << "<span class='caution'>You insert the GPS device into the [name]'s slot.</span>"
src.attack_hand(user)
else
user << "<span class='warning'>No useable data was found on te GPS device.</span>"
else
..()
return
@@ -164,7 +168,7 @@
/obj/machinery/computer/teleporter/proc/eject()
if(locked)
locked.loc = src.loc
locked.loc = loc
locked = null
/obj/machinery/computer/teleporter/proc/set_target(mob/user)
@@ -290,6 +294,12 @@
/obj/machinery/teleport/hub/initialize()
link_power_station()
/obj/machinery/teleport/hub/Destroy()
if (power_station)
power_station.teleporter_hub = null
power_station = null
return ..()
/obj/machinery/teleport/hub/RefreshParts()
var/A = 0
for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts)
@@ -339,7 +349,7 @@
if (!com)
return
if (!com.target)
visible_message("<span class='notice'>Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.</span>")
visible_message("<span class='alert'>Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.</span>")
return
if (istype(M, /atom/movable))
if(!calibrated && prob(25 - ((accurate) * 10))) //oh dear a problem
@@ -407,7 +417,12 @@
/obj/machinery/teleport/station/Destroy()
if(teleporter_hub)
teleporter_hub.power_station = null
teleporter_hub.update_icon()
teleporter_hub = null
if (teleporter_console)
teleporter_console.power_station = null
teleporter_console = null
return ..()
/obj/machinery/teleport/station/attackby(var/obj/item/weapon/W, mob/user, params)
@@ -419,8 +434,9 @@
M.buffer = null
user << "<span class='caution'>You upload the data from the [W.name]'s buffer.</span>"
else
user << "<span class='alert'>This station cant hold more information, try to use better parts.</span>"
user << "<span class='alert'>This station can't hold more information, try to use better parts.</span>"
if(default_deconstruction_screwdriver(user, "controller-o", "controller", W))
update_icon()
return
if(exchange_parts(user, W))
@@ -467,10 +483,9 @@
/obj/machinery/teleport/station/power_change()
..()
if(stat & NOPOWER)
update_icon()
if(teleporter_hub)
teleporter_hub.update_icon()
update_icon()
if(teleporter_hub)
teleporter_hub.update_icon()
/obj/machinery/teleport/station/update_icon()
if(panel_open)
+2 -2
View File
@@ -37,12 +37,12 @@
lethal = 1
icon_state = "control_kill"
/obj/machinery/turretid/Del()
/obj/machinery/turretid/Destroy()
if(control_area)
var/area/A = control_area
if(A && istype(A))
A.turret_controls -= src
..()
return ..()
/obj/machinery/turretid/initialize()
if(!control_area)
+2 -2
View File
@@ -146,10 +146,10 @@
src.product_records.Add(product)
/obj/machinery/vending/Destroy()
del(wires) // qdel
qdel(wires) // qdel
wires = null
if(coin)
del(coin) // qdel
qdel(coin) // qdel
coin = null
return ..()
+5 -3
View File
@@ -98,7 +98,8 @@
density = 1
anchored = 1
icon = 'icons/obj/computer.dmi'
icon_state = "recharge_comp"
icon_keyboard = "tech_key"
icon_screen = "recharge_comp"
light_color = LIGHT_COLOR_FADEDPURPLE
circuit = /obj/item/weapon/circuitboard/mech_bay_power_console
var/obj/machinery/mech_bay_recharge_port/recharge_port
@@ -160,9 +161,10 @@
/obj/machinery/computer/mech_bay_power_console/update_icon()
if(!recharge_port || !recharge_port.recharging_mech || !recharge_port.recharging_mech.cell || !(recharge_port.recharging_mech.cell.charge < recharge_port.recharging_mech.cell.maxcharge))
icon_state = "recharge_comp"
icon_screen = "recharge_comp"
else
icon_state = "recharge_comp_on"
icon_screen = "recharge_comp_on"
..()
/obj/machinery/computer/mech_bay_power_console/initialize()
reconnect()
+2 -1
View File
@@ -1,7 +1,8 @@
/obj/machinery/computer/mecha
name = "Exosuit Control"
icon = 'icons/obj/computer.dmi'
icon_state = "mecha"
icon_keyboard = "rd_key"
icon_screen = "mecha"
light_color = LIGHT_COLOR_FADEDPURPLE
req_access = list(access_robotics)
circuit = "/obj/item/weapon/circuitboard/mecha_control"

Some files were not shown because too many files have changed in this diff Show More