Merge pull request #4838 from VOREStation/pol-emerboxes

Port Bay's survival boxes
This commit is contained in:
Anewbe
2018-02-17 10:05:39 -06:00
committed by GitHub
16 changed files with 94 additions and 66 deletions

View File

@@ -1,6 +1,7 @@
#define OUTFIT_HAS_JETPACK 1 #define OUTFIT_HAS_JETPACK 1
#define OUTFIT_HAS_BACKPACK 2 #define OUTFIT_HAS_BACKPACK 2
#define OUTFIT_EXTENDED_SURVIVAL 4 #define OUTFIT_EXTENDED_SURVIVAL 4
#define OUTFIT_COMPREHENSIVE_SURVIVAL 8
#define OUTFIT_JOB_NAME(job_name) ("Job - " + job_name) #define OUTFIT_JOB_NAME(job_name) ("Job - " + job_name)
#define OUTFIT_MILITARY(job_name) ("Military Uniform - " + job_name) #define OUTFIT_MILITARY(job_name) ("Military Uniform - " + job_name)

View File

@@ -146,7 +146,7 @@ var/list/outfits_decls_by_type_
if(r_hand) if(r_hand)
H.put_in_r_hand(new r_hand(H)) H.put_in_r_hand(new r_hand(H))
if(H.species) if(H.species)
H.species.equip_survival_gear(H, flags&OUTFIT_EXTENDED_SURVIVAL) H.species.equip_survival_gear(H, flags&OUTFIT_EXTENDED_SURVIVAL, flags&OUTFIT_COMPREHENSIVE_SURVIVAL)
/decl/hierarchy/outfit/proc/equip_id(mob/living/carbon/human/H, rank, assignment) /decl/hierarchy/outfit/proc/equip_id(mob/living/carbon/human/H, rank, assignment)
if(!id_slot || !id_type) if(!id_slot || !id_type)

View File

@@ -42,8 +42,8 @@ var/datum/antagonist/mercenary/mercs
if(player.backbag == 3) player.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(player), slot_back) if(player.backbag == 3) player.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel/norm(player), slot_back)
if(player.backbag == 4) player.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(player), slot_back) if(player.backbag == 4) player.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(player), slot_back)
if(player.backbag == 5) player.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(player), slot_back) if(player.backbag == 5) player.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/messenger(player), slot_back)
player.equip_to_slot_or_del(new /obj/item/weapon/storage/box/engineer(player.back), slot_in_backpack)
player.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/pill/cyanide(player), slot_in_backpack) player.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/pill/cyanide(player), slot_in_backpack)
player.mind.tcrystals = DEFAULT_TELECRYSTAL_AMOUNT player.mind.tcrystals = DEFAULT_TELECRYSTAL_AMOUNT
player.mind.accept_tcrystals = 1 player.mind.accept_tcrystals = 1

View File

@@ -52,20 +52,24 @@
new foldable(get_turf(src)) new foldable(get_turf(src))
qdel(src) qdel(src)
/obj/item/weapon/storage/box/survival/New() /obj/item/weapon/storage/box/survival
..() name = "emergency supply box"
new /obj/item/clothing/mask/breath(src) desc = "A survival box issued to crew members for use in emergency situations."
new /obj/item/weapon/tank/emergency/oxygen(src) starts_with = list(
/obj/item/clothing/mask/breath
)
/obj/item/weapon/storage/box/vox/New() /obj/item/weapon/storage/box/survival/comp
..() name = "emergency supply box"
new /obj/item/clothing/mask/breath(src) desc = "A comprehensive survival box issued to crew members for use in emergency situations. Contains additional supplies."
new /obj/item/weapon/tank/emergency/phoron(src) icon_state = "survival"
starts_with = list(
/obj/item/weapon/storage/box/engineer/New() /obj/item/weapon/reagent_containers/hypospray/autoinjector,
..() /obj/item/stack/medical/bruise_pack,
new /obj/item/clothing/mask/breath(src) /obj/item/device/flashlight/glowstick,
new /obj/item/weapon/tank/emergency/oxygen/engi(src) /obj/item/weapon/reagent_containers/food/snacks/candy/proteinbar,
/obj/item/clothing/mask/breath
)
/obj/item/weapon/storage/box/gloves /obj/item/weapon/storage/box/gloves
name = "box of latex gloves" name = "box of latex gloves"

View File

@@ -35,6 +35,7 @@
var/allow_quick_gather //Set this variable to allow the object to have the 'toggle mode' verb, which quickly collects all items from a tile. var/allow_quick_gather //Set this variable to allow the object to have the 'toggle mode' verb, which quickly collects all items from a tile.
var/collection_mode = 1; //0 = pick one at a time, 1 = pick all on tile var/collection_mode = 1; //0 = pick one at a time, 1 = pick all on tile
var/use_sound = "rustle" //sound played when used. null for no sound. var/use_sound = "rustle" //sound played when used. null for no sound.
var/list/starts_with //Things to spawn on the box on spawn
/obj/item/weapon/storage/Destroy() /obj/item/weapon/storage/Destroy()
close_all() close_all()
@@ -523,7 +524,8 @@
for(var/obj/item/I in contents) for(var/obj/item/I in contents)
remove_from_storage(I, T) remove_from_storage(I, T)
/obj/item/weapon/storage/New() /obj/item/weapon/storage/initialize()
. = ..()
if(allow_quick_empty) if(allow_quick_empty)
verbs += /obj/item/weapon/storage/verb/quick_empty verbs += /obj/item/weapon/storage/verb/quick_empty
@@ -535,12 +537,6 @@
else else
verbs -= /obj/item/weapon/storage/verb/toggle_gathering_mode verbs -= /obj/item/weapon/storage/verb/toggle_gathering_mode
spawn(5)
var/total_storage_space = 0
for(var/obj/item/I in contents)
total_storage_space += I.get_storage_cost()
max_storage_space = max(total_storage_space,max_storage_space) //Prevents spawned containers from being too small for their contents.
src.boxes = new /obj/screen/storage( ) src.boxes = new /obj/screen/storage( )
src.boxes.name = "storage" src.boxes.name = "storage"
src.boxes.master = src src.boxes.master = src
@@ -579,7 +575,21 @@
src.closer.icon_state = "storage_close" src.closer.icon_state = "storage_close"
src.closer.hud_layerise() src.closer.hud_layerise()
orient2hud() orient2hud()
return
if(LAZYLEN(starts_with))
for(var/newtype in starts_with)
var/count = starts_with[newtype] || 1 //Could have left it blank.
while(count)
count--
new newtype(src)
calibrate_size()
/obj/item/weapon/storage/proc/calibrate_size()
var/total_storage_space = 0
for(var/obj/item/I in contents)
total_storage_space += I.get_storage_cost()
max_storage_space = max(total_storage_space,max_storage_space) //Prevents spawned containers from being too small for their contents.
/obj/item/weapon/storage/emp_act(severity) /obj/item/weapon/storage/emp_act(severity)
if(!istype(src.loc, /mob/living)) if(!istype(src.loc, /mob/living))

View File

@@ -186,8 +186,8 @@
src.air_contents.adjust_gas("phoron", (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) src.air_contents.adjust_gas("phoron", (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
/obj/item/weapon/tank/emergency/phoron/double /obj/item/weapon/tank/emergency/phoron/double
name = "double emergency nitrogen tank" name = "double emergency phoron tank"
icon_state = "emergency_double_nitrogen" icon_state = "emergency_double_nitro"
gauge_icon = "indicator_emergency_double" gauge_icon = "indicator_emergency_double"
volume = 10 volume = 10

View File

@@ -641,7 +641,6 @@ something, make sure it's not in one of the other lists.*/
prob(2);/obj/item/weapon/storage/box/sinpockets, prob(2);/obj/item/weapon/storage/box/sinpockets,
prob(1);/obj/item/weapon/storage/box/cups, prob(1);/obj/item/weapon/storage/box/cups,
prob(3);/obj/item/weapon/storage/box/mousetraps, prob(3);/obj/item/weapon/storage/box/mousetraps,
prob(3);/obj/item/weapon/storage/box/engineer,
prob(3);/obj/item/weapon/storage/wallet, prob(3);/obj/item/weapon/storage/wallet,
prob(1);/obj/item/device/paicard, prob(1);/obj/item/device/paicard,
prob(2);/obj/item/clothing/shoes/galoshes, prob(2);/obj/item/clothing/shoes/galoshes,
@@ -811,7 +810,6 @@ something, make sure it's not in one of the other lists.*/
prob(5);/obj/item/weapon/storage/backpack/messenger/engi, prob(5);/obj/item/weapon/storage/backpack/messenger/engi,
prob(3);/obj/item/weapon/storage/backpack/dufflebag/eng, prob(3);/obj/item/weapon/storage/backpack/dufflebag/eng,
prob(5);/obj/item/weapon/storage/box, prob(5);/obj/item/weapon/storage/box,
prob(3);/obj/item/weapon/storage/box/engineer,
prob(2);/obj/item/weapon/storage/belt/utility/full, prob(2);/obj/item/weapon/storage/belt/utility/full,
prob(3);/obj/item/weapon/storage/belt/utility, prob(3);/obj/item/weapon/storage/belt/utility,
prob(3);/obj/item/clothing/head/beret/engineering, prob(3);/obj/item/clothing/head/beret/engineering,

View File

@@ -278,7 +278,6 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
/obj/item/weapon/storage/box/donut, /obj/item/weapon/storage/box/donut,
/obj/item/weapon/storage/box/donut/empty, /obj/item/weapon/storage/box/donut/empty,
/obj/item/weapon/storage/box/evidence, /obj/item/weapon/storage/box/evidence,
/obj/item/weapon/storage/box/engineer,
/obj/item/weapon/storage/box/lights/mixed, /obj/item/weapon/storage/box/lights/mixed,
/obj/item/weapon/storage/box/lights/tubes, /obj/item/weapon/storage/box/lights/tubes,
/obj/item/weapon/storage/box/lights/bulbs, /obj/item/weapon/storage/box/lights/bulbs,

View File

@@ -83,15 +83,15 @@
var/datum/language/species_language = all_languages[default_language] var/datum/language/species_language = all_languages[default_language]
return species_language.get_random_name(gender) return species_language.get_random_name(gender)
/datum/species/vox/equip_survival_gear(var/mob/living/carbon/human/H) /datum/species/vox/equip_survival_gear(var/mob/living/carbon/human/H, var/extendedtank = 0,var/comprehensive = 0)
. = ..()
H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), slot_wear_mask) H.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(H), slot_wear_mask)
if(H.backbag == 1) if(H.backbag == 1)
H.equip_to_slot_or_del(new /obj/item/weapon/tank/vox(H), slot_back) H.equip_to_slot_or_del(new /obj/item/weapon/tank/vox(H), slot_back)
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/vox(H), slot_r_hand)
H.internal = H.back H.internal = H.back
else else
H.equip_to_slot_or_del(new /obj/item/weapon/tank/vox(H), slot_r_hand) H.equip_to_slot_or_del(new /obj/item/weapon/tank/vox(H), slot_r_hand)
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/vox(H.back), slot_in_backpack)
H.internal = H.r_hand H.internal = H.r_hand
H.internal = locate(/obj/item/weapon/tank) in H.contents H.internal = locate(/obj/item/weapon/tank) in H.contents
if(istype(H.internal,/obj/item/weapon/tank) && H.internals) if(istype(H.internal,/obj/item/weapon/tank) && H.internals)

View File

@@ -233,20 +233,39 @@
/datum/species/proc/sanitize_name(var/name, var/robot = 0) /datum/species/proc/sanitize_name(var/name, var/robot = 0)
return sanitizeName(name, MAX_NAME_LEN, robot) return sanitizeName(name, MAX_NAME_LEN, robot)
/datum/species/proc/equip_survival_gear(var/mob/living/carbon/human/H,var/extendedtank = 1) /datum/species/proc/equip_survival_gear(var/mob/living/carbon/human/H,var/extendedtank = 0,var/comprehensive = 0)
var/boxtype = /obj/item/weapon/storage/box/survival //Default survival box var/boxtype = /obj/item/weapon/storage/box/survival //Default survival box
if(H.isSynthetic()) if(H.isSynthetic())
boxtype = /obj/item/weapon/storage/box //Empty box for synths boxtype = /obj/item/weapon/storage/box //Empty box for synths
else if(extendedtank) //Special box for engineers
boxtype = /obj/item/weapon/storage/box/engineer //Special box for engineers if(comprehensive)
boxtype = /obj/item/weapon/storage/box/survival/comp
//Create the box
var/obj/item/weapon/storage/box/box = new boxtype(H)
//Create a tank (if such a thing exists for this species)
var/tanktext = "/obj/item/weapon/tank/emergency/" + "[breath_type]"
var/obj/item/weapon/tank/emergency/tankpath //Will force someone to come look here if they ever alter this path.
if(extendedtank)
tankpath = text2path(tanktext + "/engi")
if(!tankpath) //Is it just that there's no /engi?
tankpath = text2path(tanktext + "/double")
if(!tankpath)
tankpath = text2path(tanktext)
if(tankpath)
new tankpath(box)
box.calibrate_size()
if(H.backbag == 1) if(H.backbag == 1)
if (extendedtank) H.equip_to_slot_or_del(new boxtype(H), slot_r_hand) H.equip_to_slot_or_del(box, slot_r_hand)
else H.equip_to_slot_or_del(new boxtype(H), slot_r_hand)
else else
if (extendedtank) H.equip_to_slot_or_del(new boxtype(H.back), slot_in_backpack) H.equip_to_slot_or_del(box, slot_in_backpack)
else H.equip_to_slot_or_del(new boxtype(H.back), slot_in_backpack)
/datum/species/proc/create_organs(var/mob/living/carbon/human/H) //Handles creation of mob organs. /datum/species/proc/create_organs(var/mob/living/carbon/human/H) //Handles creation of mob organs.

View File

@@ -15,8 +15,6 @@
flags = OPENCONTAINER flags = OPENCONTAINER
slot_flags = SLOT_BELT slot_flags = SLOT_BELT
preserve_item = 1 preserve_item = 1
var/reusable = 1
var/used = 0
var/filled = 0 var/filled = 0
var/list/filled_reagents = list() var/list/filled_reagents = list()
@@ -64,9 +62,6 @@
admin_inject_log(user, M, src, contained, trans) admin_inject_log(user, M, src, contained, trans)
to_chat(user, "<span class='notice'>[trans] units injected. [reagents.total_volume] units remaining in \the [src].</span>") to_chat(user, "<span class='notice'>[trans] units injected. [reagents.total_volume] units remaining in \the [src].</span>")
if(!reusable && !used)
used = !used
return return
//A vial-loaded hypospray. Cartridge-based! //A vial-loaded hypospray. Cartridge-based!
/obj/item/weapon/reagent_containers/hypospray/vial /obj/item/weapon/reagent_containers/hypospray/vial
@@ -122,11 +117,10 @@
/obj/item/weapon/reagent_containers/hypospray/autoinjector /obj/item/weapon/reagent_containers/hypospray/autoinjector
name = "autoinjector" name = "autoinjector"
desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel." desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel."
icon_state = "autoinjector" icon_state = "blue"
item_state = "autoinjector" item_state = "blue"
amount_per_transfer_from_this = 5 amount_per_transfer_from_this = 5
volume = 5 volume = 5
reusable = 0
filled = 1 filled = 1
filled_reagents = list("inaprovaline" = 5) filled_reagents = list("inaprovaline" = 5)
preserve_item = 0 preserve_item = 0
@@ -139,33 +133,35 @@
filled = 0 filled = 0
filled_reagents = list() filled_reagents = list()
/obj/item/weapon/reagent_containers/hypospray/autoinjector/used /obj/item/weapon/reagent_containers/hypospray/autoinjector/used/New()
used = 1 ..()
filled_reagents = list() flags &= ~OPENCONTAINER
icon_state = "[initial(icon_state)]0"
/obj/item/weapon/reagent_containers/hypospray/autoinjector/attack(mob/M as mob, mob/user as mob) /obj/item/weapon/reagent_containers/hypospray/autoinjector/attack(mob/M as mob, mob/user as mob)
..() ..()
if(used) //Prevents autoinjectors to be refilled. if(reagents.total_volume <= 0) //Prevents autoinjectors to be refilled.
flags &= ~OPENCONTAINER flags &= ~OPENCONTAINER
update_icon() update_icon()
return return
/obj/item/weapon/reagent_containers/hypospray/autoinjector/update_icon() /obj/item/weapon/reagent_containers/hypospray/autoinjector/update_icon()
if(!used && reagents.reagent_list.len) if(reagents.total_volume > 0)
icon_state = "[initial(icon_state)]1" icon_state = "[initial(icon_state)]1"
else if(used)
icon_state = "[initial(icon_state)]0"
else else
icon_state = "[initial(icon_state)]2" icon_state = "[initial(icon_state)]0"
/obj/item/weapon/reagent_containers/hypospray/autoinjector/examine(mob/user) /obj/item/weapon/reagent_containers/hypospray/autoinjector/examine(mob/user)
..(user) . = ..(user)
if(reagents && reagents.reagent_list.len) if(reagents && reagents.reagent_list.len)
user << "<span class='notice'>It is currently loaded.</span>" to_chat(user, "<span class='notice'>It is currently loaded.</span>")
else if(used)
user << "<span class='notice'>It is spent.</span>"
else else
user << "<span class='notice'>It is currently unloaded.</span>" to_chat(user, "<span class='notice'>It is spent.</span>")
/obj/item/weapon/reagent_containers/hypospray/autoinjector/detox
name = "autoinjector (antitox)"
icon_state = "green"
filled_reagents = list("anti_toxin" = 5)
/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting
name = "clotting agent" name = "clotting agent"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@@ -16,6 +16,7 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go
pda_type = /obj/item/device/pda/cargo // Brown looks more rugged pda_type = /obj/item/device/pda/cargo // Brown looks more rugged
id_type = /obj/item/weapon/card/id/civilian/explorer id_type = /obj/item/weapon/card/id/civilian/explorer
id_pda_assignment = "Explorer" id_pda_assignment = "Explorer"
flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL
/decl/hierarchy/outfit/job/explorer2/technician /decl/hierarchy/outfit/job/explorer2/technician
name = OUTFIT_JOB_NAME("Explorer Technician") name = OUTFIT_JOB_NAME("Explorer Technician")
@@ -42,6 +43,7 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go
pda_type = /obj/item/device/pda/cargo // Brown looks more rugged pda_type = /obj/item/device/pda/cargo // Brown looks more rugged
id_type = /obj/item/weapon/card/id/civilian/pilot id_type = /obj/item/weapon/card/id/civilian/pilot
id_pda_assignment = "Pilot" id_pda_assignment = "Pilot"
flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL
/decl/hierarchy/outfit/job/medical/sar /decl/hierarchy/outfit/job/medical/sar
name = OUTFIT_JOB_NAME("Search and Rescue") name = OUTFIT_JOB_NAME("Search and Rescue")
@@ -54,4 +56,4 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go
pda_slot = slot_l_store pda_slot = slot_l_store
id_type = /obj/item/weapon/card/id/medical/sar id_type = /obj/item/weapon/card/id/medical/sar
id_pda_assignment = "Search and Rescue" id_pda_assignment = "Search and Rescue"
flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL|OUTFIT_COMPREHENSIVE_SURVIVAL

View File

