Merge pull request #3682 from Segrain/dev

Dev update.
This commit is contained in:
Chinsky
2013-09-14 16:00:50 -07:00
24 changed files with 168 additions and 70 deletions
+5 -4
View File
@@ -440,6 +440,7 @@
#include "code\game\objects\items\devices\flashlight.dm"
#include "code\game\objects\items\devices\lightreplacer.dm"
#include "code\game\objects\items\devices\megaphone.dm"
#include "code\game\objects\items\devices\modkit.dm"
#include "code\game\objects\items\devices\multitool.dm"
#include "code\game\objects\items\devices\paicard.dm"
#include "code\game\objects\items\devices\pipe_painter.dm"
@@ -741,10 +742,10 @@
#include "code\modules\customitems\item_defines.dm"
#include "code\modules\customitems\item_spawning.dm"
#include "code\modules\destilery\main.dm"
#include "code\modules\detectivework\detective_work.dm"
#include "code\modules\detectivework\evidence.dm"
#include "code\modules\detectivework\footprints_and_rag.dm"
#include "code\modules\detectivework\scanner.dm"
#include "code\modules\DetectiveWork\detective_work.dm"
#include "code\modules\DetectiveWork\evidence.dm"
#include "code\modules\DetectiveWork\footprints_and_rag.dm"
#include "code\modules\DetectiveWork\scanner.dm"
#include "code\modules\events\alien_infestation.dm"
#include "code\modules\events\blob.dm"
#include "code\modules\events\brand_intelligence.dm"
@@ -338,3 +338,6 @@ var/global/list/all_money_accounts = list()
for(var/datum/money_account/D in all_money_accounts)
if(D.account_number == account_number)
return D
/obj/machinery/account_database/process()
return 0
@@ -70,8 +70,12 @@
D.name = "small parcel - 'EFTPOS access code'"
/obj/item/device/eftpos/proc/reconnect_database()
for(var/obj/machinery/account_database/DB in world) //Hotfix until someone finds out why it isn't in 'machines'
if(DB.z == src.z)
var/turf/location = get_turf(src)
if(!location)
return
for(var/obj/machinery/account_database/DB in machines) //Hotfix until someone finds out why it isn't in 'machines'
if(DB.z == location.z)
linked_db = DB
break
@@ -239,4 +243,4 @@
else
..()
//emag?
//emag?
+2 -2
View File
@@ -119,8 +119,8 @@ datum/controller/vote
if(winners.len > 1)
if(mode != "gamemode" || ticker.hide_mode == 0) // Here we are making sure we don't announce potential game modes
text = "<b>Vote Tied Between:</b>\n"
for(var/option in winners)
text += "\t[option]\n"
for(var/option in winners)
text += "\t[option]\n"
. = pick(winners)
for(var/key in current_votes)
+3
View File
@@ -35,6 +35,9 @@
L.imp_in = H
L.implanted = 1
world << "<b>[H.real_name] is the captain!</b>"
var/datum/organ/external/affected = H.organs_by_name["head"]
affected.implants += L
L.part = affected
return 1
get_access()
+4 -3
View File
@@ -359,6 +359,7 @@
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
L.imp_in = H
L.implanted = 1
return 1
var/datum/organ/external/affected = H.organs_by_name["head"]
affected.implants += L
L.part = affected
return 1
+4 -1
View File
@@ -42,6 +42,9 @@
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
L.imp_in = H
L.implanted = 1
var/datum/organ/external/affected = H.organs_by_name["head"]
affected.implants += L
L.part = affected
return 1
@@ -162,4 +165,4 @@
else
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
return 1
return 1
+9 -21
View File
@@ -164,6 +164,7 @@
/obj/machinery/body_scanconsole
var/obj/machinery/bodyscanner/connected
var/known_implants = list(/obj/item/weapon/implant/chem, /obj/item/weapon/implant/death_alarm, /obj/item/weapon/implant/loyalty, /obj/item/weapon/implant/tracking)
var/delete
var/temphtml
name = "Body Scanner Console"
@@ -265,25 +266,6 @@
if(!D.hidden[SCANNER])
dat += text("<font color='red'><B>Warning: [D.form] Detected</B>\nName: [D.name].\nType: [D.spread].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure]</FONT><BR>")
var/implnts = ""
for(var/obj/item/weapon/implant/I in occupant)
if(I in occupant)
if(I.implanted)
if(istype(I, /obj/item/weapon/implant/death_alarm))
implnts += "<font color='blue'>death alarm</font><br>"
if(istype(I, /obj/item/weapon/implant/loyalty))
implnts += "<font color='blue'>loyalty</font><br>"
if(istype(I, /obj/item/weapon/implant/chem))
implnts += "<font color='red'>chemical</font><br>"
if(istype(I, /obj/item/weapon/implant/tracking))
implnts += "<font color='red'>tracking</font><br>"
if(implnts)
dat += "<br>"
dat += "Detected implants: <br>"
dat += implnts
dat += "<HR><table border='1'>"
dat += "<tr>"
dat += "<th>Organ</th>"
@@ -315,8 +297,14 @@
AN = "[e.broken_description]:"
if(e.open)
open = "Open:"
if(e.implants.len)
imp = "Unknown body present:"
var/unknown_body = 0
for(var/I in e.implants)
if(is_type_in_list(I,known_implants))
imp += "[I] implanted:"
else
unknown_body++
if(unknown_body)
imp += "Unknown body present:"
if(!AN && !open && !infected & !imp)
AN = "None:"
if(!(e.status & ORGAN_DESTROYED))
+1 -1
View File
@@ -1150,7 +1150,7 @@ About the new airlock wires panel:
if(src.isElectrified())
if(src.shock(user, 75))
return
if(istype(C, /obj/item/device/detective_scanner))
if(istype(C, /obj/item/device/detective_scanner) || istype(C, /obj/item/taperoll))
return
src.add_fingerprint(user)
+47
View File
@@ -0,0 +1,47 @@
#define MODKIT_HELMET 1
#define MODKIT_SUIT 2
#define MODKIT_FULL 3
/obj/item/device/modkit
name = "hardsuit modification kit"
desc = "A kit containing all the needed tools and parts to modify a hardsuit for another user."
icon_state = "modkit"
var/parts = MODKIT_FULL
var/from_helmet = /obj/item/clothing/head/helmet/space/rig
var/from_suit = /obj/item/clothing/suit/space/rig
var/to_helmet = /obj/item/clothing/head/cardborg
var/to_suit = /obj/item/clothing/suit/cardborg
/obj/item/device/modkit/afterattack(obj/O, mob/user as mob)
var/flag
var/to_type
if(istype(O,from_helmet))
flag = MODKIT_HELMET
to_type = to_helmet
else if(istype(O,from_suit))
flag = MODKIT_SUIT
to_type = to_suit
else
return
if(!(parts & flag))
user << "<span class='warning'>This kit has no parts for this modification left.</span>"
return
if(istype(O,to_type))
user << "<span class='notice'>[O] is already modified.</span>"
return
if(!isturf(O.loc))
user << "<span class='warning'>[O] must be safely placed on the ground for modification.</span>"
return
playsound(user.loc, 'sound/items/Screwdriver.ogg', 100, 1)
var/N = new to_type(O.loc)
user.visible_message("\red [user] opens \the [src] and modifies \the [O] into \the [N].","\red You open \the [src] and modify \the [O] into \the [N].")
del(O)
parts &= ~flag
if(!parts)
del(src)
/obj/item/device/modkit/tajaran
name = "tajara hardsuit modification kit"
desc = "A kit containing all the needed tools and parts to modify a hardsuit for another user. This one looks like it's meant for Tajara."
to_helmet = /obj/item/clothing/head/helmet/space/rig/tajara
to_suit = /obj/item/clothing/suit/space/rig/tajara
+24 -1
View File
@@ -208,7 +208,7 @@
if(user.mind.special_role)
usr << "\blue The card's microscanners activate as you pass it over the ID, copying its access."
/obj/item/weapon/card/id/syndicate/var/mob/registered_user = null
/obj/item/weapon/card/id/syndicate/attack_self(mob/user as mob)
if(!src.registered_name)
//Stop giving the players unsanitized unputs! You are giving ways for players to intentionally crash clients! -Nodrak
@@ -226,9 +226,32 @@
src.assignment = u
src.name = "[src.registered_name]'s ID Card ([src.assignment])"
user << "\blue You successfully forge the ID card."
registered_user = user
else if(registered_user == user)
switch(alert("Would you like to display the ID, or retitle it?","Choose.","Rename","Show"))
if("Rename")
var t = copytext(sanitize(input(user, "What name would you like to put on this card?", "Agent card name", ishuman(user) ? user.real_name : user.name)),1,26)
if(!t || t == "Unknown" || t == "floor" || t == "wall" || t == "r-wall") //Same as mob/new_player/prefrences.dm
alert("Invalid name.")
return
src.registered_name = t
var u = copytext(sanitize(input(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels other than Maintenance.", "Agent card job assignment", "Assistant")),1,MAX_MESSAGE_LEN)
if(!u)
alert("Invalid assignment.")
src.registered_name = ""
return
src.assignment = u
src.name = "[src.registered_name]'s ID Card ([src.assignment])"
user << "\blue You successfully forge the ID card."
return
if("Show")
..()
else
..()
/obj/item/weapon/card/id/syndicate_command
name = "syndicate ID card"
desc = "An ID straight from the Syndicate."
@@ -50,7 +50,7 @@
..()
/obj/item/weapon/implant/tracking
name = "tracking"
name = "tracking implant"
desc = "Track with this."
var/id = 1.0
@@ -219,7 +219,7 @@ Implant Specifics:<BR>"}
del(src)
/obj/item/weapon/implant/chem
name = "chem"
name = "chemical implant"
desc = "Injects things."
allow_reagents = 1
@@ -283,7 +283,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
malfunction--
/obj/item/weapon/implant/loyalty
name = "loyalty"
name = "loyalty implant"
desc = "Makes you loyal or such."
get_data()
+1 -3
View File
@@ -98,6 +98,7 @@
add_fingerprint(user)
/obj/item/weapon/melee/baton/throw_impact(atom/hit_atom)
. = ..()
if (prob(50))
if(istype(hit_atom, /mob/living))
var/mob/living/carbon/human/H = hit_atom
@@ -116,9 +117,6 @@
H.attack_log += "\[[time_stamp()]\]<font color='orange'> Stunned by thrown [src.name] last touched by ([src.fingerprintslast])</font>"
log_attack("Flying [src.name], last touched by ([src.fingerprintslast]) stunned [H.name] ([H.ckey])" )
return
return ..()
/obj/item/weapon/melee/baton/emp_act(severity)
switch(severity)
if(1)
@@ -37,7 +37,7 @@
/obj/structure/stool/MouseDrop(atom/over_object)
if (istype(over_object, /mob/living/carbon/human))
var/mob/living/carbon/human/H = over_object
if (!H.restrained() && !H.stat && in_range(src, over_object))
if (H==usr && !H.restrained() && !H.stat && in_range(src, over_object))
var/obj/item/weapon/stool/S = new/obj/item/weapon/stool()
S.origin = src
src.loc = S
+2 -2
View File
@@ -124,7 +124,7 @@ BLIND // can't see anything
body_parts_covered = HANDS
slot_flags = SLOT_GLOVES
attack_verb = list("challenged")
species_restricted = list("exclude","Unathi","Tajara")
species_restricted = list("exclude","Unathi","Tajaran")
/obj/item/clothing/gloves/examine()
set src in usr
@@ -169,7 +169,7 @@ BLIND // can't see anything
permeability_coefficient = 0.50
slowdown = SHOES_SLOWDOWN
species_restricted = list("exclude","Unathi","Tajara")
species_restricted = list("exclude","Unathi","Tajaran")
//Suit
/obj/item/clothing/suit
+33 -10
View File
@@ -4,18 +4,21 @@
..()
return
if(istype(W, /obj/item/weapon/cable_coil))
var/obj/item/weapon/cable_coil/C = W
if(!wired)
if(C.amount >= 2)
C.use(2)
wired = 1
siemens_coefficient = 3.0
user << "<span class='notice'>You wrap some wires around [src].</span>"
update_icon()
if(!("stunglove" in species_restricted))
var/obj/item/weapon/cable_coil/C = W
if(!wired)
if(C.amount >= 2)
C.use(2)
wired = 1
siemens_coefficient = 3.0
user << "<span class='notice'>You wrap some wires around [src].</span>"
update_icon()
else
user << "<span class='notice'>There is not enough wire to cover [src].</span>"
else
user << "<span class='notice'>There is not enough wire to cover [src].</span>"
user << "<span class='notice'>[src] are already wired.</span>"
else
user << "<span class='notice'>[src] are already wired.</span>"
user << "<span class='notice'[src] is not suitable for wiring.</span>"
else if(istype(W, /obj/item/weapon/cell))
if(!wired)
@@ -30,6 +33,26 @@
user << "<span class='notice'>[src] already have a cell.</span>"
else if(istype(W, /obj/item/weapon/wirecutters))
if("exclude" in species_restricted)
name = "mangled [name]"
species_restricted -= "Unathi"
species_restricted -= "Tajaran"
species_restricted += "stunglove"
wired = null
if(cell)
cell.updateicon()
cell.loc = get_turf(src.loc)
cell = null
playsound(src.loc, 'sound/items/Wirecutter.ogg', 100, 1)
user.visible_message("\red [user] snips the fingertips off [src].","\red You snip the fingertips off [src].")
update_icon()
return
if(cell)
cell.updateicon()
cell.loc = get_turf(src.loc)
+2 -2
View File
@@ -12,7 +12,7 @@
icon_action_button = "action_hardhat"
heat_protection = HEAD
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE
species_restricted = list("exclude","Unathi","Tajara","Skrell","Diona","Vox")
species_restricted = list("exclude","Unathi","Tajaran","Skrell","Diona","Vox")
attack_self(mob/user)
if(!isturf(user.loc))
@@ -47,7 +47,7 @@
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd)
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE
species_restricted = list("exclude","Unathi","Tajara","Diona","Vox")
species_restricted = list("exclude","Unathi","Tajaran","Diona","Vox")
//Chief Engineer's rig
/obj/item/clothing/head/helmet/space/rig/elite
+1 -1
View File
@@ -202,7 +202,7 @@
if(getBrainLoss() >= 50)
if(10 <= rn && rn <= 12) if(!lying)
src << "\red Your legs won't respond properly, you fall down."
lying = 1
resting = 1
proc/handle_stasis_bag()
// Handle side effects from stasis bag
+1 -1
View File
@@ -4,7 +4,7 @@
if (ending == "?")
return "queries, \"[text]\"";
else if (ending == "!")
return "declares, \"[copytext(text, 1, length(text))]\"";
return "declares, \"[text]\"";
return "states, \"[text]\"";
+1 -1
View File
@@ -42,7 +42,7 @@
/obj/item/weapon/stamp/cmo
name = "chief medical officer's rubber stamp"
icon_state = "stamp-cmo"
color = "medical"
color = "cmo"
/obj/item/weapon/stamp/denied
name = "\improper DENIED rubber stamp"
+4 -2
View File
@@ -33,14 +33,16 @@
charge_tick++
if(charge_tick < recharge_time) return 0
charge_tick = 0
if(!power_supply) return 0 //sanity
if(power_supply.charge >= power_supply.maxcharge) return 0 // check if we actually need to recharge
if(isrobot(src.loc))
var/mob/living/silicon/robot/R = src.loc
if(R && R.cell)
R.cell.use(charge_cost) //Take power from the borg...
power_supply.give(charge_cost) //... to recharge the shot
update_icon()
return 1
+1 -1
View File
@@ -157,7 +157,7 @@
/obj/item/device/destTagger
name = "destination tagger"
desc = "Used to set the destination of properly wrapped packages."
icon_state = "forensic0"
icon_state = "forensic0-old"
var/currTag = 0
//The whole system for the sorttype var is determined based on the order of this list,
//disposals must always be 1, since anything that's untagged will automatically go to disposals, or sorttype = 1 --Superxpdude
Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

+9 -7
View File
@@ -1627,7 +1627,7 @@
"aFo" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
"aFp" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
"aFq" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/device/radio/off,/obj/item/device/radio/off,/obj/item/device/radio/off,/turf/simulated/floor{icon_state = "vault"; dir = 8},/area/ai_monitored/storage/eva)
"aFr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
"aFr" = (/obj/machinery/light/small{dir = 4},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/head/helmet/space/skrell/black,/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/skrell/black,/obj/item/clothing/head/helmet/space/skrell/white,/obj/item/clothing/mask/breath,/obj/item/clothing/suit/space/skrell/white,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
"aFs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva)
"aFt" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/ai_monitored/storage/eva)
"aFu" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore)
@@ -7823,7 +7823,7 @@
"cUw" = (/obj/machinery/sleeper,/turf/simulated/shuttle/floor4,/area/shuttle/vox/station)
"cUx" = (/obj/machinery/sleep_console,/turf/simulated/shuttle/floor4,/area/shuttle/vox/station)
"cUy" = (/obj/machinery/bodyscanner,/turf/simulated/shuttle/floor4,/area/shuttle/vox/station)
"cUz" = (/obj/machinery/body_scanconsole,/turf/simulated/shuttle/floor4,/area/shuttle/vox/station)
"cUz" = (/obj/machinery/body_scanconsole{known_implants = list(/obj/item/weapon/implant/cortical)},/turf/simulated/shuttle/floor4,/area/shuttle/vox/station)
"cUA" = (/turf/space,/turf/simulated/shuttle/wall{icon_state = "diagonalWall3"},/area/shuttle/vox/station)
"cUB" = (/obj/structure/shuttle/engine/heater,/turf/simulated/shuttle/plating,/area/shuttle/vox/station)
"cUC" = (/obj/structure/rack,/obj/item/clothing/tie/storage/black_vest,/obj/item/clothing/suit/space/vox/medic,/obj/item/clothing/head/helmet/space/vox/medic,/obj/item/clothing/mask/breath/vox,/turf/simulated/shuttle/floor4,/area/shuttle/vox/station)
@@ -9215,7 +9215,7 @@
"dvk" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/mask/breath,/obj/machinery/light/small{dir = 4},/obj/item/clothing/glasses/science,/obj/item/clothing/gloves/latex,/obj/machinery/camera{c_tag = "Research Outpost Hallway Starboard"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/hallway)
"dvl" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
"dvm" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/hallway)
"dvn" = (/obj/machinery/door/airlock/research{name = "Anomalous Materials"; req_access_txt = "65"},/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.6; name = "Firelock North"},/obj/machinery/door/firedoor/border_only{layer = 2.6; name = "\improper Firelock South"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
"dvn" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/device/modkit/tajaran,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
"dvo" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/power/emitter{anchored = 1; state = 2},/obj/structure/cable,/turf/simulated/floor/plating{dir = 5; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/anomaly)
"dvp" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/research_outpost/anomaly)
"dvq" = (/obj/machinery/door/window/westleft{dir = 1; name = "Spectroscopy"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
@@ -10171,6 +10171,8 @@
"dNE" = (/obj/machinery/mineral/stacking_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production)
"dNF" = (/obj/machinery/conveyor{icon_state = "conveyor0"; dir = 10; id = "mining_internal"},/obj/machinery/mineral/input,/turf/simulated/floor{dir = 8; icon_state = "loadingarea"},/area/mine/production)
"dNG" = (/turf/space,/area/vox_station/mining)
"dNH" = (/obj/machinery/door/airlock/research{name = "Anomalous Materials"; req_access_txt = "65"},/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.6; name = "Firelock North"},/obj/machinery/door/firedoor/border_only{layer = 2.6; name = "\improper Firelock South"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
"dNI" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/research_outpost/anomaly)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -10280,9 +10282,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafatEaxaayZaxaazaaxYaxYazbaxaayZaxaazcaxXayaazdatHaxhatHatHazeatLatLatLatLatMatHazfazgazhaziazfapvapvawrawsawtapvapvapvaoYarxaylaaaaafaaaaafaaaaafaaaaafaaaaylaypayqazjazkazlazmaznayqayraoYaxtazoazoazpazqazrazsaztazuazvazwazxazxaxtayEapCazyalLayGatjaueatlatmatnaugazzazAazBazCazDazEazFazFazGazFasMazHazIazJazKazLazMasMazNasOasOasOasOasOazNasMaafaaaaaaaaaaaaaaaaafaafaaaaafazOazPazQazRazSaafaaaaaaaafaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafazTasPazUavtazVazWazXazYazZazVavtaAaaAbasPaAcaAdatHaAeaAfaAfaAfaAfaAfaAfavzaAgaAhazfaAiaAjaAkazfaAlaoYaoYaoYaoYaoYaoYaoYaoYaAmaylaafaAnaAnaAnaAnaAnaAnaAnaafaylaypayqaAoaApaAqaAraAoayqayraAsaxtaxtaxtaxtaAtaAuayuaAvaAuaAwaxtaxtaxtaxtayEapCaAxalLayGatjaueatlatmatnavdaAyazFazFazFazFazFazFaAzaAAaABazFasMasMasMasMaACasMasMazNasOasOasOasOasOazNasMaaaaaaaaaaaaaaeaaaaaaaaaaaaaafaADaAEaAFaAGaADaafaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxWayZaAHaAIaAIaAIaAIaAJayZaxWaAKasPaALaAMaANaANaANaANaANaANaANaANawlaAOaAhazfaAPaAQaARazfaASaATaASaASaASaASaASaASaASaASaAUaaaaAnaAVaAWaAXaAYaAZaAnaaaaylaypayqaAoaBaaBbaBcaAoayqayrapvaxtaBdaBeazpaBfaBgazsaBhaBgaBiaBjaBkaBkaxtayEapCayFalLaBlasCavMatlavNaBmavdaAyazFaBnaAAaBoaBoazFaAzaBpaABazFaBqaBraBsaBtaBuaBvaafaBwaBxaBxaBxaBxaBxaByaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaADaBzaBAaBBaADaafaaaaaaaBCaBDaBDaBDaBDaBEaBFaBDaBDaBDaBDaBGaBGaBDaBHaBIaBJaBKaBLaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaBMaBNaBOaBNaBNaBPaBQaBNaBNaBOaBRaBSasPazaaBTaBUaBVaBWaBXaBYaBZaCaaANawlaCbatHazfazfaCcaCdaAUaCeaCfaCgaChaCiaCjaCkaClaCmaCnaAUaafaAnaCoaCpaCqaCraCsaAnaafaylaypayqaCtaCuaCvaCuaCwayqayraCxaxtayuayuaCyaCzaAuaCAaAvaAuaCBaCCayuayDaxtayEapCayFalLayGawLawMaCDawOatnaCEaCFazFaCGaAAaAAaAAazGaCHaCIaCJazFaCKaCLaCMaCNaCOaBvaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaADaCPaCQaCRaADaBvaCSaCTaCUaCVaCWaCWaCWaCWaCWaCWaCXaCYaCYaCZaDaaDbaCYaCYaDcaDdaDeaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaBMaBNaBOaBNaBNaBPaBQaBNaBNaBOaBRaBSasPazaaBTaBUaBVaBWaBXaBYaBZaCaaANawlaCbatHazfazfaCcaCdaAUaCeaCfaCgaChaCiaCjaCkaClaCmaCnaAUaafaAnaCoaCpaCqaCraCsaAnaafaylaypayqaCtaCuaCvaCuaCwayqayraCxaxtayuayuaCyaCzaAuaCAaAvaAuaCBaCCayuaFraxtayEapCayFalLayGawLawMaCDawOatnaCEaCFazFaCGaAAaAAaAAazGaCHaCIaCJazFaCKaCLaCMaCNaCOaBvaaaaafaaaaafaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaADaCPaCQaCRaADaBvaCSaCTaCUaCVaCWaCWaCWaCWaCWaCWaCXaCYaCYaCZaDaaDbaCYaCYaDcaDdaDeaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBMaBRaBNaDfaDgaDgaDhaDiaDjaDkaDlaDgaDgaDmaDnaxaazaaDoaANaDpaDqaDraDsaDraDtaDuaDvaDwaqWaDxaDyaDzaAfaDAaDBaDCaDDaDDaDDaDEaDDaDDaDFaCfaAUaaaaAnaDGaDHaDIaCraDJaAnaaaaylaypayqaDKaDLaDMaDNaDOayqayraDPaxtaxtaxtaxtaDQaAuayuaDRaBgaDSazwaDTaDUaxtaDVaszaDWalLayGaDXaDYaDYaDYaDYaDZaEaaEbaEcaEdaEeaEeaEeaEfaEeaEgaEhaEiaEjaEkaElaEmaBvaBvaBvaBvaBvaBvaBvaBvaBvaBvaCSaCTaBvaBvaBvaCSaEnaEoaBvaBvaADaADaEpaEqaADaEraEsaEtaEuaEvaEwaEwaEwaEwaEwaEraExaEyaEyaEzaEAaEBaEyaECaEDaEEaECaECaECaECaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDmaEFaEGaEHaDgaEIaDgaEIaDgaEIaDgaEIaDgaEJaEKazVazaaELaANaEMaENaEOaEPaEQaERaANaESaETaAfaEUaAfaEVaqWaASaEWaDFaDDaDDaDDaDDaDDaDDaEXaEYaEZaFaaFbaFcaFdaFeaFfaFgaAnaafaylaFhaFiaFjaFkaFlaFmaFnaFiaFoaFpaxtaFqayuazpaFraBgazsaFsaAuaFtaxtaxtaxtaxtaFuaFvaFwalLaFxarrarrarraFyaFzaFAaFBaFCaFDaFEaFCaFFaFCaFGaFCaFHaFIaFJaFKaFLaBtaFMaFNaFOaFPaFPaFNaFQaFRaFRaFRaFRaFRaFSaFTaFRaFUaFVaFWaFXaFYaFZaGaaGbaGcaGdaGdaGdaGeaGfaGgaGhaEwaGiaGjaGkaEwaEyaGlaEyaGmaGnaGoaGpaGqaGraGsaGtaGuaGvaGwaGxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGyaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDmaEFaEGaEHaDgaEIaDgaEIaDgaEIaDgaEIaDgaEJaEKazVazaaELaANaEMaENaEOaEPaEQaERaANaESaETaAfaEUaAfaEVaqWaASaEWaDFaDDaDDaDDaDDaDDaDDaEXaEYaEZaFaaFbaFcaFdaFeaFfaFgaAnaafaylaFhaFiaFjaFkaFlaFmaFnaFiaFoaFpaxtaFqayuazpdvnaBgazsaFsaAuaFtaxtaxtaxtaxtaFuaFvaFwalLaFxarrarrarraFyaFzaFAaFBaFCaFDaFEaFCaFFaFCaFGaFCaFHaFIaFJaFKaFLaBtaFMaFNaFOaFPaFPaFNaFQaFRaFRaFRaFRaFRaFSaFTaFRaFUaFVaFWaFXaFYaFZaGaaGbaGcaGdaGdaGdaGeaGfaGgaGhaEwaGiaGjaGkaEwaEyaGlaEyaGmaGnaGoaGpaGqaGraGsaGtaGuaGvaGwaGxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGyaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGzaDgaDgaBOaDgaEIaDgaEIaGAaEIaDgaEIaDgaEJaEKazVazaaGBaANaGCaGDaGEaGFaGEaBUaBUaGGaGHaGIaGJaGKaGJaGJaGLaGMaGNaGOaGOaGOaGPaGOaGOaGQaGRaAUaaaaGSaAnaGTaGUaGTaAnaAnaaaaylaGVayqaGWaGXaGYaGZaHaaHbaHcaHdaxtaHeayuaHfaCzaAuayuaAvaAuaCBaHgaxtaxtaxtaHhaHiaHjalLaHkalLalLalLaHlalLaHmaHnazFaHoaAAazFaHpazFaHqazFaHraHsaHtaHuaHvaHwaHxaHyaHzaHAaHBaHCaHDaHBaHBaHEaBDaHyaHFaHyaHGaHyaHyaHHaHIaHJaHKaHKaHLaHMaHNaHOaHKaHPaHQaHRaHSaHTaHUaHVaHWaEwaHXaHYaEyaHZaIaaIbaIcaGqaIdaIeaGtaIfaECaECaECaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDmaIgaEGaEHaDgaEIaDgaEIaDgaEIaDgaEIaDgaEJaEKazVaIhaIiaIjaIkaIlaIlaIlaIiaImaInaIiaIoaIpaIqaIrauIauIaASaGRaIsaCfaItaGRaGRaIuaIvaIwaIxaAUaaaaIyaaaaIzaIAaIzaaaaafaaaaylaGVayqaIBaICaIDaIEaIFayqaIGaoYaxtaIHayuazpaIIaIJazsaIKaILaIMaINaxtaIOaIPaIQaIRaISaITaIUaIVaaaaaaaIWaIXaIYaIZazFaJaaAAaAAaAAaCIaAAaAAaAAaJbaBtaJcaBtaJdaJeaBtaJfaBtaJgaJhaJiaJjaJkaJlaJmaJnaJoaJmaJpaJmaJmaJmaJmaJqaJmaJmaJraJmaJmaJmaJmaJsaJtaHSaJuaJvaJwaJxaJyaEwaJzaJAaJBaJCaJDaJEaIcaJFaIdaIeaGtaIeaJGaJHaJIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJJaJJaJJaJJaJJaJJaJJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJKaJLaBNaDfaDgaDgaDgaJMaDgaDgaJNaDgaDgaDmaJOaxWazaaxYaJPaJQaJQaJQaJQaJQaJQaJQaJRaJSatHatHaJTatHatHaASaJUaJVaJWaJXaJXaJXaJXaJYaJZaKaaAUaKbaKcaKdaKeaKfaKgaKdaKdaKhaylaKiayqayqayqaKjaKkayqayqaKlaKmaxtaxtaxtaxtaKnaKoaHfaHfaKpaKqaxtaxtaKraIRaIRaIRaIRaIRaKsaKtaKuaKvaIWaKwaIYaKxazFazFazFazFazFazFazFazFazFaJbaKyaKzaKAaKBaKCaKDaKEaKFaJgaKGaKHaKIaKJaKKaJmaKLaKMaKNaKOaKNaKPaKQaKRaKSaKTaKUaKVaKWaKXaKYaJmaKZaLaaLbaJuaLcaJwaJxaLdaEwaLeaLfaLgaLhaLiaIcaIcaEyaECaLjaGtaIeaLkaLlaLmaaaaaaaaaaaaaaaaaaaaaaaaaaaaJJaJJaJJaJJaJJaJJaJJaJJaJJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -11255,13 +11257,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdpPdoIdoIdoIdoIdoIdoIdpPdpPdoIdoIdoIdoIdpPdpPdpPdpPdoIdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdoIaaaaaaaaaaaaaaaaaaaaaaaaaaadpxdqidpSdqjdqkdqldqmdqndqodpydqpdqpdqpdqpdqqdqadqrdqsdqtdpIdpIdpIdpIdqudqvdqwdqwdqwdqwdqwdqxdqydqzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqAdqBdqAaaaaaaaaaaaaaaadoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdpPdoIdoIdoIdpPdpPdoIdpPdpPdpPdoIdoIdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdoIdpPaaaaaaaaaaaaaaaaaaaaaaaadpxdpydqCdqDdqDdqEdqFdqGdqHdqIdqJdqKdqLdqMdqNdqOdqPdqQdqRdpIdqSdqTdpIdqUdqVdqWdqXdqYdqZdradrbdrcdrdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadredrfdreaafaaaaaaaaadoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdoIdpPdpPdpPdpPdpPdpPdoIdoIdoIdoIdoIdoIdoIdpPdpPdpPdpPdpPdoIdoIdoIdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPaaaaaaaaaaaaaaaaaaaaaaaadpxdpydqCdrgdrgdqEdqFdrhdridpydrjdqJdrkdrldrmdrndrodrpdrqdrrdrsdrtdrudrvdrwdqwdrxdrydrzdrAdrBdrCdrdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrDdrEdrFdrGaafaaaaaadoIdoIdoIdoIdoIdoIdoIdpPdoIdoIdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPaaaaaaaaaaaaaaaaaaaaadoKdrHdqidrIdqjdrJdrKdrLdrMdrNdpydrOdrkdrPdrQdrRdrSdrSdrSdrTdrSdrSdrSdrSdrUdrVdqwdrWdrydrXdrYdrZdrcdrdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrDdrEdrFdrGaafaaaaaadoIdoIdoIdoIdoIdoIdoIdpPdoIdoIdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPaaaaaaaaaaaaaaaaaaaaadoKdrHdqidrIdqjdrJdrKdrLdrMdrNdpydrOdrkdrPdrQdrRdrSdNIdrSdrTdrSdrSdrSdrSdrUdrVdqwdrWdrydrXdrYdrZdrcdrdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsadsbdsbdscdsddsedreaafaaaaaadoIdoIdoIdoIdpPdpPdpPdoIdoIdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPaafdsfdsgdphdphdphdshdsidpydsjdskdsldpTdsmdsndsodpydspdsqdsrdssdstdsudsvdswdsxdsydszdsAdrSdsBdsCdqwdsDdsEdsFdrYdqwdsGdsHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJdoJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsIdsJdsKdsLdsMdsNdsOaafaafdpPdpPdoIdoIdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdsPdsPdsPaafdsQdsiaafaafaafaafaafdpydpydpydpydpydpydsRdsSdpydqpdqpdsTdsUdsVdrSdsWdsXdsxdsYdsZdtadrSdtbdtcdtddtedtfdtgdthdqwdtidtjaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoJdoJdoJdoJdoJaaadoJdoJdoJdoJdoJaaadoJdoJdoJdoJdoJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtkdsbdsbdtldtmdsedtndpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdsPdsPdsPaaaaaadpxdtodtodtodtodtodtodtodpIdtpdptdtqdtrdtsdttdtudtvdtwdtxdtydtzdrSdtAdtBdtCdtDdtEdtFdtGdtHdtIdtJdtJdtJdtKdtLdtMdtNdtOdtOdtPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoJdoJdoJdoJdoJaaadoJdoJdoJdoJdoJaaadoJdoJdoJdoJdoJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdtQdtRdtSdtndpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdsPaaaaaadpxdtodtodtodtodtodtodtodtTdtUdtVdtWdtXdtYdtZduadubducdudduedufdugduhduidujdukdukdukduldumdundtJduodupduqdurdtJdusdtjdtjdtjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoJdoJdoJdoJdoJaaaaaaaaaaaaaaaaaaaaadoJdoJdoJdoJdoJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafdutduuduvduwdtndpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPaaaaaaaaaaaadpxdtodtodtodtodtodtodtoduxduyduzduAduBduCduDduEduFduGdpsduHduIdrSduJduKduLduMduNduOdrSduPduQduRduSduSduTduUduVduWduXduYduYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafduZdvadvbdtndvcdvddtndtndtndtndpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPaaaaaaaaaaaaaaaaaadpxdtodtodtodtodtodtodtodveduydptduAdvfdvgdvhdvidvjdvkdpsdvldvmdrSdvndrSdvodvpdvqdvrdrSdvsdvtdtJdvudvvdvwdvxdvydvzdvAdvBdvBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafduZdvadvbdtndvcdvddtndtndtndtndpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPaaaaaaaaaaaaaaaaaadpxdtodtodtodtodtodtodtodveduydptduAdvfdvgdvhdvidvjdvkdpsdvldvmdrSdNHdrSdvodvpdvqdvrdrSdvsdvtdtJdvudvvdvwdvxdvydvzdvAdvBdvBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafdvCdvDdvEdvFdvGdvHdqAdsNdvIdtndvJdvKdtndpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPaaaaaaaaaaaaaaaaaadpxdtodtodtodtodtodtodtodpIdvLdptdvMdvNdvOdvPdvQdvRdvSdpsdvTdvUdvVdvWdrSdvXdvYdvZdwadrSdwbdwcdwddwedwfdwgdwhdwidvzduYduYduYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafdwjdwkdvDdwldwmdwndwodwpdvIdwqdvKdwrdvJdtndpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPaaaaaaaaaaaaaaaaaadwsdwtdwudwvdwwdwtdwudwxdwydwzdwAdpIdwBdpIdpsdpsdpsdpsdpsdwCdwDdwEdvWdrSdwFdwGdwHdwIdrSdwJdwKdwLdwMdwNdwOdwPdwQdwRdwSdpsdwTdsgdphdphdphdphdphdphdpidwUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwVdwjdwWdwjdvEdvEdvcdwXdwmdtnduwdwYdtndvKdwZdtndpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPdpPaaaaaaaaaaaaaaaaaadxadxbdxcdxcdxddxedxedxfdxgdxhdxedxidxjdxkdxldxmdxndxodxpdxqdxrdxsdxtdrSdrSdxudxvdrSdrSdxwdxxdtJdtJdxydtJdtJdtJdxzdxAdxBdxCdxDdxEdxEdxFdxEdxEdxEdxGdpOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa