diff --git a/code/datums/outfits/jobs/medical.dm b/code/datums/outfits/jobs/medical.dm
index dd5cb7fbcbe..b474f92f727 100644
--- a/code/datums/outfits/jobs/medical.dm
+++ b/code/datums/outfits/jobs/medical.dm
@@ -92,7 +92,7 @@
/decl/hierarchy/outfit/job/medical/paramedic
name = OUTFIT_JOB_NAME("Paramedic")
- uniform = /obj/item/clothing/under/rank/medical/scrubs/black
+ uniform = /obj/item/clothing/under/rank/medical/paramedic
suit = /obj/item/clothing/suit/storage/toggle/fr_jacket
shoes = /obj/item/clothing/shoes/boots/jackboots
l_hand = /obj/item/weapon/storage/firstaid/regular
@@ -103,5 +103,5 @@
/decl/hierarchy/outfit/job/medical/paramedic/emt
name = OUTFIT_JOB_NAME("Emergency Medical Technician")
- uniform = /obj/item/clothing/under/rank/medical/paramedic
+ uniform = /obj/item/clothing/under/rank/medical/paramedic_alt
suit = /obj/item/clothing/suit/storage/toggle/labcoat/emt
diff --git a/code/datums/supplypacks/medical.dm b/code/datums/supplypacks/medical.dm
index 69f198bbd44..eb7d350c5f6 100644
--- a/code/datums/supplypacks/medical.dm
+++ b/code/datums/supplypacks/medical.dm
@@ -202,7 +202,7 @@
/obj/item/clothing/under/rank/medical/paramedic,
/obj/item/clothing/suit/storage/toggle/fr_jacket,
/obj/item/clothing/mask/gas,
- /obj/item/clothing/under/rank/medical/paramedic,
+ /obj/item/clothing/under/rank/medical/paramedic_alt,
/obj/item/clothing/accessory/stethoscope,
/obj/item/weapon/storage/firstaid/adv,
/obj/item/clothing/shoes/boots/jackboots,
@@ -305,8 +305,8 @@
/datum/supply_pack/med/medicalbiosuits
name = "Medical biohazard gear"
contains = list(
- /obj/item/clothing/head/bio_hood = 3,
- /obj/item/clothing/suit/bio_suit = 3,
+ /obj/item/clothing/head/bio_hood/modern = 3,
+ /obj/item/clothing/suit/bio_suit/modern = 3,
/obj/item/clothing/head/bio_hood/virology = 2,
/obj/item/clothing/suit/bio_suit/cmo,
/obj/item/clothing/head/bio_hood/cmo,
diff --git a/code/game/machinery/gear_dispenser.dm b/code/game/machinery/gear_dispenser.dm
index a2723a25975..fd8dc4f1965 100644
--- a/code/game/machinery/gear_dispenser.dm
+++ b/code/game/machinery/gear_dispenser.dm
@@ -87,8 +87,8 @@ var/list/dispenser_presets = list()
if(voidsuit.helmet)
error("[src] created a voidsuit [voidsuit] and wants to add a helmet but it already has one")
else
- voidsuit.attach_helmet(new voidhelmet_type())
- spawned += voidhelmet
+ voidhelmet = new voidhelmet_type()
+ voidsuit.attach_helmet(voidhelmet)
// If we're supposed to make boots
if(magboots_type)
// The coder may not have realized thist ype spawns its own boots
@@ -567,6 +567,27 @@ var/list/dispenser_presets = list()
one_setting = /datum/gear_disp/voidsuit/autolok
special_frame = "frame_grey"
+////////////////////////////// MOEBIUS SUIT DISPENSERS ///////////////////////////
+/datum/gear_disp/voidsuit/aether
+ name = "Aether Voidsuit"
+ voidsuit_type = /obj/item/clothing/suit/space/void/aether
+ voidhelmet_type = /obj/item/clothing/head/helmet/space/void/aether
+ refit = FALSE // No animal sprites AAA!
+
+/obj/machinery/gear_dispenser/suit/aether
+ name = "\improper Aether Voidsuit Dispenser"
+ desc = "An industrial U-Tak-It Dispenser unit designed to fetch a specific Aether-produced high-end suit."
+ icon_state = "suitdispenserMB"
+ dispenser_flags = GD_ONEITEM|GD_NOGREED|GD_UNLIMITED
+ one_setting = /datum/gear_disp/voidsuit/aether
+
+/obj/machinery/gear_dispenser/suit_fancy/aether
+ name = "\improper Aether Voidsuit Dispenser"
+ desc = "A commercial U-Tak-It Dispenser unit designed to fetch a specific Aether-produced high-end suit."
+ dispenser_flags = GD_ONEITEM|GD_NOGREED|GD_UNLIMITED
+ one_setting = /datum/gear_disp/voidsuit/aether
+ special_frame = "frame_purple"
+
// Adminbuse
/obj/machinery/gear_dispenser/vv_get_dropdown()
. = ..()
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
index b1b8bf90988..bd8e9393a53 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
@@ -34,6 +34,7 @@
/obj/item/clothing/under/rank/nurse,
/obj/item/clothing/under/rank/orderly,
/obj/item/clothing/suit/storage/toggle/labcoat,
+ /obj/item/clothing/suit/storage/toggle/labcoat/modern,
/obj/item/clothing/suit/storage/toggle/fr_jacket,
/obj/item/clothing/shoes/white,
/obj/item/weapon/cartridge/medical,
@@ -128,6 +129,7 @@
/obj/item/clothing/under/rank/chief_medical_officer/skirt,
/obj/item/clothing/suit/storage/toggle/labcoat/cmo,
/obj/item/clothing/suit/storage/toggle/labcoat/cmoalt,
+ /obj/item/clothing/suit/storage/toggle/labcoat/modern/cmo,
/obj/item/weapon/cartridge/cmo,
/obj/item/clothing/gloves/sterile/latex,
/obj/item/clothing/shoes/brown,
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
index 66383849f06..a3fdc31f244 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
@@ -33,6 +33,7 @@
/obj/item/clothing/under/rank/research_director/rdalt,
/obj/item/clothing/under/rank/research_director/dress_rd,
/obj/item/clothing/suit/storage/toggle/labcoat,
+ /obj/item/clothing/suit/storage/toggle/labcoat/modern,
/obj/item/weapon/cartridge/rd,
/obj/item/clothing/shoes/white,
/obj/item/clothing/shoes/laceup/brown,
@@ -54,6 +55,7 @@
starts_with = list(
/obj/item/clothing/under/rank/scientist,
/obj/item/clothing/suit/storage/toggle/labcoat,
+ /obj/item/clothing/suit/storage/toggle/labcoat/modern,
/obj/item/clothing/shoes/white,
/obj/item/weapon/melee/umbrella, // vorestation addition,
/obj/item/clothing/glasses/science,
diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
index 5eb36f6dc3a..ead22e53e96 100644
--- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
@@ -206,6 +206,7 @@
/obj/item/clothing/under/rank/scientist/skirt = 2,
/obj/item/clothing/under/rank/scientist/turtleneck = 3,
/obj/item/clothing/suit/storage/toggle/labcoat = 3,
+ /obj/item/clothing/suit/storage/toggle/labcoat/modern = 3,
/obj/item/clothing/shoes/white = 3,
/obj/item/clothing/shoes/slippers = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/science,
diff --git a/code/modules/busy_space_vr/organizations.dm b/code/modules/busy_space_vr/organizations.dm
index 05df67ce87a..ec30b2a2a8f 100644
--- a/code/modules/busy_space_vr/organizations.dm
+++ b/code/modules/busy_space_vr/organizations.dm
@@ -1402,7 +1402,7 @@
//////////////////////////////////////////////////////////////////////////////////
// Other
-/datum/lore/organization/other/kitsuhana //sorry KHI, but you're not a coherent stellar government, and you're definitely not a TSC. you get to go in the Others pool.
+/datum/lore/organization/other/kitsuhana //sorry KHI, but you're not a coherent stellar government, and you're definitely not a TSC. you get to go in the Others pool. //makes sense to me!
name = "Kitsuhana Heavy Industries"
short_name = "" //whitespace haaaack
desc = "A large post-scarcity amalgamation of races, Kitsuhana is no longer a company but rather a loose association of 'members' \
diff --git a/code/modules/client/preference_setup/loadout/loadout_suit.dm b/code/modules/client/preference_setup/loadout/loadout_suit.dm
index a1771a67ee3..5790577238e 100644
--- a/code/modules/client/preference_setup/loadout/loadout_suit.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_suit.dm
@@ -133,43 +133,39 @@
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(hoodies))
/datum/gear/suit/labcoat
- display_name = "labcoat"
+ display_name = "labcoat selection, public"
path = /obj/item/clothing/suit/storage/toggle/labcoat
-/datum/gear/suit/labcoat/blue
- display_name = "labcoat, blue"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/blue
+/datum/gear/suit/labcoat/New()
+ ..()
+ var/list/labcoats = list(
+ "White labcoat" = /obj/item/clothing/suit/storage/toggle/labcoat,
+ "Blue-edge labcoat" = /obj/item/clothing/suit/storage/toggle/labcoat/blue_edge,
+ "Green labcoat" = /obj/item/clothing/suit/storage/toggle/labcoat/green,
+ "Orange labcoat" = /obj/item/clothing/suit/storage/toggle/labcoat/orange,
+ "Purple labcoat" = /obj/item/clothing/suit/storage/toggle/labcoat/purple,
+ "Pink labcoat" = /obj/item/clothing/suit/storage/toggle/labcoat/pink,
+ "Red labcoat" = /obj/item/clothing/suit/storage/toggle/labcoat/red,
+ "Yellow labcoat" = /obj/item/clothing/suit/storage/toggle/labcoat/yellow
+ )
+ gear_tweaks += new/datum/gear_tweak/path(labcoats)
-/datum/gear/suit/labcoat/blue_edge
- display_name = "labcoat, blue-edged"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/blue_edge
+/datum/gear/suit/labcoat_cmo
+ display_name = "labcoat selection, cmo"
+ path = /obj/item/clothing/suit/storage/toggle/labcoat/cmo
+ allowed_roles = list("Chief Medical Officer")
-/datum/gear/suit/labcoat/green
- display_name = "labcoat, green"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/green
-
-/datum/gear/suit/labcoat/orange
- display_name = "labcoat, orange"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/orange
-
-/datum/gear/suit/labcoat/purple
- display_name = "labcoat, purple"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/purple
-
-/datum/gear/suit/labcoat/pink
- display_name = "labcoat, pink"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/pink
-
-/datum/gear/suit/labcoat/red
- display_name = "labcoat, red"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/red
-
-/datum/gear/suit/labcoat/yellow
- display_name = "labcoat, yellow"
- path = /obj/item/clothing/suit/storage/toggle/labcoat/yellow
+/datum/gear/suit/labcoat_cmo/New()
+ ..()
+ var/list/labcoats = list(
+ "CMO labcoat" = /obj/item/clothing/suit/storage/toggle/labcoat/cmo,
+ "CMO labcoat (alt)" = /obj/item/clothing/suit/storage/toggle/labcoat/cmoalt,
+ "CMO labcoat (modern)" = /obj/item/clothing/suit/storage/toggle/labcoat/modern/cmo
+ )
+ gear_tweaks += new/datum/gear_tweak/path(labcoats)
/datum/gear/suit/labcoat/emt
- display_name = "labcoat, EMT (Medical)"
+ display_name = "labcoat, EMT"
path = /obj/item/clothing/suit/storage/toggle/labcoat/emt
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist")
@@ -187,6 +183,11 @@
path = /obj/item/clothing/suit/storage/apron/overalls
cost = 1
+/datum/gear/suit/cyberpunk
+ display_name = "cyberpunk jacket"
+ path = /obj/item/clothing/suit/cyberpunk
+ cost = 2
+
/datum/gear/suit/poncho
display_name = "poncho selection"
path = /obj/item/clothing/accessory/poncho
@@ -201,95 +202,77 @@
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(ponchos))
/datum/gear/suit/roles/poncho
- display_name = "poncho, cargo"
+ display_name = "poncho selection, departments"
path = /obj/item/clothing/accessory/poncho/roles/cargo
cost = 1
-/datum/gear/suit/roles/poncho/security
- display_name = "poncho, security"
- path = /obj/item/clothing/accessory/poncho/roles/security
+/datum/gear/suit/roles/poncho/New()
+ ..()
+ var/list/ponchos = list(
+ "Cargo poncho" = /obj/item/clothing/accessory/poncho/roles/cargo,
+ "Security poncho" = /obj/item/clothing/accessory/poncho/roles/security,
+ "Medical poncho" = /obj/item/clothing/accessory/poncho/roles/medical,
+ "Engineering poncho" = /obj/item/clothing/accessory/poncho/roles/engineering,
+ "Science poncho" = /obj/item/clothing/accessory/poncho/roles/science
+ )
+ gear_tweaks += new/datum/gear_tweak/path(ponchos)
-/datum/gear/suit/roles/poncho/medical
- display_name = "poncho, medical"
- path = /obj/item/clothing/accessory/poncho/roles/medical
-/datum/gear/suit/roles/poncho/engineering
- display_name = "poncho, engineering"
- path = /obj/item/clothing/accessory/poncho/roles/engineering
+/datum/gear/suit/roles/cloak
+ display_name = "cloak selection, departments"
+ path = /obj/item/clothing/accessory/poncho/roles/cloak/cargo
-/datum/gear/suit/roles/poncho/science
- display_name = "poncho, science"
- path = /obj/item/clothing/accessory/poncho/roles/science
+/datum/gear/suit/roles/cloak/New()
+ ..()
+ var/list/cloaks = list(
+ "Cargo cloak" = /obj/item/clothing/accessory/poncho/roles/cloak/cargo,
+ "Mining cloak" = /obj/item/clothing/accessory/poncho/roles/cloak/mining,
+ "Security cloak" = /obj/item/clothing/accessory/poncho/roles/cloak/security,
+ "Service cloak" = /obj/item/clothing/accessory/poncho/roles/cloak/service,
+ "Engineer cloak" = /obj/item/clothing/accessory/poncho/roles/cloak/engineer,
+ "Atmos cloak" = /obj/item/clothing/accessory/poncho/roles/cloak/atmos,
+ "Research cloak" = /obj/item/clothing/accessory/poncho/roles/cloak/research,
+ "Medical cloak" = /obj/item/clothing/accessory/poncho/roles/cloak/medical
+ )
+ gear_tweaks += new/datum/gear_tweak/path(cloaks)
-/datum/gear/suit/roles/poncho/cloak/hos
+/datum/gear/suit/roles/poncho/cloak_hos
display_name = "cloak, head of security"
path = /obj/item/clothing/accessory/poncho/roles/cloak/hos
allowed_roles = list("Head of Security")
-/datum/gear/suit/roles/poncho/cloak/cmo
+/datum/gear/suit/roles/poncho/cloak_cmo
display_name = "cloak, chief medical officer"
path = /obj/item/clothing/accessory/poncho/roles/cloak/cmo
allowed_roles = list("Chief Medical Officer")
-/datum/gear/suit/roles/poncho/cloak/ce
+/datum/gear/suit/roles/poncho/cloak_ce
display_name = "cloak, chief engineer"
path = /obj/item/clothing/accessory/poncho/roles/cloak/ce
allowed_roles = list("Chief Engineer")
-/datum/gear/suit/roles/poncho/cloak/rd
+/datum/gear/suit/roles/poncho/cloak_rd
display_name = "cloak, research director"
path = /obj/item/clothing/accessory/poncho/roles/cloak/rd
allowed_roles = list("Research Director")
-/datum/gear/suit/roles/poncho/cloak/qm
+/datum/gear/suit/roles/poncho/cloak_qm
display_name = "cloak, quartermaster"
path = /obj/item/clothing/accessory/poncho/roles/cloak/qm
allowed_roles = list("Quartermaster")
-/datum/gear/suit/roles/poncho/cloak/captain
+/datum/gear/suit/roles/poncho/cloak_captain
display_name = "cloak, site manager"
path = /obj/item/clothing/accessory/poncho/roles/cloak/captain
allowed_roles = list("Site Manager")
-/datum/gear/suit/roles/poncho/cloak/hop
+/datum/gear/suit/roles/poncho/cloak_hop
display_name = "cloak, head of personnel"
path = /obj/item/clothing/accessory/poncho/roles/cloak/hop
allowed_roles = list("Head of Personnel")
-/datum/gear/suit/roles/poncho/cloak/cargo
- display_name = "cloak, cargo"
- path = /obj/item/clothing/accessory/poncho/roles/cloak/cargo
-
-/datum/gear/suit/roles/poncho/cloak/mining
- display_name = "cloak, mining"
- path = /obj/item/clothing/accessory/poncho/roles/cloak/mining
-
-/datum/gear/suit/roles/poncho/cloak/security
- display_name = "cloak, security"
- path = /obj/item/clothing/accessory/poncho/roles/cloak/security
-
-/datum/gear/suit/roles/poncho/cloak/service
- display_name = "cloak, service"
- path = /obj/item/clothing/accessory/poncho/roles/cloak/service
-
-/datum/gear/suit/roles/poncho/cloak/engineer
- display_name = "cloak, engineer"
- path = /obj/item/clothing/accessory/poncho/roles/cloak/engineer
-
-/datum/gear/suit/roles/poncho/cloak/atmos
- display_name = "cloak, atmos"
- path = /obj/item/clothing/accessory/poncho/roles/cloak/atmos
-
-/datum/gear/suit/roles/poncho/cloak/research
- display_name = "cloak, science"
- path = /obj/item/clothing/accessory/poncho/roles/cloak/research
-
-/datum/gear/suit/roles/poncho/cloak/medical
- display_name = "cloak, medical"
- path = /obj/item/clothing/accessory/poncho/roles/cloak/medical
-
-/datum/gear/suit/roles/poncho/cloak/custom //A colorable cloak
- display_name = "cloak (colorable)"
+/datum/gear/suit/roles/poncho/cloak_custom //A colorable cloak
+ display_name = "cloak, colorable"
path = /obj/item/clothing/accessory/poncho/roles/cloak/custom
/datum/gear/suit/roles/poncho/cloak/custom/New()
@@ -301,44 +284,51 @@
path = /obj/item/clothing/suit/unathi/robe
cost = 1
-/datum/gear/suit/black_lawyer_jacket
- display_name = "suit jacket, black"
+/datum/gear/suit/lawyer_jackets
+ display_name = "suit jacket selection"
path = /obj/item/clothing/suit/storage/toggle/internalaffairs
-/datum/gear/suit/blue_lawyer_jacket
- display_name = "suit jacket, blue"
- path = /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket
-
-/datum/gear/suit/purple_lawyer_jacket
- display_name = "suit jacket, purple"
- path = /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket
+/datum/gear/suit/lawyer_jackets/New()
+ ..()
+ var/list/jackets = list(
+ "Black suit jacket" = /obj/item/clothing/suit/storage/toggle/internalaffairs,
+ "Blue suit jacket" = /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket,
+ "Purple suit jacket" = /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket
+ )
+ gear_tweaks += new/datum/gear_tweak/path(jackets)
/datum/gear/suit/suspenders
display_name = "suspenders"
path = /obj/item/clothing/suit/suspenders
/datum/gear/suit/forensics
- display_name = "forensics long, red"
+ display_name = "forensics uniform selection (Detective)"
path = /obj/item/clothing/suit/storage/forensics/red/long
allowed_roles = list("Detective")
-/datum/gear/suit/forensics/blue
- display_name = "forensics long, blue"
- path = /obj/item/clothing/suit/storage/forensics/blue/long
- allowed_roles = list("Detective")
+/datum/gear/suit/forensics/New()
+ ..()
+ var/list/uniforms = list(
+ "Red, long uniform" = /obj/item/clothing/suit/storage/forensics/red/long,
+ "Blue, long uniform" = /obj/item/clothing/suit/storage/forensics/blue/long,
+ "Red, short uniform" = /obj/item/clothing/suit/storage/forensics/red,
+ "Blue, short uniform" = /obj/item/clothing/suit/storage/forensics/blue
+ )
+ gear_tweaks += new/datum/gear_tweak/path(uniforms)
-/datum/gear/suit/forensics/blue/short
- display_name = "forensics, blue"
- path = /obj/item/clothing/suit/storage/forensics/blue
- allowed_roles = list("Detective")
+/datum/gear/suit/qm_coat
+ display_name = "coat, quartermaster"
+ path = /obj/item/clothing/suit/storage/qm
+ allowed_roles = list("Quartermaster")
-/datum/gear/suit/forensics/red/short
- display_name = "forensics, red"
- path = /obj/item/clothing/suit/storage/forensics/red
- allowed_roles = list("Detective")
+/datum/gear/suit/cargo_coat
+ display_name = "coat, cargo tech"
+ path = /obj/item/clothing/suit/storage/cargo
+ allowed_roles = list("Quartermaster","Shaft Miner","Cargo Technician","Head of Personnel")
+
+/obj/item/clothing/suit/storage/cargo
// winter coats go here
-
/datum/gear/suit/wintercoat
display_name = "winter coat"
path = /obj/item/clothing/suit/storage/hooded/wintercoat
@@ -403,7 +393,6 @@
path = /obj/item/clothing/suit/storage/hooded/wintercoat/science
allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist", "Xenobotanist")
-
/datum/gear/suit/wintercoat/science/robotics
display_name = "winter coat, robotics"
path = /obj/item/clothing/suit/storage/hooded/wintercoat/science/robotics
@@ -474,7 +463,6 @@
/datum/gear/suit/wintercoat/cosmic
display_name = "winter coat, cosmic"
path = /obj/item/clothing/suit/storage/hooded/wintercoat/cosmic
-
// winter coats end here
/datum/gear/suit/varsity
@@ -502,20 +490,18 @@
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(tracks))
/datum/gear/suit/flannel
- display_name = "grey flannel"
+ display_name = "flannel jacket selection"
path = /obj/item/clothing/suit/storage/flannel
-/datum/gear/suit/flannel/red
- display_name = "red flannel"
- path = /obj/item/clothing/suit/storage/flannel/red
-
-/datum/gear/suit/flannel/aqua
- display_name = "aqua flannel"
- path = /obj/item/clothing/suit/storage/flannel/aqua
-
-/datum/gear/suit/flannel/brown
- display_name = "brown flannel"
- path = /obj/item/clothing/suit/storage/flannel/brown
+/datum/gear/suit/flannel/New()
+ ..()
+ var/list/flannel = list(
+ "Grey flannel" = /obj/item/clothing/suit/storage/flannel,
+ "Red flannel" = /obj/item/clothing/suit/storage/flannel/red,
+ "Aqua flannel" = /obj/item/clothing/suit/storage/flannel/aqua,
+ "Brown flannel" = /obj/item/clothing/suit/storage/flannel/brown
+ )
+ gear_tweaks += new/datum/gear_tweak/path(flannel)
/datum/gear/suit/denim_jacket
display_name = "denim jacket"
@@ -541,25 +527,20 @@
..()
gear_tweaks += gear_tweak_free_color_choice
-/datum/gear/suit/miscellaneous/sec_dep_jacket
- display_name = "department jacket, security"
+/datum/gear/suit/miscellaneous/dep_jacket
+ display_name = "department jacket selection"
path = /obj/item/clothing/suit/storage/toggle/sec_dep_jacket
-/datum/gear/suit/miscellaneous/engi_dep_jacket
- display_name = "department jacket, engineering"
- path = /obj/item/clothing/suit/storage/toggle/engi_dep_jacket
-
-/datum/gear/suit/miscellaneous/supply_dep_jacket
- display_name = "department jacket, supply"
- path = /obj/item/clothing/suit/storage/toggle/supply_dep_jacket
-
-/datum/gear/suit/miscellaneous/sci_dep_jacket
- display_name = "department jacket, science"
- path = /obj/item/clothing/suit/storage/toggle/sci_dep_jacket
-
-/datum/gear/suit/miscellaneous/med_dep_jacket
- display_name = "department jacket, medical"
- path = /obj/item/clothing/suit/storage/toggle/med_dep_jacket
+/datum/gear/suit/miscellaneous/dep_jacket/New()
+ ..()
+ var/list/jacket = list(
+ "Security department jacket" = /obj/item/clothing/suit/storage/toggle/sec_dep_jacket,
+ "Engineering department jacket" = /obj/item/clothing/suit/storage/toggle/engi_dep_jacket,
+ "Cargo department jacket" = /obj/item/clothing/suit/storage/toggle/supply_dep_jacket,
+ "Science department jacket" = /obj/item/clothing/suit/storage/toggle/sci_dep_jacket,
+ "Medical department jacket" = /obj/item/clothing/suit/storage/toggle/med_dep_jacket
+ )
+ gear_tweaks += new/datum/gear_tweak/path(jacket)
/datum/gear/suit/miscellaneous/peacoat
display_name = "peacoat"
diff --git a/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm b/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm
index 881d4dd8b3e..1bee5c67448 100644
--- a/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_suit_vr.dm
@@ -31,16 +31,20 @@
path = /obj/item/clothing/suit/poncho
//Detective alternative
-/datum/gear/uniform/detective_alt
- display_name = "sleek modern coat, detective"
+/datum/gear/suit/detective_alt
+ display_name = "sleek modern coat selection, detective"
path = /obj/item/clothing/suit/storage/det_trench/alt
allowed_roles = list("Head of Security", "Detective")
-//Detective alternative
-/datum/gear/uniform/detective_alt2
- display_name = "sleek modern coat (long), detective"
- path = /obj/item/clothing/suit/storage/det_trench/alt2
- allowed_roles = list("Head of Security", "Detective")
+/datum/gear/suit/detective_alt/New()
+ ..()
+ var/list/coats = list(
+ "Modern coat (tan)" = /obj/item/clothing/suit/storage/det_trench/alt,
+ "Modern coat (long, tan)" = /obj/item/clothing/suit/storage/det_trench/alt2,
+ "Modern coat (black)" = /obj/item/clothing/suit/storage/det_trench/alt/black,
+ "Modern coat (long, black)" = /obj/item/clothing/suit/storage/det_trench/alt2/black
+ )
+ gear_tweaks += new/datum/gear_tweak/path(coats)
//Emergency Responder jackets for Parameds & EMTs, but also general Medical Staff
/datum/gear/suit/roles/medical/ems_jacket
diff --git a/code/modules/client/preference_setup/loadout/loadout_uniform_vr.dm b/code/modules/client/preference_setup/loadout/loadout_uniform_vr.dm
index bbbafe56722..72618cfa011 100644
--- a/code/modules/client/preference_setup/loadout/loadout_uniform_vr.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_uniform_vr.dm
@@ -223,4 +223,18 @@ Talon jumpsuit
/datum/gear/uniform/talonbasic
display_name = "ITV Jumpsuit"
description = "A jumpsuit that is usually issued to ITV contractors, however others can purchase it to show their support towards ITV."
- path = /obj/item/clothing/under/rank/talon/basic
\ No newline at end of file
+ path = /obj/item/clothing/under/rank/talon/basic
+
+// Summer dresses
+/datum/gear/uniform/summerdress
+ display_name = "summer dress selection"
+ path = /obj/item/clothing/under/summerdress
+
+/datum/gear/uniform/summerdress/New()
+ ..()
+ var/list/dresses = list(
+ "black and white" = /obj/item/clothing/under/summerdress,
+ "blue and white" = /obj/item/clothing/under/summerdress/blue,
+ "red and white" = /obj/item/clothing/under/summerdress/red
+ )
+ gear_tweaks += new/datum/gear_tweak/path(dresses)
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 5bffab10b9b..4bf868653b3 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -736,7 +736,7 @@
var/fire_resist = T0C+100
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
allowed = list(/obj/item/weapon/tank/emergency/oxygen)
- armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0)
slot_flags = SLOT_OCLOTHING
var/blood_overlay_type = "suit"
blood_sprite_state = "suitblood" //Defaults to the suit's blood overlay, so that some blood renders instead of no blood.
diff --git a/code/modules/clothing/spacesuits/rig/modules/modules.dm b/code/modules/clothing/spacesuits/rig/modules/modules.dm
index fe2176215a5..0762fedeae7 100644
--- a/code/modules/clothing/spacesuits/rig/modules/modules.dm
+++ b/code/modules/clothing/spacesuits/rig/modules/modules.dm
@@ -41,6 +41,7 @@
// Icons.
var/suit_overlay
+ var/suit_overlay_icon = 'icons/mob/rig_modules.dmi'
var/suit_overlay_active // If set, drawn over icon and mob when effect is active.
var/suit_overlay_inactive // As above, inactive.
var/suit_overlay_used // As above, when engaged.
diff --git a/code/modules/clothing/spacesuits/rig/modules/utility.dm b/code/modules/clothing/spacesuits/rig/modules/utility.dm
index 43bcd583d23..4550eab0882 100644
--- a/code/modules/clothing/spacesuits/rig/modules/utility.dm
+++ b/code/modules/clothing/spacesuits/rig/modules/utility.dm
@@ -8,7 +8,6 @@
* /obj/item/rig_module/device/arch_drill
* /obj/item/rig_module/device/anomaly_scanner
* /obj/item/rig_module/maneuvering_jets
- * /obj/item/rig_module/foam_sprayer
* /obj/item/rig_module/device/broadcaster
* /obj/item/rig_module/chem_dispenser
* /obj/item/rig_module/chem_dispenser/injector
@@ -411,11 +410,7 @@
jets.holder = null
jets.ion_trail.set_up(jets)
-/obj/item/rig_module/foam_sprayer
-
-
//Deployable Mop
-
/obj/item/rig_module/mounted/mop
name = "mop projector"
diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm
index d518848dc27..19e481b67da 100644
--- a/code/modules/clothing/spacesuits/rig/rig.dm
+++ b/code/modules/clothing/spacesuits/rig/rig.dm
@@ -7,7 +7,6 @@
*/
/obj/item/weapon/rig
-
name = "hardsuit control module"
icon = 'icons/obj/rig_modules.dmi'
desc = "A back-mounted hardsuit deployment and control mechanism."
@@ -27,6 +26,8 @@
unacidable = 1
preserve_item = 1
+ var/default_mob_icon = 'icons/mob/rig_back.dmi'
+
var/suit_state //The string used for the suit's icon_state.
var/interface_path = "RIGSuit"
@@ -587,7 +588,7 @@
cut_overlays()
if(!mob_icon || update_mob_icon)
- var/species_icon = 'icons/mob/rig_back.dmi'
+ var/species_icon = default_mob_icon
// Since setting mob_icon will override the species checks in
// update_inv_wear_suit(), handle species checks here.
if(wearer && sprite_sheets && sprite_sheets[wearer.species.get_bodytype(wearer)])
@@ -597,7 +598,7 @@
if(installed_modules.len)
for(var/obj/item/rig_module/module in installed_modules)
if(module.suit_overlay)
- chest.add_overlay(image('icons/mob/rig_modules.dmi', icon_state = "[module.suit_overlay]", dir = SOUTH))
+ chest.add_overlay(image(module.suit_overlay_icon, icon_state = "[module.suit_overlay]", dir = SOUTH))
if(wearer)
wearer.update_inv_shoes()
diff --git a/code/modules/clothing/spacesuits/rig/suits/station_vr.dm b/code/modules/clothing/spacesuits/rig/suits/station_vr.dm
index f543b95431b..63e94a4ffbe 100644
--- a/code/modules/clothing/spacesuits/rig/suits/station_vr.dm
+++ b/code/modules/clothing/spacesuits/rig/suits/station_vr.dm
@@ -53,3 +53,128 @@
/obj/item/weapon/rig/robotics
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/storage/box, /obj/item/weapon/storage/belt, /obj/item/device/defib_kit/compact)
+
+// 'Technomancer' hardsuit
+/obj/item/weapon/rig/focalpoint
+ name = "\improper F.P.E. hardsuit control module"
+ desc = "A high-end hardsuit produced by Focal Point Energistics, focused around repair and construction."
+
+ icon = 'icons/obj/rig_modules_vr.dmi' // the item
+ default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob
+ icon_state = "techno_rig"
+ suit_type = "\improper F.P.E. hardsuit"
+ cell_type = /obj/item/weapon/cell/hyper
+
+ // Copied from CE rig
+ slowdown = 0
+ offline_slowdown = 0
+ offline_vision_restriction = 0
+ rigsuit_max_pressure = 20 * ONE_ATMOSPHERE // Max pressure the rig protects against when sealed
+ rigsuit_min_pressure = 0 // Min pressure the rig protects against when sealed
+ min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
+ max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE // so it's like a rig firesuit
+ armor = list("melee" = 40, "bullet" = 10, "laser" = 30, "energy" = 55, "bomb" = 70, "bio" = 100, "rad" = 100)
+
+ chest_type = /obj/item/clothing/suit/space/rig/focalpoint
+ helm_type = /obj/item/clothing/head/helmet/space/rig/focalpoint
+ boot_type = /obj/item/clothing/shoes/magboots/rig/focalpoint
+ glove_type = /obj/item/clothing/gloves/gauntlets/rig/focalpoint
+
+/obj/item/weapon/rig/focalpoint/equipped
+ initial_modules = list(
+ /obj/item/rig_module/maneuvering_jets,
+ /obj/item/rig_module/teleporter, // Try not to set yourself on fire
+ /obj/item/rig_module/device/rcd,
+ /obj/item/rig_module/grenade_launcher/metalfoam
+ )
+
+/obj/item/clothing/head/helmet/space/rig/focalpoint
+ icon = 'icons/inventory/head/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
+ icon_state = "techno_rig"
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
+
+/obj/item/clothing/suit/space/rig/focalpoint
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
+ icon_state = "techno_rig"
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
+
+/obj/item/clothing/shoes/magboots/rig/focalpoint
+ icon = 'icons/inventory/feet/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/feet/mob_vr.dmi'
+ icon_state = "techno_rig"
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
+
+/obj/item/clothing/gloves/gauntlets/rig/focalpoint
+ icon = 'icons/inventory/hands/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/hands/mob_vr.dmi'
+ icon_state = "techno_rig"
+ siemens_coefficient = 0
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
+
+// 'Ironhammer' hardsuit
+/obj/item/weapon/rig/hephaestus
+ name = "\improper Hephaestus hardsuit control module"
+ desc = "A high-end hardsuit produced by Hephaestus Industries, focused on destroying the competition. Literally."
+
+ icon = 'icons/obj/rig_modules_vr.dmi' // the item
+ default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob
+ icon_state = "ihs_rig"
+ suit_type = "\improper Hephaestus hardsuit"
+ cell_type = /obj/item/weapon/cell/super
+
+ armor = list("melee" = 70, "bullet" = 70, "laser" = 70, "energy" = 50, "bomb" = 60, "bio" = 100, "rad" = 20)
+
+ chest_type = /obj/item/clothing/suit/space/rig/hephaestus
+ helm_type = /obj/item/clothing/head/helmet/space/rig/hephaestus
+ boot_type = /obj/item/clothing/shoes/magboots/rig/hephaestus
+ glove_type = /obj/item/clothing/gloves/gauntlets/rig/hephaestus
+
+/obj/item/weapon/rig/hephaestus/equipped
+ initial_modules = list(
+ /obj/item/rig_module/maneuvering_jets,
+ /obj/item/rig_module/grenade_launcher,
+ /obj/item/rig_module/mounted/egun,
+ /obj/item/rig_module/mounted/energy_blade
+ )
+
+/obj/item/clothing/head/helmet/space/rig/hephaestus
+ icon = 'icons/inventory/head/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
+ icon_state = "ihs_rig"
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
+
+/obj/item/clothing/suit/space/rig/hephaestus
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
+ icon_state = "ihs_rig"
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
+
+/obj/item/clothing/shoes/magboots/rig/hephaestus
+ icon = 'icons/inventory/feet/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/feet/mob_vr.dmi'
+ icon_state = "ihs_rig"
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
+
+/obj/item/clothing/gloves/gauntlets/rig/hephaestus
+ icon = 'icons/inventory/hands/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/hands/mob_vr.dmi'
+ icon_state = "ihs_rig"
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
diff --git a/code/modules/clothing/spacesuits/void/event_vr.dm b/code/modules/clothing/spacesuits/void/event_vr.dm
index 357a8ff772c..829a392c847 100644
--- a/code/modules/clothing/spacesuits/void/event_vr.dm
+++ b/code/modules/clothing/spacesuits/void/event_vr.dm
@@ -73,4 +73,161 @@
/obj/item/clothing/suit/space/void/refurb/mercenary/talon
name = "talon mercenary's voidsuit"
- desc = "A refurbished early contact era voidsuit of human design. These things aren't especially good against modern weapons but they're sturdy, incredibly easy to come by, and there are lots of spare parts for repairs. Many old-timer mercs swear by these old things, even if new powered hardsuits have more features and better armor. The red markings indicate this as the mercenary variant. \"ITV TALON\" has been stamped onto each pauldron and the right side of the breastplate."
\ No newline at end of file
+ desc = "A refurbished early contact era voidsuit of human design. These things aren't especially good against modern weapons but they're sturdy, incredibly easy to come by, and there are lots of spare parts for repairs. Many old-timer mercs swear by these old things, even if new powered hardsuits have more features and better armor. The red markings indicate this as the mercenary variant. \"ITV TALON\" has been stamped onto each pauldron and the right side of the breastplate."
+
+// HEV Suits
+/obj/item/clothing/suit/space/void/hev
+ name = "hazardous environment suit"
+ desc = "Has a strange smell to it, but you feel like it might be an old friend."
+
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
+ icon_state = "hev_orange"
+
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
+
+/obj/item/clothing/suit/space/void/hev/violet
+ icon_state = "hev_violet"
+ desc = "Has a strange smell to it, but you feel like it might be an old friend. This one has 'Dr. Coomer' engraved on the collar."
+
+/obj/item/clothing/head/helmet/space/void/hev
+ name = "hazardous environment helmet"
+ desc = "Has a strange smell to it, but you feel like it might be an old friend."
+
+ icon = 'icons/inventory/head/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
+ icon_state = "hev_orange"
+
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
+
+/obj/item/clothing/head/helmet/space/void/hev/violet
+ icon_state = "hev_violet"
+ desc = "Has a strange smell to it, but you feel like it might be an old friend. This one has 'Dr. Coomer' engraved on the collar."
+
+// Makeshift void suit
+/obj/item/clothing/suit/space/void/makeshift
+ name = "makeshift voidsuit"
+ desc = "This is not something you should use if you have other options, but it's better than nothing!"
+
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
+ icon_state = "makeshift_void"
+
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 0)
+
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
+
+/obj/item/clothing/head/helmet/space/void/makeshift
+ name = "makeshift voidsuit helmet"
+ desc = "This is not something you should use if you have other options, but it's better than nothing!"
+
+ icon = 'icons/inventory/head/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
+ icon_state = "makeshift_void"
+
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 0)
+
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
+
+// 'Custodian' armor
+/obj/item/clothing/suit/space/void/custodian
+ name = "custodian suit"
+ desc = "Vacuum-capable armor for a Custodian to do their duty."
+
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
+ icon_state = "custodian"
+
+ armor = list("melee" = 70, "bullet" = 70, "laser" = 70, "energy" = 50, "bomb" = 40, "bio" = 0, "rad" = 20)
+
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
+
+/obj/item/clothing/head/helmet/space/void/custodian
+ name = "custodian helmet"
+ desc = "Vacuum-capable helmet for a Custodian to do their duty."
+
+ icon = 'icons/inventory/head/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
+ icon_state = "custodian"
+
+ armor = list("melee" = 70, "bullet" = 70, "laser" = 70, "energy" = 50, "bomb" = 40, "bio" = 0, "rad" = 20)
+
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
+
+// 'Moebius' armor
+/obj/item/clothing/suit/space/void/aether
+ name = "\improper Aether voidsuit"
+ desc = "This suit seems rather high-end for a standard voidsuit. The air in it has a hint of 'new car smell', courtesy of Aether Atmospherics."
+
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
+ icon_state = "moebiussuit"
+
+ armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 20, "bomb" = 20, "bio" = 100, "rad" = 20)
+
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
+
+/obj/item/clothing/head/helmet/space/void/aether
+ name = "\improper Aether voidsuit helmet"
+ desc = "Aether Atmospherics thought that giving this helmet selectable colored lighting would improve market penetration. Very comfortable, regardless."
+
+ icon = 'icons/inventory/head/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
+ icon_state = "moebiushelm_White"
+
+ armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 20, "bomb" = 20, "bio" = 100, "rad" = 20)
+
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = null
+
+/obj/item/clothing/head/helmet/space/void/aether/verb/select_color()
+ set name = "Helmet Color"
+ set desc = "Change the color of [src]"
+ set category = "Object"
+
+ var/choice = tgui_input_list(usr, "Select a new color:", "[src] Color", list("White", "Blue", "Purple", "Yellow", "Red", "Green"))
+ if(!choice)
+ return
+ icon_state = "moebiushelm_[choice]"
+ update_clothing_icon()
+ to_chat(usr, "[src] color changed to: [choice]")
+
+// Excelsior suit
+/obj/item/clothing/suit/space/void/excelsior
+ name = "\improper Excelsior voidsuit"
+ desc = "A space suit from a particular spaceship: Excelsior."
+
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
+ icon_state = "excelsior"
+
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = list()
+
+/obj/item/clothing/head/helmet/space/void/excelsior
+ name = "\improper Excelsior voidsuit helmet"
+ desc = "A space helmet from a particular spaceship: Excelsior."
+
+ icon = 'icons/inventory/head/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
+ icon_state = "excelsior"
+
+ // No animal people sprites for these yet, sad times
+ species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
+ sprite_sheets = list()
diff --git a/code/modules/clothing/suits/armor_vr.dm b/code/modules/clothing/suits/armor_vr.dm
index c71030ca442..26e778c5ff3 100644
--- a/code/modules/clothing/suits/armor_vr.dm
+++ b/code/modules/clothing/suits/armor_vr.dm
@@ -35,10 +35,8 @@
armor = list(melee = 50, bullet = 40, laser = 40, energy = 25, bomb = 25, bio = 0, rad = 0)
/obj/item/clothing/suit/storage/vest/hoscoat/jensen
- name = "armored trenchcoat"
- desc = "A trenchcoat augmented with a special alloy for some protection and style."
- icon_state = "hostrench"
- flags_inv = HIDEHOLSTER
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
// Override Polaris's "confederate" naming convention. I hate it.
/obj/item/clothing/suit/storage/vest/solgov
@@ -124,3 +122,24 @@
/obj/item/clothing/suit/armor/pcarrier/explorer/deluxe
name = "modular explorer suit"
desc = "A modification of the explorer suit with a modular armor system. Requires you to insert armor plates."
+
+// 'Crusader' armor
+/obj/item/clothing/suit/armor/crusader
+ name = "crusader armor"
+ desc = "God will protect those who defend his faith."
+
+ armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 25, "bomb" = 30, "bio" = 0, "rad" = 0)
+
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
+ icon_state = "crusader_suit"
+
+/obj/item/clothing/head/helmet/crusader
+ name = "crusader helmet"
+ desc = "God will protect those who defend his faith."
+
+ armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 25, "bomb" = 30, "bio" = 0, "rad" = 0)
+
+ icon = 'icons/inventory/head/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
+ icon_state = "crusader_head"
diff --git a/code/modules/clothing/suits/jobs_vr.dm b/code/modules/clothing/suits/jobs_vr.dm
new file mode 100644
index 00000000000..9b34c186376
--- /dev/null
+++ b/code/modules/clothing/suits/jobs_vr.dm
@@ -0,0 +1,18 @@
+// Cargotech jacket
+/obj/item/clothing/suit/storage/cargo
+ name = "cargo jacket"
+ desc = "A jacket typically assigned to cargo technicians when it's chilly in cargonia."
+
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
+ icon_state = "cargo_jacket"
+
+// QM Coat
+/obj/item/clothing/suit/storage/qm
+ name = "\improper QM coat"
+ desc = "A coat typically assigned to quartermasters when it's chilly in cargonia."
+
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
+ icon_state = "qm_coat"
+
\ No newline at end of file
diff --git a/code/modules/clothing/suits/labcoat_vr.dm b/code/modules/clothing/suits/labcoat_vr.dm
new file mode 100644
index 00000000000..4f82afd2e32
--- /dev/null
+++ b/code/modules/clothing/suits/labcoat_vr.dm
@@ -0,0 +1,27 @@
+// 'Modern' labcoats
+/obj/item/clothing/suit/storage/toggle/labcoat/modern
+ name = "modern labcoat"
+
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
+ icon_state = "labcoat_mod"
+
+/obj/item/clothing/suit/storage/toggle/labcoat/modern/cmo
+ name = "modern cmo's labcoat"
+ desc = "A suit that protects against minor chemical spills. This one has distinct markings on the arms."
+ icon_state = "labcoat_cmo_mod"
+
+// 'Modern' biosuits
+/obj/item/clothing/suit/bio_suit/modern
+ name = "modern bio suit"
+
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
+ icon_state = "bio_mod"
+
+/obj/item/clothing/head/bio_hood/modern
+ name = "modern bio hood"
+
+ icon = 'icons/inventory/head/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
+ icon_state = "bio_mod"
diff --git a/code/modules/clothing/suits/miscellaneous_vr.dm b/code/modules/clothing/suits/miscellaneous_vr.dm
index e595cd59cda..307ec372c14 100644
--- a/code/modules/clothing/suits/miscellaneous_vr.dm
+++ b/code/modules/clothing/suits/miscellaneous_vr.dm
@@ -88,18 +88,24 @@
/obj/item/clothing/suit/storage/det_trench/alt
name = "sleek modern coat"
desc = "A sleek overcoat made of neo-laminated fabric. Has a reasonably sized pocket on the inside."
+
icon = 'icons/inventory/suit/item_vr.dmi'
- icon_override = 'icons/inventory/suit/mob_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "cyberpunksleek"
- item_state = "cyberpunksleek"
/obj/item/clothing/suit/storage/det_trench/alt2
name = "sleek modern coat (long)"
desc = "A sleek long overcoat made of neo-laminated fabric. Has a reasonably sized pocket on the inside."
+
icon = 'icons/inventory/suit/item_vr.dmi'
- icon_override = 'icons/inventory/suit/mob_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "cyberpunksleek_long"
- item_state = "cyberpunksleek_long"
+
+/obj/item/clothing/suit/storage/det_trench/alt/black
+ icon_state = "cyberpunksleek_black"
+
+/obj/item/clothing/suit/storage/det_trench/alt2/black
+ icon_state = "cyberpunksleek_long_black"
//Talon Hoodie
/obj/item/clothing/suit/storage/toggle/hoodie/talon
@@ -108,4 +114,24 @@
icon = 'icons/inventory/suit/item_vr.dmi'
icon_override = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "talonhoodie"
- item_state_slots = list(slot_r_hand_str = "suit_blue", slot_l_hand_str = "suit_blue")
\ No newline at end of file
+ item_state_slots = list(slot_r_hand_str = "suit_blue", slot_l_hand_str = "suit_blue")
+
+// Bladerunner coat
+/obj/item/clothing/suit/storage/bladerunner
+ name = "leather coat"
+ desc = "An old leather coat. Has probably seen things you wouldn't believe."
+
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
+ icon_state = "bladerunner_coat"
+
+// Cyberpunk 'orange' vest
+/obj/item/clothing/suit/cyberpunk
+ name = "cyberpunk vest"
+ desc = "A red vest with golden streaks. It's made out of tough materials, and can protect fairly well against bullets. Wake the fuck up, Samurai."
+
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
+ icon_state = "cyberpunk"
+ armor = list("melee" = 10, "bullet" = 20, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0)
+
\ No newline at end of file
diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm
index 744c2a55c21..87346c67419 100644
--- a/code/modules/clothing/under/jobs/medsci.dm
+++ b/code/modules/clothing/under/jobs/medsci.dm
@@ -122,6 +122,15 @@
rolled_sleeves = -1
/obj/item/clothing/under/rank/medical/paramedic
+ name = "paramedic uniform"
+ desc = "It's made of a special fiber that provides minor protection against biohazards. This one is the color scheme that designates a rapid first responder."
+ icon_state = "paramedic"
+ item_state_slots = list(slot_r_hand_str = "white", slot_l_hand_str = "white")
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS
+ rolled_down = -1
+ rolled_sleeves = -1
+
+/obj/item/clothing/under/rank/medical/paramedic_alt
name = "short sleeve medical jumpsuit"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one has a cross on the chest denoting that the wearer is trained medical personnel."
icon_state = "medical_short"
diff --git a/code/modules/clothing/under/miscellaneous_vr.dm b/code/modules/clothing/under/miscellaneous_vr.dm
index 57f3c55c7c2..c99b562c189 100644
--- a/code/modules/clothing/under/miscellaneous_vr.dm
+++ b/code/modules/clothing/under/miscellaneous_vr.dm
@@ -196,4 +196,32 @@
icon_override = 'icons/inventory/uniform/mob_vr.dmi'
icon_state = "talon_captain"
item_state = "talon_captain"
- rolled_sleeves = 0
\ No newline at end of file
+ rolled_sleeves = 0
+
+// Excelsior uniforms
+/obj/item/clothing/under/excelsior
+ name = "\improper Excelsior uniform"
+ desc = "A uniform from a particular spaceship: Excelsior."
+
+ icon = 'icons/inventory/uniform/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/uniform/mob_vr.dmi'
+ icon_state = "excelsior_white"
+
+/obj/item/clothing/under/excelsior/mixed
+ icon_state = "excelsior_mixed"
+/obj/item/clothing/under/excelsior/orange
+ icon_state = "excelsior_orange"
+
+// Summer dresses
+/obj/item/clothing/under/summerdress
+ name = "summer dress"
+ desc = "A nice summer dress."
+
+ icon = 'icons/inventory/uniform/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/uniform/mob_vr.dmi'
+ icon_state = "summerdress"
+
+/obj/item/clothing/under/summerdress/red
+ icon_state = "summerdress3"
+/obj/item/clothing/under/summerdress/blue
+ icon_state = "summerdress2"
diff --git a/code/modules/economy/vending_machines.dm b/code/modules/economy/vending_machines.dm
index 461e5d607f1..ceb5f57b714 100644
--- a/code/modules/economy/vending_machines.dm
+++ b/code/modules/economy/vending_machines.dm
@@ -1144,6 +1144,7 @@
/obj/item/clothing/head/surgery/black = 5,
/obj/item/clothing/shoes/white = 5,
/obj/item/clothing/suit/storage/toggle/labcoat = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/modern = 5,
/obj/item/clothing/mask/surgical = 5,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical = 5,
/obj/item/clothing/shoes/boots/winter/medical = 5
@@ -1215,6 +1216,7 @@
/obj/item/clothing/under/rank/scientist/skirt = 5,
/obj/item/clothing/under/rank/scientist/turtleneck = 5,
/obj/item/clothing/suit/storage/toggle/labcoat = 5,
+ /obj/item/clothing/suit/storage/toggle/labcoat/modern = 5,
/obj/item/clothing/shoes/white = 5,
/obj/item/clothing/shoes/slippers = 5,
/obj/item/clothing/suit/storage/hooded/wintercoat/science = 5,
@@ -1336,6 +1338,7 @@
/obj/item/clothing/under/rank/cargotech/jeans = 5,
/obj/item/clothing/under/rank/cargotech/jeans/female = 5,
/obj/item/clothing/suit/storage/hooded/wintercoat/cargo = 5,
+ /obj/item/clothing/suit/storage/cargo = 5,
/obj/item/clothing/shoes/boots/winter/supply = 5,
/obj/item/clothing/shoes/black = 5,
/obj/item/clothing/gloves/black = 5,
diff --git a/code/modules/mob/living/carbon/human/human_species.dm b/code/modules/mob/living/carbon/human/human_species.dm
index 3c6451fc99a..29b8155366d 100644
--- a/code/modules/mob/living/carbon/human/human_species.dm
+++ b/code/modules/mob/living/carbon/human/human_species.dm
@@ -22,6 +22,17 @@
. = ..()
delete_inventory()
+/mob/living/carbon/human/dummy/mannequin/autoequip
+ icon = 'icons/effects/species.dmi'
+ icon_state = "lizard_f_s_full"
+
+/mob/living/carbon/human/dummy/mannequin/autoequip/Initialize()
+ icon = null
+ icon_state = ""
+ . = ..()
+ for(var/obj/item/I in loc)
+ equip_to_appropriate_slot(I)
+
/mob/living/carbon/human/skrell/Initialize(var/new_loc)
h_style = "Skrell Short Tentacles"
return ..(new_loc, SPECIES_SKRELL)
diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm
index d98b4b29c60..1725f5fd273 100644
--- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm
+++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm
@@ -887,74 +887,56 @@
catalogue_data = list(/datum/category_item/catalogue/information/organization/khi)
sensor_mode = 3
- icon = 'icons/vore/custom_clothes_vr.dmi'
- icon_state = "khi_uniform_i"
-
- icon_override = 'icons/vore/custom_clothes_vr.dmi'
- item_state = ""
+ icon = 'icons/inventory/uniform/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/uniform/mob_vr.dmi'
+ icon_state = "khi_uniform"
/obj/item/clothing/under/rank/khi/cmd //Command version
name = "KHI command suit"
desc = "Kitsuhana Heavy Industries uniform. An extra-comfortable command one, at that. I guess if you DON'T want anarchy for some reason."
- icon_state = "khi_uniform_cmd_i"
- item_state = "khi_uniform_cmd"
- worn_state = "khi_uniform_cmd"
+ icon_state = "khi_uniform_cmd"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/under/rank/khi/sec //Security version
name = "KHI security suit"
desc = "Kitsuhana Heavy Industries uniform. This one has angry red security stripes. Keepin' the peace in style."
- icon_state = "khi_uniform_sec_i"
- item_state = "khi_uniform_sec"
- worn_state = "khi_uniform_sec"
+ icon_state = "khi_uniform_sec"
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/under/rank/khi/med //Medical version
name = "KHI medical suit"
desc = "Kitsuhana Heavy Industries uniform. The medical version. Why not just get a new body, anyway?"
- icon_state = "khi_uniform_med_i"
- item_state = "khi_uniform_med"
- worn_state = "khi_uniform_med"
+ icon_state = "khi_uniform_med"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
/obj/item/clothing/under/rank/khi/eng //Engineering version
name = "KHI engineering suit"
desc = "Kitsuhana Heavy Industries uniform. One fit for an engineer, by the looks of it. Building the future, one disaster at a time."
- icon_state = "khi_uniform_eng_i"
- item_state = "khi_uniform_eng"
- worn_state = "khi_uniform_eng"
+ icon_state = "khi_uniform_eng"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 10)
/obj/item/clothing/under/rank/khi/sci //Science version
name = "KHI science suit"
desc = "Kitsuhana Heavy Industries uniform. For performing science in, based on the color! Only SCIENCE can save us now."
- icon_state = "khi_uniform_sci_i"
- item_state = "khi_uniform_sci"
- worn_state = "khi_uniform_sci"
+ icon_state = "khi_uniform_sci"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 10, bio = 0, rad = 0)
/obj/item/clothing/under/rank/khi/crg //Cargo version
name = "KHI cargo suit"
desc = "Kitsuhana Heavy Industries uniform. Looks like it's in supply and cargo division colors. Even post-scarcity societies need things moved and mined sometimes."
- icon_state = "khi_uniform_crg_i"
- item_state = "khi_uniform_crg"
- worn_state = "khi_uniform_crg"
+ icon_state = "khi_uniform_crg"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/under/rank/khi/civ //Science version
name = "KHI civilian suit"
desc = "Kitsuhana Heavy Industries uniform. Snazzy silver trim marks this is as the general civilian branch. Smells like paperwork and bureaucracy."
- icon_state = "khi_uniform_civ_i"
- item_state = "khi_uniform_civ"
- worn_state = "khi_uniform_civ"
+ icon_state = "khi_uniform_civ"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/under/rank/khi/fluff/aronai //Aro fluff version
name = "KHI meditech suit"
desc = "Kitsuhana Heavy Industries uniform. This one has the colors of a resleeving or mnemonics engineer. It has 'Aronai' written inside the top."
- icon_state = "khi_uniform_aro_i"
- item_state = "khi_uniform_aro"
- worn_state = "khi_uniform_aro"
+ icon_state = "khi_uniform_aro"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
//jacobdragon:Earthen Breath
@@ -1187,30 +1169,26 @@ Departamental Swimsuits, for general use
/obj/item/clothing/under/rank/trek
name = "Section 31 Uniform"
desc = "Oooh... right."
- icon = 'icons/vore/custom_clothes_vr.dmi'
- icon_override = 'icons/vore/custom_clothes_vr.dmi'
- item_state = ""
+ icon = 'icons/inventory/uniform/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/uniform/mob_vr.dmi'
//TOS
/obj/item/clothing/under/rank/trek/command
name = "Command Uniform"
desc = "The uniform worn by command officers in the mid 2260s."
icon_state = "trek_command"
- item_state = "trek_command"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) // Considering only staff heads get to pick it
/obj/item/clothing/under/rank/trek/engsec
name = "Operations Uniform"
desc = "The uniform worn by operations officers of the mid 2260s. You feel strangely vulnerable just seeing this..."
icon_state = "trek_engsec"
- item_state = "trek_engsec"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) // since they're shared between jobs and kinda moot.
/obj/item/clothing/under/rank/trek/medsci
name = "MedSci Uniform"
desc = "The uniform worn by medsci officers in the mid 2260s."
icon_state = "trek_medsci"
- item_state = "trek_medsci"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0) // basically a copy of vanilla sci/med
@@ -1218,59 +1196,48 @@ Departamental Swimsuits, for general use
/obj/item/clothing/under/rank/trek/command/next
desc = "The uniform worn by command officers. This one's from the mid 2360s."
icon_state = "trek_next_command"
- item_state = "trek_next_command"
/obj/item/clothing/under/rank/trek/engsec/next
desc = "The uniform worn by operation officers. This one's from the mid 2360s."
icon_state = "trek_next_engsec"
- item_state = "trek_next_engsec"
/obj/item/clothing/under/rank/trek/medsci/next
desc = "The uniform worn by medsci officers. This one's from the mid 2360s."
icon_state = "trek_next_medsci"
- item_state = "trek_next_medsci"
//ENT
/obj/item/clothing/under/rank/trek/command/ent
desc = "The uniform worn by command officers of the 2140s."
icon_state = "trek_ent_command"
- item_state = "trek_ent_command"
/obj/item/clothing/under/rank/trek/engsec/ent
desc = "The uniform worn by operations officers of the 2140s."
icon_state = "trek_ent_engsec"
- item_state = "trek_ent_engsec"
/obj/item/clothing/under/rank/trek/medsci/ent
desc = "The uniform worn by medsci officers of the 2140s."
icon_state = "trek_ent_medsci"
- item_state = "trek_ent_medsci"
//VOY
/obj/item/clothing/under/rank/trek/command/voy
desc = "The uniform worn by command officers of the 2370s."
icon_state = "trek_voy_command"
- item_state = "trek_voy_command"
/obj/item/clothing/under/rank/trek/engsec/voy
desc = "The uniform worn by operations officers of the 2370s."
icon_state = "trek_voy_engsec"
- item_state = "trek_voy_engsec"
/obj/item/clothing/under/rank/trek/medsci/voy
desc = "The uniform worn by medsci officers of the 2370s."
icon_state = "trek_voy_medsci"
- item_state = "trek_voy_medsci"
//DS9
-
/obj/item/clothing/suit/storage/trek/ds9
name = "Padded Overcoat"
desc = "The overcoat worn by all officers of the 2380s."
+ icon = 'icons/inventory/suit/item_vr.dmi'
+ default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "trek_ds9_coat"
- icon = 'icons/vore/custom_clothes_vr.dmi'
- item_state = "trek_ds9_coat_mob"
- icon_override = 'icons/vore/custom_clothes_vr.dmi'
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
permeability_coefficient = 0.50
allowed = list(
@@ -1287,23 +1254,21 @@ Departamental Swimsuits, for general use
name = "Admiral Overcoat"
desc = "Admirality specialty coat to keep flag officers fashionable and protected."
icon_state = "trek_ds9_coat_adm"
- item_state = "trek_ds9_coat_adm_mob"
armor = list(melee = 45, bullet = 35, laser = 35, energy = 20, bomb = 0, bio = 40, rad = 55)
-
/obj/item/clothing/under/rank/trek/command/ds9
desc = "The uniform worn by command officers of the 2380s."
- icon_state = "trek_command"
+ icon_state = "trek_command" // no unique state for this one
item_state = "trek_ds9_command"
/obj/item/clothing/under/rank/trek/engsec/ds9
desc = "The uniform worn by operations officers of the 2380s."
- icon_state = "trek_engsec"
+ icon_state = "trek_engsec" // no unique state for this one
item_state = "trek_ds9_engsec"
/obj/item/clothing/under/rank/trek/medsci/ds9
desc = "The uniform undershit worn by medsci officers of the 2380s."
- icon_state = "trek_medsci"
+ icon_state = "trek_medsci" // no unique state for this one
item_state = "trek_ds9_medsci"
//For general use maybe
diff --git a/icons/inventory/accessory/item.dmi b/icons/inventory/accessory/item.dmi
index 21d8bbff1d7..61e8c368412 100644
Binary files a/icons/inventory/accessory/item.dmi and b/icons/inventory/accessory/item.dmi differ
diff --git a/icons/inventory/belt/item.dmi b/icons/inventory/belt/item.dmi
index 4f97b40e273..9fd819307a1 100644
Binary files a/icons/inventory/belt/item.dmi and b/icons/inventory/belt/item.dmi differ
diff --git a/icons/inventory/feet/item_vr.dmi b/icons/inventory/feet/item_vr.dmi
index 5b81be4b1fc..cfba06c39b5 100644
Binary files a/icons/inventory/feet/item_vr.dmi and b/icons/inventory/feet/item_vr.dmi differ
diff --git a/icons/inventory/feet/mob_vr.dmi b/icons/inventory/feet/mob_vr.dmi
index b1fbd831a12..c717e731fb3 100644
Binary files a/icons/inventory/feet/mob_vr.dmi and b/icons/inventory/feet/mob_vr.dmi differ
diff --git a/icons/inventory/hands/item_vr.dmi b/icons/inventory/hands/item_vr.dmi
index c6820167305..ba5e3bc134b 100644
Binary files a/icons/inventory/hands/item_vr.dmi and b/icons/inventory/hands/item_vr.dmi differ
diff --git a/icons/inventory/hands/mob_vr.dmi b/icons/inventory/hands/mob_vr.dmi
index 36e42192895..c2a8db76f84 100644
Binary files a/icons/inventory/hands/mob_vr.dmi and b/icons/inventory/hands/mob_vr.dmi differ
diff --git a/icons/inventory/head/item_vr.dmi b/icons/inventory/head/item_vr.dmi
index d35d62e18e6..929960272b8 100644
Binary files a/icons/inventory/head/item_vr.dmi and b/icons/inventory/head/item_vr.dmi differ
diff --git a/icons/inventory/head/mob_vr.dmi b/icons/inventory/head/mob_vr.dmi
index 417faba92ca..efde8d6aa59 100644
Binary files a/icons/inventory/head/mob_vr.dmi and b/icons/inventory/head/mob_vr.dmi differ
diff --git a/icons/inventory/suit/item_vr.dmi b/icons/inventory/suit/item_vr.dmi
index 31083070bea..8357527923e 100644
Binary files a/icons/inventory/suit/item_vr.dmi and b/icons/inventory/suit/item_vr.dmi differ
diff --git a/icons/inventory/suit/mob_vr.dmi b/icons/inventory/suit/mob_vr.dmi
index 35f233c1c32..24d73659302 100644
Binary files a/icons/inventory/suit/mob_vr.dmi and b/icons/inventory/suit/mob_vr.dmi differ
diff --git a/icons/inventory/uniform/item.dmi b/icons/inventory/uniform/item.dmi
index 5b7c197b03b..08cc0cb8157 100644
Binary files a/icons/inventory/uniform/item.dmi and b/icons/inventory/uniform/item.dmi differ
diff --git a/icons/inventory/uniform/item_vr.dmi b/icons/inventory/uniform/item_vr.dmi
index 2e97626d064..e3242dda791 100644
Binary files a/icons/inventory/uniform/item_vr.dmi and b/icons/inventory/uniform/item_vr.dmi differ
diff --git a/icons/inventory/uniform/mob.dmi b/icons/inventory/uniform/mob.dmi
index 71d8348cf61..87cee8aca9c 100644
Binary files a/icons/inventory/uniform/mob.dmi and b/icons/inventory/uniform/mob.dmi differ
diff --git a/icons/inventory/uniform/mob_vr.dmi b/icons/inventory/uniform/mob_vr.dmi
index ad363e97060..3dc58ffd2c6 100644
Binary files a/icons/inventory/uniform/mob_vr.dmi and b/icons/inventory/uniform/mob_vr.dmi differ
diff --git a/icons/mob/rig_back_vr.dmi b/icons/mob/rig_back_vr.dmi
new file mode 100644
index 00000000000..aa676c0e946
Binary files /dev/null and b/icons/mob/rig_back_vr.dmi differ
diff --git a/icons/obj/rig_modules.dmi b/icons/obj/rig_modules.dmi
index 1b6b12e4658..a63fcc23a85 100644
Binary files a/icons/obj/rig_modules.dmi and b/icons/obj/rig_modules.dmi differ
diff --git a/icons/obj/rig_modules_vr.dmi b/icons/obj/rig_modules_vr.dmi
index 1ee2c008aa4..687ea5ba789 100644
Binary files a/icons/obj/rig_modules_vr.dmi and b/icons/obj/rig_modules_vr.dmi differ
diff --git a/icons/obj/suitdispenser.dmi b/icons/obj/suitdispenser.dmi
index 09723225a41..def549b9bb9 100644
Binary files a/icons/obj/suitdispenser.dmi and b/icons/obj/suitdispenser.dmi differ
diff --git a/icons/vore/custom_clothes_vr.dmi b/icons/vore/custom_clothes_vr.dmi
index 647e4d3f826..595ce2da40c 100644
Binary files a/icons/vore/custom_clothes_vr.dmi and b/icons/vore/custom_clothes_vr.dmi differ
diff --git a/maps/offmap_vr/talon/talon_v2.dm b/maps/offmap_vr/talon/talon_v2.dm
index d914fce7a02..53ca5f052e5 100644
--- a/maps/offmap_vr/talon/talon_v2.dm
+++ b/maps/offmap_vr/talon/talon_v2.dm
@@ -336,7 +336,7 @@ speaking of, if some dumbass does take it and fly off solo then get themselves k
/obj/item/clothing/under/rank/medical,
/obj/item/clothing/under/rank/nurse,
/obj/item/clothing/under/rank/orderly,
- /obj/item/clothing/suit/storage/toggle/labcoat,
+ /obj/item/clothing/suit/storage/toggle/labcoat/modern,
/obj/item/clothing/suit/storage/toggle/fr_jacket,
/obj/item/clothing/shoes/white,
/obj/item/device/radio/headset/talon,
diff --git a/maps/southern_cross/structures/closets/medical.dm b/maps/southern_cross/structures/closets/medical.dm
index f528c2a0f15..666b42d6173 100644
--- a/maps/southern_cross/structures/closets/medical.dm
+++ b/maps/southern_cross/structures/closets/medical.dm
@@ -13,6 +13,7 @@
/obj/item/clothing/under/rank/chief_medical_officer/skirt,
/obj/item/clothing/suit/storage/toggle/labcoat/cmo,
/obj/item/clothing/suit/storage/toggle/labcoat/cmoalt,
+ /obj/item/clothing/suit/storage/toggle/labcoat/modern/cmo,
/obj/item/weapon/cartridge/cmo,
/obj/item/clothing/gloves/sterile/latex,
/obj/item/clothing/shoes/brown,
diff --git a/maps/virgo_minitest/virgo_minitest_defines.dm b/maps/virgo_minitest/virgo_minitest_defines.dm
index abee28169dc..716815b7b34 100644
--- a/maps/virgo_minitest/virgo_minitest_defines.dm
+++ b/maps/virgo_minitest/virgo_minitest_defines.dm
@@ -60,6 +60,10 @@
allowed_spawns = list("Arrivals Shuttle","Gateway","Cryogenic Storage","Cyborg Storage")
+/datum/map/virgo_minitest/New()
+ ..()
+ SSticker.start_immediately = TRUE
+
/datum/map_z_level/minitest/station
z = Z_LEVEL_MAIN_VIRGO_TESTING
name = "Station Level"
diff --git a/tgui/packages/common/string.js b/tgui/packages/common/string.js
index 461f975b3a0..4278a1fb3e0 100644
--- a/tgui/packages/common/string.js
+++ b/tgui/packages/common/string.js
@@ -78,13 +78,21 @@ export const createSearch = (searchText, stringifier) => {
};
};
+export const isUppercase = chr => {
+ return chr.toUpperCase() === chr;
+};
+
export const capitalize = str => {
// Handle array
if (Array.isArray(str)) {
return str.map(capitalize);
}
// Handle string
- return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
+ let chr = str.charAt(0);
+ if (isUppercase(chr)) {
+ return str; // Already caps, might be an acronym, so don't mess it up by lowercasing the rest
+ }
+ return chr.toUpperCase() + str.slice(1).toLowerCase();
};
export const toTitleCase = str => {
diff --git a/tgui/public/tgui-common.bundle.js b/tgui/public/tgui-common.bundle.js
index 013a168d315..d363cbd6bb5 100644
--- a/tgui/public/tgui-common.bundle.js
+++ b/tgui/public/tgui-common.bundle.js
@@ -1 +1 @@
-(self.webpackChunktgui_workspace=self.webpackChunktgui_workspace||[]).push([[962],{33407:function(e,t,n){"use strict";t.__esModule=!0,t.popperGenerator=v,t.createPopper=void 0;var r=d(n(98825)),o=d(n(52089)),i=d(n(66469)),a=d(n(54484)),u=(d(n(82020)),d(n(7183))),c=d(n(16936)),s=(d(n(11026)),d(n(20675)),d(n(78044)),d(n(5495))),l=d(n(45073));t.detectOverflow=l["default"];var f=n(31966);n(54945);function d(e){return e&&e.__esModule?e:{"default":e}}var p={placement:"bottom",modifiers:[],strategy:"absolute"};function h(){for(var e=arguments.length,t=new Array(e),n=0;n=0&&(0,l.isHTMLElement)(e)?(0,u["default"])(e):e;if(!(0,l.isElement)(n))return[];return t.filter((function(e){return(0,l.isElement)(e)&&(0,p["default"])(e,n)&&"body"!==(0,h["default"])(e)}))}(e):[].concat(t),o=[].concat(r,[n]),i=o[0],c=o.reduce((function(t,n){var r=y(e,n);return t.top=(0,m.max)(r.top,t.top),t.right=(0,m.min)(r.right,t.right),t.bottom=(0,m.min)(r.bottom,t.bottom),t.left=(0,m.max)(r.left,t.left),t}),y(e,i));return c.width=c.right-c.left,c.height=c.bottom-c.top,c.x=c.left,c.y=c.top,c};var r=n(54945),o=g(n(17488)),i=g(n(27175)),a=g(n(66469)),u=g(n(54484)),c=g(n(36e3)),s=g(n(82020)),l=n(31966),f=g(n(87916)),d=g(n(23470)),p=g(n(41858)),h=g(n(38012)),v=g(n(77276)),m=n(52209);function g(e){return e&&e.__esModule?e:{"default":e}}function y(e,t){return t===r.viewport?(0,v["default"])((0,o["default"])(e)):(0,l.isHTMLElement)(t)?function(e){var t=(0,f["default"])(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):(0,v["default"])((0,i["default"])((0,c["default"])(e)))}},98825:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e,t,n){void 0===n&&(n=!1);var l=(0,c["default"])(t),f=(0,r["default"])(e),d=(0,a.isHTMLElement)(t),p={scrollLeft:0,scrollTop:0},h={x:0,y:0};(d||!d&&!n)&&(("body"!==(0,i["default"])(t)||(0,s["default"])(l))&&(p=(0,o["default"])(t)),(0,a.isHTMLElement)(t)?((h=(0,r["default"])(t)).x+=t.clientLeft,h.y+=t.clientTop):l&&(h.x=(0,u["default"])(l)));return{x:f.left+p.scrollLeft-h.x,y:f.top+p.scrollTop-h.y,width:f.width,height:f.height}};var r=l(n(87916)),o=l(n(38015)),i=l(n(38012)),a=n(31966),u=l(n(25880)),c=l(n(36e3)),s=l(n(42156));function l(e){return e&&e.__esModule?e:{"default":e}}},82020:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return(0,o["default"])(e).getComputedStyle(e)};var r,o=(r=n(89778))&&r.__esModule?r:{"default":r}},36e3:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return(((0,r.isElement)(e)?e.ownerDocument:e.document)||window.document).documentElement};var r=n(31966)},27175:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t,n=(0,r["default"])(e),c=(0,a["default"])(e),s=null==(t=e.ownerDocument)?void 0:t.body,l=(0,u.max)(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),f=(0,u.max)(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),d=-c.scrollLeft+(0,i["default"])(e),p=-c.scrollTop;"rtl"===(0,o["default"])(s||n).direction&&(d+=(0,u.max)(n.clientWidth,s?s.clientWidth:0)-l);return{width:l,height:f,x:d,y:p}};var r=c(n(36e3)),o=c(n(82020)),i=c(n(25880)),a=c(n(31348)),u=n(52209);function c(e){return e&&e.__esModule?e:{"default":e}}},13339:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}},52089:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=(0,o["default"])(e),n=e.offsetWidth,r=e.offsetHeight;Math.abs(t.width-n)<=1&&(n=t.width);Math.abs(t.height-r)<=1&&(r=t.height);return{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}};var r,o=(r=n(87916))&&r.__esModule?r:{"default":r}},38012:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return e?(e.nodeName||"").toLowerCase():null}},38015:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return e!==(0,o["default"])(e)&&(0,i.isHTMLElement)(e)?(0,a["default"])(e):(0,r["default"])(e)};var r=u(n(31348)),o=u(n(89778)),i=n(31966),a=u(n(13339));function u(e){return e&&e.__esModule?e:{"default":e}}},54484:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=(0,r["default"])(e),n=l(e);for(;n&&(0,u["default"])(n)&&"static"===(0,i["default"])(n).position;)n=l(n);if(n&&("html"===(0,o["default"])(n)||"body"===(0,o["default"])(n)&&"static"===(0,i["default"])(n).position))return t;return n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&(0,a.isHTMLElement)(e)){if("fixed"===(0,i["default"])(e).position)return null}var n=(0,c["default"])(e);for(;(0,a.isHTMLElement)(n)&&["html","body"].indexOf((0,o["default"])(n))<0;){var r=(0,i["default"])(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t};var r=s(n(89778)),o=s(n(38012)),i=s(n(82020)),a=n(31966),u=s(n(69183)),c=s(n(23470));function s(e){return e&&e.__esModule?e:{"default":e}}function l(e){return(0,a.isHTMLElement)(e)&&"fixed"!==(0,i["default"])(e).position?e.offsetParent:null}},23470:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){if("html"===(0,r["default"])(e))return e;return e.assignedSlot||e.parentNode||((0,i.isShadowRoot)(e)?e.host:null)||(0,o["default"])(e)};var r=a(n(38012)),o=a(n(36e3)),i=n(31966);function a(e){return e&&e.__esModule?e:{"default":e}}},92098:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function c(e){if(["html","body","#document"].indexOf((0,i["default"])(e))>=0)return e.ownerDocument.body;if((0,a.isHTMLElement)(e)&&(0,o["default"])(e))return e;return c((0,r["default"])(e))};var r=u(n(23470)),o=u(n(42156)),i=u(n(38012)),a=n(31966);function u(e){return e&&e.__esModule?e:{"default":e}}},17488:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=(0,r["default"])(e),n=(0,o["default"])(e),a=t.visualViewport,u=n.clientWidth,c=n.clientHeight,s=0,l=0;a&&(u=a.width,c=a.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=a.offsetLeft,l=a.offsetTop));return{width:u,height:c,x:s+(0,i["default"])(e),y:l}};var r=a(n(89778)),o=a(n(36e3)),i=a(n(25880));function a(e){return e&&e.__esModule?e:{"default":e}}},89778:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}},31348:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=(0,o["default"])(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}};var r,o=(r=n(89778))&&r.__esModule?r:{"default":r}},25880:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return(0,r["default"])((0,o["default"])(e)).left+(0,i["default"])(e).scrollLeft};var r=a(n(87916)),o=a(n(36e3)),i=a(n(31348));function a(e){return e&&e.__esModule?e:{"default":e}}},31966:function(e,t,n){"use strict";t.__esModule=!0,t.isElement=function(e){var t=(0,o["default"])(e).Element;return e instanceof t||e instanceof Element},t.isHTMLElement=function(e){var t=(0,o["default"])(e).HTMLElement;return e instanceof t||e instanceof HTMLElement},t.isShadowRoot=function(e){if("undefined"==typeof ShadowRoot)return!1;var t=(0,o["default"])(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot};var r,o=(r=n(89778))&&r.__esModule?r:{"default":r}},42156:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=(0,o["default"])(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)};var r,o=(r=n(82020))&&r.__esModule?r:{"default":r}},69183:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return["table","td","th"].indexOf((0,o["default"])(e))>=0};var r,o=(r=n(38012))&&r.__esModule?r:{"default":r}},66469:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function c(e,t){var n;void 0===t&&(t=[]);var u=(0,r["default"])(e),s=u===(null==(n=e.ownerDocument)?void 0:n.body),l=(0,i["default"])(u),f=s?[l].concat(l.visualViewport||[],(0,a["default"])(u)?u:[]):u,d=t.concat(f);return s?d:d.concat(c((0,o["default"])(f)))};var r=u(n(92098)),o=u(n(23470)),i=u(n(89778)),a=u(n(42156));function u(e){return e&&e.__esModule?e:{"default":e}}},54945:function(e,t){"use strict";t.__esModule=!0,t.modifierPhases=t.afterWrite=t.write=t.beforeWrite=t.afterMain=t.main=t.beforeMain=t.afterRead=t.read=t.beforeRead=t.placements=t.variationPlacements=t.reference=t.popper=t.viewport=t.clippingParents=t.end=t.start=t.basePlacements=t.auto=t.left=t.right=t.bottom=t.top=void 0;t.top="top";var n="bottom";t.bottom=n;var r="right";t.right=r;var o="left";t.left=o;var i="auto";t.auto=i;var a=["top",n,r,o];t.basePlacements=a;var u="start";t.start=u;var c="end";t.end=c;t.clippingParents="clippingParents";t.viewport="viewport";t.popper="popper";t.reference="reference";var s=a.reduce((function(e,t){return e.concat([t+"-"+u,t+"-"+c])}),[]);t.variationPlacements=s;var l=[].concat(a,[i]).reduce((function(e,t){return e.concat([t,t+"-"+u,t+"-"+c])}),[]);t.placements=l;var f="beforeRead";t.beforeRead=f;var d="read";t.read=d;var p="afterRead";t.afterRead=p;var h="beforeMain";t.beforeMain=h;var v="main";t.main=v;var m="afterMain";t.afterMain=m;var g="beforeWrite";t.beforeWrite=g;var y="write";t.write=y;var b="afterWrite";t.afterWrite=b;var _=[f,d,p,h,v,m,g,y,b];t.modifierPhases=_},11613:function(e,t,n){"use strict";t.__esModule=!0;var r={popperGenerator:!0,detectOverflow:!0,createPopperBase:!0,createPopper:!0,createPopperLite:!0};t.createPopperLite=t.createPopper=t.createPopperBase=t.detectOverflow=t.popperGenerator=void 0;var o=n(54945);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===o[e]||(t[e]=o[e]))}));var i=n(15461);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===i[e]||(t[e]=i[e]))}));var a=n(33407);t.popperGenerator=a.popperGenerator,t.detectOverflow=a.detectOverflow,t.createPopperBase=a.createPopper;var u=n(15172);t.createPopper=u.createPopper;var c=n(15327);t.createPopperLite=c.createPopper},1803:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r,o=(r=n(38012))&&r.__esModule?r:{"default":r},i=n(31966);var a={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},a=t.elements[e];(0,i.isHTMLElement)(a)&&(0,o["default"])(a)&&(Object.assign(a.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?a.removeAttribute(e):a.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],a=t.attributes[e]||{},u=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});(0,i.isHTMLElement)(r)&&(0,o["default"])(r)&&(Object.assign(r.style,u),Object.keys(a).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]};t["default"]=a},35838:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r=d(n(78044)),o=d(n(52089)),i=d(n(41858)),a=d(n(54484)),u=d(n(99840)),c=d(n(51520)),s=d(n(72882)),l=d(n(8415)),f=n(54945);n(31966);function d(e){return e&&e.__esModule?e:{"default":e}}var p=function(e,t){return e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e,(0,s["default"])("number"!=typeof e?e:(0,l["default"])(e,f.basePlacements))};var h={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,i=e.name,s=e.options,l=n.elements.arrow,d=n.modifiersData.popperOffsets,h=(0,r["default"])(n.placement),v=(0,u["default"])(h),m=[f.left,f.right].indexOf(h)>=0?"height":"width";if(l&&d){var g=p(s.padding,n),y=(0,o["default"])(l),b="y"===v?f.top:f.left,_="y"===v?f.bottom:f.right,w=n.rects.reference[m]+n.rects.reference[v]-d[v]-n.rects.popper[m],x=d[v]-n.rects.reference[v],E=(0,a["default"])(l),S=E?"y"===v?E.clientHeight||0:E.clientWidth||0:0,C=w/2-x/2,N=g[b],O=S-y[m]-g[_],k=S/2-y[m]/2+C,M=(0,c["default"])(N,k,O),A=v;n.modifiersData[i]=((t={})[A]=M,t.centerOffset=M-k,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&(0,i["default"])(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};t["default"]=h},42569:function(e,t,n){"use strict";t.__esModule=!0,t.mapToStyles=d,t["default"]=void 0;var r=n(54945),o=l(n(54484)),i=l(n(89778)),a=l(n(36e3)),u=l(n(82020)),c=l(n(78044)),s=n(52209);function l(e){return e&&e.__esModule?e:{"default":e}}var f={top:"auto",right:"auto",bottom:"auto",left:"auto"};function d(e){var t,n=e.popper,c=e.popperRect,l=e.placement,d=e.offsets,p=e.position,h=e.gpuAcceleration,v=e.adaptive,m=e.roundOffsets,g=!0===m?function(e){var t=e.x,n=e.y,r=window.devicePixelRatio||1;return{x:(0,s.round)((0,s.round)(t*r)/r)||0,y:(0,s.round)((0,s.round)(n*r)/r)||0}}(d):"function"==typeof m?m(d):d,y=g.x,b=void 0===y?0:y,_=g.y,w=void 0===_?0:_,x=d.hasOwnProperty("x"),E=d.hasOwnProperty("y"),S=r.left,C=r.top,N=window;if(v){var O=(0,o["default"])(n),k="clientHeight",M="clientWidth";O===(0,i["default"])(n)&&(O=(0,a["default"])(n),"static"!==(0,u["default"])(O).position&&(k="scrollHeight",M="scrollWidth")),O=O,l===r.top&&(C=r.bottom,w-=O[k]-c.height,w*=h?1:-1),l===r.left&&(S=r.right,b-=O[M]-c.width,b*=h?1:-1)}var A,T=Object.assign({position:p},v&&f);return h?Object.assign({},T,((A={})[C]=E?"0":"",A[S]=x?"0":"",A.transform=(N.devicePixelRatio||1)<2?"translate("+b+"px, "+w+"px)":"translate3d("+b+"px, "+w+"px, 0)",A)):Object.assign({},T,((t={})[C]=E?w+"px":"",t[S]=x?b+"px":"",t.transform="",t))}var p={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=void 0===r||r,i=n.adaptive,a=void 0===i||i,u=n.roundOffsets,s=void 0===u||u,l={placement:(0,c["default"])(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,d(Object.assign({},l,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:s})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,d(Object.assign({},l,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:s})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}};t["default"]=p},84886:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r,o=(r=n(89778))&&r.__esModule?r:{"default":r};var i={passive:!0};var a={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,r=e.options,a=r.scroll,u=void 0===a||a,c=r.resize,s=void 0===c||c,l=(0,o["default"])(t.elements.popper),f=[].concat(t.scrollParents.reference,t.scrollParents.popper);return u&&f.forEach((function(e){e.addEventListener("scroll",n.update,i)})),s&&l.addEventListener("resize",n.update,i),function(){u&&f.forEach((function(e){e.removeEventListener("scroll",n.update,i)})),s&&l.removeEventListener("resize",n.update,i)}},data:{}};t["default"]=a},75306:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r=l(n(21784)),o=l(n(78044)),i=l(n(10333)),a=l(n(45073)),u=l(n(9118)),c=n(54945),s=l(n(7938));function l(e){return e&&e.__esModule?e:{"default":e}}var f={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,l=e.name;if(!t.modifiersData[l]._skip){for(var f=n.mainAxis,d=void 0===f||f,p=n.altAxis,h=void 0===p||p,v=n.fallbackPlacements,m=n.padding,g=n.boundary,y=n.rootBoundary,b=n.altBoundary,_=n.flipVariations,w=void 0===_||_,x=n.allowedAutoPlacements,E=t.options.placement,S=(0,o["default"])(E),C=v||(S===E||!w?[(0,r["default"])(E)]:function(e){if((0,o["default"])(e)===c.auto)return[];var t=(0,r["default"])(e);return[(0,i["default"])(e),t,(0,i["default"])(t)]}(E)),N=[E].concat(C).reduce((function(e,n){return e.concat((0,o["default"])(n)===c.auto?(0,u["default"])(t,{placement:n,boundary:g,rootBoundary:y,padding:m,flipVariations:w,allowedAutoPlacements:x}):n)}),[]),O=t.rects.reference,k=t.rects.popper,M=new Map,A=!0,T=N[0],I=0;I=0,j=B?"width":"height",R=(0,a["default"])(t,{placement:P,boundary:g,rootBoundary:y,altBoundary:b,padding:m}),D=B?L?c.right:c.left:L?c.bottom:c.top;O[j]>k[j]&&(D=(0,r["default"])(D));var F=(0,r["default"])(D),K=[];if(d&&K.push(R[V]<=0),h&&K.push(R[D]<=0,R[F]<=0),K.every((function(e){return e}))){T=P,A=!1;break}M.set(P,K)}if(A)for(var z=function(e){var t=N.find((function(t){var n=M.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return T=t,"break"},Y=w?3:1;Y>0;Y--){if("break"===z(Y))break}t.placement!==T&&(t.modifiersData[l]._skip=!0,t.placement=T,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};t["default"]=f},91263:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r,o=n(54945),i=(r=n(45073))&&r.__esModule?r:{"default":r};function a(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function u(e){return[o.top,o.right,o.bottom,o.left].some((function(t){return e[t]>=0}))}var c={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,c=t.modifiersData.preventOverflow,s=(0,i["default"])(t,{elementContext:"reference"}),l=(0,i["default"])(t,{altBoundary:!0}),f=a(s,r),d=a(l,o,c),p=u(f),h=u(d);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:d,isReferenceHidden:p,hasPopperEscaped:h},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":h})}};t["default"]=c},15461:function(e,t,n){"use strict";t.__esModule=!0,t.preventOverflow=t.popperOffsets=t.offset=t.hide=t.flip=t.eventListeners=t.computeStyles=t.arrow=t.applyStyles=void 0;var r=d(n(1803));t.applyStyles=r["default"];var o=d(n(35838));t.arrow=o["default"];var i=d(n(42569));t.computeStyles=i["default"];var a=d(n(84886));t.eventListeners=a["default"];var u=d(n(75306));t.flip=u["default"];var c=d(n(91263));t.hide=c["default"];var s=d(n(36777));t.offset=s["default"];var l=d(n(19860));t.popperOffsets=l["default"];var f=d(n(90992));function d(e){return e&&e.__esModule?e:{"default":e}}t.preventOverflow=f["default"]},36777:function(e,t,n){"use strict";t.__esModule=!0,t.distanceAndSkiddingToXY=a,t["default"]=void 0;var r,o=(r=n(78044))&&r.__esModule?r:{"default":r},i=n(54945);function a(e,t,n){var r=(0,o["default"])(e),a=[i.left,i.top].indexOf(r)>=0?-1:1,u="function"==typeof n?n(Object.assign({},t,{placement:e})):n,c=u[0],s=u[1];return c=c||0,s=(s||0)*a,[i.left,i.right].indexOf(r)>=0?{x:s,y:c}:{x:c,y:s}}var u={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.offset,u=void 0===o?[0,0]:o,c=i.placements.reduce((function(e,n){return e[n]=a(n,t.rects,u),e}),{}),s=c[t.placement],l=s.x,f=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=f),t.modifiersData[r]=c}};t["default"]=u},19860:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r,o=(r=n(89731))&&r.__esModule?r:{"default":r};var i={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=(0,o["default"])({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}};t["default"]=i},90992:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=void 0;var r=n(54945),o=h(n(78044)),i=h(n(99840)),a=h(n(80776)),u=h(n(51520)),c=h(n(52089)),s=h(n(54484)),l=h(n(45073)),f=h(n(7938)),d=h(n(9775)),p=n(52209);function h(e){return e&&e.__esModule?e:{"default":e}}var v={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,h=e.name,v=n.mainAxis,m=void 0===v||v,g=n.altAxis,y=void 0!==g&&g,b=n.boundary,_=n.rootBoundary,w=n.altBoundary,x=n.padding,E=n.tether,S=void 0===E||E,C=n.tetherOffset,N=void 0===C?0:C,O=(0,l["default"])(t,{boundary:b,rootBoundary:_,padding:x,altBoundary:w}),k=(0,o["default"])(t.placement),M=(0,f["default"])(t.placement),A=!M,T=(0,i["default"])(k),I=(0,a["default"])(T),P=t.modifiersData.popperOffsets,V=t.rects.reference,L=t.rects.popper,B="function"==typeof N?N(Object.assign({},t.rects,{placement:t.placement})):N,j={x:0,y:0};if(P){if(m||y){var R="y"===T?r.top:r.left,D="y"===T?r.bottom:r.right,F="y"===T?"height":"width",K=P[T],z=P[T]+O[R],Y=P[T]-O[D],U=S?-L[F]/2:0,H=M===r.start?V[F]:L[F],W=M===r.start?-L[F]:-V[F],$=t.elements.arrow,G=S&&$?(0,c["default"])($):{width:0,height:0},q=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:(0,d["default"])(),X=q[R],Q=q[D],Z=(0,u["default"])(0,V[F],G[F]),J=A?V[F]/2-U-Z-X-B:H-Z-X-B,ee=A?-V[F]/2+U+Z+Q+B:W+Z+Q+B,te=t.elements.arrow&&(0,s["default"])(t.elements.arrow),ne=te?"y"===T?te.clientTop||0:te.clientLeft||0:0,re=t.modifiersData.offset?t.modifiersData.offset[t.placement][T]:0,oe=P[T]+J-re-ne,ie=P[T]+ee-re;if(m){var ae=(0,u["default"])(S?(0,p.min)(z,oe):z,K,S?(0,p.max)(Y,ie):Y);P[T]=ae,j[T]=ae-K}if(y){var ue="x"===T?r.top:r.left,ce="x"===T?r.bottom:r.right,se=P[I],le=se+O[ue],fe=se-O[ce],de=(0,u["default"])(S?(0,p.min)(le,oe):le,se,S?(0,p.max)(fe,ie):fe);P[I]=de,j[I]=de-se}}t.modifiersData[h]=j}},requiresIfExists:["offset"]};t["default"]=v},15327:function(e,t,n){"use strict";t.__esModule=!0,t.defaultModifiers=t.createPopper=void 0;var r=n(33407);t.popperGenerator=r.popperGenerator,t.detectOverflow=r.detectOverflow;var o=c(n(84886)),i=c(n(19860)),a=c(n(42569)),u=c(n(1803));function c(e){return e&&e.__esModule?e:{"default":e}}var s=[o["default"],i["default"],a["default"],u["default"]];t.defaultModifiers=s;var l=(0,r.popperGenerator)({defaultModifiers:s});t.createPopper=l},15172:function(e,t,n){"use strict";t.__esModule=!0;var r={createPopper:!0,createPopperLite:!0,defaultModifiers:!0,popperGenerator:!0,detectOverflow:!0};t.defaultModifiers=t.createPopperLite=t.createPopper=void 0;var o=n(33407);t.popperGenerator=o.popperGenerator,t.detectOverflow=o.detectOverflow;var i=m(n(84886)),a=m(n(19860)),u=m(n(42569)),c=m(n(1803)),s=m(n(36777)),l=m(n(75306)),f=m(n(90992)),d=m(n(35838)),p=m(n(91263)),h=n(15327);t.createPopperLite=h.createPopper;var v=n(15461);function m(e){return e&&e.__esModule?e:{"default":e}}Object.keys(v).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||e in t&&t[e]===v[e]||(t[e]=v[e]))}));var g=[i["default"],a["default"],u["default"],c["default"],s["default"],l["default"],f["default"],d["default"],p["default"]];t.defaultModifiers=g;var y=(0,o.popperGenerator)({defaultModifiers:g});t.createPopperLite=t.createPopper=y},9118:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e,t){void 0===t&&(t={});var n=t,u=n.placement,c=n.boundary,s=n.rootBoundary,l=n.padding,f=n.flipVariations,d=n.allowedAutoPlacements,p=void 0===d?o.placements:d,h=(0,r["default"])(u),v=h?f?o.variationPlacements:o.variationPlacements.filter((function(e){return(0,r["default"])(e)===h})):o.basePlacements,m=v.filter((function(e){return p.indexOf(e)>=0}));0===m.length&&(m=v);var g=m.reduce((function(t,n){return t[n]=(0,i["default"])(e,{placement:n,boundary:c,rootBoundary:s,padding:l})[(0,a["default"])(n)],t}),{});return Object.keys(g).sort((function(e,t){return g[e]-g[t]}))};var r=u(n(7938)),o=n(54945),i=u(n(45073)),a=u(n(78044));function u(e){return e&&e.__esModule?e:{"default":e}}},89731:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t,n=e.reference,u=e.element,c=e.placement,s=c?(0,r["default"])(c):null,l=c?(0,o["default"])(c):null,f=n.x+n.width/2-u.width/2,d=n.y+n.height/2-u.height/2;switch(s){case a.top:t={x:f,y:n.y-u.height};break;case a.bottom:t={x:f,y:n.y+n.height};break;case a.right:t={x:n.x+n.width,y:d};break;case a.left:t={x:n.x-u.width,y:d};break;default:t={x:n.x,y:n.y}}var p=s?(0,i["default"])(s):null;if(null!=p){var h="y"===p?"height":"width";switch(l){case a.start:t[p]=t[p]-(n[h]/2-u[h]/2);break;case a.end:t[p]=t[p]+(n[h]/2-u[h]/2)}}return t};var r=u(n(78044)),o=u(n(7938)),i=u(n(99840)),a=n(54945);function u(e){return e&&e.__esModule?e:{"default":e}}},16936:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=undefined,n(e())}))}))),t}}},45073:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e,t){void 0===t&&(t={});var n=t,d=n.placement,p=void 0===d?e.placement:d,h=n.boundary,v=void 0===h?c.clippingParents:h,m=n.rootBoundary,g=void 0===m?c.viewport:m,y=n.elementContext,b=void 0===y?c.popper:y,_=n.altBoundary,w=void 0!==_&&_,x=n.padding,E=void 0===x?0:x,S=(0,l["default"])("number"!=typeof E?E:(0,f["default"])(E,c.basePlacements)),C=b===c.popper?c.reference:c.popper,N=e.elements.reference,O=e.rects.popper,k=e.elements[w?C:b],M=(0,o["default"])((0,s.isElement)(k)?k:k.contextElement||(0,i["default"])(e.elements.popper),v,g),A=(0,r["default"])(N),T=(0,a["default"])({reference:A,element:O,strategy:"absolute",placement:p}),I=(0,u["default"])(Object.assign({},O,T)),P=b===c.popper?I:A,V={top:M.top-P.top+S.top,bottom:P.bottom-M.bottom+S.bottom,left:M.left-P.left+S.left,right:P.right-M.right+S.right},L=e.modifiersData.offset;if(b===c.popper&&L){var B=L[p];Object.keys(V).forEach((function(e){var t=[c.right,c.bottom].indexOf(e)>=0?1:-1,n=[c.top,c.bottom].indexOf(e)>=0?"y":"x";V[e]+=B[n]*t}))}return V};var r=d(n(87916)),o=d(n(70846)),i=d(n(36e3)),a=d(n(89731)),u=d(n(77276)),c=n(54945),s=n(31966),l=d(n(72882)),f=d(n(8415));function d(e){return e&&e.__esModule?e:{"default":e}}},8415:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}},50121:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r=0?"x":"y"}},21784:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return e.replace(/left|right|bottom|top/g,(function(e){return n[e]}))};var n={left:"right",right:"left",bottom:"top",top:"bottom"}},10333:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return e.replace(/start|end/g,(function(e){return n[e]}))};var n={start:"end",end:"start"}},7938:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return e.split("-")[1]}},52209:function(e,t){"use strict";t.__esModule=!0,t.round=t.min=t.max=void 0;var n=Math.max;t.max=n;var r=Math.min;t.min=r;var o=Math.round;t.round=o},5495:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){var t=e.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}},72882:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){return Object.assign({},(0,o["default"])(),e)};var r,o=(r=n(9775))&&r.__esModule?r:{"default":r}},7183:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){var t=function(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}(e);return r.modifierPhases.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])};var r=n(54945)},77276:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}},20675:function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e,t){var n=new Set;return e.filter((function(e){var r=t(e);if(!n.has(r))return n.add(r),!0}))}},11026:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e){e.forEach((function(t){Object.keys(t).forEach((function(n){switch(n){case"name":t.name;break;case"enabled":t.enabled;case"phase":o.modifierPhases.indexOf(t.phase);break;case"fn":t.fn;break;case"effect":t.effect;break;case"requires":Array.isArray(t.requires);break;case"requiresIfExists":Array.isArray(t.requiresIfExists)}t.requires&&t.requires.forEach((function(t){e.find((function(e){return e.name===t}))}))}))}))};(r=n(50121))&&r.__esModule;var r,o=n(54945)},51520:function(e,t,n){"use strict";t.__esModule=!0,t["default"]=function(e,t,n){return(0,r.max)(e,(0,r.min)(t,n))};var r=n(52209)},13686:function(e){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},85369:function(e,t,n){"use strict";var r=n(88711);e.exports=function(e){if(!r(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},14281:function(e,t,n){"use strict";var r=n(53414),o=n(96093),i=n(96452),a=r("unscopables"),u=Array.prototype;u[a]==undefined&&i.f(u,a,{configurable:!0,value:o(null)}),e.exports=function(e){u[a][e]=!0}},47103:function(e,t,n){"use strict";var r=n(34444).charAt;e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},2273:function(e){"use strict";e.exports=function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return e}},14860:function(e,t,n){"use strict";var r=n(88711);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},17811:function(e){"use strict";e.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},73203:function(e,t,n){"use strict";var r,o=n(17811),i=n(67738),a=n(179),u=n(88711),c=n(18632),s=n(54781),l=n(21413),f=n(77219),d=n(96452).f,p=n(92608),h=n(77715),v=n(53414),m=n(88340),g=a.Int8Array,y=g&&g.prototype,b=a.Uint8ClampedArray,_=b&&b.prototype,w=g&&p(g),x=y&&p(y),E=Object.prototype,S=E.isPrototypeOf,C=v("toStringTag"),N=m("TYPED_ARRAY_TAG"),O=o&&!!h&&"Opera"!==s(a.opera),k=!1,M={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},A={BigInt64Array:8,BigUint64Array:8},T=function(e){if(!u(e))return!1;var t=s(e);return"DataView"===t||c(M,t)||c(A,t)},I=function(e){if(!u(e))return!1;var t=s(e);return c(M,t)||c(A,t)};for(r in M)a[r]||(O=!1);if((!O||"function"!=typeof w||w===Function.prototype)&&(w=function(){throw TypeError("Incorrect invocation")},O))for(r in M)a[r]&&h(a[r],w);if((!O||!x||x===E)&&(x=w.prototype,O))for(r in M)a[r]&&h(a[r].prototype,x);if(O&&p(_)!==x&&h(_,x),i&&!c(x,C))for(r in k=!0,d(x,C,{get:function(){return u(this)?this[N]:undefined}}),M)a[r]&&l(a[r],N,r);e.exports={NATIVE_ARRAY_BUFFER_VIEWS:O,TYPED_ARRAY_TAG:k&&N,aTypedArray:function(e){if(I(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(h){if(S.call(w,e))return e}else for(var t in M)if(c(M,r)){var n=a[t];if(n&&(e===n||S.call(n,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n){if(i){if(n)for(var r in M){var o=a[r];o&&c(o.prototype,e)&&delete o.prototype[e]}x[e]&&!n||f(x,e,n?t:O&&y[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var r,o;if(i){if(h){if(n)for(r in M)(o=a[r])&&c(o,e)&&delete o[e];if(w[e]&&!n)return;try{return f(w,e,n?t:O&&g[e]||t)}catch(u){}}for(r in M)!(o=a[r])||o[e]&&!n||f(o,e,t)}},isView:T,isTypedArray:I,TypedArray:w,TypedArrayPrototype:x}},93071:function(e,t,n){"use strict";var r=n(179),o=n(67738),i=n(17811),a=n(21413),u=n(5289),c=n(84921),s=n(2273),l=n(44028),f=n(27842),d=n(66659),p=n(63408),h=n(92608),v=n(77715),m=n(75604).f,g=n(96452).f,y=n(24115),b=n(81978),_=n(28076),w=_.get,x=_.set,E="ArrayBuffer",S="DataView",C="Wrong index",N=r.ArrayBuffer,O=N,k=r.DataView,M=k&&k.prototype,A=Object.prototype,T=r.RangeError,I=p.pack,P=p.unpack,V=function(e){return[255&e]},L=function(e){return[255&e,e>>8&255]},B=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},j=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},R=function(e){return I(e,23,4)},D=function(e){return I(e,52,8)},F=function(e,t){g(e.prototype,t,{get:function(){return w(this)[t]}})},K=function(e,t,n,r){var o=d(n),i=w(e);if(o+t>i.byteLength)throw T(C);var a=w(i.buffer).bytes,u=o+i.byteOffset,c=a.slice(u,u+t);return r?c:c.reverse()},z=function(e,t,n,r,o,i){var a=d(n),u=w(e);if(a+t>u.byteLength)throw T(C);for(var c=w(u.buffer).bytes,s=a+u.byteOffset,l=r(+o),f=0;fW;)(Y=H[W++])in O||a(O,Y,N[Y]);U.constructor=O}v&&h(M)!==A&&v(M,A);var $=new k(new O(2)),G=M.setInt8;$.setInt8(0,2147483648),$.setInt8(1,2147483649),!$.getInt8(0)&&$.getInt8(1)||u(M,{setInt8:function(e,t){G.call(this,e,t<<24>>24)},setUint8:function(e,t){G.call(this,e,t<<24>>24)}},{unsafe:!0})}else O=function(e){s(this,O,E);var t=d(e);x(this,{bytes:y.call(new Array(t),0),byteLength:t}),o||(this.byteLength=t)},k=function(e,t,n){s(this,k,S),s(e,O,S);var r=w(e).byteLength,i=l(t);if(i<0||i>r)throw T("Wrong offset");if(i+(n=n===undefined?r-i:f(n))>r)throw T("Wrong length");x(this,{buffer:e,byteLength:n,byteOffset:i}),o||(this.buffer=e,this.byteLength=n,this.byteOffset=i)},o&&(F(O,"byteLength"),F(k,"buffer"),F(k,"byteLength"),F(k,"byteOffset")),u(k.prototype,{getInt8:function(e){return K(this,1,e)[0]<<24>>24},getUint8:function(e){return K(this,1,e)[0]},getInt16:function(e){var t=K(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=K(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return j(K(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return j(K(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return P(K(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return P(K(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){z(this,1,e,V,t)},setUint8:function(e,t){z(this,1,e,V,t)},setInt16:function(e,t){z(this,2,e,L,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){z(this,2,e,L,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){z(this,4,e,B,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){z(this,4,e,B,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){z(this,4,e,R,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){z(this,8,e,D,t,arguments.length>2?arguments[2]:undefined)}});b(O,E),b(k,S),e.exports={ArrayBuffer:O,DataView:k}},92475:function(e,t,n){"use strict";var r=n(6289),o=n(13292),i=n(27842),a=Math.min;e.exports=[].copyWithin||function(e,t){var n=r(this),u=i(n.length),c=o(e,u),s=o(t,u),l=arguments.length>2?arguments[2]:undefined,f=a((l===undefined?u:o(l,u))-s,u-c),d=1;for(s0;)s in n?n[c]=n[s]:delete n[c],c+=d,s+=d;return n}},24115:function(e,t,n){"use strict";var r=n(6289),o=n(13292),i=n(27842);e.exports=function(e){for(var t=r(this),n=i(t.length),a=arguments.length,u=o(a>1?arguments[1]:undefined,n),c=a>2?arguments[2]:undefined,s=c===undefined?n:o(c,n);s>u;)t[u++]=e;return t}},70091:function(e,t,n){"use strict";var r=n(77118).forEach,o=n(45944)("forEach");e.exports=o?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}},75372:function(e,t,n){"use strict";var r=n(57386),o=n(6289),i=n(36288),a=n(76774),u=n(27842),c=n(79651),s=n(29863);e.exports=function(e){var t,n,l,f,d,p,h=o(e),v="function"==typeof this?this:Array,m=arguments.length,g=m>1?arguments[1]:undefined,y=g!==undefined,b=s(h),_=0;if(y&&(g=r(g,m>2?arguments[2]:undefined,2)),b==undefined||v==Array&&a(b))for(n=new v(t=u(h.length));t>_;_++)p=y?g(h[_],_):h[_],c(n,_,p);else for(d=(f=b.call(h)).next,n=new v;!(l=d.call(f)).done;_++)p=y?i(f,g,[l.value,_],!0):l.value,c(n,_,p);return n.length=_,n}},53454:function(e,t,n){"use strict";var r=n(94789),o=n(27842),i=n(13292),a=function(e){return function(t,n,a){var u,c=r(t),s=o(c.length),l=i(a,s);if(e&&n!=n){for(;s>l;)if((u=c[l++])!=u)return!0}else for(;s>l;l++)if((e||l in c)&&c[l]===n)return e||l||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},77118:function(e,t,n){"use strict";var r=n(57386),o=n(46317),i=n(6289),a=n(27842),u=n(12384),c=[].push,s=function(e){var t=1==e,n=2==e,s=3==e,l=4==e,f=6==e,d=7==e,p=5==e||f;return function(h,v,m,g){for(var y,b,_=i(h),w=o(_),x=r(v,m,3),E=a(w.length),S=0,C=g||u,N=t?C(h,E):n||d?C(h,0):undefined;E>S;S++)if((p||S in w)&&(b=x(y=w[S],S,_),e))if(t)N[S]=b;else if(b)switch(e){case 3:return!0;case 5:return y;case 6:return S;case 2:c.call(N,y)}else switch(e){case 4:return!1;case 7:c.call(N,y)}return f?-1:s||l?l:N}};e.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6),filterOut:s(7)}},9819:function(e,t,n){"use strict";var r=n(94789),o=n(44028),i=n(27842),a=n(45944),u=Math.min,c=[].lastIndexOf,s=!!c&&1/[1].lastIndexOf(1,-0)<0,l=a("lastIndexOf"),f=s||!l;e.exports=f?function(e){if(s)return c.apply(this,arguments)||0;var t=r(this),n=i(t.length),a=n-1;for(arguments.length>1&&(a=u(a,o(arguments[1]))),a<0&&(a=n+a);a>=0;a--)if(a in t&&t[a]===e)return a||0;return-1}:c},16684:function(e,t,n){"use strict";var r=n(84921),o=n(53414),i=n(32728),a=o("species");e.exports=function(e){return i>=51||!r((function(){var t=[];return(t.constructor={})[a]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},45944:function(e,t,n){"use strict";var r=n(84921);e.exports=function(e,t){var n=[][e];return!!n&&r((function(){n.call(null,t||function(){throw 1},1)}))}},59878:function(e,t,n){"use strict";var r=n(13686),o=n(6289),i=n(46317),a=n(27842),u=function(e){return function(t,n,u,c){r(n);var s=o(t),l=i(s),f=a(s.length),d=e?f-1:0,p=e?-1:1;if(u<2)for(;;){if(d in l){c=l[d],d+=p;break}if(d+=p,e?d<0:f<=d)throw TypeError("Reduce of empty array with no initial value")}for(;e?d>=0:f>d;d+=p)d in l&&(c=n(c,l[d],d,s));return c}};e.exports={left:u(!1),right:u(!0)}},12384:function(e,t,n){"use strict";var r=n(88711),o=n(1897),i=n(53414)("species");e.exports=function(e,t){var n;return o(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!o(n.prototype)?r(n)&&null===(n=n[i])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},36288:function(e,t,n){"use strict";var r=n(14860),o=n(16284);e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(a){throw o(e),a}}},33652:function(e,t,n){"use strict";var r=n(53414)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},"return":function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(u){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i={};i[r]=function(){return{next:function(){return{done:n=!0}}}},e(i)}catch(u){}return n}},90726:function(e){"use strict";var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},54781:function(e,t,n){"use strict";var r=n(97099),o=n(90726),i=n(53414)("toStringTag"),a="Arguments"==o(function(){return arguments}());e.exports=r?o:function(e){var t,n,r;return e===undefined?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(n){}}(t=Object(e),i))?n:a?o(t):"Object"==(r=o(t))&&"function"==typeof t.callee?"Arguments":r}},4721:function(e,t,n){"use strict";var r=n(96452).f,o=n(96093),i=n(5289),a=n(57386),u=n(2273),c=n(8362),s=n(54981),l=n(40548),f=n(67738),d=n(21419).fastKey,p=n(28076),h=p.set,v=p.getterFor;e.exports={getConstructor:function(e,t,n,s){var l=e((function(e,r){u(e,l,t),h(e,{type:t,index:o(null),first:undefined,last:undefined,size:0}),f||(e.size=0),r!=undefined&&c(r,e[s],{that:e,AS_ENTRIES:n})})),p=v(t),m=function(e,t,n){var r,o,i=p(e),a=g(e,t);return a?a.value=n:(i.last=a={index:o=d(t,!0),key:t,value:n,previous:r=i.last,next:undefined,removed:!1},i.first||(i.first=a),r&&(r.next=a),f?i.size++:e.size++,"F"!==o&&(i.index[o]=a)),e},g=function(e,t){var n,r=p(e),o=d(t);if("F"!==o)return r.index[o];for(n=r.first;n;n=n.next)if(n.key==t)return n};return i(l.prototype,{clear:function(){for(var e=p(this),t=e.index,n=e.first;n;)n.removed=!0,n.previous&&(n.previous=n.previous.next=undefined),delete t[n.index],n=n.next;e.first=e.last=undefined,f?e.size=0:this.size=0},"delete":function(e){var t=this,n=p(t),r=g(t,e);if(r){var o=r.next,i=r.previous;delete n.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),n.first==r&&(n.first=o),n.last==r&&(n.last=i),f?n.size--:t.size--}return!!r},forEach:function(e){for(var t,n=p(this),r=a(e,arguments.length>1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(r(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!g(this,e)}}),i(l.prototype,n?{get:function(e){var t=g(this,e);return t&&t.value},set:function(e,t){return m(this,0===e?0:e,t)}}:{add:function(e){return m(this,e=0===e?0:e,e)}}),f&&r(l.prototype,"size",{get:function(){return p(this).size}}),l},setStrong:function(e,t,n){var r=t+" Iterator",o=v(t),i=v(r);s(e,t,(function(e,t){h(this,{type:r,target:e,state:o(e),kind:t,last:undefined})}),(function(){for(var e=i(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=undefined,{value:undefined,done:!0})}),n?"entries":"values",!n,!0),l(t)}}},76568:function(e,t,n){"use strict";var r=n(5289),o=n(21419).getWeakData,i=n(14860),a=n(88711),u=n(2273),c=n(8362),s=n(77118),l=n(18632),f=n(28076),d=f.set,p=f.getterFor,h=s.find,v=s.findIndex,m=0,g=function(e){return e.frozen||(e.frozen=new y)},y=function(){this.entries=[]},b=function(e,t){return h(e.entries,(function(e){return e[0]===t}))};y.prototype={get:function(e){var t=b(this,e);if(t)return t[1]},has:function(e){return!!b(this,e)},set:function(e,t){var n=b(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=v(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,s){var f=e((function(e,r){u(e,f,t),d(e,{type:t,id:m++,frozen:undefined}),r!=undefined&&c(r,e[s],{that:e,AS_ENTRIES:n})})),h=p(t),v=function(e,t,n){var r=h(e),a=o(i(t),!0);return!0===a?g(r).set(t,n):a[r.id]=n,e};return r(f.prototype,{"delete":function(e){var t=h(this);if(!a(e))return!1;var n=o(e);return!0===n?g(t)["delete"](e):n&&l(n,t.id)&&delete n[t.id]},has:function(e){var t=h(this);if(!a(e))return!1;var n=o(e);return!0===n?g(t).has(e):n&&l(n,t.id)}}),r(f.prototype,n?{get:function(e){var t=h(this);if(a(e)){var n=o(e);return!0===n?g(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return v(this,e,t)}}:{add:function(e){return v(this,e,!0)}}),f}}},20991:function(e,t,n){"use strict";var r=n(99592),o=n(179),i=n(61287),a=n(77219),u=n(21419),c=n(8362),s=n(2273),l=n(88711),f=n(84921),d=n(33652),p=n(81978),h=n(69262);e.exports=function(e,t,n){var v=-1!==e.indexOf("Map"),m=-1!==e.indexOf("Weak"),g=v?"set":"add",y=o[e],b=y&&y.prototype,_=y,w={},x=function(e){var t=b[e];a(b,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(m&&!l(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return m&&!l(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(m&&!l(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(i(e,"function"!=typeof y||!(m||b.forEach&&!f((function(){(new y).entries().next()})))))_=n.getConstructor(t,e,v,g),u.REQUIRED=!0;else if(i(e,!0)){var E=new _,S=E[g](m?{}:-0,1)!=E,C=f((function(){E.has(1)})),N=d((function(e){new y(e)})),O=!m&&f((function(){for(var e=new y,t=5;t--;)e[g](t,t);return!e.has(-0)}));N||((_=t((function(t,n){s(t,_,e);var r=h(new y,t,_);return n!=undefined&&c(n,r[g],{that:r,AS_ENTRIES:v}),r}))).prototype=b,b.constructor=_),(C||O)&&(x("delete"),x("has"),v&&x("get")),(O||S)&&x(g),m&&b.clear&&delete b.clear}return w[e]=_,r({global:!0,forced:_!=y},w),p(_,e),m||n.setStrong(_,e,v),_}},44121:function(e,t,n){"use strict";var r=n(18632),o=n(1051),i=n(8740),a=n(96452);e.exports=function(e,t){for(var n=o(t),u=a.f,c=i.f,s=0;s"+a+""+t+">"}},97993:function(e,t,n){"use strict";var r=n(9392).IteratorPrototype,o=n(96093),i=n(28804),a=n(81978),u=n(36617),c=function(){return this};e.exports=function(e,t,n){var s=t+" Iterator";return e.prototype=o(r,{next:i(1,n)}),a(e,s,!1,!0),u[s]=c,e}},21413:function(e,t,n){"use strict";var r=n(67738),o=n(96452),i=n(28804);e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},28804:function(e){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},79651:function(e,t,n){"use strict";var r=n(79165),o=n(96452),i=n(28804);e.exports=function(e,t,n){var a=r(t);a in e?o.f(e,a,i(0,n)):e[a]=n}},27051:function(e,t,n){"use strict";var r=n(84921),o=n(61514).start,i=Math.abs,a=Date.prototype,u=a.getTime,c=a.toISOString;e.exports=r((function(){return"0385-07-25T07:06:39.999Z"!=c.call(new Date(-50000000000001))}))||!r((function(){c.call(new Date(NaN))}))?function(){if(!isFinite(u.call(this)))throw RangeError("Invalid time value");var e=this,t=e.getUTCFullYear(),n=e.getUTCMilliseconds(),r=t<0?"-":t>9999?"+":"";return r+o(i(t),r?6:4,0)+"-"+o(e.getUTCMonth()+1,2,0)+"-"+o(e.getUTCDate(),2,0)+"T"+o(e.getUTCHours(),2,0)+":"+o(e.getUTCMinutes(),2,0)+":"+o(e.getUTCSeconds(),2,0)+"."+o(n,3,0)+"Z"}:c},92880:function(e,t,n){"use strict";var r=n(14860),o=n(79165);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return o(r(this),"number"!==e)}},54981:function(e,t,n){"use strict";var r=n(99592),o=n(97993),i=n(92608),a=n(77715),u=n(81978),c=n(21413),s=n(77219),l=n(53414),f=n(51684),d=n(36617),p=n(9392),h=p.IteratorPrototype,v=p.BUGGY_SAFARI_ITERATORS,m=l("iterator"),g="keys",y="values",b="entries",_=function(){return this};e.exports=function(e,t,n,l,p,w,x){o(n,t,l);var E,S,C,N=function(e){if(e===p&&T)return T;if(!v&&e in M)return M[e];switch(e){case g:case y:case b:return function(){return new n(this,e)}}return function(){return new n(this)}},O=t+" Iterator",k=!1,M=e.prototype,A=M[m]||M["@@iterator"]||p&&M[p],T=!v&&A||N(p),I="Array"==t&&M.entries||A;if(I&&(E=i(I.call(new e)),h!==Object.prototype&&E.next&&(f||i(E)===h||(a?a(E,h):"function"!=typeof E[m]&&c(E,m,_)),u(E,O,!0,!0),f&&(d[O]=_))),p==y&&A&&A.name!==y&&(k=!0,T=function(){return A.call(this)}),f&&!x||M[m]===T||c(M,m,T),d[t]=T,p)if(S={values:N(y),keys:w?T:N(g),entries:N(b)},x)for(C in S)(v||k||!(C in M))&&s(M,C,S[C]);else r({target:t,proto:!0,forced:v||k},S);return S}},90209:function(e,t,n){"use strict";var r=n(91996),o=n(18632),i=n(42571),a=n(96452).f;e.exports=function(e){var t=r.Symbol||(r.Symbol={});o(t,e)||a(t,e,{value:i.f(e)})}},67738:function(e,t,n){"use strict";var r=n(84921);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},27383:function(e,t,n){"use strict";var r=n(179),o=n(88711),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},13745:function(e,t,n){"use strict";var r=n(97285);e.exports=/(?:iphone|ipod|ipad).*applewebkit/i.test(r)},23043:function(e,t,n){"use strict";var r=n(90726),o=n(179);e.exports="process"==r(o.process)},59137:function(e,t,n){"use strict";var r=n(97285);e.exports=/web0s(?!.*chrome)/i.test(r)},97285:function(e,t,n){"use strict";var r=n(44417);e.exports=r("navigator","userAgent")||""},32728:function(e,t,n){"use strict";var r,o,i=n(179),a=n(97285),u=i.process,c=u&&u.versions,s=c&&c.v8;s?o=(r=s.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),e.exports=o&&+o},89807:function(e){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},99592:function(e,t,n){"use strict";var r=n(179),o=n(8740).f,i=n(21413),a=n(77219),u=n(53753),c=n(44121),s=n(61287);e.exports=function(e,t){var n,l,f,d,p,h=e.target,v=e.global,m=e.stat;if(n=v?r:m?r[h]||u(h,{}):(r[h]||{}).prototype)for(l in t){if(d=t[l],f=e.noTargetGet?(p=o(n,l))&&p.value:n[l],!s(v?l:h+(m?".":"#")+l,e.forced)&&f!==undefined){if(typeof d==typeof f)continue;c(d,f)}(e.sham||f&&f.sham)&&i(d,"sham",!0),a(n,l,d,e)}}},84921:function(e){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},27167:function(e,t,n){"use strict";n(30660);var r=n(77219),o=n(84921),i=n(53414),a=n(21413),u=i("species"),c=!o((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")})),s="$0"==="a".replace(/./,"$0"),l=i("replace"),f=!!/./[l]&&""===/./[l]("a","$0"),d=!o((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,l){var p=i(e),h=!o((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),v=h&&!o((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[u]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return t=!0,null},n[p](""),!t}));if(!h||!v||"replace"===e&&(!c||!s||f)||"split"===e&&!d){var m=/./[p],g=n(p,""[e],(function(e,t,n,r,o){return t.exec===RegExp.prototype.exec?h&&!o?{done:!0,value:m.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),{REPLACE_KEEPS_$0:s,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:f}),y=g[0],b=g[1];r(String.prototype,e,y),r(RegExp.prototype,p,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)})}l&&a(RegExp.prototype[p],"sham",!0)}},83632:function(e,t,n){"use strict";var r=n(1897),o=n(27842),i=n(57386);e.exports=function a(e,t,n,u,c,s,l,f){for(var d,p=c,h=0,v=!!l&&i(l,f,3);h0&&r(d))p=a(e,t,d,o(d.length),p,s-1)-1;else{if(p>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[p]=d}p++}h++}return p}},41e3:function(e,t,n){"use strict";var r=n(84921);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},57386:function(e,t,n){"use strict";var r=n(13686);e.exports=function(e,t,n){if(r(e),t===undefined)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},27314:function(e,t,n){"use strict";var r=n(13686),o=n(88711),i=[].slice,a={},u=function(e,t,n){if(!(t in a)){for(var r=[],o=0;o]*>)/g,u=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,t,n,c,s,l){var f=n+e.length,d=c.length,p=u;return s!==undefined&&(s=r(s),p=a),i.call(l,p,(function(r,i){var a;switch(i.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,n);case"'":return t.slice(f);case"<":a=s[i.slice(1,-1)];break;default:var u=+i;if(0===u)return r;if(u>d){var l=o(u/10);return 0===l?r:l<=d?c[l-1]===undefined?i.charAt(1):c[l-1]+i.charAt(1):r}a=c[u-1]}return a===undefined?"":a}))}},179:function(e,t,n){"use strict";var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},18632:function(e){"use strict";var t={}.hasOwnProperty;e.exports=function(e,n){return t.call(e,n)}},58825:function(e){"use strict";e.exports={}},63380:function(e,t,n){"use strict";var r=n(179);e.exports=function(e,t){var n=r.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},55780:function(e,t,n){"use strict";var r=n(44417);e.exports=r("document","documentElement")},59807:function(e,t,n){"use strict";var r=n(67738),o=n(84921),i=n(27383);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},63408:function(e){"use strict";var t=Math.abs,n=Math.pow,r=Math.floor,o=Math.log,i=Math.LN2;e.exports={pack:function(e,a,u){var c,s,l,f=new Array(u),d=8*u-a-1,p=(1<>1,v=23===a?n(2,-24)-n(2,-77):0,m=e<0||0===e&&1/e<0?1:0,g=0;for((e=t(e))!=e||e===Infinity?(s=e!=e?1:0,c=p):(c=r(o(e)/i),e*(l=n(2,-c))<1&&(c--,l*=2),(e+=c+h>=1?v/l:v*n(2,1-h))*l>=2&&(c++,l/=2),c+h>=p?(s=0,c=p):c+h>=1?(s=(e*l-1)*n(2,a),c+=h):(s=e*n(2,h-1)*n(2,a),c=0));a>=8;f[g++]=255&s,s/=256,a-=8);for(c=c<0;f[g++]=255&c,c/=256,d-=8);return f[--g]|=128*m,f},unpack:function(e,t){var r,o=e.length,i=8*o-t-1,a=(1<>1,c=i-7,s=o-1,l=e[s--],f=127&l;for(l>>=7;c>0;f=256*f+e[s],s--,c-=8);for(r=f&(1<<-c)-1,f>>=-c,c+=t;c>0;r=256*r+e[s],s--,c-=8);if(0===f)f=1-u;else{if(f===a)return r?NaN:l?-Infinity:Infinity;r+=n(2,t),f-=u}return(l?-1:1)*r*n(2,f-t)}}},46317:function(e,t,n){"use strict";var r=n(84921),o=n(90726),i="".split;e.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?i.call(e,""):Object(e)}:Object},69262:function(e,t,n){"use strict";var r=n(88711),o=n(77715);e.exports=function(e,t,n){var i,a;return o&&"function"==typeof(i=t.constructor)&&i!==n&&r(a=i.prototype)&&a!==n.prototype&&o(e,a),e}},1306:function(e,t,n){"use strict";var r=n(53252),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return o.call(e)}),e.exports=r.inspectSource},21419:function(e,t,n){"use strict";var r=n(58825),o=n(88711),i=n(18632),a=n(96452).f,u=n(88340),c=n(41e3),s=u("meta"),l=0,f=Object.isExtensible||function(){return!0},d=function(e){a(e,s,{value:{objectID:"O"+ ++l,weakData:{}}})},p=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,s)){if(!f(e))return"F";if(!t)return"E";d(e)}return e[s].objectID},getWeakData:function(e,t){if(!i(e,s)){if(!f(e))return!0;if(!t)return!1;d(e)}return e[s].weakData},onFreeze:function(e){return c&&p.REQUIRED&&f(e)&&!i(e,s)&&d(e),e}};r[s]=!0},28076:function(e,t,n){"use strict";var r,o,i,a=n(2900),u=n(179),c=n(88711),s=n(21413),l=n(18632),f=n(53252),d=n(6839),p=n(58825),h=u.WeakMap;if(a){var v=f.state||(f.state=new h),m=v.get,g=v.has,y=v.set;r=function(e,t){return t.facade=e,y.call(v,e,t),t},o=function(e){return m.call(v,e)||{}},i=function(e){return g.call(v,e)}}else{var b=d("state");p[b]=!0,r=function(e,t){return t.facade=e,s(e,b,t),t},o=function(e){return l(e,b)?e[b]:{}},i=function(e){return l(e,b)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!c(t)||(n=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},76774:function(e,t,n){"use strict";var r=n(53414),o=n(36617),i=r("iterator"),a=Array.prototype;e.exports=function(e){return e!==undefined&&(o.Array===e||a[i]===e)}},1897:function(e,t,n){"use strict";var r=n(90726);e.exports=Array.isArray||function(e){return"Array"==r(e)}},61287:function(e,t,n){"use strict";var r=n(84921),o=/#|\.prototype\./,i=function(e,t){var n=u[a(e)];return n==s||n!=c&&("function"==typeof t?r(t):!!t)},a=i.normalize=function(e){return String(e).replace(o,".").toLowerCase()},u=i.data={},c=i.NATIVE="N",s=i.POLYFILL="P";e.exports=i},44616:function(e,t,n){"use strict";var r=n(88711),o=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&o(e)===e}},88711:function(e){"use strict";e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},51684:function(e){"use strict";e.exports=!1},45025:function(e,t,n){"use strict";var r=n(88711),o=n(90726),i=n(53414)("match");e.exports=function(e){var t;return r(e)&&((t=e[i])!==undefined?!!t:"RegExp"==o(e))}},8362:function(e,t,n){"use strict";var r=n(14860),o=n(76774),i=n(27842),a=n(57386),u=n(29863),c=n(16284),s=function(e,t){this.stopped=e,this.result=t};e.exports=function(e,t,n){var l,f,d,p,h,v,m,g=n&&n.that,y=!(!n||!n.AS_ENTRIES),b=!(!n||!n.IS_ITERATOR),_=!(!n||!n.INTERRUPTED),w=a(t,g,1+y+_),x=function(e){return l&&c(l),new s(!0,e)},E=function(e){return y?(r(e),_?w(e[0],e[1],x):w(e[0],e[1])):_?w(e,x):w(e)};if(b)l=e;else{if("function"!=typeof(f=u(e)))throw TypeError("Target is not iterable");if(o(f)){for(d=0,p=i(e.length);p>d;d++)if((h=E(e[d]))&&h instanceof s)return h;return new s(!1)}l=f.call(e)}for(v=l.next;!(m=v.call(l)).done;){try{h=E(m.value)}catch(S){throw c(l),S}if("object"==typeof h&&h&&h instanceof s)return h}return new s(!1)}},16284:function(e,t,n){"use strict";var r=n(14860);e.exports=function(e){var t=e["return"];if(t!==undefined)return r(t.call(e)).value}},9392:function(e,t,n){"use strict";var r,o,i,a=n(84921),u=n(92608),c=n(21413),s=n(18632),l=n(53414),f=n(51684),d=l("iterator"),p=!1;[].keys&&("next"in(i=[].keys())?(o=u(u(i)))!==Object.prototype&&(r=o):p=!0);var h=r==undefined||a((function(){var e={};return r[d].call(e)!==e}));h&&(r={}),f&&!h||s(r,d)||c(r,d,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},36617:function(e){"use strict";e.exports={}},64674:function(e){"use strict";var t=Math.expm1,n=Math.exp;e.exports=!t||t(10)>22025.465794806718||t(10)<22025.465794806718||-2e-17!=t(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:n(e)-1}:t},90702:function(e,t,n){"use strict";var r=n(53188),o=Math.abs,i=Math.pow,a=i(2,-52),u=i(2,-23),c=i(2,127)*(2-u),s=i(2,-126);e.exports=Math.fround||function(e){var t,n,i=o(e),l=r(e);return ic||n!=n?l*Infinity:l*n}},36535:function(e){"use strict";var t=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:t(1+e)}},53188:function(e){"use strict";e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},63785:function(e,t,n){"use strict";var r,o,i,a,u,c,s,l,f=n(179),d=n(8740).f,p=n(3350).set,h=n(13745),v=n(59137),m=n(23043),g=f.MutationObserver||f.WebKitMutationObserver,y=f.document,b=f.process,_=f.Promise,w=d(f,"queueMicrotask"),x=w&&w.value;x||(r=function(){var e,t;for(m&&(e=b.domain)&&e.exit();o;){t=o.fn,o=o.next;try{t()}catch(n){throw o?a():i=undefined,n}}i=undefined,e&&e.enter()},h||m||v||!g||!y?_&&_.resolve?(s=_.resolve(undefined),l=s.then,a=function(){l.call(s,r)}):a=m?function(){b.nextTick(r)}:function(){p.call(f,r)}:(u=!0,c=y.createTextNode(""),new g(r).observe(c,{characterData:!0}),a=function(){c.data=u=!u})),e.exports=x||function(e){var t={fn:e,next:undefined};i&&(i.next=t),o||(o=t,a()),i=t}},23287:function(e,t,n){"use strict";var r=n(179);e.exports=r.Promise},72974:function(e,t,n){"use strict";var r=n(23043),o=n(32728),i=n(84921);e.exports=!!Object.getOwnPropertySymbols&&!i((function(){return!Symbol.sham&&(r?38===o:o>37&&o<41)}))},2900:function(e,t,n){"use strict";var r=n(179),o=n(1306),i=r.WeakMap;e.exports="function"==typeof i&&/native code/.test(o(i))},15115:function(e,t,n){"use strict";var r=n(13686),o=function(e){var t,n;this.promise=new e((function(e,r){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=r})),this.resolve=r(t),this.reject=r(n)};e.exports.f=function(e){return new o(e)}},42386:function(e,t,n){"use strict";var r=n(45025);e.exports=function(e){if(r(e))throw TypeError("The method doesn't accept regular expressions");return e}},87419:function(e,t,n){"use strict";var r=n(179).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&r(e)}},86710:function(e,t,n){"use strict";var r=n(179),o=n(20017).trim,i=n(65094),a=r.parseFloat,u=1/a(i+"-0")!=-Infinity;e.exports=u?function(e){var t=o(String(e)),n=a(t);return 0===n&&"-"==t.charAt(0)?-0:n}:a},42619:function(e,t,n){"use strict";var r=n(179),o=n(20017).trim,i=n(65094),a=r.parseInt,u=/^[+-]?0[Xx]/,c=8!==a(i+"08")||22!==a(i+"0x16");e.exports=c?function(e,t){var n=o(String(e));return a(n,t>>>0||(u.test(n)?16:10))}:a},18174:function(e,t,n){"use strict";var r=n(67738),o=n(84921),i=n(75224),a=n(32645),u=n(32163),c=n(6289),s=n(46317),l=Object.assign,f=Object.defineProperty;e.exports=!l||o((function(){if(r&&1!==l({b:1},l(f({},"a",{enumerable:!0,get:function(){f(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),o="abcdefghijklmnopqrst";return e[n]=7,o.split("").forEach((function(e){t[e]=e})),7!=l({},e)[n]||i(l({},t)).join("")!=o}))?function(e,t){for(var n=c(e),o=arguments.length,l=1,f=a.f,d=u.f;o>l;)for(var p,h=s(arguments[l++]),v=f?i(h).concat(f(h)):i(h),m=v.length,g=0;m>g;)p=v[g++],r&&!d.call(h,p)||(n[p]=h[p]);return n}:l},96093:function(e,t,n){"use strict";var r,o=n(14860),i=n(79227),a=n(89807),u=n(58825),c=n(55780),s=n(27383),l=n(6839),f=l("IE_PROTO"),d=function(){},p=function(e){return"