@@ -1921,7 +1921,7 @@
"KW" = (/obj/machinery/door/airlock{name = "Restroom"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_station) "KW" = (/obj/machinery/door/airlock{name = "Restroom"},/turf/unsimulated/floor{icon_state = "freezerfloor"; dir = 2},/area/syndicate_station)
"KX" = (/obj/effect/wingrille_spawn/reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station) "KX" = (/obj/effect/wingrille_spawn/reinforced,/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/skipjack_station)
"KY" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/skipjack_station) "KY" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/unsimulated/floor{tag = "icon-cult"; name = "plating"; icon_state = "cult"},/area/skipjack_station)
"KZ" = (/obj/item/weapon/storage/box/vox,/turf/unsimulated/floor{tag = "icon-asteroid"; icon_state = "asteroid"},/area/skipjack_station) "KZ" = (/obj/item/weapon/storage/box,/turf/unsimulated/floor{tag = "icon-asteroid"; icon_state = "asteroid"},/area/skipjack_station)
"La" = (/obj/item/clothing/mask/gas/swat{desc = "A close-fitting mask clearly not made for a human face."; name = "\improper alien mask"},/turf/unsimulated/floor{tag = "icon-asteroid"; icon_state = "asteroid"},/area/skipjack_station) "La" = (/obj/item/clothing/mask/gas/swat{desc = "A close-fitting mask clearly not made for a human face."; name = "\improper alien mask"},/turf/unsimulated/floor{tag = "icon-asteroid"; icon_state = "asteroid"},/area/skipjack_station)
"Lb" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/head/helmet/space/void/merc,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Lb" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/merc,/obj/item/clothing/mask/gas/syndicate,/obj/item/clothing/head/helmet/space/void/merc,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station)
"Lc" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/green,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/green,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station) "Lc" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/green,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/green,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station)
@@ -2107,6 +2107,7 @@
"OA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "OA" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/skipjack_station/start)
"OB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "OB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/skipjack_station/start)
"OC" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/shuttle/floor/skipjack,/area/skipjack_station/start) "OC" = (/obj/machinery/door/airlock/hatch{req_access = list(150)},/turf/simulated/shuttle/floor/skipjack,/area/skipjack_station/start)
"OD" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/skipjack_station/start)
"OE" = (/obj/item/robot_parts/head,/turf/simulated/shuttle/plating,/area/skipjack_station/start) "OE" = (/obj/item/robot_parts/head,/turf/simulated/shuttle/plating,/area/skipjack_station/start)
"OF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/syndicate_station/start) "OF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 8; icon_state = "shutter0"; id = "syndieshutters"; name = "Blast Shutters"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/shuttle/plating,/area/syndicate_station/start)
"OG" = (/obj/structure/flight_right{tag = "icon-right (WEST)"; icon_state = "right"; dir = 8},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start) "OG" = (/obj/structure/flight_right{tag = "icon-right (WEST)"; icon_state = "right"; dir = 8},/turf/simulated/shuttle/floor/voidcraft,/area/syndicate_station/start)
@@ -2190,7 +2191,6 @@
"Qg" = (/obj/machinery/atmospherics/portables_connector{tag = "icon-map_connector (EAST)"; icon_state = "map_connector"; dir = 4},/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "Qg" = (/obj/machinery/atmospherics/portables_connector{tag = "icon-map_connector (EAST)"; icon_state = "map_connector"; dir = 4},/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start)
"Qh" = (/obj/structure/table/steel,/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/regular,/obj/machinery/atmospherics/pipe/manifold/visible,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "Qh" = (/obj/structure/table/steel,/obj/item/weapon/storage/firstaid/o2{pixel_x = 3; pixel_y = 3},/obj/item/weapon/storage/firstaid/regular,/obj/machinery/atmospherics/pipe/manifold/visible,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/adv,/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start)
"Qi" = (/obj/machinery/atmospherics/unary/freezer{tag = "icon-freezer_0 (WEST)"; icon_state = "freezer_0"; dir = 8},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start) "Qi" = (/obj/machinery/atmospherics/unary/freezer{tag = "icon-freezer_0 (WEST)"; icon_state = "freezer_0"; dir = 8},/turf/simulated/shuttle/floor/voidcraft/light,/area/syndicate_station/start)
"Qj" = (/turf/space,/obj/structure/shuttle/engine/propulsion,/turf/simulated/shuttle/plating/airless/carry,/area/skipjack_station/start)
"Qk" = (/obj/structure/table/standard,/obj/item/weapon/handcuffs/legcuffs,/turf/simulated/shuttle/floor/black,/area/skipjack_station/start) "Qk" = (/obj/structure/table/standard,/obj/item/weapon/handcuffs/legcuffs,/turf/simulated/shuttle/floor/black,/area/skipjack_station/start)
"Ql" = (/obj/structure/table/standard,/obj/item/weapon/deck/cards,/turf/simulated/shuttle/floor/black,/area/skipjack_station/start) "Ql" = (/obj/structure/table/standard,/obj/item/weapon/deck/cards,/turf/simulated/shuttle/floor/black,/area/skipjack_station/start)
"Qm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/skipjack_station/start) "Qm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{id = "skipjackshutters"; name = "Skipjack Blast Shielding"},/turf/simulated/shuttle/plating,/area/skipjack_station/start)
@@ -2240,7 +2240,7 @@
"Re" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/space) "Re" = (/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/space)
"Rf" = (/turf/unsimulated/wall{icon = 'icons/misc/title.dmi'; icon_state = "title"},/area/space) "Rf" = (/turf/unsimulated/wall{icon = 'icons/misc/title.dmi'; icon_state = "title"},/area/space)
"Rg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/simulated/mineral,/area/space) "Rg" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/simulated/mineral,/area/space)
(1,1,1) = {" (1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -2480,13 +2480,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaPkOXOcOcMtPlMtMtMtPmPnPoMtMtMtPpMtPqPrPsPkaaaaaaaaaaaaaaIdIdabIdIdIdaaaaaaaaaaaaPtPuMBPvMpMBMBOnMpOoOpOpOqMpMpMpMpOrMpPwMpMSOrMpMpPxPxMpPyPzPAMpMpaaaaaaaaaaaaaaIdIdIdabaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaPkOXOcOcMtPlMtMtMtPmPnPoMtMtMtPpMtPqPrPsPkaaaaaaaaaaaaaaIdIdabIdIdIdaaaaaaaaaaaaPtPuMBPvMpMBMBOnMpOoOpOpOqMpMpMpMpOrMpPwMpMSOrMpMpPxPxMpPyPzPAMpMpaaaaaaaaaaaaaaIdIdIdabaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaMtMtPBPCPCMtPDPEPDPFPGPHPIPFPJPKPLMtPMPNPOMtMtaaaaaaaaaaaaIdIdabIdIdaaaaaaaaaaaaaaMpMpPPPQMpMBMBNPMpPRMBMBPRMpPSPTMpMBMpMpMpPUOpPVOpPWPXMpMpMpMpMpaaaaaaaaaaaaaaaaIdIdIdabaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaMtMtPBPCPCMtPDPEPDPFPGPHPIPFPJPKPLMtPMPNPOMtMtaaaaaaaaaaaaIdIdabIdIdaaaaaaaaaaaaaaMpMpPPPQMpMBMBNPMpPRMBMBPRMpPSPTMpMBMpMpMpPUOpPVOpPWPXMpMpMpMpMpaaaaaaaaaaaaaaaaIdIdIdabaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaMtMtPYPYMtMtPDPDPDPZPGQaPIPZPLPLQbMtMtPYPYMtMtaaaaaaaaaaaaIdIdabIdIdaaaaaaaaaaaaaaaaMpMpMpMpNyMBMBMpMpMpQcMpMpNZNZQdMBNPMpQeQfOpOpQgQhQiMpMDMEMFaaaaaaaaaaaaaaaaaaaaIdIdabaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaMtMtPYPYMtMtPDPDPDPZPGQaPIPZPLPLQbMtMtPYPYMtMtaaaaaaaaaaaaIdIdabIdIdaaaaaaaaaaaaaaaaMpMpMpMpNyMBMBMpMpMpQcMpMpNZNZQdMBNPMpQeQfOpOpQgQhQiMpMDMEMFaaaaaaaaaaaaaaaaaaaaIdIdabaaaa
aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaMtQjQjMtMtQkQlPDQmQnNtQnQmPLPLQoMtMtQjQjMtaaaaaaaaaaaaaaIdIdabIdaaaaaaaaaaaaaaaaaaaaaaMpMpMpMBMBMBMpNENZMpQpNZNZQqQrQsMpOpOpOpOpQtQuQvMpMDMEMXaaaaaaaaaaaaaaaaaaaaIdIdabaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaMtODODMtMtQkQlPDQmQnNtQnQmPLPLQoMtMtODODMtaaaaaaaaaaaaaaIdIdabIdaaaaaaaaaaaaaaaaaaaaaaMpMpMpMBMBMBMpNENZMpQpNZNZQqQrQsMpOpOpOpOpQtQuQvMpMDMEMXaaaaaaaaaaaaaaaaaaaaIdIdabaaaa
aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaaaaaaaaaMtPDQwPDMtMtQxMtMtQyPLQzMtaaaaaaaaaaaaaaaaaaaaIdIdIdabIdaaaaaaaaaaaaaaaaaaaaaaaaaaMpMpMpMpMpQAQBMpMpMSMpMpQCQDMpQEOpOpOpQFOpQGMpMDMEMXaaaaaaaaaaaaaaaaaaaaIdIdabaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaaaaaaaaaMtPDQwPDMtMtQxMtMtQyPLQzMtaaaaaaaaaaaaaaaaaaaaIdIdIdabIdaaaaaaaaaaaaaaaaaaaaaaaaaaMpMpMpMpMpQAQBMpMpMSMpMpQCQDMpQEOpOpOpQFOpQGMpMDMEMXaaaaaaaaaaaaaaaaaaaaIdIdabaaaa
aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaaaaaaaaaMtPDPDQHMtQIQJQKMtPLPLQLMtaaaaaaaaaaaaaaaaaaaaIdIdIdabIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMpMpMpMpaaaaaaMpMpMpMpQMQNOpQOQPQQQRMpQSMENGaaaaaaaaaaaaaaaaaaBrBrIdabaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaaaaaaaaaMtPDPDQHMtQIQJQKMtPLPLQLMtaaaaaaaaaaaaaaaaaaaaIdIdIdabIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMpMpMpMpaaaaaaMpMpMpMpQMQNOpQOQPQQQRMpQSMENGaaaaaaaaaaaaaaaaaaBrBrIdabaaaa
aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaaaaaaaaaMtMtQTPDMtQUQJQVMtQWQXMtMtaaaaaaaaaaaaaaaaaaaaIdIdIdabIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMpMpQYQZRaMpMpMpMpMpMpMpaaaaaaaaaaaaaaaaBrBraaIdabaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaaaaaaaaaMtMtQTPDMtQUQJQVMtQWQXMtMtaaaaaaaaaaaaaaaaaaaaIdIdIdabIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMpMpQYQZRaMpMpMpMpMpMpMpaaaaaaaaaaaaaaaaBrBraaIdabaaaa
aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaaaaaaaaaMtMtMtMtMtRbRcRdMtMtMtMtMtaaaaaaaaaaaaaaaaaaaaIdIdIdabIdBrBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBrBraaaaIdOxaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaaaaaaaaaMtMtMtMtMtRbRcRdMtMtMtMtMtaaaaaaaaaaaaaaaaaaaaIdIdIdabIdBrBraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBrBraaaaIdOxaaaa
aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaaaaaaaaaaaaaMtMtPYPYPYPYPYMtMtaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdabIdaaBrBraaaaIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBrBraaaaaaaaONaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaaaaaaaaaaaaaaaaaaaaaaaMtMtPYPYPYPYPYMtMtaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdabIdaaBrBraaaaIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBrBraaaaaaaaONaaaa
aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaIdIdIdaaaaaaaaaaaaaaaaaaMtQjQjQjQjQjMtaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdabIdaaaaBrBrIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdIdaaaaaaaaaaONaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaaaIdIdIdaaaaaaaaaaaaaaaaaaMtODODODODODMtaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdabIdaaaaBrBrIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdIdaaaaaaaaaaONaaaa
aaaaabababababababReabababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdabIdaaaaaaIdIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdIdIdIdaaaaaaaaONaaaa aaaaabababababababReabababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdabIdaaaaaaIdIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdIdIdIdaaaaaaaaONaaaa
aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdabIdaaaaaaIdIdIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdIdIdIdIdaaaaaaaaaaONaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdabIdaaaaaaIdIdIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdIdIdIdIdaaaaaaaaaaONaaaa
aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdabIdaaaaaaIdIdIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdIdIdIdIdIdaaaaaaaaaaONaaaa aaaaabababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaONaaaaIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdabIdaaaaaaIdIdIdIdIdIdIdIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIdIdIdIdIdIdIdIdIdaaaaaaaaaaONaaaa
@@ -2498,4 +2498,3 @@ aaaaRfababababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"} "}