diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index 8497680bd2d..ea40af24232 100644
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -403,9 +403,9 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
/datum/supply_packs/engineering/powergamermitts
name = "Insulated Gloves Crate"
- contains = list(/obj/item/clothing/gloves/yellow,
- /obj/item/clothing/gloves/yellow,
- /obj/item/clothing/gloves/yellow)
+ contains = list(/obj/item/clothing/gloves/color/yellow,
+ /obj/item/clothing/gloves/color/yellow,
+ /obj/item/clothing/gloves/color/yellow)
cost = 20 //Made of pure-grade bullshittinium
containername = "insulated gloves crate"
diff --git a/code/defines/obj.dm b/code/defines/obj.dm
index 5eb6c3b54fc..b0e8290ffee 100644
--- a/code/defines/obj.dm
+++ b/code/defines/obj.dm
@@ -13,7 +13,7 @@
/obj/structure/ninjatele
name = "Long-Distance Teleportation Console"
- desc = "A console used to send a Spider Clan agent long distances rapidly."
+ desc = "A console used to send a Spider Clan operative long distances rapidly."
icon = 'icons/obj/ninjaobjects.dmi'
icon_state = "teleconsole"
anchored = 1
diff --git a/code/game/gamemodes/setupgame.dm b/code/game/gamemodes/setupgame.dm
index 585d50ad62d..cfbc8491fc5 100644
--- a/code/game/gamemodes/setupgame.dm
+++ b/code/game/gamemodes/setupgame.dm
@@ -170,7 +170,7 @@
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(M), slot_shoes)
// M.equip_to_slot_or_del(new /obj/item/weapon/storage/toolbox/mechanical(M), slot_l_hand)
- M.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/yellow(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/device/t_scanner(M), slot_r_store)
//M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(M), slot_back)
@@ -193,7 +193,7 @@
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space(M), slot_wear_suit)
// M.equip_to_slot_or_del(new /obj/item/weapon/storage/toolbox/mechanical(M), slot_l_hand)
- M.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/yellow(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/device/t_scanner(M), slot_r_store)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(M), slot_back)
M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas(M), slot_wear_mask)
@@ -215,7 +215,7 @@
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chief_engineer(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(M), slot_shoes)
// M.equip_to_slot_or_del(new /obj/item/weapon/storage/toolbox/mechanical(M), slot_l_hand)
- M.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(M), slot_gloves)
+ M.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/yellow(M), slot_gloves)
M.equip_to_slot_or_del(new /obj/item/device/t_scanner(M), slot_r_store)
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(M), slot_back)
if (prob(50))
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 66c26a8b654..7eaa6315995 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -207,7 +207,7 @@
/*if(istype(H)) //Let's check if the guy's wearing electrically insulated gloves
if(H.gloves)
var/obj/item/clothing/gloves/G = H.gloves
- if(istype(G,/obj/item/clothing/gloves/yellow))
+ if(istype(G,/obj/item/clothing/gloves/color/yellow))
protected = 1
if(!protected)
@@ -233,7 +233,7 @@
/*if(istype(H)) //Let's check if the guy's wearing electrically insulated gloves
if(H.gloves)
var/obj/item/clothing/gloves/G = H.gloves
- if(istype(G,/obj/item/clothing/gloves/yellow) )
+ if(istype(G,/obj/item/clothing/gloves/color/yellow) )
protected = 1
if(!protected)
@@ -730,7 +730,7 @@
return
..()
-
+
/obj/machinery/suit_cycler/emag_act(user as mob)
if(emagged)
user << "\red The cycler has already been subverted."
diff --git a/code/game/objects/items/weapons/power_cells.dm b/code/game/objects/items/weapons/power_cells.dm
index 7424f685ef8..1756935eacb 100644
--- a/code/game/objects/items/weapons/power_cells.dm
+++ b/code/game/objects/items/weapons/power_cells.dm
@@ -128,6 +128,13 @@
name = "pulse pistol power cell"
maxcharge = 1600
+/obj/item/weapon/stock_parts/cell/ninja
+ name = "spider-clan power cell"
+ desc = "A standard ninja-suit power cell."
+ maxcharge = 10000
+ rating = 3
+ g_amt = 60
+
/obj/item/weapon/stock_parts/cell/emproof
name = "\improper EMP-proof cell"
desc = "An EMP-proof cell."
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
index 1fbd663ef9e..a5a082b0364 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
@@ -21,7 +21,7 @@
new /obj/item/clothing/under/rank/chief_engineer(src)
new /obj/item/clothing/head/hardhat/white(src)
new /obj/item/clothing/glasses/welding/superior(src)
- new /obj/item/clothing/gloves/yellow(src)
+ new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/weapon/cartridge/ce(src)
new /obj/item/device/radio/headset/heads/ce(src)
@@ -49,8 +49,8 @@
New()
..()
sleep(2)
- new /obj/item/clothing/gloves/yellow(src)
- new /obj/item/clothing/gloves/yellow(src)
+ new /obj/item/clothing/gloves/color/yellow(src)
+ new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
new /obj/item/weapon/storage/toolbox/electrical(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
index 4b4bd46a5ac..65581b09232 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
@@ -135,7 +135,7 @@
if(prob(20))
new /obj/item/device/multitool(src)
if(prob(5))
- new /obj/item/clothing/gloves/yellow(src)
+ new /obj/item/clothing/gloves/color/yellow(src)
if(prob(40))
new /obj/item/clothing/head/hardhat(src)
diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index 61dbe8e5e5c..38a08c66b45 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -416,6 +416,7 @@
for(var/mob/O in viewers(user, 4))
O.show_message("\blue The [src] was sliced apart by [user]!", 1, "\red You hear [src] coming apart.", 2)
destroy()
+ return
if(!(W.flags & ABSTRACT))
if(user.drop_item())
@@ -427,7 +428,7 @@
//Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf)
W.pixel_x = Clamp(text2num(click_params["icon-x"]) - 16, -(world.icon_size/2), world.icon_size/2)
W.pixel_y = Clamp(text2num(click_params["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2)
-
+
return
/obj/structure/table/proc/straight_table_check(var/direction)
diff --git a/code/modules/admin/verbs/vox_raiders.dm b/code/modules/admin/verbs/vox_raiders.dm
index e8f39bf6b3a..f53f3915bb1 100644
--- a/code/modules/admin/verbs/vox_raiders.dm
+++ b/code/modules/admin/verbs/vox_raiders.dm
@@ -8,7 +8,7 @@ var/global/vox_tick = 1
equip_to_slot_or_del(new /obj/item/clothing/under/vox/vox_robes(src), slot_w_uniform)
equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/vox(src), slot_shoes) // REPLACE THESE WITH CODED VOX ALTERNATIVES.
- equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow/vox(src), slot_gloves) // AS ABOVE.
+ equip_to_slot_or_del(new /obj/item/clothing/gloves/color/yellow/vox(src), slot_gloves) // AS ABOVE.
switch(vox_tick)
if(1) // Vox raider!
diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm
index 97521412795..0ede8d0ba98 100644
--- a/code/modules/awaymissions/corpse.dm
+++ b/code/modules/awaymissions/corpse.dm
@@ -162,7 +162,7 @@
corpseback = /obj/item/weapon/storage/backpack/industrial
corpseshoes = /obj/item/clothing/shoes/orange
corpsebelt = /obj/item/weapon/storage/belt/utility/full
- corpsegloves = /obj/item/clothing/gloves/yellow
+ corpsegloves = /obj/item/clothing/gloves/color/yellow
corpsehelmet = /obj/item/clothing/head/hardhat
corpseid = 1
corpseidjob = "Station Engineer"
diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index 7f592a2405b..77e31587c41 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -8,6 +8,7 @@
//var/darkness_view = 0//Base human is 2
//var/invisa_view = 0
var/prescription = 0
+ var/see_darkness = 1
/obj/item/clothing/glasses/meson
name = "Optical Meson Scanner"
@@ -20,13 +21,14 @@
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/eyes.dmi'
)
-
+
/obj/item/clothing/glasses/meson/night
name = "Night Vision Optical Meson Scanner"
desc = "An Optical Meson Scanner fitted with an amplified visible light spectrum overlay, providing greater visual clarity in darkness."
icon_state = "nvgmeson"
item_state = "glasses"
darkness_view = 8
+ see_darkness = 0
/obj/item/clothing/glasses/meson/prescription
name = "prescription mesons"
@@ -49,7 +51,7 @@
desc = "nothing"
icon_state = "purple"
item_state = "glasses"
-
+
/obj/item/clothing/glasses/janitor
name = "Janitorial Goggles"
desc = "These'll keep the soap out of your eyes."
@@ -63,6 +65,7 @@
item_state = "glasses"
origin_tech = "magnets=2"
darkness_view = 8
+ see_darkness = 0
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/eyes.dmi'
diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm
index 47d9875c2a9..9a52deadebc 100644
--- a/code/modules/clothing/glasses/hud.dm
+++ b/code/modules/clothing/glasses/hud.dm
@@ -26,6 +26,7 @@
icon_state = "healthhudnight"
item_state = "glasses"
darkness_view = 8
+ see_darkness = 0
/obj/item/clothing/glasses/hud/health/process_hud(var/mob/M)
process_med_hud(M,1)
@@ -53,6 +54,7 @@
desc = "An advanced heads-up display which provides id data and vision in complete darkness."
icon_state = "securityhudnight"
darkness_view = 8
+ see_darkness = 0
/obj/item/clothing/glasses/hud/security/process_hud(var/mob/M)
diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm
index d367671e34f..8416945287f 100644
--- a/code/modules/clothing/spacesuits/alien.dm
+++ b/code/modules/clothing/spacesuits/alien.dm
@@ -173,7 +173,7 @@
_color = "vox-casual-2"
item_state = "vox-casual-2"
-/obj/item/clothing/gloves/yellow/vox
+/obj/item/clothing/gloves/color/yellow/vox
desc = "These bizarre gauntlets seem to be fitted for... bird claws?"
name = "insulated gauntlets"
icon_state = "gloves-vox"
diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm
index 446d7ef13ec..49972acd934 100644
--- a/code/modules/clothing/spacesuits/plasmamen.dm
+++ b/code/modules/clothing/spacesuits/plasmamen.dm
@@ -3,17 +3,15 @@
/obj/item/clothing/suit/space/eva/plasmaman
name = "plasmaman suit"
desc = "A special containment suit designed to protect a plasmaman's volatile body from outside exposure and quickly extinguish it in emergencies."
- w_class = 3
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_casing,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank)
- slowdown = 2
- armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 0)
+ slowdown = 0
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20)
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
species_restricted = list("Plasmaman")
flags = STOPSPRESSUREDMAGE | PLASMAGUARD
- pressure_resistance = 40 * ONE_ATMOSPHERE //we can't change, so some resistance is needed
icon_state = "plasmaman_suit"
item_state = "plasmaman_suit"
@@ -41,7 +39,6 @@
name = "plasmaman helmet"
desc = "A special containment helmet designed to protect a plasmaman's volatile body from outside exposure and quickly extinguish it in emergencies."
flags = STOPSPRESSUREDMAGE | PLASMAGUARD
- pressure_resistance = 40 * ONE_ATMOSPHERE
species_restricted = list("Plasmaman")
icon_state = "plasmaman_helmet0"
@@ -64,6 +61,7 @@
else user.SetLuminosity(user.luminosity - brightness_on)
user.update_inv_head()
+
/obj/item/clothing/head/helmet/space/eva/plasmaman/pickup(mob/user)
if(on)
user.SetLuminosity(user.luminosity + brightness_on)
@@ -82,7 +80,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/assistant
name = "plasmaman assistant suit"
icon_state = "plasmamanAssistant_suit"
- slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/assistant
name = "plasmaman assistant helmet"
@@ -92,29 +89,26 @@
/obj/item/clothing/suit/space/eva/plasmaman/atmostech
name = "plasmaman atmospheric suit"
icon_state = "plasmamanAtmos_suit"
- armor = list(melee = 20, bullet = 0, laser = 0,energy = 0, bomb = 25, bio = 100, rad = 0)
+ armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 0)
max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE
/obj/item/clothing/head/helmet/space/eva/plasmaman/atmostech
name = "plasmaman atmospheric helmet"
icon_state = "plasmamanAtmos_helmet0"
base_state = "plasmamanAtmos_helmet"
- armor = list(melee = 20, bullet = 0, laser = 0,energy = 0, bomb = 25, bio = 100, rad = 0)
+ armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 0)
max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
/obj/item/clothing/suit/space/eva/plasmaman/engineer
name = "plasmaman engineer suit"
icon_state = "plasmamanEngineer_suit"
- armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80)
- pressure_resistance = 200 * ONE_ATMOSPHERE
- slowdown = 1
+ armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75)
/obj/item/clothing/head/helmet/space/eva/plasmaman/engineer
name = "plasmaman engineer helmet"
icon_state = "plasmamanEngineer_helmet0"
base_state = "plasmamanEngineer_helmet"
- armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80)
- pressure_resistance = 200 * ONE_ATMOSPHERE
+ armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75)
/obj/item/clothing/suit/space/eva/plasmaman/engineer/ce
name = "plasmaman chief engineer suit"
@@ -133,7 +127,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/botanist
name = "plasmaman botanist suit"
icon_state = "plasmamanBotanist_suit"
- slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/botanist
name = "plasmaman botanist helmet"
@@ -143,7 +136,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/chaplain
name = "plasmaman chaplain suit"
icon_state = "plasmamanChaplain_suit"
- slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/chaplain
name = "plasmaman chaplain helmet"
@@ -153,7 +145,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/clown
name = "plasmaman clown suit"
icon_state = "plasmaman_Clown"
- slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/clown
name = "plasmaman clown helmet"
@@ -163,7 +154,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/mime
name = "plasmaman mime suit"
icon_state = "plasmaman_Mime"
- slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/mime
name = "plasmaman mime helmet"
@@ -173,7 +163,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/service
name = "plasmaman service suit"
icon_state = "plasmamanService_suit"
- slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/service
name = "plasmaman service helmet"
@@ -183,7 +172,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/janitor
name = "plasmaman janitor suit"
icon_state = "plasmamanJanitor_suit"
- slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/janitor
name = "plasmaman janitor helmet"
@@ -196,7 +184,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/cargo
name = "plasmaman cargo suit"
icon_state = "plasmamanCargo_suit"
- slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/cargo
name = "plasmaman cargo helmet"
@@ -206,13 +193,13 @@
/obj/item/clothing/suit/space/eva/plasmaman/miner
name = "plasmaman miner suit"
icon_state = "plasmamanMiner_suit"
- armor = list(melee = 30, bullet = 5, laser = 15,energy = 5, bomb = 30, bio = 100, rad = 20)
+ armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50)
/obj/item/clothing/head/helmet/space/eva/plasmaman/miner
name = "plasmaman miner helmet"
icon_state = "plasmamanMiner_helmet0"
base_state = "plasmamanMiner_helmet"
- armor = list(melee = 30, bullet = 5, laser = 15,energy = 5, bomb = 30, bio = 100, rad = 20)
+ armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50)
// MEDSCI
@@ -220,7 +207,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/medical
name = "plasmaman medical suit"
icon_state = "plasmamanMedical_suit"
- slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/medical
name = "plasmaman medical helmet"
@@ -230,7 +216,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/medical/paramedic
name = "plasmaman paramedic suit"
icon_state = "plasmaman_Paramedic"
- slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/medical/paramedic
name = "plasmaman paramedic helmet"
@@ -240,7 +225,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/medical/chemist
name = "plasmaman chemist suit"
icon_state = "plasmaman_Chemist"
- slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/medical/chemist
name = "plasmaman chemist helmet"
@@ -259,7 +243,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/science
name = "plasmaman scientist suit"
icon_state = "plasmamanScience_suit"
- slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/science
name = "plasmaman scientist helmet"
@@ -281,14 +264,13 @@
/obj/item/clothing/suit/space/eva/plasmaman/security
name = "plasmaman security suit"
icon_state = "plasmamanSecurity_suit"
- slowdown = 1
- armor = list(melee = 40, bullet = 15, laser = 35,energy = 5, bomb = 35, bio = 100, rad = 20)
+ armor = list(melee = 30, bullet = 15, laser = 30,energy = 10, bomb = 10, bio = 100, rad = 50)
/obj/item/clothing/head/helmet/space/eva/plasmaman/security
name = "plasmaman security helmet"
icon_state = "plasmamanSecurity_helmet0"
base_state = "plasmamanSecurity_helmet"
- armor = list(melee = 40, bullet = 15, laser = 35,energy = 5, bomb = 35, bio = 100, rad = 20)
+ armor = list(melee = 30, bullet = 15, laser = 30,energy = 10, bomb = 10, bio = 100, rad = 50)
/obj/item/clothing/suit/space/eva/plasmaman/security/hos
name = "plasmaman head of security suit"
@@ -322,7 +304,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/nuclear
name = "blood red plasmaman suit"
icon_state = "plasmaman_Nukeops"
- slowdown = 1
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 60)
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/gun,/obj/item/ammo_casing,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/restraints/handcuffs)
siemens_coefficient = 0.6
diff --git a/code/modules/clothing/spacesuits/space_ninja.dm b/code/modules/clothing/spacesuits/space_ninja.dm
new file mode 100644
index 00000000000..acc53c3dc40
--- /dev/null
+++ b/code/modules/clothing/spacesuits/space_ninja.dm
@@ -0,0 +1,350 @@
+// ** BEGIN NINJA CLOTHING DEFINES **
+
+/obj/item/clothing/head/helmet/space/space_ninja
+ desc = "What may appear to be a simple black garment is in fact a highly sophisticated nano-weave helmet. Standard issue ninja gear."
+ name = "ninja hood"
+ icon_state = "s-ninja"
+ item_state = "s-ninja_hood"
+ armor = list(melee = 60, bullet = 60, laser = 45, energy = 15, bomb = 30, bio = 30, rad = 25)
+ unacidable = 1
+ siemens_coefficient = 0.2
+
+
+/obj/item/clothing/mask/gas/voice/space_ninja
+ name = "ninja mask"
+ desc = "A close-fitting mask that acts both as an air filter and a post-modern fashion statement."
+ icon_state = "s-ninja(norm)"
+ item_state = "s-ninja_mask"
+ unacidable = 1
+ siemens_coefficient = 0.2
+
+/obj/item/clothing/glasses/hud/space_ninja
+ name = "vision enhancement implant"
+ desc = "A high-tech ocular implant designed for Spider Clan operatives."
+ icon_state = "cybereye-off"
+ item_state = "eyepatch"
+ flags = NODROP
+
+ var/enabled = 0
+ var/energyConsumption = 0
+ var/antagHUDEnabled = 0
+ var/mesonEnabled = 0
+ var/materialEnabled = 0
+ var/thermalEnabled = 0
+
+/obj/item/clothing/suit/space/space_ninja
+ name = "ninja suit"
+ desc = "A unique, vaccum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins."
+ icon_state = "s-ninja"
+ item_state = "s-ninja_suit"
+ allowed = list(/obj/item/weapon/gun, /obj/item/ammo_box, /obj/item/weapon/melee/baton, /obj/item/weapon/tank, /obj/item/weapon/stock_parts/cell)
+ slowdown = 0
+ unacidable = 1
+ armor = list(melee = 60, bullet = 60, laser = 45,energy = 15, bomb = 30, bio = 30, rad = 30)
+ siemens_coefficient = 0.2
+
+ var/suitActive = 0
+ var/suitBusy = 0
+
+ var/obj/item/weapon/stock_parts/cell/suitCell
+ var/obj/item/clothing/head/helmet/space/space_ninja/suitHood
+ var/obj/item/clothing/gloves/space_ninja/suitGloves
+ var/obj/item/clothing/shoes/space_ninja/suitShoes
+ var/obj/item/clothing/mask/gas/voice/space_ninja/suitMask
+ var/obj/item/clothing/glasses/hud/space_ninja/suitGlasses
+ var/mob/living/carbon/human/suitOccupant
+
+/obj/item/clothing/gloves/space_ninja
+ desc = "These nano-enhanced gloves insulate from electricity and provide fire resistance."
+ name = "ninja gloves"
+ icon_state = "s-ninja"
+ item_state = "s-ninja"
+ siemens_coefficient = 0
+ cold_protection = HANDS
+ min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE
+ heat_protection = HANDS
+ max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE
+ transfer_prints = FALSE
+
+
+/obj/item/clothing/shoes/space_ninja
+ name = "ninja shoes"
+ desc = "A pair of running shoes. Excellent for running and even better for smashing skulls."
+ icon_state = "s-ninja"
+ permeability_coefficient = 0.01
+ flags = NOSLIP
+ armor = list(melee = 60, bullet = 60, laser = 45,energy = 15, bomb = 30, bio = 30, rad = 30)
+ siemens_coefficient = 0.2
+ cold_protection = FEET
+ min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE
+ heat_protection = FEET
+ max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE
+
+// ** END NINJA CLOTHING DEFINES **
+
+// ** BEGIN NINJA SUIT PROCS **
+
+/obj/item/clothing/suit/space/space_ninja/New()
+ suitCell = new/obj/item/weapon/stock_parts/cell/ninja // The Ninja starts out with a 10,000 energy cell.
+ if(suitCell.charge != suitCell.maxcharge)
+ suitCell.charge = suitCell.maxcharge
+
+/obj/item/clothing/suit/space/space_ninja/verb/toggle_suit()
+ set category = "Space Ninja - Equiptment"
+ set name = "Toggle Suit"
+
+ if(usr.mind.special_role == "Ninja")
+ if(suitBusy)
+ usr << "ERROR: Suit systems busy, cannot initiate [suitActive ? "de-activation" : "activation"] protocals at this time."
+ return
+
+ suitBusy = 1
+
+ if(suitActive && (alert("Confirm suit systems shutdown? This cannot be halted once it has started.", "Confirm Shutdown", "Yes", "No") == "Yes"))
+ usr << "Now de-initializing..."
+
+ sleep(15)
+ usr << "Logging off, [usr.real_name]. Shutting down SpiderOS."
+
+ sleep(10)
+ usr<< "Primary system status: OFFLINE.\nBackup system status: OFFLINE."
+
+ sleep(5)
+ usr<< "VOID-shift device status: OFFLINE.\nCLOAK-tech device status: OFFLINE."
+ //TODO: Shut down any active abilities
+
+ sleep(10)
+ usr<< "Disconnecting neural-net interface... Success."
+ usr.hud_used.instantiate()
+ usr.regenerate_icons()
+
+ sleep(5)
+ usr<< "Disengaging neural-net interface... Success."
+
+ sleep(10)
+ usr<< "Unsecuring external locking mechanism...\nNeural-net abolished.\nOperation status: FINISHED."
+ //TODO: Grant verbs
+ toggle_suit_lock(usr)
+ usr.regenerate_icons()
+ suitBusy = 0
+ suitActive = 0
+
+ else if(!suitActive) // Activate the suit.
+ usr << "Now initializing..."
+
+ sleep(15)
+ usr<< "Now establishing neural-net interface..."
+ if(usr.mind.special_role != "Ninja")
+ usr << "FĆAL �Rr�R: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked."
+ return
+
+ sleep(10)
+ usr<< "Neural-net established. Now monitoring brainwave pattern. \nBrainwave pattern GREEN, proceeding."
+
+ sleep(10)
+ usr<< "Securing external locking mechanism..."
+ if(!toggle_suit_lock(usr))
+ return
+
+ sleep(5)
+ usr<< "Suit secured, extending neural-net interface..."
+ usr.hud_used.human_hud('icons/mob/screen1_NinjaHUD.dmi',"#ffffff",255)
+ usr.regenerate_icons()
+
+ sleep(10)
+ usr<< "VOID-shift device status: ONLINE.\nCLOAK-tech device status:ONLINE"
+
+ sleep(5)
+ usr<< "Primary system status: ONLINE.\nBackup system status: ONLINE.\nCurrent energy capacity: [suitCell.charge]/[suitCell.maxcharge]."
+
+ sleep(10)
+ usr<< "All systems operational. Welcome to SpiderOS, [usr.real_name]."
+ //TODO: Grant ninja verbs here.
+ suitBusy = 0
+ suitActive = 1
+
+ else
+ suitBusy = 0
+ usr << "NOTICE: Suit de-activation protocals aborted."
+ else
+ usr << "FĆAL �Rr�R: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked."
+ return
+
+/obj/item/clothing/suit/space/space_ninja/proc/toggle_suit_lock(mob/living/carbon/human/user)
+ if(!suitActive)
+ if(!istype(user.wear_suit, /obj/item/clothing/suit/space/space_ninja))
+ user<< "ERROR: Unable to locate user.\nABORTING..."
+ return 0
+ if(!istype(user.head, /obj/item/clothing/head/helmet/space/space_ninja))
+ user<< "ERROR: Unable to locate hood.\nABORTING..."
+ return 0
+ if(!istype(user.gloves, /obj/item/clothing/gloves/space_ninja))
+ user<< "ERROR: Unable to locate gloves.\nABORTING..."
+ return 0
+ if(!istype(user.shoes, /obj/item/clothing/shoes/space_ninja))
+ user<< "ERROR: Unable to locate foot gear.\nABORTING..."
+ return 0
+ if(!istype(user.wear_mask, /obj/item/clothing/mask/gas/voice/space_ninja))
+ user<< "ERROR: Unable to locate mask.\nABORTING..."
+ return 0
+ if(!istype(user.glasses, /obj/item/clothing/glasses/hud/space_ninja))
+ user<< "WARNING: Unable to locate eye gear, vision enhancement unavailable.\nProceeding..."
+ else
+ suitGlasses = user.glasses
+ suitGlasses.enabled = 1
+ suitGlasses.icon_state = "cybereye-green"
+
+ suitHood = user.head
+ suitMask = user.wear_mask
+ suitGloves = user.gloves
+ suitShoes = user.shoes
+ suitOccupant = user
+
+ flags |= NODROP
+ suitHood.flags |= NODROP
+ suitMask.flags |= NODROP
+ suitGloves.flags |= NODROP
+ suitGloves.pickpocket = 1
+ suitShoes.flags |= NODROP
+ suitShoes.slowdown = -2
+
+ icon_state = (user.gender == MALE ? "s-ninjan" : "s-ninjanf")
+ suitGloves.icon_state = "s-ninjan"
+ suitGloves.item_state = "s-ninjan"
+
+ return 1
+
+ else
+ flags &= ~NODROP
+ suitHood.flags &= ~NODROP
+ suitMask.flags &= ~NODROP
+ if(suitGlasses)
+ suitGlasses.enabled = 0
+ suitGlasses.icon_state = "cybereye-off"
+ suitGloves.flags &= ~NODROP
+ suitGloves.pickpocket = 0
+ suitShoes.flags &= ~NODROP
+ suitShoes.slowdown = -1
+ icon_state = "s-ninja"
+ suitGloves.icon_state = "s-ninja"
+ suitGloves.item_state = "s-ninja"
+
+ suitHood = null
+ suitMask = null
+ suitGlasses = null
+ suitGloves = null
+ suitShoes = null
+ suitOccupant = null
+
+ return 1
+
+// ** END NINJA SUIT PROCS **
+
+// **BEGIN NINJA GLASSES PROCS**
+
+/obj/item/clothing/glasses/hud/space_ninja/process_hud(var/mob/M) // Antag HUD processing.
+
+ if(antagHUDEnabled) // We only process if the antag-vision mode is enabled.
+ if(!M) return
+ if(!M.client) return
+ var/client/C = M.client
+ for(var/mob/living/carbon/human/target in view(get_turf(M)))
+ if(M.see_invisible < target.invisibility)
+ continue
+ if(!C) continue
+ C.images += target.hud_list[SPECIALROLE_HUD]
+
+/obj/item/clothing/glasses/hud/space_ninja/verb/modifyHUD(mob/user as mob)
+ set category = "Space Ninja - Equiptment"
+ set name = "Modify Vision"
+
+ if(usr.mind.special_role != "Ninja")
+ usr << "FĆAL �Rr�R: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked."
+ return
+
+ if(!enabled) // If the Ninja's suit is on and connected.
+ usr << "ERROR: No power supply detected, cannot activate optical implant."
+ return
+
+ if(!user) // The user var is, so far as I can tell, required to refresh the window after each click.
+ user = usr
+
+ /*
+ * Each vision type the Ninja enables will drain more from his suit's battery per tick.
+ * For instance, if the Ninja were to rn around with thermals and AntagHUD on he would be losing an additional 10 energy per tick.
+ * Current vision modes are:
+ * - Night
+ * - Meson (Turfs)
+ * - Material (Objects)
+ * - Thermal (Mobs)
+ * - Antag HUD
+ *
+ * -Dave
+ */
+ var/dat = {"
+ Night Vision (2E) - [darkness_view ? "ENABLED" : "DISABLED"]
+ Meson Scanner (2E) - [mesonEnabled ? "ENABLED" : "DISABLED"]
+ Material Scanner (4E) - [materialEnabled ? "ENABLED" : "DISABLED"]
+ Thermal Scanner (4E) - [thermalEnabled ? "ENABLED" : "DISABLED"]
+ Threat Identification HUD (6E) - [antagHUDEnabled ? "ENABLED" : "DISABLED"]
+ "}
+
+ var/datum/browser/popup = new(user, "SpiderOS", "SpiderOS Optical Interface", 310, 150)
+ popup.set_content(dat)
+ popup.open()
+
+
+/obj/item/clothing/glasses/hud/space_ninja/Topic(href, href_list)
+ if(usr.stat != 0 || !enabled)
+ return 1
+
+ if(href_list["night"])
+ darkness_view = (darkness_view ? 0 : 8)
+ see_darkness = (darkness_view ? 0 : 1)
+ energyConsumption += (darkness_view ? 2 : -2)
+ usr << "Light amplification [(darkness_view ? "ENABLED" : "DISABLED")]."
+
+ else if(href_list["meson"])
+ mesonEnabled = (mesonEnabled ? 0 : 1)
+
+ if(mesonEnabled)
+ vision_flags |= SEE_TURFS
+ else
+ vision_flags &= ~SEE_TURFS
+
+ energyConsumption += (mesonEnabled ? 2 : -2)
+ usr << "Meson scanning [(mesonEnabled ? "ENABLED" : "DISABLED")]."
+
+ else if(href_list["material"])
+ materialEnabled = (materialEnabled ? 0 : 1)
+
+ if(materialEnabled)
+ vision_flags |= SEE_OBJS
+ else
+ vision_flags &= ~SEE_OBJS
+
+ energyConsumption += (materialEnabled ? 4 : -4)
+ usr << "Material scanning [(materialEnabled ? "ENABLED" : "DISABLED")]."
+
+ else if(href_list["thermal"])
+ thermalEnabled = (thermalEnabled ? 0 : 1)
+
+ if(thermalEnabled)
+ vision_flags |= SEE_MOBS
+ invisa_view = 2
+ else
+ vision_flags &= ~SEE_MOBS
+ invisa_view = 0
+
+ energyConsumption += (thermalEnabled ? 4 : -4)
+ usr << "Thermal scanning [(thermalEnabled ? "ENABLED" : "DISABLED")]."
+
+ else if(href_list["antagHUD"])
+ antagHUDEnabled = (antagHUDEnabled ? 0 : 1)
+ energyConsumption += (antagHUDEnabled ? 6 : -6)
+ usr << "Threat identification HUD [(antagHUDEnabled ? "ENABLED" : "DISABLED")]."
+
+ modifyHUD(usr) // Re-call the verb to get a fresh version of the window.
+ return
+
+// **END NINJA GLASSES PROCS**
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 5ef569596cf..440252a136c 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -1230,12 +1230,12 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
if(glasses)
var/obj/item/clothing/glasses/G = glasses
if(istype(G))
- see_in_dark += G.darkness_view
+ see_in_dark = (G.darkness_view ? see_in_dark + G.darkness_view : species.darksight) // Otherwise we keep our darkness view with togglable nightvision.
if(G.vision_flags) // MESONS
sight |= G.vision_flags
if(!druggy)
see_invisible = SEE_INVISIBLE_MINIMUM
- if(istype(G,/obj/item/clothing/glasses/night))
+ if(!G.see_darkness)
see_invisible = SEE_INVISIBLE_MINIMUM
/* HUD shit goes here, as long as it doesn't modify sight flags */
// The purpose of this is to stop xray and w/e from preventing you from using huds -- Love, Doohl
@@ -1245,15 +1245,13 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
if(istype(glasses, /obj/item/clothing/glasses/sunglasses/sechud))
var/obj/item/clothing/glasses/sunglasses/sechud/O = glasses
if(O.hud) O.hud.process_hud(src)
- if(!druggy) see_invisible = SEE_INVISIBLE_LIVING
+ if(!druggy) see_invisible = (!O.see_darkness || O.vision_flags ? SEE_INVISIBLE_MINIMUM : SEE_INVISIBLE_LIVING) // So we can have meson/thermal/material sunglasses
if(istype(glasses, /obj/item/clothing/glasses/hud))
var/obj/item/clothing/glasses/hud/O = glasses
O.process_hud(src)
if(!druggy)
- see_invisible = SEE_INVISIBLE_LIVING
- if(istype(O,/obj/item/clothing/glasses/hud/security/night) || istype(O,/obj/item/clothing/glasses/hud/health/night))
- see_invisible = SEE_INVISIBLE_MINIMUM
+ see_invisible = (!O.see_darkness || O.vision_flags ? SEE_INVISIBLE_MINIMUM : SEE_INVISIBLE_LIVING)
else if(!seer)
see_in_dark = species.darksight
see_invisible = SEE_INVISIBLE_LIVING
diff --git a/code/modules/mob/living/carbon/human/plasmaman/species.dm b/code/modules/mob/living/carbon/human/plasmaman/species.dm
index 53a0b839a88..55f7091142e 100644
--- a/code/modules/mob/living/carbon/human/plasmaman/species.dm
+++ b/code/modules/mob/living/carbon/human/plasmaman/species.dm
@@ -48,22 +48,22 @@
if("Chief Engineer")
suit=/obj/item/clothing/suit/space/eva/plasmaman/engineer/ce
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/engineer/ce
- if("Atmospheric Technician")
+ if("Life Support Specialist")
suit=/obj/item/clothing/suit/space/eva/plasmaman/atmostech
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/atmostech
- if("Warden","Detective","Security Officer")
+ if("Warden","Detective","Security Officer","Security Pod Pilot")
suit=/obj/item/clothing/suit/space/eva/plasmaman/security/
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/
- if("Head of Security")
+ if("Head of Security", "Magistrate")
suit=/obj/item/clothing/suit/space/eva/plasmaman/security/hos
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/hos
- if("Captain")
+ if("Captain", "Blueshield")
suit=/obj/item/clothing/suit/space/eva/plasmaman/security/captain
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/captain
- if("Head of Personnel")
+ if("Head of Personnel", "Nanotrasen Representative")
suit=/obj/item/clothing/suit/space/eva/plasmaman/security/hop
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/hop
- if("Medical Doctor")
+ if("Medical Doctor","Brig Physician")
suit=/obj/item/clothing/suit/space/eva/plasmaman/medical
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/medical
if("Paramedic")
@@ -93,7 +93,7 @@
if("Janitor")
suit=/obj/item/clothing/suit/space/eva/plasmaman/janitor
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/janitor
- if("Assistant")
+ if("Civilian", "Barber")
suit=/obj/item/clothing/suit/space/eva/plasmaman/assistant
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/assistant
if("Clown")
diff --git a/code/setup.dm b/code/setup.dm
index 72f56088a42..01542984028 100644
--- a/code/setup.dm
+++ b/code/setup.dm
@@ -223,7 +223,7 @@ var/MAX_EX_FLASH_RANGE = 14
#define BLOCK_GAS_SMOKE_EFFECT 8192 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY! (NOTE: flag shared with ONESIZEFITSALL)
#define ONESIZEFITSALL 8192
-#define PLASMAGUARD 1638 //Does not get contaminated by plasma.
+#define PLASMAGUARD 16384 //Does not get contaminated by plasma.
#define NOREACT 16384 //Reagents dont' react inside this container.
diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi
index 9a066c9eb3f..1a34c2836cb 100644
Binary files a/icons/mob/eyes.dmi and b/icons/mob/eyes.dmi differ
diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi
index c3211a2b808..d0443fd7ea3 100644
Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ
diff --git a/icons/obj/clothing/glasses.dmi b/icons/obj/clothing/glasses.dmi
index 6652a1f6acd..2a425ddf251 100644
Binary files a/icons/obj/clothing/glasses.dmi and b/icons/obj/clothing/glasses.dmi differ
diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi
index 9dcc7b4735c..efcefe0cad9 100644
Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ
diff --git a/icons/obj/ninjaobjects.dmi b/icons/obj/ninjaobjects.dmi
index d57727cdc73..9e2288d786c 100644
Binary files a/icons/obj/ninjaobjects.dmi and b/icons/obj/ninjaobjects.dmi differ
diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm
index 8b414ee5ac4..8c8f2dcedb7 100644
--- a/maps/cyberiad.dmm
+++ b/maps/cyberiad.dmm
@@ -3027,7 +3027,7 @@
"bgk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/maintenance/port)
"bgl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plating,/area/maintenance/port)
"bgm" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/port)
-"bgn" = (/obj/structure/rack,/obj/item/clothing/gloves/color/black/thief{pixel_x = -3; pixel_y = 3},/obj/item/clothing/gloves/yellow,/obj/item/clothing/gloves/color/rainbow{pixel_x = 3; pixel_y = -3},/obj/item/clothing/gloves/combat{pixel_x = -3; pixel_y = 3},/obj/item/clothing/gloves/color/latex,/obj/item/clothing/gloves/color/captain{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
+"bgn" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/color/yellow,/obj/item/device/t_scanner,/obj/item/clothing/glasses/meson,/obj/item/device/multitool,/turf/simulated/floor/plating,/area/storage/tech)
"bgo" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/maintenance/port)
"bgp" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/storage/tools)
"bgq" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/wall,/area/storage/tools)
@@ -4947,6 +4947,7 @@
"bRg" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/quartermaster/miningdock)
"bRh" = (/obj/item/weapon/beach_ball/holoball,/turf/simulated/floor/plating,/area/maintenance/apmaint)
"bRi" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 11; level = 1},/turf/simulated/floor/plating,/area/maintenance/apmaint)
+"bRj" = (/obj/machinery/poolcontroller{pixel_y = -25},/turf/simulated/floor,/area/crew_quarters/fitness)
"bRk" = (/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield)
"bRl" = (/turf/simulated/floor/wood,/area/blueshield)
"bRm" = (/obj/machinery/photocopier,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/wood,/area/blueshield)
@@ -5830,7 +5831,7 @@
"cig" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/apmaint)
"cih" = (/obj/structure/table,/obj/machinery/cell_charger{pixel_y = 5},/obj/machinery/status_display{layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating,/area/storage/tech)
"cii" = (/obj/machinery/light/small,/turf/simulated/floor/plating,/area/storage/tech)
-"cij" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/yellow,/obj/item/device/t_scanner,/obj/item/clothing/glasses/meson,/obj/item/device/multitool,/turf/simulated/floor/plating,/area/storage/tech)
+"cij" = (/obj/structure/table,/obj/item/clothing/gloves/color/yellow,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
"cik" = (/turf/simulated/wall,/area/storage/tech)
"cil" = (/obj/machinery/vending/assist,/turf/simulated/floor/plating,/area/storage/tech)
"cim" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft)
@@ -9107,7 +9108,7 @@
"dth" = (/obj/structure/rack,/obj/item/weapon/twohanded/knighthammer{pixel_x = -3; pixel_y = 3},/obj/item/weapon/twohanded/mjollnir,/obj/item/weapon/twohanded/singularityhammer{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
"dti" = (/obj/structure/rack,/obj/item/weapon/gun/energy/crossbow,/obj/item/weapon/gun/energy/crossbow{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
"dtj" = (/obj/machinery/recharger/wallcharger{pixel_x = 30},/obj/structure/rack,/obj/item/weapon/gun/energy/pulse_rifle,/obj/item/weapon/gun/energy/pulse_rifle{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
-"dtk" = (/obj/structure/table,/obj/random/tool,/obj/item/clothing/gloves/yellow,/obj/item/weapon/pinpointer/advpinpointer,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
+"dtk" = (/obj/structure/rack,/obj/item/clothing/gloves/color/black/thief{pixel_x = -3; pixel_y = 3},/obj/item/clothing/gloves/color/yellow,/obj/item/clothing/gloves/color/rainbow{pixel_x = 3; pixel_y = -3},/obj/item/clothing/gloves/combat{pixel_x = -3; pixel_y = 3},/obj/item/clothing/gloves/color/latex,/obj/item/clothing/gloves/color/captain{pixel_x = 3; pixel_y = -3},/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
"dtl" = (/obj/structure/table,/obj/item/weapon/rsf,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
"dtm" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 0},/obj/item/toy/cards/deck/syndicate/black,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
"dtn" = (/obj/structure/table,/obj/item/weapon/surgicaldrill,/obj/item/stack/medical/advanced/bruise_pack,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
@@ -9239,7 +9240,7 @@
"dvJ" = (/obj/structure/table,/obj/random/technology_scanner,/obj/random/tech_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
"dvK" = (/obj/machinery/door/poddoor{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
"dvL" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor,/area/tdome)
-"dvM" = (/obj/structure/table,/obj/item/clothing/gloves/yellow,/obj/random/bomb_supply,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
+"dvM" = (/obj/structure/table,/obj/random/tool,/obj/item/clothing/gloves/color/yellow,/obj/item/weapon/pinpointer/advpinpointer,/turf/unsimulated/floor{tag = "icon-dark"; icon_state = "dark"},/area/admin)
"dvN" = (/obj/machinery/computer/teleporter,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
"dvO" = (/obj/machinery/teleport/station,/turf/unsimulated/floor{tag = "icon-floor"; icon_state = "floor"},/area/admin)
"dvP" = (/obj/machinery/teleport/hub/upgraded,/turf/unsimulated/floor{tag = "icon-delivery"; icon_state = "delivery"},/area/admin)
@@ -9660,7 +9661,7 @@
"dDO" = (/turf/simulated/floor/plating/airless,/area/AIsattele)
"dDP" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/AIsattele)
"dDQ" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating/airless,/area/AIsattele)
-"dDR" = (/obj/structure/rack,/obj/item/clothing/gloves/yellow,/turf/simulated/floor/plating/airless,/area/AIsattele)
+"dDR" = (/obj/structure/rack,/obj/item/clothing/gloves/color/yellow,/turf/simulated/floor/plating/airless,/area/AIsattele)
"dDS" = (/obj/item/weapon/stock_parts/cell,/turf/simulated/floor/plating/airless,/area/AIsattele)
"dDT" = (/obj/item/device/radio/beacon,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/airless,/area/AIsattele)
"dDU" = (/obj/item/device/flashlight,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/airless,/area/AIsattele)
@@ -13131,7 +13132,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaySaBzaBAayaaySaBBaBAayaaySaBCaySaySaySaySaySaASaxBaaaaaaaaaaaaaaaaaaaaaaabaaaaBDaBEaBDaabaabaabaabaaaaaaaaaaabazbazbazbazbaBFaBGaBGaBHazbazbazbazbaBIaAYaAYazbaBJaBKaBLaBMaBMaBNaBOaBPaBQaBQaBQaBQaBRaBQaBSaBTaBUaBQaBQaBVaBVaBWaBXaBYaBZbywaCabyiaCbaBeaBeblQaztayRaAwaCcaCdaCeaAwayRayRaCfaCgaBjaChaCiayRayRaCjaCkayRaClayRayRaCmayRaCnaCoaxZaxZaxZaxZaxZaCoaCpaBuaBvaaaaaaaaaaaaaCqaaaaaaaaaaaaaaaaaabykbykaCraCsaCtaCuaCvaCwaCxaCtbykbykaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCyaCzaCAaCzaCBaCzaCCaCzaCDaCEaCFaCFaCFaCFaCGaySaCHaxBaaaaabaabaaaaaaaaaaaaaabaaaaCIaCJaCKaabaaaaabaaaaaaaaaaaaaaaazbaCLaCMaCNaCMaCMaCMaCMaCOaCMaCMaCPaCQaCNaCRaCSaCSaCSaCSaCSaCSaCSaCTbyxbyxbyxbyxbyBbyHbyxaCUbyxbyIbyBbyxbyxbyxbyxaCVaCWaCXaCYaCZbpMaDaaDbaBeaDcaztayRaAwaDdaBfaBfaAwayRayRayRaDeaDfaDgaDhayRayRaCjaDiayRayRayRayRaDjayRaDkaDlaxZaxZaxZaxZaxZaDmaDnaDoaCoaaaaaaaaabzQaDqbzQaaaaaaaaabykbykbykaDraCuaDsaCuaDtaDuaCuaCuaCuaDvbykaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDwaDxaDyaDzaDAaDBaDCaDDaDEaDCaDFaDGaDCaDCaDHaySaxCayWaabaabaaaaaaaaaaaaaaaaabaDIaDJaDKaDLaDMaaaaabaaaaaaaaaaaaaaaazbaDNazbaDOaDPaDQaDQaDQaDRaDQaDQaDQaDSaDOaDTaDUaDUaDUaDUaDUaDUaDUaAYbyxaDVaDWaDXaDYaDZaEaaEbaEcaEdaEeaEfaDWaEgbyxaEhauRaEiaXfaEjbyiaEkaElaElbAQaEnaEoaEpaEqaEqaEraEsaBnaEtaEsaEsaEuaEvaEwayRayRaExaEyaEzaEAaEAaEAaEBayRaECaEDaxZaxZaxZaxZaxZaEEbjIbjIbjIaaaaaaaaabBlaEGbBlaaaaaabykbykaEHbykaEIaEJaEKaELaCuaCuaEMaENaCuaEObykaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaySaEPaEQaEPaERaDyaDyaESaEPaEQaEPaETaEUaEVaEWaySaxCayVayVaEXayZayZayZayZazaayVaEYaEZaFaaFbaEYazbazbaFcaFdaFeazbazbazbaDNaFfaDOaaaaabaaaaabaaaaabaaaaabaaaaDOaDTaDUaFgaFhaFiaFjaFkaDUaAYbyxaFlaFlaFmaFnaFoaFpaFqaFpaFraFsaFtaFlaFlbyxaEhauRaFuaXfaEjbyiaHvaysaytblQaztaFvaFwaFxaFyaFzaFzaFAaFBaFzaFBaFCaFDaFEaFFaFGaFHaFIaFJaFKaFKaFKaFLayRbjEaFMaxZaxZaxZaxZaxZaFNbjIaabaaaaaaaaabBVbBYaFPbCabBZaaabykaFSaFTaFUaFVaFWaFXaCuaCuaCuaFYaFZaCuaGabykaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaySaEPaEQaEPaERaDyaDyaESaEPaEQaEPaETaEUaEVaEWaySaxCayVayVaEXayZayZayZayZazaayVaEYaEZaFaaFbaEYazbazbaFcaFdaFeazbazbazbaDNaFfaDOaaaaabaaaaabaaaaabaaaaabaaaaDOaDTaDUaFgaFhaFiaFjaFkaDUaAYbyxaFlaFlaFmaFnaFoaFpaFqaFpaFraFsaFtaFlaFlbyxaEhauRaFuaXfaEjbyiaHvaysaytblQaztaFvaFwaFxaFyaFzaFzaFAaFBaFzaFBaFCaFDaFEaFFaFGaFHaFIaFJaFKaFKaFKaFLbRjbjEaFMaxZaxZaxZaxZaxZaFNbjIaabaaaaaaaaabBVbBYaFPbCabBZaaabykaFSaFTaFUaFVaFWaFXaCuaCuaCuaFYaFZaCuaGabykaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaabaGbayaaGcaAPaGdaGeaGfaGgaGhaGdaAPaGiaGjayaaGkaGlaySaxCaxCaxCaxCaxCaxCaxCaxCaGmaGnaEYaGoaGpaGqaEYaGraGsaCMaCMaCMaCMaCMaGtaGuaGvaDOaabaGwaGwaGwaGwaGwaGwaGwaabaDOaDTaDUaGxaGyaGzaGAaGxaDUaAYbyxbyxbyxbyxaGBaGCaDWaGDaDWaGCaGEbyxbyxbyxbyxaEhauRaGFaXfaEjbyiaAuaysaytblQaAvaGGbCtbCtbCtbCtbCtbCtbCtaGHbCtaPjaPjaPjaPjaPjaGIbjEaGJaGKaGLaGMaGNbjEbjEaFMaxZaxZaxZaxZaxZaFNbjIaaaaaaaaaaaabDKaGOaGPaGQbDKaaabykaGRaGSbykaGTaGUaGVaGWaGXaGYaGZaHaaDtbykbEgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDwaEQaHbaHcaHcaHcaHcaHdaEQaDwaHeayaaHfaHgaHhaHhaHhaHhaHhaHhaHhaHhaxCaHiaHjaEYaHkaHlaHmaHpaHnaHoaHnaHnaHnaHnaHnaHnaHnaHnaHpaaaaGwaHqaHraHsaHtaHuaGwaaaaDOaDTaDUaGxaHwaHEaHxaGxaDUaAYbyxaHyaHyaFmaHzaHAaFpaFqaFpaHAaHBaHCaFlaFlbyxaEhauRaEiaXfaHDbbIeHtaysaytblQaztaGGbCtaHFaHGaHHaHHbCtaHIaHGaHJaPjaHKaHLaHMaPjaHNbjEaHOaHPaHPaHPaHQbjEaabaHRaHSaHSaHSaHSaHSaHTaabaaaaaaaagaaabDKaHUaHVaHWbDKaaabykaHXaHYbykbykbykbykbykaHZbykbykbykbykbykbykaJvaJvaJvaJvaJvaJvaJvaJvaJvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaaIbaIcaIbaIbaIdaIeaIbaIbaIcaIfaIgayaaERaIhaHhaIiaIjaIkaIlaImaInaHhaxCaIoayVaEYaEYaIpaIqaHpaIraIsaItaIuaIvaIwaIxaIyaIzaIAaHpaabaGwaIBaICaIDaIEaIFaGwaabaDOaDTaDUaIGaIHaIIaIJaIKaDUaAYbyxaDVaDWaILaIMaGCaDWaINaDWaGCaIOaIPaDWaEgbyxaEhauRaIQaXfaEjborazsaysaytblQaIRaISbCtaITaHGaHGaHGaIUaIVaIWaIXaPjaIYaIZaJaaJbaJcbjEaJdaJeaJfaJeaJgbjEaaaaabaaaaabaaaaabaaaaabaaaaaaaaaaaaaaabDKaJhaJiaJjbDKbEsbykbykbykbykaJlaJmaJnaJnaJoaJnaJpaJnaJqaJraJraJsaJraJraJraJraJtaJuaJvaJvbEDbEFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -13187,7 +13188,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceocricricricricrjcercescetceuceucevcoYcewbYscqkaaacqXcexceycezceAceBceCceDceAceAceEceFceGceHcCLcCLceIceJbZTceKceLceMcdwcdwcdwcdwceNcjWbDgbDgeNZceOcePceQceRceSceTceTceUceVceWceXceYceZeNZcfabXFcfbeKQcfccdMcfdeOqaaaaaaeOgcfecffcfgeOgbDhcfhcficficficficficficfjcfkcflcfmeOseOseOteOueOseOscfpcfqcfreOweOveOyeOxeOzeOveOveOveOveOAeOBeOzeOveOvbsacfxbsaeMdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeNibQZbQZbZHbZHbQXbQXbQXbQXbQXbQXbQXbQXbQZbQZaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrRcfzcsocfBcsocfEcfDcgQcfFcfFcfGcoYcgTbWUcqkaaacqXcfIcfJctfcfKccccfLcfMcfNcfOcikcdpbYCbYDcfPcgYcfQeOCcfRcfScfTcukcfVcdwcdwcfWcfXcjWbDgcfYeNZcfZcgacgbcgccgccgccgdcgecgccgccgfcgbcggeODcghbXFcgieKQcgjcdMcgkeOqaaaaaaeOgcglcgmcgneOgcgobDgcfYeOEeOEeOEeOEeOEeOFeOHeOGeOEeOIcgpcgqcgrcgseOIeOJcgueOKeOvcgvcgwcgwcgwcgxcgycgzcgAcgBcgCcgDcgEeOvcgFcgGcgHeOLcgJcgJcgJcgJcgJcgJcgJcgJcgJcgJcgJcgJcgJcgJcgJcgJcgJcgJcgJcgJcgKcgLbQZbSibQZbQXbQXbQXbQXbQXbQXbQXbQZbQZaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaacrRcgMcgNcgOcgPcetchYcetcgRcetcgScuPcgUcigcvjaaacxIcnjcyCcobcgZccccccchachbchceOMchdchechfchgcgYchhchichjchkchlckychmcdwcdwcdwchncjWbDgbDgeONeONeOOchoeOPeOReOQeONeOSeOUeOTchveOVeOOeOWcfabXFcfbeKQchwcdMcdNeOqaaaaaaeOgchxchychzeOgbDgbDgbDgeOEaabaaaaaaaabaaaaabaaaaaaeOIchAchBchCchDchEchFchGchHchIchJchKchLchLchMchNchNchOchPchQchQchReOveOXchSeOYeOXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQZchTchUchVbQZbQZbQXbQXchWbQXbQXbQZbQZaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrRchXcsochZcsociacibcidciccgQcifcoYcjfbWUbWSaaaaaaaaaaaacjpcihciicijcijcikcilcikcimbYCbTWcineOZcipciqcircircirciscitcdwciucdwcivcjWbDgbDgeONciwcixciycizciAciBeONciAciBcizciCciDciEeOWcghciFcgieKQchwcdMciGeOqeOEeOEeOgeOgeOgeOgeOgciHbDgbDgeOEaabaaaaaaaaaaabaabaabaaaeOIciIciJciJciKciLciMciNciOciPciQciRciSciTciUciVciWchNchNchNciXciYeOvciZcjacjbeOXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaePacjdcjebSjeMMbQZbQZbQXbQYbQXbQZbQZaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacrRchXcsochZcsociacibcidciccgQcifcoYcjfbWUbWSaaaaaaaaaaaacjpcihciibgnbgncikcilcikcimbYCbTWcineOZcipciqcircircirciscitcdwciucdwcivcjWbDgbDgeONciwcixciycizciAciBeONciAciBcizciCciDciEeOWcghciFcgieKQchwcdMciGeOqeOEeOEeOgeOgeOgeOgeOgciHbDgbDgeOEaabaaaaaaaaaaabaabaabaaaeOIciIciJciJciKciLciMciNciOciPciQciRciSciTciUciVciWchNchNchNciXciYeOvciZcjacjbeOXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaePacjdcjebSjeMMbQZbQZbQXbQYbQXbQZbQZaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOabAcABcABcABcABcABcABcABcABcAIcAIcAIcAIcAIckBcoYcoYcoYcoYcoYcoYcjgeHwcgXcgXcgXcgXcgXcjpcikcikcikcikcikcikcikcjhbYCbTWcjiePbcjkcjlcjmcjncjocAXcjqcjrcjscjtcjucjWbDgbDgeONcjvcjwciycizcizcjxeONcjycizcizciCciycjzeOWeKQeKQeKQePccjAcdMcjBeOqcjCbDgbDgbDgbDgcjDbDgbDgbDgbDgeOEaaaaaaaaaaaaaaaaabaabaaaeOIcjEcjFcjFcjGcjHcjIcjJcjKcjLcjMcjNchNchNchNcjOcjPchNcjQchNciXcjReOvcjScjTcjUeOXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaePdeMJeMJeMLeMMeMMbQZbQZbQZbQZeMNaabaabaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBRcjXcjYcjZckackackbckcckdckeckfckgckhckickjckjckjckkcklckmckncknckockpckqckrcksckrckrckrckqckrckrcktckuckvckwbYCbTWckxePeckzcCccgYcDEcCLcDGcDFcDJcDIcDLcDKcDNbDgbDgeONckCckDckEckFckGckHeONckIckGckJckKckEckLeOWbDgbDgbDgckMchwcdMchwckNbDgbDgbDgbDgbDgbDgbDgbDgbDgbDgeOEaaaaaaaaaaaaaaaaabaabaabeOIckOckPckPckPePfeOlckQeOmePfckRckSckTckTckUcjMcjMckVckTckWckXckYeOvckZclaclbeOXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBRcjXclccldclecldclfclgclhclicljclkcllclmclnclnclnclnbYCbTXbTXbTXclncloclnclnclnclnclnclnclnclnclnclnclpclqclrclscltcluePgclwclxcGIclyclzclAclBcHKclDclEclFcHLcficlGePhclHclIclJclKcizclLeONclLcizclKclMciyclNeOWclOePiePiePjclPclQclReOqePkeOHeOHePleOEeOEeOEeOFeOHeOGeOEaaaaaaaaaaaaaaaaaaaabaabeOIclSclTclUclVeOlclWclXclYeOlclZcmacmacmacmbcmccmdcmecmacmacmacmfeOvePmcmgePoePnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -13489,7 +13490,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrgdredrhdridridridridridrhdrfdrgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadredrhdrjdrkdrldrmdrndrodrpdrqdrfaaaaaaaaaaaaaaaaaadrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrsdrtdrtdrtdrtdrtdrudrqdrhdridrhdridrhdridrhdrhdrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrvdrtdrwdrxbgndrtdrzdrqdrAdrtdgwdrtdrCdrDdrEdrFdrqdrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrvdrtdrwdrxdtkdrtdrzdrqdrAdrtdgwdrtdrCdrDdrEdrFdrqdrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrGdrtdrHdrIdrJdrtdrKdrqdrtdrtdrtdrtdrtdrtdrtdrLdrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrMdrNdrtdrtdrtdrNdrOdrqdrPdrtdrQdrtdrRdrDdrEdrFdrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrqdrhdrhdrtdrtdrtdrhdrhdrqdrtdrtdrtdrtdrtdrtdrtdrSdrqdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -13503,7 +13504,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrtdrtdrtdsGdrhdrhdrhdrhdrqdrtdrtdrqdrtdrtdsHdsIdrqdsJdrtdrtdrtdsKdrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrqdsLdsMdsNdrtdsOdrhdsPdsQdsRdsSdrqdrtdrtdrqdsTdrtdrtdsUdrqdsVdrtdrtdrtdsWdrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrtdrtdhIdrhdsYdsQdsQdsQdsZdrtdrtdrqdtadrtdrtdtbdrqdtcdrtdrtdrtdtddrraaaaaaaaaaaadredrhdtedtedtedrhdrfaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrqdtgdthdtidrtdtjdrhdtkdsQdtldtmdrqdrtdrtdrqdtndtodrtdrtdtpdrtdrtdrtdrtdrtdrqaaaaaaaaadredrhdtqdtrdtrdtrdtsdrhdrfaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrqdtgdthdtidrtdtjdrhdvMdsQdtldtmdrqdrtdrtdrqdtndtodrtdrtdtpdrtdrtdrtdrtdrtdrqaaaaaaaaadredrhdtqdtrdtrdtrdtsdrhdrfaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadredrhdrhdrhdrhdrhdrhdrhdrhdrhdrhdrhdtudrtdrtdtvdrhdrhdrhdrhdrhdrhdrhdrhdtwdrhdrqdrfaaadredrhdtqdtrdtrdtrdtrdtrdtsdrhdrfaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadredrqdtxdtydtzdtAeHzeHAdtDdtvdrqdtudrtdrtdrtdrtdrtdrtdtvdrhdrhdrhdrhdtEdtudrtdtvdrqdrhdtedrhdtqdtrdtrdtrdtFdtrdtrdtrdtsdrqaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdtGdrtdrtdtHdrtdrtdrtdrtdrtdtIdrtdrtdtJdtJdtJdtJdrtdrtdrtdrtdrtdrtdrtdrtdrtdrtdtKdtrdtrdtrdtrdtrdtrdtLdtMdtNdtrdtrdtrdtOaaaaaaaaaaaaaaa
@@ -13531,7 +13532,7 @@ aaaaaaaaaaaaduwdvkdvldvmdvtdvmdvtdvmdvndvodvidvidvidvidvidvidvidvidvidvidvidvidv
aaaaaaaaaaaaduwdvkdvldvmdvmdvxdvmdvmdvndvodvidvidvidvidvidvydvzdvydvidvidvidvidvjdvpdvndvqdvqdvAdvqdvqdvldvrduwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdrtdrtdrtdrtdrtdrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaduwdvkdvldvmdvmdvmdvmdvmdvndvodvidvidvidvidvidvBdvCdvBdvidvidvidvidvjdvpdvndvqdvqdvqdvqdvqdvldvrduwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdvDdrtdrtdrtdvEdrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaduwdvkdvldvmdvtdvmdvtdvmdvndvodvidvidvidvidvidvFdvGdvHdvidvidvidvidvjdvpdvndvqdvudvqdvudvqdvldvrduwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrrdvIdrtdrtdrtdvJdrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaduwduwduwdvKdvKdvKdvKdvKduwdvhdvidvidvidvidvidvidvLdvidvidvidvidvidvjdvhduwdvKdvKdvKdvKdvKduwcQgduwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldrqdvMdvNdvOdvPdvQdrqdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaduwduwduwdvKdvKdvKdvKdvKduwdvhdvidvidvidvidvidvidvLdvidvidvidvidvidvjdvhduwdvKdvKdvKdvKdvKduwcQgduwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdttdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldrqcijdvNdvOdvPdvQdrqdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaduwdvRdvRdvRdvRdvRduwdvSdvTdvTdvTdvTdvedwldwmdwldvbdvcdvcdvcdvddveduwdvWdvWdvWdvWdvWduwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfdtfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsldrhdridridridrhdrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaduwduwduwduwduwduwduwdvXdvYdvYdvYdvYdvYdvZdwadvXdvYdvYdvYdvYdwbdvXduwduwduwduwduwduwduwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadslaaaaaaaaadrTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaduwdvXdvXdwcdvXdwcdvXdvXdwddwedvXdwcdvXdwcdwfdvXduwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa