diff --git a/baystation12.dme b/baystation12.dme index b553a7a35b..c9e41c74de 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -727,10 +727,6 @@ #include "code\modules\awaymissions\pamphlet.dm" #include "code\modules\awaymissions\trigger.dm" #include "code\modules\awaymissions\zlevel.dm" -#include "code\modules\awaymissions\maploader\dmm_suite.dm" -#include "code\modules\awaymissions\maploader\reader.dm" -#include "code\modules\awaymissions\maploader\swapmaps.dm" -#include "code\modules\awaymissions\maploader\writer.dm" #include "code\modules\client\client defines.dm" #include "code\modules\client\client procs.dm" #include "code\modules\client\preferences.dm" @@ -828,6 +824,10 @@ #include "code\modules\library\lib_machines.dm" #include "code\modules\library\lib_readme.dm" #include "code\modules\liquid\splash_simulation.dm" +#include "code\modules\maps\dmm_suite.dm" +#include "code\modules\maps\reader.dm" +#include "code\modules\maps\swapmaps.dm" +#include "code\modules\maps\writer.dm" #include "code\modules\mining\machine_input_output_plates.dm" #include "code\modules\mining\machine_processing.dm" #include "code\modules\mining\machine_stacking.dm" diff --git a/code/WorkInProgress/Mini/atmos_control.dm b/code/WorkInProgress/Mini/atmos_control.dm index 15dd1c7fe9..f9986d50e7 100644 --- a/code/WorkInProgress/Mini/atmos_control.dm +++ b/code/WorkInProgress/Mini/atmos_control.dm @@ -1,6 +1,6 @@ /obj/item/weapon/circuitboard/atmoscontrol name = "\improper Central Atmospherics Computer Circuitboard" - build_path = "/obj/machinery/computer/security/atmoscontrol" + build_path = /obj/machinery/computer/atmoscontrol /obj/machinery/computer/atmoscontrol name = "\improper Central Atmospherics Computer" diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index 3633cda374..b252163b03 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -51,7 +51,8 @@ datum/controller/game_controller/New() datum/controller/game_controller/proc/setup() world.tick_lag = config.Ticklag - createRandomZlevel() + spawn(20) + createRandomZlevel() if(!air_master) air_master = new /datum/controller/air_system() diff --git a/code/modules/awaymissions/maploader/reader.dm b/code/modules/awaymissions/maploader/reader.dm deleted file mode 100644 index 0fc8004787..0000000000 --- a/code/modules/awaymissions/maploader/reader.dm +++ /dev/null @@ -1,251 +0,0 @@ -// -dmm_suite{ - load_map(var/dmm_file as file, var/z_offset as num){ - if(!z_offset){ - z_offset = world.maxz+1 - } - var/quote = ascii2text(34) - var/tfile = file2text(dmm_file) - var/tfile_len = length(tfile) - var/list/grid_models[0] - var/key_len = length(copytext(tfile,2,findtext(tfile,quote,2,0))) - for(var/lpos=1;lposlength(zgrid)){break} - sleep(-1) - } - if(findtext(tfile,quote+"}",zpos,0)+2>=tfile_len){break} - sleep(-1) - } - } - proc{ - parse_grid(var/model as text,var/xcrd as num,var/ycrd as num,var/zcrd as num){ - /*Method parse_grid() - - Accepts a text string containing a comma separated list of type paths of the - same construction as those contained in a .dmm file, and instantiates them. - */ - var/list/text_strings[0] - for(var/index=1;findtext(model,quote);index++){ - /*Loop: Stores quoted portions of text in text_strings, and replaces them with an - index to that list. - - Each iteration represents one quoted section of text. - */ - text_strings.len=index - text_strings[index] = copytext(model,findtext(model,quote)+1,findtext(model,quote,findtext(model,quote)+1,0)) - model = copytext(model,1,findtext(model,quote))+"~[index]"+copytext(model,findtext(model,quote,findtext(model,quote)+1,0)+1,0) - sleep(-1) - } - var/list/old_turf_underlays[0] - var/old_turf_density - var/old_turf_opacity - /*The old_turf variables store information about turfs instantiated in this location/iteration. - This is done to approximate the layered turf effect of DM's map editor. - An image of each turf is stored in old_turf_underlays[], and is later added to the new turf's underlays. - */ - for(var/dpos=1;dpos!=0;dpos=findtext(model,",",dpos,0)+1){ - /*Loop: Identifies each object's data, instantiates it, and reconstitues it's fields. - - Each iteration represents one object's data, including type path and field values. - */ - var/full_def = copytext(model,dpos,findtext(model,",",dpos,0)) - var/atom_def = text2path(copytext(full_def,1,findtext(full_def,"{"))) - var/list/attributes[0] - if(findtext(full_def,"{")){ - full_def = copytext(full_def,1,length(full_def)) - for(var/apos=findtext(full_def,"{")+1;apos!=0;apos=findtext(full_def,";",apos,0)+1){ - //Loop: Identifies each attribute/value pair, and stores it in attributes[]. - attributes.Add(copytext(full_def,apos,findtext(full_def,";",apos,0))) - if(!findtext(copytext(full_def,apos,0),";")){break} - sleep(-1) - } - } - //Construct attributes associative list - var/list/fields = new(0) - for(var/index=1;index<=attributes.len;index++){ - var/trim_left = trim_text(copytext(attributes[index],1,findtext(attributes[index],"="))) - var/trim_right = trim_text(copytext(attributes[index],findtext(attributes[index],"=")+1,0)) - //Check for string - if(findtext(trim_right,"~")){ - var/reference_index = copytext(trim_right,findtext(trim_right,"~")+1,0) - trim_right=text_strings[text2num(reference_index)] - } - //Check for number - else if(isnum(text2num(trim_right))){ - trim_right = text2num(trim_right) - } - //Check for file - else if(copytext(trim_right,1,2) == "'"){ - trim_right = file(copytext(trim_right,2,length(trim_right))) - } - fields[trim_left] = trim_right - } - //End construction - - - //Begin Instanciation - var/atom/instance - var/dmm_suite/preloader/_preloader = new(fields) - if(ispath(atom_def,/area)){ - instance = locate(atom_def) - instance.contents.Add(locate(xcrd,ycrd,zcrd)) - } - else if(ispath(atom_def,/turf)){ - var/turf/old_turf = locate(xcrd,ycrd,zcrd) - if(old_turf.density){old_turf_density = 1} - if(old_turf.opacity){old_turf_opacity = 1} - if(old_turf.icon){ - var/image/old_turf_image = image(old_turf.icon,null,old_turf.icon_state,old_turf.layer,old_turf.dir) - old_turf_underlays.Add(old_turf_image) - } - instance = new atom_def(old_turf, _preloader) - for(var/inverse_index=old_turf_underlays.len;inverse_index;inverse_index--){ - var/image/image_underlay = old_turf_underlays[inverse_index] - image_underlay.loc = instance - instance.underlays.Add(image_underlay) - } - if(!instance.density){instance.density = old_turf_density} - if(!instance.opacity){instance.opacity = old_turf_opacity} - } - - if(_preloader && instance){ - _preloader.load(instance) - } - //End Instanciation - if(!findtext(copytext(model,dpos,0),",")){break} - sleep(-1) - } -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - for(var/dpos=1;dpos!=0;dpos=findtext(model,",",dpos,0)+1) - { - /*Loop: Identifies each object's data, instantiates it, and reconstitues it's fields. - - Each iteration represents one object's data, including type path and field values. - */ - var/full_def = copytext(model,dpos,findtext(model,",",dpos,0)) - var/atom_def = text2path(copytext(full_def,1,findtext(full_def,"{"))) - var/list/attributes[0] - if(findtext(full_def,"{")){ - full_def = copytext(full_def,1,length(full_def)) - for(var/apos=findtext(full_def,"{")+1;apos!=0;apos=findtext(full_def,";",apos,0)+1){ - //Loop: Identifies each attribute/value pair, and stores it in attributes[]. - attributes.Add(copytext(full_def,apos,findtext(full_def,";",apos,0))) - if(!findtext(copytext(full_def,apos,0),";")){break} - sleep(-1) - } - } - //Construct attributes associative list - var/list/fields = new(0) - for(var/index=1;index<=attributes.len;index++){ - var/trim_left = trim_text(copytext(attributes[index],1,findtext(attributes[index],"="))) - var/trim_right = trim_text(copytext(attributes[index],findtext(attributes[index],"=")+1,0)) - //Check for string - if(findtext(trim_right,"~")){ - var/reference_index = copytext(trim_right,findtext(trim_right,"~")+1,0) - trim_right=text_strings[text2num(reference_index)] - } - //Check for number - else if(isnum(text2num(trim_right))){ - trim_right = text2num(trim_right) - } - //Check for file - else if(copytext(trim_right,1,2) == "'"){ - trim_right = file(copytext(trim_right,2,length(trim_right))) - } - fields[trim_left] = trim_right - } - //End construction - - - //Begin Instanciation - var/atom/instance - var/dmm_suite/preloader/_preloader = new(fields) - if(!ispath(atom_def,/area) && !ispath(atom_def,/turf)) - { - instance = new atom_def(locate(xcrd,ycrd,zcrd), _preloader) - } - - - if(_preloader && instance) - { - _preloader.load(instance) - } - //End Instanciation - if(!findtext(copytext(model,dpos,0),",")){break} - sleep(-1) - } - - - - - } - trim_text(var/what as text){ - while(length(what) && findtext(what," ",1,2)){ - what=copytext(what,2,0) - } - while(length(what) && findtext(what," ",length(what),0)){ - what=copytext(what,1,length(what)) - } - return what - } - } - } -atom/New(atom/loc, dmm_suite/preloader/_dmm_preloader){ - if(istype(_dmm_preloader, /dmm_suite/preloader)){ - _dmm_preloader.load(src) - } - . = ..() - } -dmm_suite{ - preloader{ - parent_type = /datum - var{ - list/attributes - } - New(list/the_attributes){ - .=..() - if(!the_attributes.len){ Del()} - attributes = the_attributes - } - proc{ - load(atom/what){ - for(var/attribute in attributes){ - what.vars[attribute] = attributes[attribute] - } - Del() - } - } - } - } - diff --git a/code/modules/awaymissions/zlevel.dm b/code/modules/awaymissions/zlevel.dm index 75454872bf..d76d9d676b 100644 --- a/code/modules/awaymissions/zlevel.dm +++ b/code/modules/awaymissions/zlevel.dm @@ -40,7 +40,7 @@ proc/createRandomZlevel() var/map = pick(potentialRandomZlevels) var/file = file(map) if(isfile(file)) - maploader.load_map(file) + maploader.load_map(file, load_speed = 100) for(var/obj/effect/landmark/L in landmarks_list) if (L.name != "awaystart") diff --git a/code/modules/awaymissions/maploader/dmm_suite.dm b/code/modules/maps/dmm_suite.dm similarity index 94% rename from code/modules/awaymissions/maploader/dmm_suite.dm rename to code/modules/maps/dmm_suite.dm index e2311ed7ee..87de0e758e 100644 --- a/code/modules/awaymissions/maploader/dmm_suite.dm +++ b/code/modules/maps/dmm_suite.dm @@ -53,10 +53,11 @@ dmm_suite{ */ - verb/load_map(var/dmm_file as file, var/z_offset as num){ + verb/load_map(var/dmm_file as file, var/z_offset as num, var/load_speed as num) // dmm_file: A .dmm file to load (Required). // z_offset: A number representing the z-level on which to start loading the map (Optional). - } + // load_speed: How many tiles should be loaded per second, defaults to no pause (Optional) + verb/write_map(var/turf/t1 as turf, var/turf/t2 as turf, var/flags as num){ // t1: A turf representing one corner of a three dimensional grid (Required). // t2: Another turf representing the other corner of the same grid (Required). diff --git a/code/modules/maps/reader.dm b/code/modules/maps/reader.dm new file mode 100644 index 0000000000..cc107abd04 --- /dev/null +++ b/code/modules/maps/reader.dm @@ -0,0 +1,325 @@ +dmm_suite + + var/debug_file = file("maploader_debug.txt") + + load_map(var/dmm_file as file, var/z_offset as num, var/y_offset as num, var/x_offset as num, var/load_speed = 0 as num) + if(!z_offset) + z_offset = world.maxz + 1 + + //Ensure values are sane. + else if(z_offset < 0) + z_offset = abs(z_offset) + else if(!isnum(z_offset)) + z_offset = 0 + + if(x_offset < 0) + x_offset = abs(x_offset) + else if(!isnum(x_offset)) + x_offset = 0 + + if(y_offset < 0) + y_offset = abs(y_offset) + else if(!isnum(y_offset)) + y_offset = 0 + + debug_file << "Starting Map Load @ ([x_offset], [y_offset], [z_offset]), [load_speed] tiles per second." + + //Handle slowed loading. + var/delay_chance = 0 + if(load_speed > 0) + //Chance out of 100 every tenth of a second. + delay_chance = 1000 / load_speed + + //String holding a quotation mark. + var/quote = ascii2text(34) + + var/input_file = file2text(dmm_file) + var/input_file_len = length(input_file) + + //Stores the contents of each tile model in the map + var/list/grid_models = list() + //Length of the tile model code. e.g. "aaa" is 3 long. + var/key_len = length(copytext(input_file, 2 ,findtext(input_file, quote, 2))) + //The key of the default tile model. (In SS13 this is: "/turf/space,/area") + var/default_key + + debug_file << " Building turf array." + + //Iterates through the mapfile to build the model tiles for the map. + for(var/line_position = 1; line_position < input_file_len; line_position = findtext(input_file,"\n", line_position) + 1) + var/next_line = copytext(input_file, line_position, findtext(input_file,"\n", line_position) - 1) + + //If the first character in the line is not a quote, the model tiles are all defined. + if(copytext(next_line, 1, 2) != quote) + break + + //Copy contents of the model into the grid_models list. + var/model_key = copytext(next_line, 2, findtext(input_file, quote, 2)) + var/model_contents = copytext(next_line, findtext(next_line, "=" ) + 3) + if(!default_key && model_contents == "[world.turf],[world.area]") + default_key = model_key + grid_models[model_key] = model_contents + if(prob(delay_chance)) + sleep(1) + + //Co-ordinates of the tile being loaded. + var/z_coordinate = -1 + var/y_coordinate = 0 + var/x_coordinate = 0 + + //Store the + var/y_depth = 0 + + //Iterate through all z-levels to load the tiles. + for(var/z_position = findtext(input_file, "\n(1,1,"); TRUE; z_position = findtext(input_file, "\n(1,1,", z_position + 1)) + //break when there are no more z-levels. + if(z_position == 0) + break + + //Increment the z_coordinate and update the world's borders + z_coordinate++ + world.maxz = max(world.maxz, z_coordinate + z_offset) + + //Here we go! + y_coordinate = 0 + y_depth = 0 + var/z_level = copytext(input_file, \ + findtext(input_file, quote + "\n", z_position) + 2,\ + findtext(input_file, "\n" + quote, z_position) + 1) + + //Iterate through each line, increasing the y_coordinate. + for(var/grid_position = 1; grid_position != 0; grid_position = findtext(z_level, "\n", grid_position) + 1) + //Grab this line of data. + var/grid_line = copytext(z_level, grid_position, findtext(z_level, "\n", grid_position)) + + //Compute the size of the z-levels y axis. + if(!y_depth) + y_depth = length(z_level) / (length(grid_line) + 1) + y_depth += y_offset + if(y_depth != round(y_depth, 1)) + debug_file << " Warning: y_depth is not a round number" + + //And update the worlds variables. + if(world.maxy < y_depth) + world.maxy = y_depth + //The top of the map is the highest "y" co-ordinate, so we start there and iterate downwards + if(!y_coordinate) + y_coordinate = y_depth + 1 + + //Decrement and load this line of the map. + y_coordinate-- + x_coordinate = x_offset + + //Iterate through the line loading the model tile data. + for(var/model_position = 1; model_position <= length(grid_line); model_position += key_len) + x_coordinate++ + + //Find the model key and load that model. + var/model_key = copytext(grid_line, model_position, model_position + key_len) + //If the key is the default one, skip it and save the computation time. + if(model_key == default_key) + continue + + if(world.maxx < x_coordinate) + world.maxx = x_coordinate + parse_grid(grid_models[model_key], x_coordinate, y_coordinate, z_coordinate + z_offset) + + if(prob(delay_chance)) + sleep(1) + + //If we hit the last tile in this z-level, we should break out of the loop. + if(grid_position + length(grid_line) + 1 > length(z_level)) + break + + //Break out of the loop when we hit the end of the file. + if(findtext(input_file, quote + "}", z_position) + 2 >= input_file_len) + break + + + proc/parse_grid(var/model as text, var/x_coordinate as num, var/y_coordinate as num, var/z_coordinate as num) + //Accepts a text string containing a comma separated list of type paths of the + // same construction as those contained in a .dmm file, and instantiates them. + + var/list/text_strings = list() + for(var/index = 1; findtext(model, quote); index++) + /*Loop: Stores quoted portions of text in text_strings, and replaces them with an + index to that list. + - Each iteration represents one quoted section of text. + */ + //Add the next section of quoted text to the list + var/first_quote = findtext(model, quote) + var/second_quote = findtext(model, quote, first_quote + 1) + var/quoted_chunk = copytext(model, first_quote + 1, second_quote) + text_strings += quoted_chunk + //Then remove the quoted section. + model = copytext(model, 1, first_quote) + "~[index]" + copytext(model, second_quote + 1) + + var/debug_output = 0 + //if(x_coordinate == 86 && y_coordinate == 88 && z_coordinate == 7) + // debug_output = 1 + + if(debug_output) + debug_file << " Now debugging turf: [model] ([x_coordinate], [y_coordinate], [z_coordinate])" + + var/next_position = 1 + for(var/data_position = 1, next_position || data_position != 1, data_position = next_position + 1) + next_position = findtext(model, ",/", data_position) + + var/full_def = copytext(model, data_position, next_position) + + if(debug_output) + debug_file << " Current Line: [full_def] -- ([data_position] - [next_position])" + + /*Loop: Identifies each object's data, instantiates it, and reconstitues it's fields. + - Each iteration represents one object's data, including type path and field values. + */ + + //Load the attribute data. + var/attribute_position = findtext(full_def,"{") + var/atom_def = text2path(copytext(full_def, 1, attribute_position)) + + var/list/attributes = list() + if(attribute_position) + full_def = copytext(full_def, attribute_position + 1) + if(debug_output) + debug_file << " Atom Def: [atom_def]" + debug_file << " Parameters: [full_def]" + + var/next_attribute = 1 + for(attribute_position = 1, next_attribute || attribute_position != 1, attribute_position = next_attribute + 1) + next_attribute = findtext(full_def, ";", attribute_position) + + //Loop: Identifies each attribute/value pair, and stores it in attributes[]. + attributes += copytext(full_def, attribute_position, next_attribute) + + //Construct attributes associative list + var/list/fields = list() + for(var/attribute in attributes) + var/trim_left = trim_text(copytext(attribute, 1, findtext(attribute, "="))) + var/trim_right = trim_text(copytext(attribute, findtext(attribute, "=") + 1)) + + if(findtext(trim_right, "list(")) + trim_right = get_list(trim_right, text_strings) + + else if(findtext(trim_right, "~"))//Check for strings + while(findtext(trim_right,"~")) + var/reference_index = copytext(trim_right, findtext(trim_right, "~") + 1) + trim_right = text_strings[text2num(reference_index)] + + //Check for numbers + else if(isnum(text2num(trim_right))) + trim_right = text2num(trim_right) + + //Check for file + else if(copytext(trim_right,1,2) == "'") + trim_right = file(copytext(trim_right, 2, length(trim_right))) + + fields[trim_left] = trim_right + sleep(-1) + + + if(debug_output) + var/return_data = " Debug Fields:" + for(var/item in fields) + return_data += " [item] = [fields[item]];" + debug_file << return_data + + //Begin Instanciation + var/atom/instance + + if(ispath(atom_def,/area)) + instance = locate(atom_def) + if(!istype(instance, atom_def)) + instance = new atom_def + instance.contents.Add(locate(x_coordinate,y_coordinate,z_coordinate)) + + else + instance = new atom_def(locate(x_coordinate,y_coordinate,z_coordinate)) + if(instance) + for(var/item in fields) + instance.vars[item] = fields[item] + else if(!(atom_def in borked_paths)) + borked_paths += atom_def + var/return_data = " Failure [atom_def] @ ([x_coordinate], [y_coordinate], [z_coordinate]) fields:" + for(var/item in fields) + return_data += " [item] = [fields[item]];" + debug_file << return_data + + sleep(-1) + return 1 + + var/list/borked_paths = list() + + proc/trim_text(var/what as text) + while(length(what) && findtext(what, " ", 1, 2)) + what = copytext(what, 2) + + while(length(what) && findtext(what, " ", length(what))) + what = copytext(what, 1, length(what)) + + return what + + proc/get_list(var/text, var/list/text_strings) + //First, trim the data to just the list contents + var/list_start = findtext(text, "(") + 1 + var/list_end = findtext(text, ")", list_start) + var/list_contents = copytext(text, list_start, list_end) + + //Then, we seperate it into the individual entries + + var/list/entries = list() + var/entry_end = 1 + + for(var/entry_start = 1, entry_end || entry_start != 1, entry_start = entry_end + 1) + entry_end = findtext(list_contents, ",", entry_start) + entries += copytext(list_contents, entry_start, entry_end) + + //Finally, we assemble the completed list. + var/list/final_list = list() + for(var/entry in entries) + var/equals_position = findtext(entry, "=") + + if(equals_position) + var/trim_left = trim_text(copytext(entry, 1, equals_position)) + var/trim_right = trim_text(copytext(entry, equals_position + 1)) + + if(findtext(trim_right, "list(")) + trim_right = get_list(trim_right, text_strings) + + else if(findtext(trim_right, "~"))//Check for strings + while(findtext(trim_right,"~")) + var/reference_index = copytext(trim_right, findtext(trim_right, "~") + 1) + trim_right = text_strings[text2num(reference_index)] + + //Check for numbers + else if(isnum(text2num(trim_right))) + trim_right = text2num(trim_right) + + //Check for file + else if(copytext(trim_right,1,2) == "'") + trim_right = file(copytext(trim_right, 2, length(trim_right))) + + if(findtext(trim_left, "~"))//Check for strings + while(findtext(trim_left,"~")) + var/reference_index = copytext(trim_left, findtext(trim_left, "~") + 1) + trim_left = text_strings[text2num(reference_index)] + + final_list[trim_left] = trim_right + + else + if(findtext(entry, "~"))//Check for strings + while(findtext(entry, "~")) + var/reference_index = copytext(entry, findtext(entry, "~") + 1) + entry = text_strings[text2num(reference_index)] + + //Check for numbers + else if(isnum(text2num(entry))) + entry = text2num(entry) + + //Check for file + else if(copytext(entry, 1, 2) == "'") + entry = file(copytext(entry, 2, length(entry))) + + final_list += entry + + return final_list \ No newline at end of file diff --git a/code/modules/awaymissions/maploader/swapmaps.dm b/code/modules/maps/swapmaps.dm similarity index 100% rename from code/modules/awaymissions/maploader/swapmaps.dm rename to code/modules/maps/swapmaps.dm diff --git a/code/modules/awaymissions/maploader/writer.dm b/code/modules/maps/writer.dm similarity index 100% rename from code/modules/awaymissions/maploader/writer.dm rename to code/modules/maps/writer.dm diff --git a/maps/RandomZLevels/beach.dmm b/maps/RandomZLevels/beach.dmm index 3e28640094..470a068cbd 100644 --- a/maps/RandomZLevels/beach.dmm +++ b/maps/RandomZLevels/beach.dmm @@ -1,8 +1,8 @@ "a" = (/turf/unsimulated/beach/sand{density = 1; opacity = 1},/area/awaymission/beach) -"b" = (/turf/unsimulated/beach/sand,/area/awaymission/beach) -"c" = (/obj/machinery/gateway{dir = 9},/turf/unsimulated/beach/sand,/area/awaymission/beach) -"d" = (/obj/machinery/gateway{dir = 1},/turf/unsimulated/beach/sand,/area/awaymission/beach) -"e" = (/obj/machinery/gateway{dir = 5},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"b" = (/obj/machinery/gateway{dir = 9},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"c" = (/obj/machinery/gateway{dir = 1},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"d" = (/obj/machinery/gateway{dir = 5},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"e" = (/turf/unsimulated/beach/sand,/area/awaymission/beach) "f" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand,/area/awaymission/beach) "g" = (/obj/machinery/gateway{dir = 8},/turf/unsimulated/beach/sand,/area/awaymission/beach) "h" = (/obj/machinery/gateway/centeraway,/turf/unsimulated/beach/sand,/area/awaymission/beach) @@ -39,35 +39,35 @@ "M" = (/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/awaymission/beach) "N" = (/mob/living/simple_animal/crab/Coffee,/turf/unsimulated/beach/sand,/area/awaymission/beach) "O" = (/obj/structure/stool/bed/chair,/turf/unsimulated/beach/sand,/area/awaymission/beach) -"P" = (/turf/unsimulated/beach/coastline,/area/awaymission/beach) -"Q" = (/turf/unsimulated/beach/coastline{density = 1; opacity = 1},/area/awaymission/beach) -"R" = (/turf/unsimulated/beach/water,/area/awaymission/beach) -"S" = (/turf/unsimulated/beach/water{density = 1; opacity = 1},/area/awaymission/beach) +"P" = (/turf/unsimulated/beach/coastline{density = 1; opacity = 1},/area/awaymission/beach) +"Q" = (/turf/unsimulated/beach/coastline,/area/awaymission/beach) +"R" = (/turf/unsimulated/beach/water{density = 1; opacity = 1},/area/awaymission/beach) +"S" = (/turf/unsimulated/beach/water,/area/awaymission/beach) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -bcdebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbfba -bghibbbbjbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba -bklmbbbbbbbbnoooooooooopbbqrqrqrqrqrqrqa -bbbbbbbbbbbbstuvwxyzABCsbbbbbbbbbbbbbbba -bbbbbbbbbbbbDEEEEEEEEEEsbbbbbbbbbbbbbbba -bbbbbbbbbbbbFEEEEEEEEEEsbbbbbbbbbGbbbbba -bbfbbbbbbbbbHxIxxxxxxxxDbbbGbbJbbbbbbbba -bbbbbbbbbbbbbKKKKKKKKKKbbbbbbbbbbbbbbbba -bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba -bbbLbbbbbbbbbbbbbbbbbbbbbbbbbbbfbbbbbbba -bbbbbbGMbbbbbbbbbbbbbbGbbbbbNbbbMbbbbbfa -bbbJbbbbbbLbbObObObObObObbbbbbbbbbObObba -bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba -PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQ -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS -RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRS +abcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefea +aghieeeejeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea +aklmeeeeeeeenoooooooooopeeqrqrqrqrqrqrqa +aeeeeeeeeeeestuvwxyzABCseeeeeeeeeeeeeeea +aeeeeeeeeeeeDEEEEEEEEEEseeeeeeeeeeeeeeea +aeeeeeeeeeeeFEEEEEEEEEEseeeeeeeeeGeeeeea +aefeeeeeeeeeHxIxxxxxxxxDeeeGeeJeeeeeeeea +aeeeeeeeeeeeeKKKKKKKKKKeeeeeeeeeeeeeeeea +aeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea +aeeLeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeea +aeeeeeGMeeeeeeeeeeeeeeGeeeeeNeeeMeeeeefa +aeeJeeeeeeLeeOeOeOeOeOeOeeeeeeeeeeOeOeea +aeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea +PQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQP +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSR +RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR "} diff --git a/maps/oldstation.dmm b/maps/oldstation.dmm index cdc5f7da48..df3b736578 100644 --- a/maps/oldstation.dmm +++ b/maps/oldstation.dmm @@ -395,7 +395,7 @@ "hE" = (/turf/simulated/floor,/area) "hF" = (/obj/structure/table,/obj/structure/bedsheetbin,/turf/simulated/floor,/area/derelict/storage/equipment) "hG" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/packageWrap,/obj/item/device/flashlight,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/storage/equipment) -"hH" = (/obj/structure/table,/obj/item/weapon/storage/gl_kit,/obj/item/device/t_scanner,/turf/simulated/floor,/area/derelict/storage/equipment) +"hH" = (/obj/structure/table,/obj/item/device/t_scanner,/turf/simulated/floor,/area/derelict/storage/equipment) "hI" = (/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/clipboard,/obj/item/weapon/clipboard,/obj/item/weapon/clipboard,/turf/simulated/floor,/area/derelict/storage/equipment) "hJ" = (/obj/item/stack/sheet/metal{amount = 50},/obj/item/weapon/cable_coil,/turf/simulated/floor,/area/derelict/storage/equipment) "hK" = (/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/storage/equipment) @@ -404,7 +404,7 @@ "hN" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/crew_quarters/captain) "hO" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/crew_quarters/captain) "hP" = (/obj/structure/cable{tag = ""; icon_state = "4-8"; step_x = 0; pixel_x = 0; d1 = 4; d2 = 8},/turf/simulated/floor,/area/crew_quarters/captain) -"hQ" = (/obj/item/weapon/storage/handcuff_kit,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/crew_quarters/captain) +"hQ" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/crew_quarters/captain) "hR" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor,/area/derelict/arrival) "hS" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/derelict/storage/equipment) "hT" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/crowbar,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor,/area/derelict/storage/equipment) @@ -559,7 +559,7 @@ "kM" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/computer/scan_consolenew,/turf/simulated/floor,/area/medical/genetics) "kN" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/dna_scannernew,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/medical/genetics) "kO" = (/obj/machinery/computer/scan_consolenew,/turf/simulated/floor,/area/medical/genetics) -"kP" = (/obj/structure/table,/obj/item/weapon/storage/diskbox,/turf/simulated/floor,/area/medical/genetics) +"kP" = (/obj/structure/table,/turf/simulated/floor,/area/medical/genetics) "kQ" = (/obj/machinery/door/firedoor/border_only,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/storage/equipment) "kR" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/arrival) "kS" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area) @@ -818,254 +818,253 @@ "pL" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/atmos) "pM" = (/obj/machinery/computer/secure_data,/turf/simulated/floor,/area/security/brig) "pN" = (/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/turf/simulated/floor,/area/security/brig) -"pO" = (/obj/item/weapon/storage/trackimp_kit,/turf/simulated/floor,/area/security/brig) -"pP" = (/obj/item/weapon/paper_bin,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/brig) -"pQ" = (/obj/item/device/flashlight,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/brig) -"pR" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/item/clothing/ears/earmuffs,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/brig) -"pS" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/landmark/start{name = "Warden"},/turf/simulated/floor,/area/security/brig) -"pT" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor,/area/toxins/lab) -"pU" = (/obj/structure/grille,/turf/simulated/floor,/area/toxins/lab) -"pV" = (/obj/machinery/door/window/eastright,/obj/machinery/door/firedoor/border_only{dir = 4},/turf/simulated/floor,/area/crew_quarters) -"pW" = (/obj/structure/stool/bed,/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/crew_quarters) -"pX" = (/obj/structure/stool/bed,/obj/effect/landmark/start{name = "Quartermaster"},/turf/simulated/floor,/area/crew_quarters) -"pY" = (/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor,/area/crew_quarters) -"pZ" = (/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen,/obj/item/weapon/weldingtool,/obj/item/clothing/gloves/black,/turf/simulated/floor,/area/crew_quarters) -"qa" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Chef"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters) -"qb" = (/obj/item/weapon/storage/backpack,/turf/simulated/floor,/area/crew_quarters) -"qc" = (/obj/structure/grille,/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; icon_state = "on"; on = 1; pixel_y = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/atmos) -"qd" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor,/area/atmos) -"qe" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/atmos) -"qf" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/weapon/clipboard,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/security/brig) -"qg" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor,/area/security/brig) -"qh" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/weapon/storage/firstaid/regular,/obj/machinery/light,/turf/simulated/floor,/area/security/brig) -"qi" = (/obj/machinery/computer/security,/turf/simulated/floor,/area/security/brig) -"qj" = (/obj/machinery/computer/card,/turf/simulated/floor,/area/security/brig) -"qk" = (/obj/structure/closet/wardrobe/red,/turf/simulated/floor,/area/security/brig) -"ql" = (/obj/structure/closet/wardrobe/orange,/obj/machinery/light,/turf/simulated/floor,/area/security/brig) -"qm" = (/obj/machinery/door/poddoor{id = "bd1"; name = "Vent"},/turf/simulated/floor{icon_state = "shiny"},/area/toxins/lab) -"qn" = (/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/derelict/arrival) -"qo" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/derelict/arrival) -"qp" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/arrival) -"qq" = (/obj/machinery/door/window/eastleft,/turf/simulated/floor,/area/crew_quarters) -"qr" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/general/visible,/turf/simulated/floor,/area/atmos) -"qs" = (/obj/structure/grille,/turf/simulated/floor,/area/atmos) -"qt" = (/obj/machinery/door/poddoor{id = "vent1"; name = "Vent Hatch"},/turf/simulated/floor,/area/atmos) -"qu" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor,/area/atmos) -"qv" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/atmos) -"qw" = (/turf/simulated/wall/r_wall,/area/derelict/hallway/secondary) -"qx" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless,/area/derelict/arrival) -"qy" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/arrival) -"qz" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/derelict/arrival) -"qA" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) -"qB" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) -"qC" = (/obj/machinery/door/window/southleft,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters) -"qD" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 5},/turf/simulated/floor,/area/atmos) -"qE" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 10},/turf/simulated/floor,/area/atmos) -"qF" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/general/visible,/turf/simulated/floor,/area/atmos) -"qG" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; icon_state = "on"; on = 1; pixel_y = 1},/turf/simulated/floor,/area/atmos) -"qH" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor,/area/atmos) -"qI" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) -"qJ" = (/obj/machinery/power/monitor,/turf/simulated/floor,/area/atmos) -"qK" = (/turf/simulated/wall/r_wall,/area/atmos) -"qL" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) -"qM" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor,/area/atmos) -"qN" = (/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/derelict/hallway/secondary) -"qO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"qP" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/hallway/secondary) -"qQ" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor,/area/derelict/storage/storage_access) -"qR" = (/turf/simulated/floor,/area/derelict/storage/storage_access) -"qS" = (/obj/machinery/computer/security,/turf/simulated/floor,/area/derelict/storage/storage_access) -"qT" = (/turf/simulated/wall,/area/derelict/storage/storage_access) -"qU" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/derelict/storage/storage_access) -"qV" = (/obj/structure/rack,/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/under/color/black,/obj/item/clothing/mask/gas,/obj/item/device/radio/headset,/obj/item/clothing/gloves/black,/obj/item/clothing/shoes/black,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor,/area/derelict/storage/storage_access) -"qW" = (/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/derelict/storage/storage_access) -"qX" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/derelict/storage/storage_access) -"qY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/storage/storage_access) -"qZ" = (/obj/item/stack/sheet/glass,/obj/item/stack/sheet/glass,/obj/item/stack/sheet/glass,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/derelict/storage/storage_access) -"ra" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/computer/atmos_alert,/turf/simulated/floor,/area/atmos) -"rb" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/atmos) -"rc" = (/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor,/area/atmos) -"rd" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/atmos) -"re" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"rf" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) -"rg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"rh" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) -"ri" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rj" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rk" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/door_control{id = "vent1"; pixel_x = -24},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/atmos) -"rl" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/atmos) -"rm" = (/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor,/area/atmos) -"rn" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor,/area/atmos) -"ro" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor,/area/atmos) -"rp" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor,/area/atmos) -"rq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"rr" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) -"rs" = (/obj/machinery/power/monitor,/turf/simulated/floor,/area/derelict/hallway/secondary) -"rt" = (/obj/machinery/door/window/eastleft{req_access_txt = "1"},/turf/simulated/floor,/area/derelict/hallway/secondary) -"ru" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rv" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rw" = (/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rx" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/derelict/storage/storage_access) -"ry" = (/obj/machinery/door_control{id = "ventintake"; pixel_x = -24},/turf/simulated/floor,/area/atmos) -"rz" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/atmos) -"rA" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor,/area/atmos) -"rB" = (/obj/structure/window/reinforced{dir = 1},/obj/item/clothing/mask/gas,/turf/simulated/floor,/area/atmos) -"rC" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor,/area/atmos) -"rD" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor,/area/atmos) -"rE" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"rF" = (/obj/machinery/door/window/eastleft,/obj/machinery/door/firedoor/border_only{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"rG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"rH" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"rI" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light,/turf/simulated/floor,/area/derelict/hallway/secondary) -"rJ" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/device/multitool,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rK" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rL" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rM" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rN" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rO" = (/obj/structure/closet/emcloset/legacy,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rP" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/atmos) -"rQ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/atmos) -"rR" = (/obj/item/clothing/shoes/brown,/obj/item/clothing/under/rank/atmospheric_technician,/obj/item/clothing/gloves/yellow,/turf/simulated/floor,/area/atmos) -"rS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"rT" = (/obj/machinery/door/airlock{req_access_txt = "12"},/turf/simulated/floor,/area/derelict/storage/storage_access) -"rU" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/derelict/storage/storage_access) -"rV" = (/obj/machinery/door/window/eastleft,/turf/simulated/floor,/area/atmos) -"rW" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor,/area/atmos) -"rX" = (/obj/item/weapon/paper_bin,/turf/simulated/floor,/area/atmos) -"rY" = (/obj/item/weapon/clipboard,/turf/simulated/floor,/area/atmos) -"rZ" = (/obj/structure/table,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/multitool,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) -"sa" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/atmos) -"sb" = (/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) -"sc" = (/obj/structure/grille,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) -"sd" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) -"se" = (/obj/machinery/door/airlock{req_access_txt = "10;13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sf" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sg" = (/obj/machinery/door/window/eastleft{req_access_txt = "10"},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sh" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/obj/item/clothing/gloves/yellow,/turf/simulated/floor,/area/derelict/storage/storage_access) -"si" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sj" = (/obj/structure/closet/emcloset/legacy,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sk" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light,/turf/simulated/floor,/area/atmos) -"sl" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor,/area/atmos) -"sm" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/floor,/area/atmos) -"sn" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/atmos) -"so" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/device/radio,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/atmos) -"sp" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/weapon/screwdriver,/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor,/area/atmos) -"sq" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/light,/turf/simulated/floor,/area/atmos) -"sr" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/weapon/screwdriver,/obj/item/device/t_scanner,/obj/item/device/assembly/signaler,/turf/simulated/floor,/area/atmos) -"ss" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/weapon/screwdriver,/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/atmos) -"st" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"su" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"sv" = (/obj/machinery/power/solar_control,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sw" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sx" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/derelict/storage/storage_access) -"sy" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sz" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sA" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 8},/turf/simulated/floor,/area/atmos) -"sB" = (/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor,/area/atmos) -"sC" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/atmos) -"sD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/space,/area/derelict/hallway/secondary) -"sE" = (/obj/machinery/power/terminal,/obj/structure/cable,/turf/simulated/floor,/area/derelict/hallway/secondary) -"sF" = (/obj/structure/rack,/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/under/color/black,/obj/item/clothing/mask/gas,/obj/item/device/radio/headset,/obj/item/clothing/gloves/black,/obj/item/clothing/shoes/black,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sG" = (/obj/structure/rack,/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/under/color/black,/obj/item/clothing/mask/gas,/obj/item/device/radio/headset,/obj/item/clothing/gloves/black,/obj/item/clothing/shoes/black,/obj/item/clothing/glasses/sunglasses,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sH" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sI" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/t_scanner,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sJ" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sK" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sL" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sM" = (/obj/structure/table,/obj/item/clothing/mask/gas,/turf/simulated/floor,/area/derelict/storage/storage_access) -"sN" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor,/area/atmos) -"sO" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/obj/machinery/light,/turf/simulated/floor,/area/atmos) -"sP" = (/obj/structure/table,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/device/flashlight,/turf/simulated/floor,/area/atmos) -"sQ" = (/obj/structure/table,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/atmos) -"sR" = (/obj/structure/window/reinforced{dir = 5},/turf/space,/area) -"sS" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/derelict/hallway/secondary) -"sT" = (/obj/machinery/power/smes,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sU" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{tag = ""; icon_state = "4-8"; step_x = 0; pixel_x = 0; d1 = 4; d2 = 8},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sV" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/turf/simulated/floor,/area/derelict/hallway/secondary) -"sW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"sX" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area) -"sY" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/hallway/secondary) -"sZ" = (/obj/structure/window/reinforced{dir = 8},/turf/space,/area) -"ta" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) -"tb" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"tc" = (/obj/machinery/door/firedoor/border_only{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"td" = (/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) -"te" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/hallway/secondary) -"tf" = (/obj/machinery/door/firedoor/border_only{dir = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) -"tg" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/derelict/hallway/secondary) -"th" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"ti" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) -"tj" = (/obj/structure/grille,/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) -"tk" = (/obj/machinery/door/airlock{req_access_txt = "17"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) -"tl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"tm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"tn" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"to" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) -"tp" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/space,/area) -"tq" = (/turf/simulated/wall/r_wall,/area/derelict/teleporter) -"tr" = (/turf/simulated/floor,/area/derelict/teleporter) -"ts" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/teleporter) -"tt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) -"tu" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/hallway/secondary) -"tv" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) -"tw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) -"tx" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) -"ty" = (/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) -"tz" = (/obj/machinery/door/airlock{req_access_txt = "16"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tA" = (/obj/structure/closet/emcloset/legacy,/turf/simulated/floor,/area/derelict/hallway/secondary) -"tB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) -"tC" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/wall/r_wall,/area) -"tD" = (/obj/machinery/computer/teleporter,/turf/simulated/floor{icon_state = "floorgrime"},/area/derelict/teleporter) -"tE" = (/obj/machinery/teleport/station,/turf/simulated/floor{icon_state = "floorgrime"},/area/derelict/teleporter) -"tF" = (/obj/machinery/teleport/hub,/turf/simulated/floor{icon_state = "floorgrime"},/area/derelict/teleporter) -"tG" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/derelict/teleporter) -"tH" = (/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/bridge/ai_upload) -"tJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/bridge/ai_upload) -"tK" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) -"tL" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor,/area/derelict/teleporter) -"tM" = (/obj/effect/landmark{name = "tripai"},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"tN" = (/obj/machinery/turret,/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"tO" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"tP" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"tQ" = (/obj/structure/cable{tag = ""; icon_state = "4-8"; step_x = 0; pixel_x = 0; d1 = 4; d2 = 8},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) -"tR" = (/obj/structure/rack,/obj/item/weapon/aiModule/freeform,/obj/item/weapon/aiModule/prototypeEngineOffline,/obj/item/weapon/aiModule/safeguard,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tS" = (/obj/structure/rack,/obj/item/weapon/aiModule/oneHuman,/obj/item/weapon/aiModule/purge,/obj/item/weapon/aiModule/teleporterOffline,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tT" = (/obj/structure/rack,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/quarantine,/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tU" = (/obj/structure/rack,/obj/item/weapon/aiModule/protectStation,/obj/item/weapon/aiModule/reset,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tV" = (/obj/machinery/turret,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) -"tX" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tY" = (/obj/machinery/turret{dir = 8},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"tZ" = (/obj/structure/table,/obj/item/device/radio,/turf/simulated/floor,/area/derelict/teleporter) -"ua" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/teleporter) -"ub" = (/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"uc" = (/obj/machinery/power/apc{pixel_x = 24},/obj/structure/cable,/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"ud" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"ue" = (/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"uf" = (/obj/effect/landmark/start{name = "AI"},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"ug" = (/obj/machinery/computer/aiupload,/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"uh" = (/obj/machinery/door/window/eastleft{req_access_txt = "16"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"ui" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"uj" = (/obj/machinery/power/solar_control,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"uk" = (/obj/machinery/turret{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"ul" = (/obj/machinery/door/window/eastleft{req_access_txt = "16"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"um" = (/obj/machinery/turret{dir = 1},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"un" = (/obj/machinery/light,/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) -"uo" = (/obj/structure/rack,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"up" = (/obj/machinery/door/airlock{req_access_txt = "16"},/obj/machinery/door/window/eastleft{req_access_txt = "16"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"uq" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"ur" = (/obj/machinery/turret{dir = 1},/turf/simulated/floor,/area/derelict/bridge/ai_upload) -"us" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) -"ut" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) -"uu" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) -"uv" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area) -"uw" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) -"ux" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) -"uy" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) -"uz" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) -"uA" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area) -"uB" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) +"pO" = (/obj/item/weapon/paper_bin,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/brig) +"pP" = (/obj/item/device/flashlight,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/brig) +"pQ" = (/obj/item/weapon/storage/toolbox/mechanical,/obj/item/clothing/ears/earmuffs,/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor,/area/security/brig) +"pR" = (/obj/structure/window/reinforced{dir = 4},/obj/effect/landmark/start{name = "Warden"},/turf/simulated/floor,/area/security/brig) +"pS" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor,/area/toxins/lab) +"pT" = (/obj/structure/grille,/turf/simulated/floor,/area/toxins/lab) +"pU" = (/obj/machinery/door/window/eastright,/obj/machinery/door/firedoor/border_only{dir = 4},/turf/simulated/floor,/area/crew_quarters) +"pV" = (/obj/structure/stool/bed,/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor,/area/crew_quarters) +"pW" = (/obj/structure/stool/bed,/obj/effect/landmark/start{name = "Quartermaster"},/turf/simulated/floor,/area/crew_quarters) +"pX" = (/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor,/area/crew_quarters) +"pY" = (/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/mask/gas,/obj/item/weapon/tank/oxygen,/obj/item/weapon/weldingtool,/obj/item/clothing/gloves/black,/turf/simulated/floor,/area/crew_quarters) +"pZ" = (/obj/structure/stool,/obj/effect/landmark/start{name = "Chef"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters) +"qa" = (/obj/item/weapon/storage/backpack,/turf/simulated/floor,/area/crew_quarters) +"qb" = (/obj/structure/grille,/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; icon_state = "on"; on = 1; pixel_y = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor,/area/atmos) +"qc" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor,/area/atmos) +"qd" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/atmos) +"qe" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/weapon/clipboard,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/security/brig) +"qf" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor,/area/security/brig) +"qg" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/weapon/handcuffs,/obj/item/clothing/mask/muzzle,/obj/item/clothing/mask/muzzle,/obj/item/weapon/storage/firstaid/regular,/obj/machinery/light,/turf/simulated/floor,/area/security/brig) +"qh" = (/obj/machinery/computer/security,/turf/simulated/floor,/area/security/brig) +"qi" = (/obj/machinery/computer/card,/turf/simulated/floor,/area/security/brig) +"qj" = (/obj/structure/closet/wardrobe/red,/turf/simulated/floor,/area/security/brig) +"qk" = (/obj/structure/closet/wardrobe/orange,/obj/machinery/light,/turf/simulated/floor,/area/security/brig) +"ql" = (/obj/machinery/door/poddoor{id = "bd1"; name = "Vent"},/turf/simulated/floor{icon_state = "shiny"},/area/toxins/lab) +"qm" = (/obj/structure/window/reinforced{dir = 5},/turf/simulated/floor/plating,/area/derelict/arrival) +"qn" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/derelict/arrival) +"qo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/arrival) +"qp" = (/obj/machinery/door/window/eastleft,/turf/simulated/floor,/area/crew_quarters) +"qq" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/general/visible,/turf/simulated/floor,/area/atmos) +"qr" = (/obj/structure/grille,/turf/simulated/floor,/area/atmos) +"qs" = (/obj/machinery/door/poddoor{id = "vent1"; name = "Vent Hatch"},/turf/simulated/floor,/area/atmos) +"qt" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor,/area/atmos) +"qu" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/atmos) +"qv" = (/turf/simulated/wall/r_wall,/area/derelict/hallway/secondary) +"qw" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/airless,/area/derelict/arrival) +"qx" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/arrival) +"qy" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless,/area/derelict/arrival) +"qz" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) +"qA" = (/obj/structure/grille,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) +"qB" = (/obj/machinery/door/window/southleft,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/crew_quarters) +"qC" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 5},/turf/simulated/floor,/area/atmos) +"qD" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 10},/turf/simulated/floor,/area/atmos) +"qE" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/general/visible,/turf/simulated/floor,/area/atmos) +"qF" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/unary/outlet_injector{dir = 2; icon_state = "on"; on = 1; pixel_y = 1},/turf/simulated/floor,/area/atmos) +"qG" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor,/area/atmos) +"qH" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) +"qI" = (/obj/machinery/power/monitor,/turf/simulated/floor,/area/atmos) +"qJ" = (/turf/simulated/wall/r_wall,/area/atmos) +"qK" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) +"qL" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor,/area/atmos) +"qM" = (/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/derelict/hallway/secondary) +"qN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"qO" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/hallway/secondary) +"qP" = (/obj/structure/closet/secure_closet/security,/turf/simulated/floor,/area/derelict/storage/storage_access) +"qQ" = (/turf/simulated/floor,/area/derelict/storage/storage_access) +"qR" = (/obj/machinery/computer/security,/turf/simulated/floor,/area/derelict/storage/storage_access) +"qS" = (/turf/simulated/wall,/area/derelict/storage/storage_access) +"qT" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/derelict/storage/storage_access) +"qU" = (/obj/structure/rack,/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/under/color/black,/obj/item/clothing/mask/gas,/obj/item/device/radio/headset,/obj/item/clothing/gloves/black,/obj/item/clothing/shoes/black,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor,/area/derelict/storage/storage_access) +"qV" = (/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/derelict/storage/storage_access) +"qW" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/derelict/storage/storage_access) +"qX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/storage/storage_access) +"qY" = (/obj/item/stack/sheet/glass,/obj/item/stack/sheet/glass,/obj/item/stack/sheet/glass,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/derelict/storage/storage_access) +"qZ" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/computer/atmos_alert,/turf/simulated/floor,/area/atmos) +"ra" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/atmos) +"rb" = (/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor,/area/atmos) +"rc" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/atmos) +"rd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"re" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) +"rf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"rg" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) +"rh" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor,/area/derelict/storage/storage_access) +"ri" = (/obj/structure/table,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rj" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/door_control{id = "vent1"; pixel_x = -24},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor,/area/atmos) +"rk" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/atmos) +"rl" = (/obj/effect/landmark/start{name = "Atmospheric Technician"},/turf/simulated/floor,/area/atmos) +"rm" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor,/area/atmos) +"rn" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor,/area/atmos) +"ro" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor,/area/atmos) +"rp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"rq" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) +"rr" = (/obj/machinery/power/monitor,/turf/simulated/floor,/area/derelict/hallway/secondary) +"rs" = (/obj/machinery/door/window/eastleft{req_access_txt = "1"},/turf/simulated/floor,/area/derelict/hallway/secondary) +"rt" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor,/area/derelict/storage/storage_access) +"ru" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rv" = (/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rw" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rx" = (/obj/machinery/door_control{id = "ventintake"; pixel_x = -24},/turf/simulated/floor,/area/atmos) +"ry" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor,/area/atmos) +"rz" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor,/area/atmos) +"rA" = (/obj/structure/window/reinforced{dir = 1},/obj/item/clothing/mask/gas,/turf/simulated/floor,/area/atmos) +"rB" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor,/area/atmos) +"rC" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor,/area/atmos) +"rD" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"rE" = (/obj/machinery/door/window/eastleft,/obj/machinery/door/firedoor/border_only{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"rF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"rG" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"rH" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/light,/turf/simulated/floor,/area/derelict/hallway/secondary) +"rI" = (/obj/structure/table,/obj/item/weapon/handcuffs,/obj/item/device/multitool,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rJ" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rK" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rL" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rM" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rN" = (/obj/structure/closet/emcloset/legacy,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rO" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/atmos) +"rP" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/atmos) +"rQ" = (/obj/item/clothing/shoes/brown,/obj/item/clothing/under/rank/atmospheric_technician,/obj/item/clothing/gloves/yellow,/turf/simulated/floor,/area/atmos) +"rR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"rS" = (/obj/machinery/door/airlock{req_access_txt = "12"},/turf/simulated/floor,/area/derelict/storage/storage_access) +"rT" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/derelict/storage/storage_access) +"rU" = (/obj/machinery/door/window/eastleft,/turf/simulated/floor,/area/atmos) +"rV" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor,/area/atmos) +"rW" = (/obj/item/weapon/paper_bin,/turf/simulated/floor,/area/atmos) +"rX" = (/obj/item/weapon/clipboard,/turf/simulated/floor,/area/atmos) +"rY" = (/obj/structure/table,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/multitool,/obj/item/device/multitool,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) +"rZ" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/atmos) +"sa" = (/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/atmos) +"sb" = (/obj/structure/grille,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) +"sc" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) +"sd" = (/obj/machinery/door/airlock{req_access_txt = "10;13"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor,/area/derelict/hallway/secondary) +"se" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/turf/simulated/floor,/area/derelict/hallway/secondary) +"sf" = (/obj/machinery/door/window/eastleft{req_access_txt = "10"},/turf/simulated/floor,/area/derelict/hallway/secondary) +"sg" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/obj/item/clothing/gloves/yellow,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sh" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/floor,/area/derelict/storage/storage_access) +"si" = (/obj/structure/closet/emcloset/legacy,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sj" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/light,/turf/simulated/floor,/area/atmos) +"sk" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor,/area/atmos) +"sl" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/floor,/area/atmos) +"sm" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/atmos) +"sn" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/device/radio,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/turf/simulated/floor,/area/atmos) +"so" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/weapon/screwdriver,/obj/item/weapon/extinguisher,/obj/item/weapon/crowbar,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor,/area/atmos) +"sp" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/light,/turf/simulated/floor,/area/atmos) +"sq" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/weapon/screwdriver,/obj/item/device/t_scanner,/obj/item/device/assembly/signaler,/turf/simulated/floor,/area/atmos) +"sr" = (/obj/structure/table,/obj/item/weapon/wrench,/obj/item/device/analyzer,/obj/item/weapon/screwdriver,/obj/item/weapon/extinguisher,/turf/simulated/floor,/area/atmos) +"ss" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"st" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"su" = (/obj/machinery/power/solar_control,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/hallway/secondary) +"sv" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/derelict/hallway/secondary) +"sw" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/derelict/storage/storage_access) +"sx" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sy" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sz" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 8},/turf/simulated/floor,/area/atmos) +"sA" = (/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor,/area/atmos) +"sB" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/atmos) +"sC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/space,/area/derelict/hallway/secondary) +"sD" = (/obj/machinery/power/terminal,/obj/structure/cable,/turf/simulated/floor,/area/derelict/hallway/secondary) +"sE" = (/obj/structure/rack,/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/under/color/black,/obj/item/clothing/mask/gas,/obj/item/device/radio/headset,/obj/item/clothing/gloves/black,/obj/item/clothing/shoes/black,/obj/item/clothing/glasses/meson,/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sF" = (/obj/structure/rack,/obj/item/clothing/suit/fire/firefighter,/obj/item/clothing/under/color/black,/obj/item/clothing/mask/gas,/obj/item/device/radio/headset,/obj/item/clothing/gloves/black,/obj/item/clothing/shoes/black,/obj/item/clothing/glasses/sunglasses,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sG" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/multitool,/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sH" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical,/obj/item/device/t_scanner,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sI" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sJ" = (/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sK" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sL" = (/obj/structure/table,/obj/item/clothing/mask/gas,/turf/simulated/floor,/area/derelict/storage/storage_access) +"sM" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor,/area/atmos) +"sN" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/obj/machinery/light,/turf/simulated/floor,/area/atmos) +"sO" = (/obj/structure/table,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/yellow,/obj/item/device/flashlight,/turf/simulated/floor,/area/atmos) +"sP" = (/obj/structure/table,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/weapon/cell,/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/atmos) +"sQ" = (/obj/structure/window/reinforced{dir = 5},/turf/space,/area) +"sR" = (/obj/machinery/door/airlock,/turf/simulated/floor,/area/derelict/hallway/secondary) +"sS" = (/obj/machinery/power/smes,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) +"sT" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/cable{tag = ""; icon_state = "4-8"; step_x = 0; pixel_x = 0; d1 = 4; d2 = 8},/turf/simulated/floor,/area/derelict/hallway/secondary) +"sU" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/turf/simulated/floor,/area/derelict/hallway/secondary) +"sV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"sW" = (/obj/structure/window/reinforced{dir = 4},/turf/space,/area) +"sX" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/hallway/secondary) +"sY" = (/obj/structure/window/reinforced{dir = 8},/turf/space,/area) +"sZ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) +"ta" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"tb" = (/obj/machinery/door/firedoor/border_only{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"tc" = (/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/hallway/secondary) +"td" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/hallway/secondary) +"te" = (/obj/machinery/door/firedoor/border_only{dir = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) +"tf" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/derelict/hallway/secondary) +"tg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"th" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/derelict/hallway/secondary) +"ti" = (/obj/structure/grille,/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) +"tj" = (/obj/machinery/door/airlock{req_access_txt = "17"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) +"tk" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"tl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"tm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"tn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/derelict/hallway/secondary) +"to" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/space,/area) +"tp" = (/turf/simulated/wall/r_wall,/area/derelict/teleporter) +"tq" = (/turf/simulated/floor,/area/derelict/teleporter) +"tr" = (/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/derelict/teleporter) +"ts" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) +"tt" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/hallway/secondary) +"tu" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) +"tv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) +"tw" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/derelict/teleporter) +"tx" = (/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) +"ty" = (/obj/machinery/door/airlock{req_access_txt = "16"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tz" = (/obj/structure/closet/emcloset/legacy,/turf/simulated/floor,/area/derelict/hallway/secondary) +"tA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) +"tB" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/wall/r_wall,/area) +"tC" = (/obj/machinery/computer/teleporter,/turf/simulated/floor{icon_state = "floorgrime"},/area/derelict/teleporter) +"tD" = (/obj/machinery/teleport/station,/turf/simulated/floor{icon_state = "floorgrime"},/area/derelict/teleporter) +"tE" = (/obj/machinery/teleport/hub,/turf/simulated/floor{icon_state = "floorgrime"},/area/derelict/teleporter) +"tF" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/derelict/teleporter) +"tG" = (/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tH" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/bridge/ai_upload) +"tI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/derelict/bridge/ai_upload) +"tJ" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) +"tK" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor,/area/derelict/teleporter) +"tL" = (/obj/effect/landmark{name = "tripai"},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"tM" = (/obj/machinery/turret,/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"tN" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"tO" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"tP" = (/obj/structure/cable{tag = ""; icon_state = "4-8"; step_x = 0; pixel_x = 0; d1 = 4; d2 = 8},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) +"tQ" = (/obj/structure/rack,/obj/item/weapon/aiModule/freeform,/obj/item/weapon/aiModule/prototypeEngineOffline,/obj/item/weapon/aiModule/safeguard,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tR" = (/obj/structure/rack,/obj/item/weapon/aiModule/oneHuman,/obj/item/weapon/aiModule/purge,/obj/item/weapon/aiModule/teleporterOffline,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tS" = (/obj/structure/rack,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/quarantine,/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tT" = (/obj/structure/rack,/obj/item/weapon/aiModule/protectStation,/obj/item/weapon/aiModule/reset,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tU" = (/obj/machinery/turret,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) +"tW" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tX" = (/obj/machinery/turret{dir = 8},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"tY" = (/obj/structure/table,/obj/item/device/radio,/turf/simulated/floor,/area/derelict/teleporter) +"tZ" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/teleporter) +"ua" = (/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"ub" = (/obj/machinery/power/apc{pixel_x = 24},/obj/structure/cable,/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"uc" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"ud" = (/obj/effect/landmark/start{name = "Cyborg"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"ue" = (/obj/effect/landmark/start{name = "AI"},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"uf" = (/obj/machinery/computer/aiupload,/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"ug" = (/obj/machinery/door/window/eastleft{req_access_txt = "16"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"uh" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"ui" = (/obj/machinery/power/solar_control,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"uj" = (/obj/machinery/turret{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"uk" = (/obj/machinery/door/window/eastleft{req_access_txt = "16"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"ul" = (/obj/machinery/turret{dir = 1},/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"um" = (/obj/machinery/light,/turf/simulated/floor/bluegrid,/area/derelict/bridge/ai_upload) +"un" = (/obj/structure/rack,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"uo" = (/obj/machinery/door/airlock{req_access_txt = "16"},/obj/machinery/door/window/eastleft{req_access_txt = "16"},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"up" = (/obj/machinery/light,/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"uq" = (/obj/machinery/turret{dir = 1},/turf/simulated/floor,/area/derelict/bridge/ai_upload) +"ur" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/wall/r_wall,/area/derelict/bridge/ai_upload) +"us" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) +"ut" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area) +"uu" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area) +"uv" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area) +"uw" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) +"ux" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) +"uy" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area) +"uz" = (/obj/machinery/power/solar{id = "starboardsolar"; name = "Starboard Solar Array"},/obj/structure/cable,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area) +"uA" = (/obj/structure/grille,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -1148,42 +1147,42 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamvnemQmvnWnXnY aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamvotototmvnLoumvmvmvmvmvmvmvmvmvnHneovowneoxmvoyoyoyoyoyoyozoyoAoynBoBoCojoDoiojoEoioloFojoGnRoHjwlsnjlsoIoJoIoIjwhChChChCnsnshChCmYhCoKimfzaaksjzjTjTkukvmokxbhjkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtaaaaaaaaaaaaaaaaaaaaaamvnInInImvnemQoLoMoNoNoOoPoQnemvneoRoSoToUnemvoVoVoVoVoWoXoYoyoZoVnBoBoCpaojpbojojpbpcpdojpenRoHjwpfpgnjoIoIoIphjwmmhChChChChChCkrhkhCpiimfzaaaanujjnvpjjSjSktjzjAjBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapknenenemvnemQneneneneneneplnemvnepmpnpoppnemvpqprprprpsptoYoyoAoynBoBoCojojojpupupvpwojojpxnRoHjwlslslsoIoIoIpyjwhChChCpzhChChChChkhCpAimfzaaaaaaaanujjjjnvpjjzjUjBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamvpBnInepCnemQpDpEnenIpFnenenemvnHpmnWpGpHoxmvpIpJpJpJpKptpLoyoZprnBpMpNpOpPpQpRojpSpwojojpenRoHjwlspTpUoIoIoIoIjwhChChChChChChChChkhCpAimfzaaaaaaaaaaaaaanujjbhkyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapknenenepVnemQpWpDnepXpWnepYnemvpZnepmqaqbnemvptprqcprqdptqeoyoAoynBqfqgqhqiqjqkqlpbpbojojojnRoHjwjwjwjwqmqmqmqmjwqnqoqnqpqpqpqpqpqpqpqpimfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamvnInInImvnImQpDnInepWnIneneneqqnenenemQnenemvqrqsqrqsqtquproyqvoynBnBnBnBnBnBnBnBnBnBnBnBnBqwomqwaahchchchchchchcqxqyqzhchchchcaaaaaaaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqAbDbDbDbDbDbDbDqBaamvotototmvmvqCmvmvmvmvmvmvmvmvmvmvmvmvqCmvmvmvqDqEqFqGqHprprqIprqJprprprprqKprqLqMqMqMqMqLprqwoHqwaabKaaaabKaaaabKqnqoqnbKaaaabKaaaaaaaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaaaaaaaaaaaaaaaaaaaaaaaanRqNqOoHqPqQqRqSqTqUqRqVqWqWqRqXqYqZqTraquququprprprrbprprprrcprrdqKprrbprprprprprprqwoHreaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrfcfaacdrfcfaanRrgrgrgnRoHqOoHrhqRqRriqTqUqRqRqRqRqRqRqRrjqTrkrlprrmprrmprrmprprprprprproAprrnrororororpprqwoHrqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrrcfaacdrrcfaarqrsrhoHnRoHqOoHrtqRqRruqTrvrwqRqRqRqRqRqRrxqTryprprprrmprrmpsrzrArBrBrArAqKprrnrCrCrCrCrDprqwoHrqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrrcfaacdrrcfaarqoHrhrErFrGrHoHrIqRrvrJqTrvrKrLrMrNqRrOqRrxqTrArArPrQprprprpsprprprrRprprqKqKqKqKqKqKqKqKqKqwoHrqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaadnaaaaaadnaaaarSoHrhqOnRqTqTrTqTqTqTqTqTqTqTqTqTqTrUqTqTqTqTprprprrVprpqprrVprrWrXrYprprrVprrZsasasasasbsanRomrqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaascdGdGsddGdGdGsddGdGsesfsgqOnRqTqWqRqRqRqRqRshsiriqTqWqRqRqRqRsjqTrCrCskpsprslsmsnprsospsqsrssoyprprsasasasasasanRoHstaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaadnaaaaaadnaaaasusvrhswnRqTqWqRqRqRsxqRqRqRsyqTszqRqRqRqRqRqToyoyoyoyprsAsBsCoyoyoyoyoyoyoyprproVoVoVoVoVoVnRnSqwnRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahcfzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrrcfaacdrrcfaasDsErhqOnRqTsFsFsGsFqVqRsHsIsJqTsKqRsLsMqRqRqTaaaaoysNsBsOsBsCoyaaaaaaaaaaoysPsQoVoVoVoVoVoVnRoHoHoHnRaaaaaaaaaaaasRsSsRaaaaaaaaaafzfzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrrcfaacdrrcfaarqsTsUsVnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRsSnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRoHoHoHoHsWaaaaaaaaaasXsYsZaaaaaaaaaafzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdtacfaacdtacfaarqoHrhtbtcrGrGrGrGtdoHoHoHoHoHoHoHoHoHteoHoHoHoHoHoHoHoHoHteoHoHoHoHoHoHoHoHoHteoHoHoHoHtfoHoHoHtgoHoHthaaaaaaaaaasXsSsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaaaaaaaaaaaaaaaarqoHrhoHtfoHoHoHoHqOoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHtfoHoHoHoHoHtithaaaabtaaaasXoHsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatjbDbDbDbDbDbDbDqBaanRrgrgnRrgrgqwqwqwtkqwqwqwtltlnRtltltltltlnRtltltltltlnRtltltltltlnRtltltltltlnRtltltltmtnoHoHoHoHoHoHtolwlwlwlwlwtpoHsZaaaaaaaaaabtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzfzfzfzfztqtqtrtstttstrtqtqfzfzfzfzfzfzfzfzfzfzfzfzfznRfzfzfzfzfzqwfzfzfzfzfzqwfzfzfzqwqwnSqwoHoHoHoHsStfoHoHoHtuoHoHsZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatqtrtrtrtvtwtwtxtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatyaaaaaaaaaatyaaaabttytytztytAtAqwtBtCtBtCmpmpmpmpmpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatqtrtrtDtEtFtrtGtqaaaaaaaaaaaaaaaaaaaaaaaabtaaaaaatytytytytytytytytytytytytytytytHtytItJtytKaTtKaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatqtLtrtrtrtrtrtrtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatytytMtNtOtNtPtQtRtStTtUtVtWtXtytHtHtHtYtytKaTtKaTaabtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtaaaatqtqtZtruatrtrtqtqaaaaaaaaaabtaaaaaaaaaaaaaaaatytytyubtHubtHuctytHtHtHtHtHtyudtytHuetHtHtytKaTtKaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatqtqtqtqtqtqtqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatytyufugtHtHtHuhuhtHtHuitHtHtyujtytHuetHuktytKaTtKaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtaaaaaaaatytytyubtHubtHubtytytytHtHuhuhuluhtHuetHtHtytKaTtKaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatytytMumunumubtyuouptHuqurtyustytHtHtHtYtytKaTtKaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatytytytytytytytytytytytytyustytytytytytyutaTutaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauuaaaaaaaaaadnaaaaaaaaaauuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamvpBnInepCnemQpDpEnenIpFnenenemvnHpmnWpGpHoxmvpIpJpJpJpKptpLoyoZprnBpMpNojpOpPpQojpRpwojojpenRoHjwlspSpToIoIoIoIjwhChChChChChChChChkhCpAimfzaaaaaaaaaaaaaanujjbhkyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapknenenepUnemQpVpDnepWpVnepXnemvpYnepmpZqanemvptprqbprqcptqdoyoAoynBqeqfqgqhqiqjqkpbpbojojojnRoHjwjwjwjwqlqlqlqljwqmqnqmqoqoqoqoqoqoqoqoimfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamvnInInImvnImQpDnInepVnIneneneqpnenenemQnenemvqqqrqqqrqsqtproyquoynBnBnBnBnBnBnBnBnBnBnBnBnBqvomqvaahchchchchchchcqwqxqyhchchchcaaaaaaaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqzbDbDbDbDbDbDbDqAaamvotototmvmvqBmvmvmvmvmvmvmvmvmvmvmvmvqBmvmvmvqCqDqEqFqGprprqHprqIprprprprqJprqKqLqLqLqLqKprqvoHqvaabKaaaabKaaaabKqmqnqmbKaaaabKaaaaaaaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaaaaaaaaaaaaaaaaaaaaaaaanRqMqNoHqOqPqQqRqSqTqQqUqVqVqQqWqXqYqSqZqtqtqtprprprraprprprrbprrcqJprraprprprprprprqvoHrdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrecfaacdrecfaanRrfrfrfnRoHqNoHrgqQqQrhqSqTqQqQqQqQqQqQqQriqSrjrkprrlprrlprrlprprprprprproAprrmrnrnrnrnroprqvoHrpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrqcfaacdrqcfaarprrrgoHnRoHqNoHrsqQqQrtqSrurvqQqQqQqQqQqQrwqSrxprprprrlprrlpsryrzrArArzrzqJprrmrBrBrBrBrCprqvoHrpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrqcfaacdrqcfaarpoHrgrDrErFrGoHrHqQrurIqSrurJrKrLrMqQrNqQrwqSrzrzrOrPprprprpsprprprrQprprqJqJqJqJqJqJqJqJqJqvoHrpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaadnaaaaaadnaaaarRoHrgqNnRqSqSrSqSqSqSqSqSqSqSqSqSqSrTqSqSqSqSprprprrUprpqprrUprrVrWrXprprrUprrYrZrZrZrZsarZnRomrpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasbdGdGscdGdGdGscdGdGsdsesfqNnRqSqVqQqQqQqQqQsgshrhqSqVqQqQqQqQsiqSrBrBsjpsprskslsmprsnsospsqsroyprprrZrZrZrZrZrZnRoHssaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaadnaaaaaadnaaaastsurgsvnRqSqVqQqQqQswqQqQqQsxqSsyqQqQqQqQqQqSoyoyoyoyprszsAsBoyoyoyoyoyoyoyprproVoVoVoVoVoVnRnSqvnRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahcfzhcaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrqcfaacdrqcfaasCsDrgqNnRqSsEsEsFsEqUqQsGsHsIqSsJqQsKsLqQqQqSaaaaoysMsAsNsAsBoyaaaaaaaaaaoysOsPoVoVoVoVoVoVnRoHoHoHnRaaaaaaaaaaaasQsRsQaaaaaaaaaafzfzaaaTfzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdrqcfaacdrqcfaarpsSsTsUnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRsRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRnRoHoHoHoHsVaaaaaaaaaasWsXsYaaaaaaaaaafzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaacdsZcfaacdsZcfaarpoHrgtatbrFrFrFrFtcoHoHoHoHoHoHoHoHoHtdoHoHoHoHoHoHoHoHoHtdoHoHoHoHoHoHoHoHoHtdoHoHoHoHteoHoHoHtfoHoHtgaaaaaaaaaasWsRsYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaaaaaaaaaaaaaaaarpoHrgoHteoHoHoHoHqNoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHoHteoHoHoHoHoHthtgaaaabtaaaasWoHsYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatibDbDbDbDbDbDbDqAaanRrfrfnRrfrfqvqvqvtjqvqvqvtktknRtktktktktknRtktktktktknRtktktktktknRtktktktktknRtktktktltmoHoHoHoHoHoHtnlwlwlwlwlwtooHsYaaaaaaaaaabtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafzfzfzfzfztptptqtrtstrtqtptpfzfzfzfzfzfzfzfzfzfzfzfzfznRfzfzfzfzfzqvfzfzfzfzfzqvfzfzfzqvqvnSqvoHoHoHoHsRteoHoHoHttoHoHsYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatptqtqtqtutvtvtwtpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatxaaaaaaaaaatxaaaabttxtxtytxtztzqvtAtBtAtBmpmpmpmpmpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatptqtqtCtDtEtqtFtpaaaaaaaaaaaaaaaaaaaaaaaabtaaaaaatxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtGtxtHtItxtJaTtJaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatptKtqtqtqtqtqtqtpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatxtxtLtMtNtMtOtPtQtRtStTtUtVtWtxtGtGtGtXtxtJaTtJaTaabtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtaaaatptptYtqtZtqtqtptpaaaaaaaaaabtaaaaaaaaaaaaaaaatxtxtxuatGuatGubtxtGtGtGtGtGtxuctxtGudtGtGtxtJaTtJaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatptptptptptptpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatxtxueuftGtGtGugugtGtGuhtGtGtxuitxtGudtGujtxtJaTtJaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtaaaaaaaatxtxtxuatGuatGuatxtxtxtGtGugugukugtGudtGtGtxtJaTtJaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatxtxtLulumuluatxunuotGupuqtxurtxtGtGtGtXtxtJaTtJaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatxtxtxtxtxtxtxtxtxtxtxtxtxurtxtxtxtxtxtxusaTusaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaautaaaaaaaaaadnaaaaaaaaaautaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaaaaaaaadnaaaaaaaaaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauvuvuvaadnaauvuvuvaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauwuxuxdGuydGuxuxuzaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauAuAuAaadnaauAuAuAaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauuuuuuaadnaauuuuuuaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauvuwuwdGuxdGuwuwuyaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauzuzuzaadnaauzuzuzaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaaaaaaaadnaaaaaaaaaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauvuvuvaadnaauvuvuvaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauwuxuxdGuydGuxuxuzaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauAuAuAaadnaauAuAuAaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauuuuuuaadnaauuuuuuaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauvuwuwdGuxdGuwuwuyaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaauzuzuzaadnaauzuzuzaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMaaaaaaaaaadnaaaaaaaaaabMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatjbDbDbDbDbDuBbDbDbDbDbDfkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatibDbDbDbDbDuAbDbDbDbDbDfkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa