diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm
index a7272ee4ce..5ebcd3bfac 100644
--- a/code/controllers/master_controller.dm
+++ b/code/controllers/master_controller.dm
@@ -30,6 +30,7 @@ datum/controller/game_controller
var/total_cost = 0
var/last_thing_processed
+ var/mob/list/expensive_mobs = list()
datum/controller/game_controller/New()
//There can be only one master_controller. Out with the old and in with the new.
@@ -227,11 +228,15 @@ datum/controller/game_controller/proc/process()
datum/controller/game_controller/proc/process_mobs()
var/i = 1
+ expensive_mobs.Cut()
while(i<=mob_list.len)
var/mob/M = mob_list[i]
if(M)
+ var/clock = world.timeofday
last_thing_processed = M.type
M.Life()
+ if((world.timeofday - clock) > 1)
+ expensive_mobs += M
i++
continue
mob_list.Cut(i,i+1)
diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm
index d4e9258422..a18849d81e 100644
--- a/code/datums/datacore.dm
+++ b/code/datums/datacore.dm
@@ -11,6 +11,8 @@
return
/obj/effect/datacore/proc/manifest_modify(var/name, var/assignment)
+ if(PDA_Manifest.len)
+ PDA_Manifest.Cut()
var/datum/data/record/foundrecord
var/real_title = assignment
@@ -34,6 +36,9 @@
foundrecord.fields["real_rank"] = real_title
/obj/effect/datacore/proc/manifest_inject(var/mob/living/carbon/human/H)
+ if(PDA_Manifest.len)
+ PDA_Manifest.Cut()
+
if(H.mind && (H.mind.assigned_role != "MODE"))
var/assignment
if(H.mind.role_alt_title)
@@ -269,4 +274,4 @@ proc/get_id_photo(var/mob/living/carbon/human/H)
del(eyes_s)
del(clothes_s)
- return preview_icon
\ No newline at end of file
+ return preview_icon
diff --git a/code/defines/obj.dm b/code/defines/obj.dm
index f307edd96f..197e3433d7 100644
--- a/code/defines/obj.dm
+++ b/code/defines/obj.dm
@@ -51,6 +51,8 @@
//This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().
var/locked[] = list()
+
+
/obj/effect/datacore/proc/get_manifest(monochrome, OOC)
var/list/heads = new()
var/list/sec = new()
@@ -165,9 +167,16 @@
/*
We can't just insert in HTML into the nanoUI so we need the raw data to play with.
+Instead of creating this list over and over when someone leaves their PDA open to the page
+we'll only update it when it changes. The PDA_Manifest global list is zeroed out upon any change
+using /obj/effect/datacore/proc/manifest_inject( ), or manifest_insert( )
*/
+var/global/list/PDA_Manifest = list()
+
/obj/effect/datacore/proc/get_manifest_json()
+ if(PDA_Manifest.len)
+ return PDA_Manifest
var/heads[0]
var/sec[0]
var/eng[0]
@@ -227,7 +236,8 @@ We can't just insert in HTML into the nanoUI so we need the raw data to play wit
if(!department && !(name in heads))
misc[++misc.len] = list("name" = name, "rank" = rank, "active" = isactive)
- return list(\
+
+ PDA_Manifest = list(\
"heads" = heads,\
"sec" = sec,\
"eng" = eng,\
@@ -237,6 +247,7 @@ We can't just insert in HTML into the nanoUI so we need the raw data to play wit
"bot" = bot,\
"misc" = misc\
)
+ return PDA_Manifest
diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm
index 9507902a45..d8d9ab5719 100755
--- a/code/game/area/Space Station 13 areas.dm
+++ b/code/game/area/Space Station 13 areas.dm
@@ -1419,6 +1419,10 @@ var/list/ghostteleportlocs = list()
name = "Port Emergency Storage"
icon_state = "emergencystorage"
+/area/storage/emergency3
+ name = "Central Emergency Storage"
+ icon_state = "emergencystorage"
+
/area/storage/tech
name = "Technical Storage"
icon_state = "auxstorage"
diff --git a/code/game/jobs/whitelist.dm b/code/game/jobs/whitelist.dm
index 98efaf9273..2feb525441 100644
--- a/code/game/jobs/whitelist.dm
+++ b/code/game/jobs/whitelist.dm
@@ -36,6 +36,8 @@ var/list/whitelist = list()
return 1
if(species == "human" || species == "Human")
return 1
+ if(species == "machine" || species == "Machine")
+ return 1
if(check_rights(R_ADMIN, 0))
return 1
if(!alien_whitelist)
diff --git a/code/game/machinery/airlock_control.dm b/code/game/machinery/airlock_control.dm
index 6496faade0..a5de183a92 100644
--- a/code/game/machinery/airlock_control.dm
+++ b/code/game/machinery/airlock_control.dm
@@ -90,7 +90,7 @@ obj/machinery/door/airlock/Bumped(atom/AM)
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
return
-
+
obj/machinery/door/airlock/proc/set_frequency(new_frequency)
radio_controller.remove_object(src, frequency)
if(new_frequency)
@@ -131,7 +131,7 @@ obj/machinery/airlock_sensor
var/on = 1
var/alert = 0
-
+ var/previousPressure
obj/machinery/airlock_sensor/update_icon()
if(on)
@@ -153,21 +153,23 @@ obj/machinery/airlock_sensor/attack_hand(mob/user)
obj/machinery/airlock_sensor/process()
if(on)
- var/datum/signal/signal = new
- signal.transmission_method = 1 //radio signal
- signal.data["tag"] = id_tag
- signal.data["timestamp"] = world.time
-
var/datum/gas_mixture/air_sample = return_air()
-
var/pressure = round(air_sample.return_pressure(),0.1)
- alert = (pressure < ONE_ATMOSPHERE*0.8)
- signal.data["pressure"] = num2text(pressure)
+ if(abs(pressure - previousPressure) > 0.001 || previousPressure == null)
+ var/datum/signal/signal = new
+ signal.transmission_method = 1 //radio signal
+ signal.data["tag"] = id_tag
+ signal.data["timestamp"] = world.time
+ signal.data["pressure"] = num2text(pressure)
- radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
+ radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
- update_icon()
+ previousPressure = pressure
+
+ alert = (pressure < ONE_ATMOSPHERE*0.8)
+
+ update_icon()
obj/machinery/airlock_sensor/proc/set_frequency(new_frequency)
radio_controller.remove_object(src, frequency)
@@ -179,7 +181,6 @@ obj/machinery/airlock_sensor/initialize()
obj/machinery/airlock_sensor/New()
..()
-
if(radio_controller)
set_frequency(frequency)
diff --git a/code/game/machinery/computer/skills.dm b/code/game/machinery/computer/skills.dm
index 307ff5f662..3068d99301 100644
--- a/code/game/machinery/computer/skills.dm
+++ b/code/game/machinery/computer/skills.dm
@@ -289,6 +289,8 @@ What a mess.*/
temp += "No"
if ("Purge All Records")
+ if(PDA_Manifest.len)
+ PDA_Manifest.Cut()
for(var/datum/data/record/R in data_core.security)
del(R)
temp = "All Employment records deleted."
@@ -300,6 +302,9 @@ What a mess.*/
temp += "No"
//RECORD CREATE
if ("New Record (General)")
+
+ if(PDA_Manifest.len)
+ PDA_Manifest.Cut()
var/datum/data/record/G = new /datum/data/record()
G.fields["name"] = "New Record"
G.fields["id"] = text("[]", add_zero(num2hex(rand(1, 1.6777215E7)), 6))
@@ -372,12 +377,16 @@ What a mess.*/
switch(href_list["choice"])
if ("Change Rank")
if (active1)
+ if(PDA_Manifest.len)
+ PDA_Manifest.Cut()
active1.fields["rank"] = href_list["rank"]
if(href_list["rank"] in joblist)
active1.fields["real_rank"] = href_list["real_rank"]
if ("Delete Record (ALL) Execute")
if (active1)
+ if(PDA_Manifest.len)
+ PDA_Manifest.Cut()
for(var/datum/data/record/R in data_core.medical)
if ((R.fields["name"] == active1.fields["name"] || R.fields["id"] == active1.fields["id"]))
del(R)
@@ -416,4 +425,4 @@ What a mess.*/
del(R)
continue
- ..(severity)
\ No newline at end of file
+ ..(severity)
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index b9b4fe0a04..bd2c66f42e 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -168,7 +168,7 @@ to destroy them and players will be able to make replacements.
build_path = "/obj/machinery/r_n_d/destructive_analyzer"
board_type = "machine"
origin_tech = "magnets=2;engineering=2;programming=2"
- frame_desc = "Requires 1 Scanning Module, 1 Manipulator, and 1 Micro-Laser."
+ frame_desc = "Requires 1 Scanning Module, 1 Micro Manipulator, and 1 Micro-Laser."
req_components = list(
"/obj/item/weapon/stock_parts/scanning_module" = 1,
"/obj/item/weapon/stock_parts/manipulator" = 1,
@@ -179,7 +179,7 @@ to destroy them and players will be able to make replacements.
build_path = "/obj/machinery/autolathe"
board_type = "machine"
origin_tech = "engineering=2;programming=2"
- frame_desc = "Requires 3 Matter Bins, 1 Manipulator, and 1 Console Screen."
+ frame_desc = "Requires 3 Matter Bins, 1 Micro Manipulator, and 1 Console Screen."
req_components = list(
"/obj/item/weapon/stock_parts/matter_bin" = 3,
"/obj/item/weapon/stock_parts/manipulator" = 1,
@@ -190,7 +190,7 @@ to destroy them and players will be able to make replacements.
build_path = "/obj/machinery/r_n_d/protolathe"
board_type = "machine"
origin_tech = "engineering=2;programming=2"
- frame_desc = "Requires 2 Matter Bins, 2 Manipulators, and 2 Beakers."
+ frame_desc = "Requires 2 Matter Bins, 2 Micro Manipulators, and 2 Beakers."
req_components = list(
"/obj/item/weapon/stock_parts/matter_bin" = 2,
"/obj/item/weapon/stock_parts/manipulator" = 2,
@@ -202,7 +202,7 @@ to destroy them and players will be able to make replacements.
build_path = "/obj/machinery/r_n_d/circuit_imprinter"
board_type = "machine"
origin_tech = "engineering=2;programming=2"
- frame_desc = "Requires 1 Matter Bin, 1 Manipulator, and 2 Beakers."
+ frame_desc = "Requires 1 Matter Bin, 1 Micro Manipulator, and 2 Beakers."
req_components = list(
"/obj/item/weapon/stock_parts/matter_bin" = 1,
"/obj/item/weapon/stock_parts/manipulator" = 1,
@@ -245,7 +245,7 @@ obj/item/weapon/circuitboard/rdserver
build_path = "/obj/machinery/mecha_part_fabricator"
board_type = "machine"
origin_tech = "programming=3;engineering=3"
- frame_desc = "Requires 2 Matter Bins, 1 Manipulator, 1 Micro-Laser and 1 Console Screen."
+ frame_desc = "Requires 2 Matter Bins, 1 Micro Manipulator, 1 Micro-Laser and 1 Console Screen."
req_components = list(
"/obj/item/weapon/stock_parts/matter_bin" = 2,
"/obj/item/weapon/stock_parts/manipulator" = 1,
@@ -269,7 +269,7 @@ obj/item/weapon/circuitboard/rdserver
build_path = "/obj/machinery/dna_scannernew"
board_type = "machine"
origin_tech = "programming=2;biotech=2"
- frame_desc = "Requires 1 Scanning module, 1 Manipulator, 1 Micro-Laser, 2 pieces of cable and 1 Console Screen."
+ frame_desc = "Requires 1 Scanning module, 1 Micro Manipulator, 1 Micro-Laser, 2 pieces of cable and 1 Console Screen."
req_components = list(
"/obj/item/weapon/stock_parts/scanning_module" = 1,
"/obj/item/weapon/stock_parts/manipulator" = 1,
@@ -285,7 +285,7 @@ obj/item/weapon/circuitboard/rdserver
build_path = "/obj/machinery/telecomms/receiver"
board_type = "machine"
origin_tech = "programming=4;engineering=3;bluespace=2"
- frame_desc = "Requires 1 Subspace Ansible, 1 Hyperwave Filter, 2 Manipulators, and 1 Micro-Laser."
+ frame_desc = "Requires 1 Subspace Ansible, 1 Hyperwave Filter, 2 Micro Manipulators, and 1 Micro-Laser."
req_components = list(
"/obj/item/weapon/stock_parts/subspace/ansible" = 1,
"/obj/item/weapon/stock_parts/subspace/filter" = 1,
@@ -297,7 +297,7 @@ obj/item/weapon/circuitboard/rdserver
build_path = "/obj/machinery/telecomms/hub"
board_type = "machine"
origin_tech = "programming=4;engineering=4"
- frame_desc = "Requires 2 Manipulators, 2 Cable Coil and 2 Hyperwave Filter."
+ frame_desc = "Requires 2 Micro Manipulators, 2 Cable Coil and 2 Hyperwave Filter."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/weapon/cable_coil" = 2,
@@ -308,7 +308,7 @@ obj/item/weapon/circuitboard/rdserver
build_path = "/obj/machinery/telecomms/relay"
board_type = "machine"
origin_tech = "programming=3;engineering=4;bluespace=3"
- frame_desc = "Requires 2 Manipulators, 2 Cable Coil and 2 Hyperwave Filters."
+ frame_desc = "Requires 2 Micro Manipulators, 2 Cable Coil and 2 Hyperwave Filters."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/weapon/cable_coil" = 2,
@@ -319,7 +319,7 @@ obj/item/weapon/circuitboard/rdserver
build_path = "/obj/machinery/telecomms/bus"
board_type = "machine"
origin_tech = "programming=4;engineering=4"
- frame_desc = "Requires 2 Manipulators, 1 Cable Coil and 1 Hyperwave Filter."
+ frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil and 1 Hyperwave Filter."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/weapon/cable_coil" = 1,
@@ -330,7 +330,7 @@ obj/item/weapon/circuitboard/rdserver
build_path = "/obj/machinery/telecomms/processor"
board_type = "machine"
origin_tech = "programming=4;engineering=4"
- frame_desc = "Requires 3 Manipulators, 1 Hyperwave Filter, 2 Treatment Disks, 1 Wavelength Analyzer, 2 Cable Coils and 1 Subspace Amplifier."
+ frame_desc = "Requires 3 Micro Manipulators, 1 Hyperwave Filter, 2 Treatment Disks, 1 Wavelength Analyzer, 2 Cable Coils and 1 Subspace Amplifier."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 3,
"/obj/item/weapon/stock_parts/subspace/filter" = 1,
@@ -344,7 +344,7 @@ obj/item/weapon/circuitboard/rdserver
build_path = "/obj/machinery/telecomms/server"
board_type = "machine"
origin_tech = "programming=4;engineering=4"
- frame_desc = "Requires 2 Manipulators, 1 Cable Coil and 1 Hyperwave Filter."
+ frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil and 1 Hyperwave Filter."
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/weapon/cable_coil" = 1,
@@ -355,7 +355,7 @@ obj/item/weapon/circuitboard/rdserver
build_path = "/obj/machinery/telecomms/broadcaster"
board_type = "machine"
origin_tech = "programming=4;engineering=4;bluespace=2"
- frame_desc = "Requires 2 Manipulators, 1 Cable Coil, 1 Hyperwave Filter, 1 Ansible Crystal and 2 High-Powered Micro-Lasers. "
+ frame_desc = "Requires 2 Micro Manipulators, 1 Cable Coil, 1 Hyperwave Filter, 1 Ansible Crystal and 2 High-Powered Micro-Lasers. "
req_components = list(
"/obj/item/weapon/stock_parts/manipulator" = 2,
"/obj/item/weapon/cable_coil" = 1,
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index 96f7bd4d64..5246d97e32 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -240,6 +240,9 @@ obj/machinery/computer/cryopod/Topic(href, href_list)
current_mode.possible_traitors.Remove(occupant)
// Delete them from datacore.
+
+ if(PDA_Manifest.len)
+ PDA_Manifest.Cut()
for(var/datum/data/record/R in data_core.medical)
if ((R.fields["name"] == occupant.real_name))
del(R)
diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm
index 59abed9c23..f15ae7eb48 100644
--- a/code/game/mecha/mech_fabricator.dm
+++ b/code/game/mecha/mech_fabricator.dm
@@ -498,13 +498,15 @@
src.updateUsrDialog()
return
*/
- if(!silent)
+ if(!silent)
temp = "Updating local R&D database..."
src.updateUsrDialog()
sleep(30) //only sleep if called by user
+ var/found = 0
for(var/obj/machinery/computer/rdconsole/RDC in get_area(src))
if(!RDC.sync)
continue
+ found++
for(var/datum/tech/T in RDC.files.known_tech)
files.AddTech2Known(T)
for(var/datum/design/D in RDC.files.known_designs)
@@ -519,6 +521,11 @@
src.updateUsrDialog()
if(i || tech_output)
src.visible_message("\icon[src] [src] beeps, \"Successfully synchronized with R&D server. New data processed.\"")
+ if(found == 0)
+ temp = "Couldn't contact R&D server.
"
+ temp += "Return"
+ src.updateUsrDialog()
+ src.visible_message("\icon[src] [src] beeps, \"Error! Couldn't connect to R&D server.\"")
return
/obj/machinery/mecha_part_fabricator/proc/get_resource_cost_w_coeff(var/obj/item/part as obj,var/resource as text, var/roundto=1)
diff --git a/code/game/objects/closets/walllocker.dm b/code/game/objects/closets/walllocker.dm
index ad9d5ee25c..abf2288ae7 100644
--- a/code/game/objects/closets/walllocker.dm
+++ b/code/game/objects/closets/walllocker.dm
@@ -20,6 +20,13 @@
var/amount = 2 // spawns each items X times.
icon_state = "emerg"
+/obj/structure/closet/walllocker/emerglocker/toggle(mob/user as mob)
+ src.attack_hand(user)
+ return
+
+/obj/structure/closet/walllocker/emerglocker/attackby(obj/item/weapon/W as obj, mob/user as mob)
+ return
+
/obj/structure/closet/walllocker/emerglocker/attack_hand(mob/user as mob)
if (istype(user, /mob/living/silicon/ai)) //Added by Strumpetplaya - AI shouldn't be able to
return //activate emergency lockers. This fixes that. (Does this make sense, the AI can't call attack_hand, can it? --Mloc)
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 42e2109128..d0afa8a576 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -379,10 +379,6 @@
if(!disable_warning)
usr << "You somehow have a suit with no defined allowed items for suit storage, stop that."
return 0
- if(src.w_class > 3)
- if(!disable_warning)
- usr << "The [name] is too big to attach."
- return 0
if( istype(src, /obj/item/device/pda) || istype(src, /obj/item/weapon/pen) || is_type_in_list(src, H.wear_suit.allowed) )
return 1
return 0
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index 87f0e20735..ec1e6195d2 100755
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -20,6 +20,9 @@ var/global/list/obj/item/device/pda/PDAs = list()
var/obj/item/weapon/cartridge/cartridge = null //current cartridge
var/mode = 0 //Controls what menu the PDA will display. 0 is hub; the rest are either built in or based on cartridge.
+ var/lastmode = 0
+ var/ui_tick = 0
+
//Secondary variables
var/scanmode = 0 //1 is medical scanner, 2 is forensics, 3 is reagent scanner.
var/fon = 0 //Is the flashlight function on?
@@ -42,6 +45,10 @@ var/global/list/obj/item/device/pda/PDAs = list()
var/list/conversations = list() // For keeping up with who we have PDA messsages from.
var/newmessage = 0 //To remove hackish overlay check
+ var/list/cartmodes = list(40, 42, 43, 433, 44, 441, 45, 451, 46, 48, 47, 49) // If you add more cartridge modes add them to this list as well.
+ var/list/no_auto_update = list(1, 40, 43, 44, 441, 45, 451) // These modes we turn off autoupdate
+ var/list/update_every_five = list(3, 41, 433, 46, 47, 48, 49) // These we update every 5 ticks
+
var/obj/item/weapon/card/id/id = null //Making it possible to slot an ID card into the PDA so it can function as both.
var/ownjob = null //related to above
@@ -287,6 +294,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
/obj/item/device/pda/New()
..()
PDAs += src
+ PDAs = sortAtom(PDAs)
if(default_cartridge)
cartridge = new default_cartridge(src)
new /obj/item/weapon/pen(src)
@@ -319,7 +327,17 @@ var/global/list/obj/item/device/pda/PDAs = list()
return attack_self(M)
return
+
/obj/item/device/pda/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null)
+ ui_tick++
+ var/auto_update = 1
+ if(mode in no_auto_update)
+ auto_update = 0
+ if(mode == lastmode && ui_tick % 5 && mode in update_every_five)
+ return
+
+ lastmode = mode
+
var/title = "Personal Data Assistant"
var/data[0] // This is the data that will be sent to the PDA
@@ -345,35 +363,38 @@ var/global/list/obj/item/device/pda/PDAs = list()
if(cartridge)
var/cartdata[0]
- data["records"] = cartridge.create_NanoUI_values()
+ if(mode in cartmodes)
+ data["records"] = cartridge.create_NanoUI_values()
- cartdata["name"] = cartridge.name
- cartdata["access"] = list(\
- "access_security" = cartridge.access_security,\
- "access_engine" = cartridge.access_engine,\
- "access_atmos" = cartridge.access_atmos,\
- "access_medical" = cartridge.access_medical,\
- "access_clown" = cartridge.access_clown,\
- "access_mime" = cartridge.access_mime,\
- "access_janitor" = cartridge.access_janitor,\
- "access_quartermaster" = cartridge.access_quartermaster,\
- "access_hydroponics" = cartridge.access_hydroponics,\
- "access_reagent_scanner" = cartridge.access_reagent_scanner,\
- "access_remote_door" = cartridge.access_remote_door,\
- "access_status_display" = cartridge.access_status_display\
- )
- if(isnull(cartridge.radio))
- cartdata["radio"] = 0
- else
- if(istype(cartridge.radio, /obj/item/radio/integrated/beepsky))
- cartdata["radio"] = 1
- if(istype(cartridge.radio, /obj/item/radio/integrated/signal))
- cartdata["radio"] = 2
- if(istype(cartridge.radio, /obj/item/radio/integrated/mule))
- cartdata["radio"] = 3
+ if(mode == 0)
+ cartdata["name"] = cartridge.name
+ cartdata["access"] = list(\
+ "access_security" = cartridge.access_security,\
+ "access_engine" = cartridge.access_engine,\
+ "access_atmos" = cartridge.access_atmos,\
+ "access_medical" = cartridge.access_medical,\
+ "access_clown" = cartridge.access_clown,\
+ "access_mime" = cartridge.access_mime,\
+ "access_janitor" = cartridge.access_janitor,\
+ "access_quartermaster" = cartridge.access_quartermaster,\
+ "access_hydroponics" = cartridge.access_hydroponics,\
+ "access_reagent_scanner" = cartridge.access_reagent_scanner,\
+ "access_remote_door" = cartridge.access_remote_door,\
+ "access_status_display" = cartridge.access_status_display\
+ )
+ if(isnull(cartridge.radio))
+ cartdata["radio"] = 0
+ else
+ if(istype(cartridge.radio, /obj/item/radio/integrated/beepsky))
+ cartdata["radio"] = 1
+ if(istype(cartridge.radio, /obj/item/radio/integrated/signal))
+ cartdata["radio"] = 2
+ if(istype(cartridge.radio, /obj/item/radio/integrated/mule))
+ cartdata["radio"] = 3
- cartdata["type"] = cartridge.type
- cartdata["charges"] = cartridge.charges ? cartridge.charges : 0
+ if(mode == 2)
+ cartdata["type"] = cartridge.type
+ cartdata["charges"] = cartridge.charges ? cartridge.charges : 0
data["cartridge"] = cartdata
data["stationTime"] = worldtime2text()
@@ -383,7 +404,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
var/convopdas[0]
var/pdas[0]
var/count = 0
- for (var/obj/item/device/pda/P in sortAtom(PDAs))
+ for (var/obj/item/device/pda/P in PDAs)
if (!P.owner||P.toff||P == src||P.hidden) continue
if(conversations.Find("\ref[P]"))
convopdas.Add(list(list("Name" = "[P]", "Reference" = "\ref[P]", "Detonate" = "[P.detonate]", "inconvo" = "1")))
@@ -413,8 +434,8 @@ var/global/list/obj/item/device/pda/PDAs = list()
if(mode==3)
- var/turf/T = get_turf_or_move(user.loc)
- if(!isnull(T) || mode!=3)
+ var/turf/T = get_turf(user.loc)
+ if(!isnull(T))
var/datum/gas_mixture/environment = T.return_air()
var/pressure = environment.return_pressure()
@@ -449,8 +470,8 @@ var/global/list/obj/item/device/pda/PDAs = list()
ui.set_initial_data(data)
// open the new ui window
ui.open()
- // auto update every Master Controller tick
- ui.set_auto_update(1)
+ // auto update every Master Controller tick
+ ui.set_auto_update(auto_update)
//NOTE: graphic resources are loaded on client login
/obj/item/device/pda/attack_self(mob/user as mob)
diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index 89a56065f0..e2504a0465 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -106,10 +106,10 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
log_admin("HELP: [key_name(src)]: [original_msg] - heard by [admin_number_present] non-AFK admins.")
if(admin_number_present <= 0)
if(!admin_number_afk)
- send2adminirc("ADMINHELP from [key_name(src)]: [original_msg] - !!No admins online!!")
+ send2adminirc("ADMINHELP from [key_name(src)]: [html_decode(original_msg)] - !!No admins online!!")
else
- send2adminirc("ADMINHELP from [key_name(src)]: [original_msg] - !!All admins AFK ([admin_number_afk])!!")
+ send2adminirc("ADMINHELP from [key_name(src)]: [html_decode(original_msg)] - !!All admins AFK ([admin_number_afk])!!")
else
- send2adminirc("ADMINHELP from [key_name(src)]: [original_msg]")
+ send2adminirc("ADMINHELP from [key_name(src)]: [html_decode(original_msg)]")
feedback_add_details("admin_verb","AH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 70c59f2bfe..aeb78fdeca 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -37,8 +37,9 @@
..()
/mob/living/carbon/human/machine/New()
- species = new /datum/species/machine(src)
h_style = "blue IPC screen"
+ set_species("Machine")
+ ..()
/mob/living/carbon/human/New()
@@ -685,6 +686,8 @@
if(setmedical != "Cancel")
R.fields["p_stat"] = setmedical
modified = 1
+ if(PDA_Manifest.len)
+ PDA_Manifest.Cut()
spawn()
if(istype(usr,/mob/living/carbon/human))
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 0a0d708042..415095085f 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -1303,7 +1303,7 @@
if(2) healths.icon_state = "health7"
else
//switch(health - halloss)
- switch(100 - ((species && species.flags & NO_PAIN) ? 0 : traumatic_shock))
+ switch(100 - ((species && species.flags & NO_PAIN & !IS_SYNTHETIC) ? 0 : traumatic_shock))
if(100 to INFINITY) healths.icon_state = "health0"
if(80 to 100) healths.icon_state = "health1"
if(60 to 80) healths.icon_state = "health2"
diff --git a/code/modules/mob/living/carbon/species.dm b/code/modules/mob/living/carbon/species.dm
index b046cce9c9..384774f14f 100644
--- a/code/modules/mob/living/carbon/species.dm
+++ b/code/modules/mob/living/carbon/species.dm
@@ -53,6 +53,13 @@
return
/datum/species/proc/handle_death(var/mob/living/carbon/human/H) //Handles any species-specific death events (such as dionaea nymph spawns).
+ if(flags & IS_SYNTHETIC)
+ //H.make_jittery(200) //S-s-s-s-sytem f-f-ai-i-i-i-i-lure-ure-ure-ure
+ H.h_style = ""
+ spawn(100)
+ //H.is_jittery = 0
+ //H.jitteriness = 0
+ H.update_hair()
return
/datum/species/human
@@ -219,8 +226,8 @@
punch_damage = 2
eyes = "blank_eyes"
- brute_mod = 1.5
- burn_mod = 1.5
+ brute_mod = 0.5
+ burn_mod = 1
warning_low_pressure = 50
hazard_low_pressure = 10
@@ -233,7 +240,7 @@
heat_level_2 = 3000
heat_level_3 = 4000
- flags = NO_BREATHE | NO_SCAN | NO_BLOOD | NO_PAIN | IS_SYNTHETIC
+ flags = IS_WHITELISTED | NO_BREATHE | NO_SCAN | NO_BLOOD | NO_PAIN | IS_SYNTHETIC
- blood_color = "#FFFFFF"
- flesh_color = "#AAAAAA"
\ No newline at end of file
+ blood_color = "#1F181F"
+ flesh_color = "#575757"
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 6b1fd0ea30..41d0396a88 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -27,6 +27,7 @@
#define APC_UPOVERLAY_ENVIRON1 1024
#define APC_UPOVERLAY_ENVIRON2 2048
#define APC_UPOVERLAY_LOCKED 4096
+#define APC_UPOVERLAY_OPERATING 8192
#define APC_UPDATE_ICON_COOLDOWN 100 // 10 seconds
@@ -328,6 +329,9 @@
if(update_state <= 1)
update_state |= UPSTATE_ALLGOOD
+ if(operating)
+ update_overlay |= APC_UPOVERLAY_OPERATING
+
if(update_state & UPSTATE_ALLGOOD)
if(locked)
update_overlay |= APC_UPOVERLAY_LOCKED
diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm
index 4cba9dc120..1ee3408b41 100644
--- a/code/modules/surgery/generic.dm
+++ b/code/modules/surgery/generic.dm
@@ -6,6 +6,8 @@
/datum/surgery_step/generic/
can_infect = 1
can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ if (isslime(target))
+ return 0
if (target_zone == "eyes") //there are specific steps for eye surgery
return 0
if (!hasorgans(target))
@@ -112,6 +114,8 @@
max_duration = 110
can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ if(isslime(target))
+ return 0
var/datum/organ/external/affected = target.get_organ(target_zone)
return ..() && affected.open == 0 && target_zone != "mouth"
diff --git a/code/modules/surgery/implant.dm b/code/modules/surgery/implant.dm
index 99f8466668..a57d1d89ca 100644
--- a/code/modules/surgery/implant.dm
+++ b/code/modules/surgery/implant.dm
@@ -106,6 +106,8 @@
max_duration = 100
can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
+ if(isslime(target))
+ return 0
var/datum/organ/external/affected = target.get_organ(target_zone)
var/can_fit = !affected.hidden && affected.cavity && tool.w_class <= get_max_wclass(affected)
return ..() && can_fit
diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm
index 9c3f996245..1748d20b50 100644
--- a/code/modules/virus2/helpers.dm
+++ b/code/modules/virus2/helpers.dm
@@ -65,7 +65,10 @@ proc/airborne_can_reach(turf/source, turf/target)
// if one of the antibodies in the mob's body matches one of the disease's antigens, don't infect
if(M.antibodies & disease.antigen != 0)
return
-
+ if(istype(M,/mob/living/carbon/human))
+ var/mob/living/carbon/human/H = M
+ if (H.species.flags & IS_SYNTHETIC)
+ return
// log_debug("Infecting [M]")
if(prob(disease.infectionchance) || forced)
diff --git a/lib/src/nudge.c b/lib/src/nudge.c
index 90aa85fb5e..d9efb90b73 100644
--- a/lib/src/nudge.c
+++ b/lib/src/nudge.c
@@ -1,4 +1,3 @@
-#include
#include
#include
@@ -47,11 +46,11 @@ DLL_EXPORT const char * nudge(int n, char *v[])
{
return "";
}
-
+
size_t out_c = san_c(v[0]) + san_c(v[2]) + san_c(v[3]);
- char * san_out = malloc(out_c + 56);
-
+ char * san_out = malloc(out_c + 57);
+
char * san_i = san_out;
strcpy(san_i, "(dp1\nS'ip'\np2\nS'");
san_i += 16;
@@ -67,7 +66,9 @@ DLL_EXPORT const char * nudge(int n, char *v[])
socket_t nudge_sock = connect_sock(v[1], "45678");
send_n(nudge_sock, san_out, out_c + 56);
close_socket(nudge_sock);
-
+
+ free(san_out);
+
return "1";
}
diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm
index f16a4d1c12..e5a8a37cfb 100644
--- a/maps/tgstation2.dmm
+++ b/maps/tgstation2.dmm
@@ -2068,7 +2068,7 @@
"aNN" = (/obj/structure/closet/crate/freezer,/turf/simulated/floor{icon_state = "hydrofloor"},/area/hydroponics)
"aNO" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/structure/cryofeed/right,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep/cryo)
"aNP" = (/turf/simulated/floor/grass,/area/hydroponics)
-"aNQ" = (/obj/machinery/requests_console{department = "Crew Quarters"; pixel_y = 30},/obj/machinery/camera/xray{c_tag = "Dormitories"},/obj/machinery/cryopod/right,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep/cryo)
+"aNQ" = (/obj/machinery/camera{c_tag = "Dormitories"},/turf/simulated/floor{icon_state = "neutral"; dir = 1},/area/crew_quarters/sleep)
"aNR" = (/mob/living/simple_animal/cow{name = "Betsy"},/turf/simulated/floor/grass,/area/hydroponics)
"aNS" = (/obj/structure/flora/ausbushes/sparsegrass,/turf/simulated/floor/grass,/area/hydroponics)
"aNT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/firedoor/border_only{dir = 2},/turf/simulated/floor/plating,/area/hydroponics)
@@ -4601,7 +4601,7 @@
"bKy" = (/obj/structure/table,/obj/item/weapon/folder/white{pixel_y = 10},/obj/item/weapon/clipboard,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/weapon/stamp/cmo,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/cmo)
"bKz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor/shutters{density = 0; dir = 4; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/cmo)
"bKA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "staffroom"; name = "Staff Room Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/medical/medbreak)
-"bKB" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "9;12;47"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/storage/emergency)
+"bKB" = (/obj/machinery/requests_console{department = "Crew Quarters"; pixel_y = 30},/obj/machinery/cryopod/right,/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Cryogenic Storage"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/sleep/cryo)
"bKC" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
"bKD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/aft)
"bKE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; sortType = 15},/turf/simulated/floor/plating,/area/maintenance/aft)
@@ -4677,15 +4677,15 @@
"bLW" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor{tag = "icon-whiteblue (EAST)"; icon_state = "whiteblue"; dir = 4},/area/medical/medbay2)
"bLX" = (/obj/structure/closet/wardrobe/chemistry_white,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor{dir = 2; icon_state = "whiteyellowcorner"},/area/medical/chemistry)
"bLY" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/assembly/chargebay)
-"bLZ" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency)
+"bLZ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "9;12;47"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/storage/emergency3)
"bMa" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "misclab"; name = "Test Chamber Blast Doors"; opacity = 0},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor{icon_state = "white"},/area/toxins/telesci)
"bMb" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/toxins/storage)
-"bMc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency)
+"bMc" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency3)
"bMd" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
"bMe" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/glass_research{name = "Toxins Lab"; req_access_txt = "8"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
"bMf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
-"bMg" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency)
-"bMh" = (/obj/machinery/space_heater,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency)
+"bMg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency3)
+"bMh" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency3)
"bMi" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor{dir = 8; icon_state = "whiteyellowcorner"},/area/medical/chemistry)
"bMj" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/structure/table,/obj/item/weapon/storage/firstaid/fire{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
"bMk" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
@@ -4852,9 +4852,9 @@
"bPp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/structure/lattice,/turf/space,/area)
"bPq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/mob/living/simple_animal/corgi/Ian,/turf/simulated/floor/carpet,/area/crew_quarters/heads)
"bPr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/crew_quarters/heads)
-"bPs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/storage/emergency)
-"bPt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/storage/emergency)
-"bPu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 14},/turf/simulated/floor/plating,/area/storage/emergency)
+"bPs" = (/obj/machinery/space_heater,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency3)
+"bPt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating,/area/storage/emergency3)
+"bPu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/storage/emergency3)
"bPv" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "29"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/assembly/chargebay)
"bPw" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"bPx" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/asmaint)
@@ -4919,9 +4919,9 @@
"bQE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 1; icon_state = "whitehall_m"; tag = "icon-whitehall_m"},/area/medical/medbay2)
"bQF" = (/obj/machinery/vending/medical,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
"bQG" = (/turf/simulated/wall/r_wall,/area/atmos)
-"bQH" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/storage/emergency)
-"bQI" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/plating,/area/storage/emergency)
-"bQJ" = (/obj/machinery/power/apc{dir = 1; name = "Starboard Emergency Storage APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/storage/emergency)
+"bQH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 14},/turf/simulated/floor/plating,/area/storage/emergency3)
+"bQI" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/oxygen,/obj/item/weapon/tank/oxygen,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/storage/emergency3)
+"bQJ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/plating,/area/storage/emergency3)
"bQK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/hallway/primary/central)
"bQL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor,/area/hallway/primary/central)
"bQM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/central)
@@ -4930,7 +4930,7 @@
"bQP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{req_access_txt = "0"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/central)
"bQQ" = (/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/quartermaster/qm)
"bQR" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/quartermaster/miningdock)
-"bQS" = (/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/storage/emergency)
+"bQS" = (/obj/machinery/power/apc{dir = 1; name = "Starboard Emergency Storage APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating,/area/storage/emergency3)
"bQT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/toxins/storage)
"bQU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics)
"bQV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/bluegrid,/area/assembly/chargebay)
@@ -5095,7 +5095,7 @@
"bTY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/plating,/area/maintenance/port)
"bTZ" = (/obj/item/weapon/screwdriver,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/port)
"bUa" = (/obj/item/stack/sheet/rglass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plating,/area/maintenance/port)
-"bUb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/storage/emergency)
+"bUb" = (/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/storage/emergency3)
"bUc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay2)
"bUd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/sortjunction{dir = 1; icon_state = "pipe-j2s"; sortType = 11},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"; tag = "icon-whitebluecorner"},/area/medical/medbay2)
"bUe" = (/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/medical/sleeper)
@@ -5579,7 +5579,7 @@
"cdo" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/morgue)
"cdp" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating,/area/maintenance/aft)
"cdq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plating,/area/maintenance/aft)
-"cdr" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/storage/emergency)
+"cdr" = (/turf/simulated/wall,/area/storage/emergency3)
"cds" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
"cdt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
"cdu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor,/area/engine/hallway)
@@ -5849,7 +5849,7 @@
"ciy" = (/obj/machinery/power/apc{dir = 8; name = "Engineering Hard Storage APC"; pixel_x = -25; pixel_y = 0},/obj/structure/cable{d2 = 2; icon_state = "0-2"; pixel_y = 0},/turf/simulated/floor/plating,/area/engine/storage_hard)
"ciz" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plating,/area/engine/storage_hard)
"ciA" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access_txt = "6;9"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/medical/morgue)
-"ciB" = (/obj/machinery/door/airlock{name = "Starboard Emergency Storage"; req_access_txt = "0"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/storage/emergency)
+"ciB" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/storage/emergency3)
"ciC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor,/area/hallway/primary/starboard)
"ciD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor,/area/hallway/primary/starboard)
"ciE" = (/obj/machinery/light,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/starboard)
@@ -6099,7 +6099,7 @@
"cno" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
"cnp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi)
"cnq" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{dir = 4; icon_state = "whiteyellowfull"},/area/crew_quarters/sleep/engi)
-"cnr" = (/obj/structure/closet/wardrobe/engineering_yellow,/obj/structure/closet/wardrobe/engineering_yellow,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi)
+"cnr" = (/obj/machinery/door/airlock{name = "Starboard Emergency Storage"; req_access_txt = "0"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/storage/emergency3)
"cns" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
"cnt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
"cnu" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
@@ -6139,7 +6139,7 @@
"coc" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/evahallway)
"cod" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor{icon_state = "floorgrime"},/area/maintenance/evahallway)
"coe" = (/obj/machinery/door/airlock/engineering{name = "Aft Starboard Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
-"cof" = (/obj/machinery/firealarm,/turf/simulated/wall,/area/storage/emergency)
+"cof" = (/obj/machinery/firealarm,/turf/simulated/wall,/area/storage/emergency3)
"cog" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/medical/reception)
"coh" = (/obj/machinery/door/airlock/glass{autoclose = 0; frequency = 1379; heat_proof = 1; icon_state = "door_locked"; id_tag = "incinerator_airlock_interior"; locked = 1; name = "Mixing Room Interior Airlock"; req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/incinerator)
"coi" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall/r_wall,/area/maintenance/incinerator)
@@ -10502,7 +10502,7 @@
"dTX" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
"dTY" = (/obj/structure/table,/obj/item/weapon/storage/box/rxglasses,/obj/item/weapon/cane,/obj/item/weapon/cane,/obj/item/weapon/cane,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
"dTZ" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "blue"},/area/medical/morgue)
-"dUa" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency)
+"dUa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/storage/emergency3)
"dUb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/wall/r_wall,/area/assembly/chargebay)
"dUc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/wall/r_wall,/area/crew_quarters/captain)
"dUd" = (/obj/structure/stool/bed,/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0; req_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/exam_room)
@@ -10894,6 +10894,8 @@
"ebz" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"ebA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/light/small,/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/medical/virologyaccess)
"ebB" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/asmaint)
+"ebC" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/storage/emergency3)
+"ebD" = (/obj/structure/closet/wardrobe/engineering_yellow,/turf/simulated/floor{icon_state = "yellowfull"; dir = 8},/area/crew_quarters/sleep/engi)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -10993,10 +10995,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqYaqZaqYaaaaaaaaaaaaaaaaaaaaaalPaafaoTaoUaoUaoUaoUaoVaoWaoXaoYaoYaoYaoYaoZaafalPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapxapaaraapxarbarbarcardarbarbarbarearearearfargarearearhariagharkalNaggalNarmalNalNarnajhajhajhajhajharoaqQagiarqarqarqagpagjagtagragqalNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalPaafapvapvapvapvapvaafaoPaafapvapvapvapvapvaafalPaaaaaaaaaaaaaaaaaaaaaaaaajiajiajiajiajiajiajiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafarwarxarwaaaaaaaaaaaaaaaaaaaaaalPaafapwapwapwapwapwaafaoWaafapwapwapwapwapwaafalPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagapxaryapbapxarEatVatXatWaWtatYarbaWvarGarHarIarJarKarLarMapEaLDarOarPaLEaLGaLGaLGaLGaLGaLJaLGaLGaLGaLGaLcaLvaKWaKXaKPaKSaKJaKLaKFasdasealNaafaKEaKzaKzaKDaKzaKzaKjaaaaaaaaaaaaaaaalQaaaaaaaaaaafaaaaaaaaaaoPaaaaaaaaaaafaaaaaaaaaalQaaaaaaaaaaaaaaaaaaaaaaaaajiajiajiajiajiajiajiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasjaLlaslaaaasmaWyasoaaaaafaspaqYaspaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaafaaaaaaaaaaoWaaaaaaaaaaafaaaaaaaaaalQaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafapxapxapxapxapbapxarEarAatXatWaMIasrarbaWwarIarIarIarJasuasvaswasxaMJalNaMLaIkaMKaMKaMKaMUaMMaMTaMGaMHaMGaMGaMGaMGaMHaMGaMuaMzaMBaMEaMmaMqasPasPasPaLMasRasRasRasRasRaLMasPaaaaaaaaaaaaalPaafaojaojaojaojaojaafaoPaafaojaojaojaojaojaafalPaaaaaaaaaaaaaaaaaaaaaaaaaaaajiajiajiajiajiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasSasTasUasTasSasVasWasVasSaafaspaOuaOkaaaaaaaaaaaaaaaaaaaaaalPaafaolaolaolaolaolaafaoWaafaolaolaolaolaolaafalPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafapxasZataapxapbapxauParAatXatWaNYauNarbatearIatfatfarJatgasvapAapEaNKalNaNDaNFaNIaNJaHqaHratoatpaGVaNOaNQaNUaNpaNqaNnaNoaNratzatAatBaNaaNeatEatFasPaNgasRasRasRasRasRaLMasPaafaaaaaaaaaalQaafaoMaoNaoNaoNaoNaoOaoPaoQaoRaoRaoRaoRaoSaafalPaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasSasTasUasTasSasVasWasVasSaafaspaOuaOkaaaaaaaaaaaaaaaaaaaaaalPaafaolaolaolaolaolaafaoWaafaolaolaolaolaolaafalPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafapxasZataapxapbapxauParAatXatWaNYauNarbatearIatfatfarJatgasvapAapEaNKalNaNDaNFaNIaNJaHqaHratoatpaGVaNObKBaNUaNpaNqaNnaNoaNratzatAatBaNaaNeatEatFasPaNgasRasRasRasRasRaLMasPaafaaaaaaaaaalQaafaoMaoNaoNaoNaoNaoOaoPaoQaoRaoRaoRaoRaoSaafalPaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatHasTatIasTatHasVatJasVatHatKatLatMaPLatOatOatPatKatKaafaaaalPaafaoTaoUaoUaoUaoUaoVaoWaoXaoYaoYaoYaoYaoZaafalPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafapxatQatRatSaPpaPnaPdaPaaOYaOXaOWarEarbauaaubaucaucaudaueasvapAapEaLDalNaNDaNFaHyaPqaHqaHrauhauiaGVaPHaPCaOEaOEaOFaOGaOParTaupauqauraOyaOzaOAaOBaOCaODasRasRasRasRasRaOSasPasPasPaaaaaaalQaaaapvapvapvapvapvaafaoPaafapvapvapvapvapvaaaampaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatHauzauAauBatHauCauDauEatHaqYaqYauFauGauHauIauJauKatKaaaaaaampaaaapwapwapwapwapwaafaoWaafapwapwapwapwapwaaaalPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaagapxauLapaapxaHDapxarBarAarDarCasqarEarbaHAauSauTauTauUaHCaHBaHsaHtaHuaHvaHwaHxaHyaHzaHqaHravdauiaGVaGVaGVaGWaGWaGXaGVaGVarTavgavhaviaviaHpaHcaHiaGYaGZasRasRasRasRasRaGUaGSavqavraaaaaaalQaaaaafaaaaafaafaaaaaaaoPaaaaaaaafaaaaaaaafaaaalPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatHavsavtavuatHavsavtavuatHavvavwavxavxavxavxavyavzarwaaaaaaalPaaaaafaaaaafaafaaaaaaavAaaaaaaaafaaaaaaaafaaaalPaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaagapxapxapxapxaHDapxaHLaHIaHIaHIaHIaHMaHIaHHaHGaHGaHGaHGaHKaHJavIapEaIgalNaIjaIkaIhaIiaHYaIfaHNaHVavRavPavRavRavRaTIavRauiavVavWavXavYavYavYavYaHFaHEawbasRasRasRasRasRawbawcawdaweaaaaaaalQalQalPaaaaaaaafaaaaaaaoPaaaaafaafaafaafalPalPalPaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatHavsavtavuatHavsavtavuatHavvavwavxavxavxavxavyavzarwaaaaaaalPaaaaafaaaaafaafaaaaaaavAaaaaaaaafaaaaaaaafaaaalPaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaagapxapxapxapxaHDapxaHLaHIaHIaHIaHIaHMaHIaHHaHGaHGaHGaHGaHKaHJavIapEaIgalNaIjaIkaIhaIiaHYaIfaHNaHVaNQavPavRavRavRaTIavRauiavVavWavXavYavYavYavYaHFaHEawbasRasRasRasRasRawbawcawdaweaaaaaaalQalQalPaaaaaaaafaaaaaaaoPaaaaafaafaafaafalPalPalPaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaasSatHawfawgasSatHawfawgasSatKawhatKatKatKatKatKawiaspaaaaaaalPalPalPaaaaaaaafaaaawjawkawjaafaafaafaafalPalPalPaafapxapxapxapxawlawmawmawmawmawmawmawmawnapxapxawoawpawqapxawrawsawtaJpawvawwawwawwawwawwaJoawwaJmaJnaJfaJfaJeaJeaJlaIYaJaaJbahmaIxaIAaIDaITaIvaHravdaIwawLawLbfxawMawNaVcawLauiawPawQawRavYavYavYavYaIlaIoawUasRasRasRasRasRawUawVawdaweaaaaaaaaaaaaaafaafaaaaafaaaaaaawWaaaaaaaafaaaaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawXawYawYawYawZaxaawYawYaxbaxcaxdaxbaxbaxbaxeatKaxfaspaaaaafaafaaaaaaaaaaaaaafaaaaxgaKhaKgaafaaaaafaaaaaaaaaaaaaaaapxapaapaaxjapaapaapaapaapaapaapaapaaxkaxlaxmaxnaxnaxnaxnaxnaxnaxoaJBaxqaxraxraxraxraxsaJAaxraxuaJzaxsaxraxraxraxraxwaxxaxyaKdaKaaHxaJRaJRaJRaHrauhaJQawLawOawMaxCawMaVeaxEaWraxGaxHaxIavYavYavYavYaIlaJqaJwasRasRasRasRasRaJxaJyaxNaxOaaaaaaaaaaaaaaaaafaaaaafaaaaxPaxQaxPaaaaafaaaaaaaafaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxRaxSaxTaxUaxVaxTaxTaxWaxUaxTaxXaxYaxZaxZayaatKaxfatLaafaafaaaaaaaaaaaaaaaaafaybaycaydbdBayfaaaaafaaaaaaaaaaaaaaaapxapaapxaygayhayiayiayiayiayiayiayiayjaygaykaylaylaylaylaylaylaylaQnaynaxrayoaypayqayrbdCaytayubdDaywayxaypayyaxrayzapEayAalNaQvaNFaNIbdEaHqaHravdbdFayDaxFaxFayEayFayGayHayIavVayJayKayLayMayMayNbdHayPbdGasRasRasRasRasRbdIasPasPasPaaaaaaaaaaaaaafaafaafaafaaaaySbdJaySaaaaafaaaaaaaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -11024,17 +11026,17 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazQasSbcFaAFaWGatHatHatHatHatHatHbcGbboaBgaTSaTSaTSaTSaTSaTSaTSaTSaTSbcHaReaBPaCSaZYbcIbcJbcKaYybcLbcMaDEaPEbafbagbcObcPaPEaBxaBtbalbbHbcQbcQbbHbcQbalbbJbcRbcSbcSbcTbcUbcVbarbcWaIOaYVaDFbcYbcZbdabdbbdbbdabdcbddbaAbaBbdebdfbdgbdhbdibdjbdkaDGaDKbdnbdobclbdpbdqbdrbclaLgbaDaZobdtaIOaNsbdubdvaZFaZFaZFaZFaZFaZFaZFbdwaZFaZFaZFaZFbdxaZFaZFaZFaZFaZFaZFaZFaZFbdyaZFaZFaZFaZFaZFaZFaZFaZFbdzaDPaDTaCYaDUaCYaDVaCYaDXaDWaDYaCYaDZaCYaEaaEbaCYaCYaCYaCYaCYaCYaEcaEdaEebdObcCaSsaSsaSsaVkbdPaVjaVkaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaaaaafbdRazTaxVbdSaCTbdUbdUbdUbdUbdUbdUbdVbdWaPBaXiaReaBPaCSaYyaYybdXbdYaYyaPEaPEaCUaPEbafbeabcObebaPEaBxaBtbalbecbedbbHbcQbeebalbbJbefbcSbcSbcSbegbehbarbeiaIOaYVaCXbekaCWbembenbeobepbdcbeqbaAbaBberbesbetbetbetbeubevbaBaCVbexbclbclbdpbeybdrbclaLfbaDbeAaIOaIOaNsbdubdvaZFaZFaZFaZFaZFaZFaZFbeBaZFaZFaZFaZFaZFaZFbeCaCYaCYaCYaCYaCYaCYaCZaCYaCYaCYaCYaCYaCYaCYaDlaDDaDCaDtaZFaZFaZFaZFaZFaBDaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFbeIbdzbeJaSsaSsbcCaSsaSsbeKbeLaTMaTMaTNaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaWEaWFbeMayWbeNbUVbePbePbeQbePbePbePbeRaPBaPBaPBaPBaBPaCSaZYbeSbeTbeUaYybeVbeWbUWaPEaPEaPEaPEbeYaPEaBxaBtbalbeZbbHbcQbfabfbbalbbJbarbfcbcSbcSbPhbfebarbffaIOaYVbUYbfhaCWbembfibfjbepbdcbfkbaAbflbfmbfnbetbfobetbdfbfpbfqaCVbfrbfsbftbfubfubfvbclbfwbaDcjvcjwaXNckackbckcckqckrckqckqckqckqckscktckLciHciHciEaZFaZFaZFaZFbfDaZFbfybfOaZFcjlcjtcjpbfIcjubfIbfIbfKclqclSclWaZFaZFaZFaZFaZFbfObfPbfDaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFaZFbdzbfQbfRbfSbfTbfUbfVbbmbfWaafaaaaafaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaYnavtaYnaxTbfXbePbfYbfZbgabgabgbbgcbgdbgebgebgebgebUibUubUrbUrbUtbUsbUrbUobUobUpbUobUnbUlbUlbUmbUlbUkbUObSTbUNbUHbUHbULbUCbSTbUybUBbgybcSbcSbPhbgzbgAbffaIOaYVbTsbgCbUPbdabdabdabdabdcbgEbaAbaBbgFbgGbgHbgIbgJbgGbgKbaBaCVbURbUQbgNbgObgPbgQbgRbgSbaDciiaHfaHfbgUbgUbgUbgUbgUbgUbgUcfRcfRcilcivcijcikcivcilcfRcfRcfRcfEcfEcfEcfEcfEbhbbhbciAbhbbhbbhbbhbbhbbhgciBbxbciCciDaZFbhkbhkbhlbhlbhlbhlbhlbhmbhnbhnbhobhnaZFbhnbhobhnbhnbhpbhqbhqbhqbhqbhrbhgaPtaPtaPtaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaZLaZMbeMayWbhsbePbhtbePbhubhvbePbePbePaRebhwbhxbhxbTHaYyaZYbhzbcJbhAaYybUabTZbTTbTSbTVbTUbTXbTWbTYbTXbTMbTNbTObTPbTObTObTQbTRbTJbTKbhSbcSbcSbTLbhUbhVbffaIObhWbTsbhXbTtbhZbiabibbicbTIbaAbaAbaBbiebifbigbihbiibijbikbaBaCVbTybimcfIbiobipbgQbclbiqbaDaZoaIObirbgUcbccgScgWchbchJchMchNchOchochrchCchDcggcgfcgkcgjcfRcfPcgecgdcgOcfEcgQcgPcgEcglcgLcfLcfLcfMbhgcdrbiSbiScfKbiSbiUbiUbhlbiVbiWbiXbhlbiYbiZbiYbhlbhmbhnbhpbhqbjabjbbjabhqbjcbjdbhqbjebjfbjgbhgaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaaaaaaaMYbbnaPybjhbePbjibePbjjbjkbjlbSjbePbjnaRebjoaRebTjaYyaYyaYyaYyaYyaYybTAbjrbjsaRebjtbalbalbalbTzbalbalbalbjvbalbalbalbalbjwbTCbTDbjzbcSbcSbPhbjAbgAbffaIObjBbTsbjCbTtbaAbaAbaAbaAbTkbaAbTmbTlbjGbjHbbXbjIbbXbjJbjKbTvbTxbTybjNbclbjObjPbgQbjQbjRbaDaZoaIOaIOcdycdwcdxcdscdtcdFcdGcdDcdEcdCcdCcdAcdBcdBceJceFceEcdKcdJcdIcdHcfHcfEcfDcdncfCcdncfccfbcdncdobhgcdrbiSbkwcdjcdkbkzbkAbkBbkCbkDbkCbTEbkFbkGbkHbhlbkIbkJbkKbhqbkLbkMbkNbkObkPbkQbhqbkRbkSbkTbhgaaaaaaaaaaaeaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazQasSbcFaAFaZMaTPaTPaTPbkUaTPbkVayWaxTaxTbePbkWbkXbkYbkZblablbblcbldbldbldbldbXnbWDbWDbWDbTXbTXbTXbWCblhblhblhblibalbljblkbWEblmblnbloblpblqblrblsbltblubVHbWAbWBbSWbTdbWwbWxbWxbXhbEvbXgbXfbWXbWVbWUbWTbXmbXlbXkbXjbXibTvbTvbTvbTvbWHbTvbTvbTvbTvbWFbWGbWQbWSbWObWPbWKbWNbWIdUcblZaIOaIObgUdypdUrdUsdUtcqnbOEdUodUpcdBcdBcdBcdBcdBceJdUicpBdUkdUjdUmdUldUdcfEdUfdUedUgcdncfccfbcdndUubhgcdrdUwbYedUvbYbbXHbXMbXFbXGbXGbXGbXUbXWbXAbXzbXybXxbXEbXDbXCbXBbmLbkPbmMbmNbmObhqbmPbkSbmsbhgaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmQbmRavtaYnawYawYawYaPyaxTaxTbePbmSbmTbkZbmUbePbePbePaPBbmVbmWbmXbmYbmXbmXbmXbmYbmXaPBaPBbalbalbalbmZbalblpblpbnablpblpblpblpblpbnbbncbndbnebWebWdbWdbWdbWabWcbVYbVZbWjbWibWnbWmbWfbWfbWhbWgbWqbWpbWsbWrbWobnxbnybnzbnAbnBbnCbnzbnDbnxbPVbTybnFbnGbnFbaDbaDbaDbnHaCVdRUaIOaIOcdycdwcdxdTzdTAdPxbgUdzQdPwdRNdRPdRKdRMdTWdTVdTUdTTcfRdTYcsUdTXdTOdTNdTMdTLdTSdTRdTQdTPdTRdTZbUbdUadUbcmTbnYcmUboabobbocbodboebofbofbogbkCbohbhlbWvbojbokbhqbolbombonboobopboqbhqbmPbkSborbhgaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaabmQavtavtaYnaxSaxSaxSbosaxSaxSbePbotboubovbkZbePaaaaaaaaaaafaafbowbowbowbowbowbowbowaaaaaaboxboybozboAboBblpblpblpblpblpblpblpblpboCbjzbcSboDboEboFbarbarbVGbVHbarbarboHboIbVEboKboLboMboMbNsboMbVFboPboMabLboQboRbnzboSbnBboSbnzboTboQbPVbVkboVbfuboWbVybVBbVDbVzbVAbpcaIOaIObgUcbccgSctfcmIcjDbixctdctecsZctactbctccsWcsVcsYcsXcfRcsEcsUcsTcsocfEcsscsrcrXcrWcsncsncrQcrVbhgcdrbiScrMbkxbkxboabpybpzbpAbpBbpCbpCbpDbpEbpFbhlbpGbojbpHbhqbpIbpJbpKboobkPbpLbhqbkRbkSbpMbhgaaaaaaaaaaaaaafbpNbpObFHbpObFHbpObpQaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxRaYnaYnbpRaTPbpSazQasSbpTbpSbePbpUbpVbpWbpXbePaaaaaaaaaaaaaaabowbowbowbowbowbowbowaaaaaabpYbpZblpbqabqbbqbbqbbqbbqbbqcbqbbqbbqbbqdbqebqfbqgbqhbqibarbqjbPhbqkbqlbRdbffbqnbqoboKboKboMbqpbVdbqrbVebqtboMbVgbVfbVhbqxbqybqzbqybqAbVibVjbTxbVkbqEbfubqFbaDbqGbnFbqHbPTbpcaIOaIObgUcpNcqkcpLcgRcpMbixcptcpzcoYcpscogcojcrGcrDcrBcrAcqVbPQcqUcqTbPQbPQbPQbPQcqScqlbPQbPQbhgcofbhgcdrbiScmTbnYcmUbrabrbbrcbrdbrebrebrebpDbkCbrfbrgbrhbkJbVlbhqbrjbrkbrlbrmbkPbrnbhqbmPbmrbhgbhgaaaaaaaaaaaaaafbrobrpbrqbrrbrrbrsbroaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbrubrvbrwbrxblpblpblpbrybrybrybryboAblpblpblpbnbbrzbcSbrAbrBbrCbrDbrEbPhbcSbrFbRgbffbqnbrHbrIbrJbrKbrLbPPbrNbPObrPboMabLbrQbrRbnzbqybrSbqybnzbrTbrUbPVbPWbrWbrXbrYbaDbrZbnFbsabPTbpcaIOaIObgUbOMbPBbPCbPDbPEbixbPFbPIbLybPJbOYbPKbLybLybPMbPLbPQbPQbPSbPRbPYbPUbQpbPZbQEbQxbQFbPQbQJbQSbQHbQIbQWbQXbQVbQVbPGbsEbkBbsFbrebrebrebsGbkCbsHbhlbsIbsIbPHbhqbsKbPNbsMbsNbkPbsObhqbmPbsPbhgaaaaaaaaaaaaaaaaafbsQbsRbrqbrrbrqbsSbFHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbsTbsUbsTbsVbsWblpblpblpblpblpblpboAblpbsXbalbalbsYbcSbcSbsZbtabtbbtcbPhbcSbcSbtdaIObqnbtebtfbtgbPrbtibtjbtkbPqbtmboMabLbrUbrUbtnbtobtpbnzbtqbOvbNgbPpbNqbtvbtvbtvbtvbtvbtvbtwbPAbOFbODbODbOEbJUbOJbOGbOHbOIbixbOKbOLbOYbPfbONbOUbNUbNGbNobNlbOjbOibOhbOgbOubOybOubOkbOCbOBbOAbOzbPsbPtbPtbPubPvbPzbPzbPzbtZbuabkBbubbkCbkCbucbPgbkCbuebkBbufbugbORbuibujbOTbulbumbunbhqbhqbuobhgbhgbupbuqbuqbuqburbkIbrobrrbrqbrrbrrbrsbroaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaeaaaaaaaaabowbowbowbowbowbowbowbusbutbusbuublpblpblpbrybrybrybryboAblpbuvbuwbalbuxbcSbcSbsZbuybuzbtcbOxbuBbqfbuCbuDbuEbpcbuFbtgbuGbuHbuIbuJbOmbuLbOlbOqbOpbOobOnbuRbrSbuRbOvbOwbuTbuTbNqbuUbuVbuWbuXbuYbuZbOrbOtbvcaIOaIObgUbMibMjbMlbMmbMPbMQbMRbMSbMnbMrbMBbMLbMWbMVbMZbMYbAobHjbMUbMTbNhbNfbNkbNibNbbNabNebNcbMgbMhbLZbMcbiSbvybvzbLYbvBbvBbkBbvCbvDbvEbkBbNVbkCbvGbvHbvIbvJbOebvLbvMbOfbvObvPbvQbsIbkJbvRbvSbvTbvUbvVbvVbvVbvVbvWbvXbpObFHbvYbFHbpObvZaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbwabrvbwbbwcblpblpblpblpblpblpblpboAblpbuvbwdbalbwebegbcSbwfbqfbwgbqfbNFbcSbrFbRdbffaIObpcbuFbtgboMbwibwjbwkbwlbwmbNsbwnbNvbwpbNBbNgbNjbNmbNnbwubNpbwwbNqbwxbwybwzbwAbwBbwBbwCbNdbLPbLQaIObgUbLMbLNbLGbLJbLXbixbLVbLWbLybLUbLRbLSbLzbLybLxbKCbDabDabDabDabDabHfbLEbHfbApbLDbLAbApbApbApbApbKBbiSbiSbxbbxbbxbbxbbkBbkBbkBbkBbkBbMMbxebxfbxgbxhbxibMobMpbMpbMqbxmbojbxnbxobxpbvRbojbvTbxqbojbxrbojbxsbkIbupbuqburbxtbkIaaaaaaaafaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaYnavtaYnaxTbfXbePbfYbfZbgabgabgbbgcbgdbgebgebgebgebUibUubUrbUrbUtbUsbUrbUobUobUpbUobUnbUlbUlbUmbUlbUkbUObSTbUNbUHbUHbULbUCbSTbUybUBbgybcSbcSbPhbgzbgAbffaIOaYVbTsbgCbUPbdabdabdabdabdcbgEbaAbaBbgFbgGbgHbgIbgJbgGbgKbaBaCVbURbUQbgNbgObgPbgQbgRbgSbaDciiaHfaHfbgUbgUbgUbgUbgUbgUbgUcfRcfRcilcivcijcikcivcilcfRcfRcfRcfEcfEcfEcfEcfEbhbbhbciAbhbbhbbhbbhbbhbcdrcnrbxbciCciDaZFbhkbhkbhlbhlbhlbhlbhlbhmbhnbhnbhobhnaZFbhnbhobhnbhnbhpbhqbhqbhqbhqbhrbhgaPtaPtaPtaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaZLaZMbeMayWbhsbePbhtbePbhubhvbePbePbePaRebhwbhxbhxbTHaYyaZYbhzbcJbhAaYybUabTZbTTbTSbTVbTUbTXbTWbTYbTXbTMbTNbTObTPbTObTObTQbTRbTJbTKbhSbcSbcSbTLbhUbhVbffaIObhWbTsbhXbTtbhZbiabibbicbTIbaAbaAbaBbiebifbigbihbiibijbikbaBaCVbTybimcfIbiobipbgQbclbiqbaDaZoaIObirbgUcbccgScgWchbchJchMchNchOchochrchCchDcggcgfcgkcgjcfRcfPcgecgdcgOcfEcgQcgPcgEcglcgLcfLcfLcfMcdrciBbiSbiScfKbiSbiUbiUbhlbiVbiWbiXbhlbiYbiZbiYbhlbhmbhnbhpbhqbjabjbbjabhqbjcbjdbhqbjebjfbjgbhgaaaaaaaaaaaaaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdQbdQbdQbdQbdQbdQbdQbdQbdQbdQaaaaaaaMYbbnaPybjhbePbjibePbjjbjkbjlbSjbePbjnaRebjoaRebTjaYyaYyaYyaYyaYyaYybTAbjrbjsaRebjtbalbalbalbTzbalbalbalbjvbalbalbalbalbjwbTCbTDbjzbcSbcSbPhbjAbgAbffaIObjBbTsbjCbTtbaAbaAbaAbaAbTkbaAbTmbTlbjGbjHbbXbjIbbXbjJbjKbTvbTxbTybjNbclbjObjPbgQbjQbjRbaDaZoaIOaIOcdycdwcdxcdscdtcdFcdGcdDcdEcdCcdCcdAcdBcdBceJceFceEcdKcdJcdIcdHcfHcfEcfDcdncfCcdncfccfbcdncdocdrciBbiSbkwcdjcdkbkzbkAbkBbkCbkDbkCbTEbkFbkGbkHbhlbkIbkJbkKbhqbkLbkMbkNbkObkPbkQbhqbkRbkSbkTbhgaaaaaaaaaaaeaJGaJGaJGaJGaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazQasSbcFaAFaZMaTPaTPaTPbkUaTPbkVayWaxTaxTbePbkWbkXbkYbkZblablbblcbldbldbldbldbXnbWDbWDbWDbTXbTXbTXbWCblhblhblhblibalbljblkbWEblmblnbloblpblqblrblsbltblubVHbWAbWBbSWbTdbWwbWxbWxbXhbEvbXgbXfbWXbWVbWUbWTbXmbXlbXkbXjbXibTvbTvbTvbTvbWHbTvbTvbTvbTvbWFbWGbWQbWSbWObWPbWKbWNbWIdUcblZaIOaIObgUdypdUrdUsdUtcqnbOEdUodUpcdBcdBcdBcdBcdBceJdUicpBdUkdUjdUmdUldUdcfEdUfdUedUgcdncfccfbcdndUucdrciBdUwbYedUvbYbbXHbXMbXFbXGbXGbXGbXUbXWbXAbXzbXybXxbXEbXDbXCbXBbmLbkPbmMbmNbmObhqbmPbkSbmsbhgaaaaaaaaaaaaaaaaJGaJGaJGaJGaJGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmQbmRavtaYnawYawYawYaPyaxTaxTbePbmSbmTbkZbmUbePbePbePaPBbmVbmWbmXbmYbmXbmXbmXbmYbmXaPBaPBbalbalbalbmZbalblpblpbnablpblpblpblpblpbnbbncbndbnebWebWdbWdbWdbWabWcbVYbVZbWjbWibWnbWmbWfbWfbWhbWgbWqbWpbWsbWrbWobnxbnybnzbnAbnBbnCbnzbnDbnxbPVbTybnFbnGbnFbaDbaDbaDbnHaCVdRUaIOaIOcdycdwcdxdTzdTAdPxbgUdzQdPwdRNdRPdRKdRMdTWdTVdTUdTTcfRdTYcsUdTXdTOdTNdTMdTLdTSdTRdTQdTPdTRdTZdUaebCdUbcmTbnYcmUboabobbocbodboebofbofbogbkCbohbhlbWvbojbokbhqbolbombonboobopboqbhqbmPbkSborbhgaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaabmQavtavtaYnaxSaxSaxSbosaxSaxSbePbotboubovbkZbePaaaaaaaaaaafaafbowbowbowbowbowbowbowaaaaaaboxboybozboAboBblpblpblpblpblpblpblpblpboCbjzbcSboDboEboFbarbarbVGbVHbarbarboHboIbVEboKboLboMboMbNsboMbVFboPboMabLboQboRbnzboSbnBboSbnzboTboQbPVbVkboVbfuboWbVybVBbVDbVzbVAbpcaIOaIObgUcbccgSctfcmIcjDbixctdctecsZctactbctccsWcsVcsYcsXcfRcsEcsUcsTcsocfEcsscsrcrXcrWcsncsncrQcrVcdrciBbiScrMbkxbkxboabpybpzbpAbpBbpCbpCbpDbpEbpFbhlbpGbojbpHbhqbpIbpJbpKboobkPbpLbhqbkRbkSbpMbhgaaaaaaaaaaaaaafbpNbpObFHbpObFHbpObpQaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxRaYnaYnbpRaTPbpSazQasSbpTbpSbePbpUbpVbpWbpXbePaaaaaaaaaaaaaaabowbowbowbowbowbowbowaaaaaabpYbpZblpbqabqbbqbbqbbqbbqbbqcbqbbqbbqbbqdbqebqfbqgbqhbqibarbqjbPhbqkbqlbRdbffbqnbqoboKboKboMbqpbVdbqrbVebqtboMbVgbVfbVhbqxbqybqzbqybqAbVibVjbTxbVkbqEbfubqFbaDbqGbnFbqHbPTbpcaIOaIObgUcpNcqkcpLcgRcpMbixcptcpzcoYcpscogcojcrGcrDcrBcrAcqVbPQcqUcqTbPQbPQbPQbPQcqScqlbPQbPQcdrcofcdrciBbiScmTbnYcmUbrabrbbrcbrdbrebrebrebpDbkCbrfbrgbrhbkJbVlbhqbrjbrkbrlbrmbkPbrnbhqbmPbmrbhgbhgaaaaaaaaaaaaaafbrobrpbrqbrrbrrbrsbroaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbrubrvbrwbrxblpblpblpbrybrybrybryboAblpblpblpbnbbrzbcSbrAbrBbrCbrDbrEbPhbcSbrFbRgbffbqnbrHbrIbrJbrKbrLbPPbrNbPObrPboMabLbrQbrRbnzbqybrSbqybnzbrTbrUbPVbPWbrWbrXbrYbaDbrZbnFbsabPTbpcaIOaIObgUbOMbPBbPCbPDbPEbixbPFbPIbLybPJbOYbPKbLybLybPMbPLbPQbPQbPSbPRbPYbPUbQpbPZbQEbQxbQFbPQbQSbUbbQIbQJbQWbQXbQVbQVbPGbsEbkBbsFbrebrebrebsGbkCbsHbhlbsIbsIbPHbhqbsKbPNbsMbsNbkPbsObhqbmPbsPbhgaaaaaaaaaaaaaaaaafbsQbsRbrqbrrbrqbsSbFHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbsTbsUbsTbsVbsWblpblpblpblpblpblpboAblpbsXbalbalbsYbcSbcSbsZbtabtbbtcbPhbcSbcSbtdaIObqnbtebtfbtgbPrbtibtjbtkbPqbtmboMabLbrUbrUbtnbtobtpbnzbtqbOvbNgbPpbNqbtvbtvbtvbtvbtvbtvbtwbPAbOFbODbODbOEbJUbOJbOGbOHbOIbixbOKbOLbOYbPfbONbOUbNUbNGbNobNlbOjbOibOhbOgbOubOybOubOkbOCbOBbOAbOzbPtbPubPubQHbPvbPzbPzbPzbtZbuabkBbubbkCbkCbucbPgbkCbuebkBbufbugbORbuibujbOTbulbumbunbhqbhqbuobhgbhgbupbuqbuqbuqburbkIbrobrrbrqbrrbrrbrsbroaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaeaaaaaaaaabowbowbowbowbowbowbowbusbutbusbuublpblpblpbrybrybrybryboAblpbuvbuwbalbuxbcSbcSbsZbuybuzbtcbOxbuBbqfbuCbuDbuEbpcbuFbtgbuGbuHbuIbuJbOmbuLbOlbOqbOpbOobOnbuRbrSbuRbOvbOwbuTbuTbNqbuUbuVbuWbuXbuYbuZbOrbOtbvcaIOaIObgUbMibMjbMlbMmbMPbMQbMRbMSbMnbMrbMBbMLbMWbMVbMZbMYbAobHjbMUbMTbNhbNfbNkbNibNbbNabNebNcbMhbPsbMcbMgbiSbvybvzbLYbvBbvBbkBbvCbvDbvEbkBbNVbkCbvGbvHbvIbvJbOebvLbvMbOfbvObvPbvQbsIbkJbvRbvSbvTbvUbvVbvVbvVbvVbvWbvXbpObFHbvYbFHbpObvZaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbwabrvbwbbwcblpblpblpblpblpblpblpboAblpbuvbwdbalbwebegbcSbwfbqfbwgbqfbNFbcSbrFbRdbffaIObpcbuFbtgboMbwibwjbwkbwlbwmbNsbwnbNvbwpbNBbNgbNjbNmbNnbwubNpbwwbNqbwxbwybwzbwAbwBbwBbwCbNdbLPbLQaIObgUbLMbLNbLGbLJbLXbixbLVbLWbLybLUbLRbLSbLzbLybLxbKCbDabDabDabDabDabHfbLEbHfbApbLDbLAbApbApbApbApbLZbiSbiSbxbbxbbxbbxbbkBbkBbkBbkBbkBbMMbxebxfbxgbxhbxibMobMpbMpbMqbxmbojbxnbxobxpbvRbojbvTbxqbojbxrbojbxsbkIbupbuqburbxtbkIaaaaaaaafaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbusbutbusbxubxvblpblpbxwbSRbSSbSRbSXbSRbSYbTabSTbSUbSVbSWbTbbSWbTcbTdbSVbxFbxGbRgbffaIObxHbxIbxJboMbxKbxLbxMbxNbxObNsbxPbThbxRbTgbxTbxUbxVbxWbxXbxYbxZbTibybbycbycbydbyebyfbygbPocawbDNbSibgUbixbXscaWcbabYubYKbYObZMbOYbZNbZOcarccbbOYccibVVbRNccjccAcckbDacbecbOcbNbApcbPcbYcbQccGccJccEccFccOcdabSEccMbMpbMpbSsbSwbMpbSAbSybSzbSObSNbMpbSMbSQbSPbyPbyQbSLbySbySbySbySbySbyTbyUbyVbupburbkIbojbvVbyWbyXbyYbyZbzabzbaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbzcbzdbzcbzebzfbzgbzgbzgbzgbzgbzhbziblpbuvbzjbalbzkbzlbzmbSbbzoboEbRZbzqbzrbarbarbzsaIObztbzubtgboMbzvbzwbzxbwjbzybNsbzzbSfbzBbzCbSdbzEbzFbSebzHbzIbzJbNqbzKbzLbzMbzNbyebyfbygbPobpcbDNaIObXqbUebXtbLTbXrbEpbXobWzbWJbLybLybLybXpbVXbLybVWbVVbWybWubWtbWkbDabVLbVKbVJbVUbVRbVQbVMbXubVabXvbXwbXJbXLbXNbYcbvMbvMbArbvMbAsbvMbOfbvMbvMbvMbvMbRUbAubAvbAwbAxbRTbAzbAAbABbACbySbADbAEbAFaafaafbkIbAGbvVbyXbyXbvWbAHbAIbAJaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtbrtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabowbowbowbowbowbowbowbAKbALbAMbalbalbANbrvbrvbrvbAObalbalbAPbAQbARbalbASbASbASbRKbASbAUbRLbAWbAXbAYbAUbffaIObAZbBaaUnboMbOlbRrbRzbRzbRwbRsbRAbRCbRBbRAbRFbRGbRDbREbRHbRHbRHbRJbtvbtvbtvbtvbtvbtvbtvbPobpcbUSbuDbUTbSxbUfbUgbUqbTFbTGbUcbUdbSJbSKbTobTubVxbVwbVIbVCbVsbVpbVvbVtbVmbVcbVobVnbUZbUUbVbbVabSDbSHbApbSBbSmbBObBObBObBObBObBPbBObBObBQbQTbBSbBTbBTbBUbKjbvRbBWbAwbBXbQZbBZbCabCbbCcbySbADbAEbCdaaaaaabkIbCebCfbkIbvWbkIbkIbvWbkIaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -11055,7 +11057,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbAVbATbptbAybAtbqmbAdbAfbAgccgbzSbzVccgccgbAlbAmbAnbywbAibAjbAkbYpbyNbyRbyObyKbyJbyMbyLbzDbyJbyJbzGbzpbznbzAcjcbfNbkcbqXbqXbqXbqXbyvbqXbqXbqXbyrbyqbiEbytbppbysbtzbiEbyhbyibwEbwUbsfbskbsfbiKbwWbwVbiGbwYbwZbwXbvNbvFbwPbwFbwQbwQbwTbwRbhCbhCbhDbhCbhCbhCbhCbyubxEbhCbxQbxSbyabyjbykbyobxAbxBbxAbxCbxDbxAbxAbxAbxAbxAbxzbxybxxbVNbVObyVbyVbyVbyVaaaaafaaaaaaaaaanmanmanmaafaaaaaaaafaaaaaaaafaaaaaabJcbEPbHybEPbEPbGnbGnbGnbGnbGnbGnbGnbEPbEPaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbpsbpsbptbpvbpubqmbqqbpwbpPccgbqvbqsbqubqCbqDbqwbqBbqObqQbqIbqKbqVbqUbqTbqSbrObrMbrGbribsdbsebsdbrVbsubsjbjpbshbfNbkcbqXbqWbqPbqNbqRbqPbqJbpxbqMbqLbpobpnbppbppbslbiEbsmbsgbsobwUbsfbskbsfbiKbscbsibiGbqYbqZbsbbiGbssbilbvKboNbsqbspbsnboJboGboibnRbnKbnEbnEbnwbprbnEbnEbpqbpgbplbpabpabpebpfbpbbngbpabnjboZbnhbnhbngbnjbnibAEbnkbnmbnlbWWbnfbWYbWZbXabXabXabXabXabXabXabXabXabXabXabXabXabXabXabXabXbbXcbXcbXdbEPbEPbGnbGnbXebGnbGnbEPbEPaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabSFbSFbSFbSFbSFbSFbSFbudbuhccgccgccgccgccgbukbuAbuKbuKbuKbuMbuNbYpbjqbjxbtsbjybttbtxbtubtEbtCbtGbfNbtVbtHbtYbtWbfNbtObtNbtMbtLbtLbtKbtJbtIbqXbtFbtDbiEbtBbtAbppbtzbiEbtRbsAbtybwUbsrbskbsfbiKbsvbstbiGbiGbiGbiGbiGbssbilbilbildXxcmHbPybGKbXObXPbXQbGKbGKaaaaaaaaaaaabXRbXSbTrbtlbHkbtrbTnbthbTpbTqbsLbjmbSkbIEbIEbShbHkbyVbXVbswbXXbyVbyVbyVbyVaaaaafaaaaaaaaaanmanmanmaafaaaaaaaafaaaaaaaafaafaafbXYbXZbYabHzbEObEPbEPbGnbGobGnbEPbEPaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbSFbSGcnjcngcnhcnQbSFcodcoccnJcnIcnLcnKcnGcnGcnHcnEcnEcnDcnFbAkbYpbjqbjxcnCbwMcnzcnAcnBcnwcnxcnybfNbtVcnpcnqcnrbfNbkcbqXdZidZldZldZjdZkbqXdXKdZmdZnbiEdZqdZodZpdZdbiEebobsAbsBbwUbsfbskbsfbiKdZhdZgbiKbPxbPwbilebpbssbtPbtQbildXxebqebrbGKaaaaafaaaaaaaafaaaaaaaaaaaabYQbYRcolcokdPAcrRdPDcombTqdPPconcrfbIEbIEbIEdQRbHkbYUbYUcoebYWbYUaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbYXbEMbEMbENbEObEObEPbEPbEPbEPbEQaafaafaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbSFbSGcnjcngcnhcnQbSFcodcoccnJcnIcnLcnKcnGcnGcnHcnEcnEcnDcnFbAkbYpbjqbjxcnCbwMcnzcnAcnBcnwcnxcnybfNbtVcnpcnqebDbfNbkcbqXdZidZldZldZjdZkbqXdXKdZmdZnbiEdZqdZodZpdZdbiEebobsAbsBbwUbsfbskbsfbiKdZhdZgbiKbPxbPwbilebpbssbtPbtQbildXxebqebrbGKaaaaafaaaaaaaafaaaaaaaaaaaabYQbYRcolcokdPAcrRdPDcombTqdPPconcrfbIEbIEbIEdQRbHkbYUbYUcoebYWbYUaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbYXbEMbEMbENbEObEObEPbEPbEPbEPbEQaafaafaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaafaafaafbTebTebTebTebTebTebTebTebTebTebTebTebTeaaaaaacmobSGbSGbSGbSGcmAbSFcmzcmybxlcmxcmwcmucmvcmucmtcmscmrcmqcmpbAkbLjcmFcmCcmDbgXbgXbgXbgXbgXbgXbgXbfNbfNcmBbfNbfNbfNbkcbqXbqXdYQdYRdYSdYTbqXdYUdYVdYWbiEbkgbiEbiEbiEbiEbwUdZKdZebwUbsfbskbsfbiKdYXdYYbiKbPxbPwbildZLbssbilbilbildXxeaoeaubGKaaaaafaaaaaaaafaaaaaaaaaaaabZPbZQcjWcmXcmWcmVcnacmZcmYcmYcnecndcnbdPHbIEcqebHkbYUbZTcmGbZVbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaabTecnScqacnSbTecnOcpYcnObTecnMcpZcnMbTeaaaaaacphbSGcpXbSGbSGcpRbSFcpTcpScpVcpUcpWdZJcpGcpFcpIcpHcpHcpJcpHcpKcpAdZIbjxcpCcpDcpucpucpEcpucpucoMcpvcpwcpxcpydZHcoMbkcbEadZPbMXbMXdZNdZOdZVdZWdZTdZUdZRdZSdZQdZwdZwdZMdWGbwUbwUbwUbsfbskbsfbiKbiKbiKbiKbPybPybilbssbssdZadYZbildXxanmanmbGKaaaaafaaaaaaaafaaaaaaaaaaaacaucavcqdcqcdPYcqgcqjcpmbTqbTqdQadPZbIEbIEbIEdQTbHkbYUcaycqbcaAbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalQaaaaaaaaaaaabTecnScnRcnSbTecnOcnPcnObTecnMcnNcnMbTeaaaaaacphbSGbSGbSGcpicoIcoHcoGcoFbxlcoLcoKcoJcoBcoAcozcoycoEcoDcoCbAkbYpcpdcpbcpccpgcpfcpecpfcoOcoWcoMcoNcoZcpacoXdZrcoMbkcbEadZtbMXbOsbMXdZsdZydZzdZAdZBdZudZvdZwdZxdZwdZFdWGdWJdYiebsebtdZDebtebsdYidYidYidYiebubilbilbilbilbilbildXxanmaafaafaafcbfaafaafaafaafaafaafaafcbgbXRcplcpkdPTdPSdPScpmbTqdPPdPVcrpbIEbIEbIEdQSbHkbYUcbjcpjcblbYUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa