"
- t += "Output: [round(lastgen)] W"
+ var/displaygen = lastgenlev
+ if(displaygen < 1000000) //less than a MW
+ displaygen /= 1000
+ t += "Output: [round(displaygen,0.01)] kW"
+ else
+ displaygen /= 1000000
+ t += "Output: [round(displaygen,0.01)] MW"
t += "
"
diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm
index 6ca3c8f620..4bd8bb56b0 100644
--- a/code/modules/power/gravitygenerator.dm
+++ b/code/modules/power/gravitygenerator.dm
@@ -98,7 +98,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne
//
/obj/machinery/gravity_generator/main/station/Initialize()
- . = ..()
+ . = ..()
setup_parts()
middle.add_overlay("activated")
update_list()
@@ -303,17 +303,17 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne
use_power = on ? 2 : 1
// Sound the alert if gravity was just enabled or disabled.
var/alert = 0
- var/area/area = get_area(src)
- if(on && SSticker.IsRoundInProgress()) // If we turned on and the game is live.
+ var/area/A = get_area(src)
+ if(on && SSticker.IsRoundInProgress()) // If we turned on and the game is live.
if(gravity_in_level() == 0)
alert = 1
investigate_log("was brought online and is now producing gravity for this level.", "gravity")
- message_admins("The gravity generator was brought online. (
[area.name])")
+ message_admins("The gravity generator was brought online [A][ADMIN_COORDJMP(src)]")
else
if(gravity_in_level() == 1)
alert = 1
investigate_log("was brought offline and there is now no gravity for this level.", "gravity")
- message_admins("The gravity generator was brought offline with no backup generator. (
[area.name])")
+ message_admins("The gravity generator was brought offline with no backup generator. [A][ADMIN_COORDJMP(src)]")
update_icon()
update_list()
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index cfe57d0607..b7a298d6b3 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -93,7 +93,7 @@
connect_to_network()
sparks = new
- sparks.attach(src)
+ sparks.attach(src)
sparks.set_up(5, TRUE, src)
/obj/machinery/power/emitter/Destroy()
@@ -121,8 +121,8 @@
if(src.active==1)
src.active = 0
to_chat(user, "
You turn off \the [src].")
- message_admins("Emitter turned off by [key_name_admin(user)](
?) (
FLW) in ([x],[y],[z] -
JMP)",0,1)
- log_game("Emitter turned off by [key_name(user)] in ([x],[y],[z])")
+ message_admins("Emitter turned off by [ADMIN_LOOKUPFLW(user)] in [ADMIN_COORDJMP(src)]",0,1)
+ log_game("Emitter turned off by [key_name(user)] in [COORD(src)]")
investigate_log("turned
off by [key_name(user)] at [get_area(src)]","singulo")
else
src.active = 1
diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm
index 9deebdfe10..fb2df4deeb 100644
--- a/code/modules/power/singularity/narsie.dm
+++ b/code/modules/power/singularity/narsie.dm
@@ -14,6 +14,7 @@
light_power = 0.7
light_range = 15
light_color = rgb(255, 0, 0)
+ gender = FEMALE
var/clashing = FALSE //If Nar-Sie is fighting Ratvar
/obj/singularity/narsie/large
@@ -26,8 +27,8 @@
grav_pull = 10
consume_range = 12 //How many tiles out do we eat
-/obj/singularity/narsie/large/New()
- ..()
+/obj/singularity/narsie/large/Initialize()
+ . = ..()
send_to_playing_players("
NAR-SIE HAS RISEN")
send_to_playing_players(pick('sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg'))
diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm
index 3b36e436ee..dc3da6db8d 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_control.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm
@@ -117,8 +117,8 @@
strength++
strength_change()
- message_admins("PA Control Computer increased to [strength] by [key_name_admin(usr)](
?) (
FLW) in ([x],[y],[z] -
JMP)",0,1)
- log_game("PA Control Computer increased to [strength] by [key_name(usr)] in ([x],[y],[z])")
+ message_admins("PA Control Computer increased to [strength] by [ADMIN_LOOKUPFLW(usr)] in [ADMIN_COORDJMP(src)]",0,1)
+ log_game("PA Control Computer increased to [strength] by [key_name(usr)] in [COORD(src)]")
investigate_log("increased to
[strength] by [key_name(usr)]","singulo")
@@ -127,8 +127,8 @@
strength--
strength_change()
- message_admins("PA Control Computer decreased to [strength] by [key_name_admin(usr)](
?) (
FLW) in ([x],[y],[z] -
JMP)",0,1)
- log_game("PA Control Computer decreased to [strength] by [key_name(usr)] in ([x],[y],[z])")
+ message_admins("PA Control Computer decreased to [strength] by [ADMIN_LOOKUPFLW(usr)] in [ADMIN_COORDJMP(src)]",0,1)
+ log_game("PA Control Computer decreased to [strength] by [key_name(usr)] in [COORD(src)]")
investigate_log("decreased to
[strength] by [key_name(usr)]","singulo")
diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index 3b0bc3087b..1a308ed471 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -29,12 +29,12 @@
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
dangerous_possession = TRUE
-/obj/singularity/New(loc, var/starting_energy = 50, var/temp = 0)
+/obj/singularity/Initialize(mapload, starting_energy = 50)
//CARN: admin-alert for chuckle-fuckery.
admin_investigate_setup()
src.energy = starting_energy
- ..()
+ . = ..()
START_PROCESSING(SSobj, src)
GLOB.poi_list |= src
GLOB.singularities |= src
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index 1e1737661e..ea95b08269 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -170,7 +170,7 @@
//crowbarring it !
var/turf/T = get_turf(src)
if(default_deconstruction_crowbar(I))
- message_admins("[src] has been deconstructed by [key_name_admin(user)](
?) (
FLW) in ([T.x],[T.y],[T.z] -
JMP)",0,1)
+ message_admins("[src] has been deconstructed by [ADMIN_LOOKUPFLW(user)] in [ADMIN_COORDJMP(T)]",0,1)
log_game("[src] has been deconstructed by [key_name(user)]")
investigate_log("SMES deconstructed by [key_name(user)]","singulo")
return
@@ -256,9 +256,9 @@
input_available = terminal.surplus()
if(inputting)
- if(input_available > 0 && input_available >= input_level) // if there's power available, try to charge
+ if(input_available > 0) // if there's power available, try to charge
- var/load = min((capacity-charge)/SMESRATE, input_level) // charge at set rate, limited to spare capacity
+ var/load = min(min((capacity-charge)/SMESRATE, input_level), input_available) // charge at set rate, limited to spare capacity
charge += load * SMESRATE // increase the charge
@@ -268,7 +268,7 @@
inputting = 0 // stop inputting
else
- if(input_attempt && input_available > 0 && input_available >= input_level)
+ if(input_attempt && input_available > 0)
inputting = 1
else
inputting = 0
diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm
index 4b48d19857..712cd5cd41 100644
--- a/code/modules/power/supermatter/supermatter.dm
+++ b/code/modules/power/supermatter/supermatter.dm
@@ -129,6 +129,7 @@
/obj/machinery/power/supermatter_shard/Initialize()
. = ..()
+ SSair.atmos_machinery += src
countdown = new(src)
countdown.start()
GLOB.poi_list |= src
@@ -139,6 +140,7 @@
/obj/machinery/power/supermatter_shard/Destroy()
investigate_log("has been destroyed.", "supermatter")
+ SSair.atmos_machinery -= src
QDEL_NULL(radio)
GLOB.poi_list -= src
QDEL_NULL(countdown)
@@ -181,7 +183,7 @@
E.energy = power
qdel(src)
-/obj/machinery/power/supermatter_shard/process()
+/obj/machinery/power/supermatter_shard/process_atmos()
var/turf/T = loc
if(isnull(T)) // We have a null turf...something is wrong, stop processing this entity.
@@ -296,6 +298,7 @@
if(produces_gas)
env.merge(removed)
+ air_update_turf()
for(var/mob/living/carbon/human/l in view(src, HALLUCINATION_RANGE(power))) // If they can see it without mesons on. Bad on them.
if(!istype(l.glasses, /obj/item/clothing/glasses/meson))
@@ -341,7 +344,7 @@
lastwarning = REALTIMEOFDAY
if(!has_reached_emergency)
investigate_log("has reached the emergency point for the first time.", "supermatter")
- message_admins("[src] has reached the emergency point
(JMP).")
+ message_admins("[src] has reached the emergency point [ADMIN_JMP(src)].")
has_reached_emergency = 1
else if(damage >= damage_archived) // The damage is still going up
SPEAK("[warning_alert] Instability: [stability]%")
@@ -388,7 +391,7 @@
power += Proj.damage * config_bullet_energy
if(!has_been_powered)
investigate_log("has been powered for the first time.", "supermatter")
- message_admins("[src] has been powered for the first time
(JMP).")
+ message_admins("[src] has been powered for the first time [ADMIN_JMP(src)].")
has_been_powered = 1
else if(takes_damage)
damage += Proj.damage * config_bullet_energy
@@ -487,7 +490,7 @@
/obj/machinery/power/supermatter_shard/proc/Consume(atom/movable/AM)
if(isliving(AM))
var/mob/living/user = AM
- message_admins("[src] has consumed [key_name_admin(user)]
? (
FLW)
(JMP).")
+ message_admins("[src] has consumed [key_name_admin(user)] [ADMIN_JMP(src)].")
investigate_log("has consumed [key_name(user)].", "supermatter")
user.dust()
matter_power += 200
diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm
index fbb82cb36a..df08899140 100644
--- a/code/modules/power/tesla/energy_ball.dm
+++ b/code/modules/power/tesla/energy_ball.dm
@@ -40,6 +40,11 @@ GLOBAL_LIST_INIT(blacklisted_tesla_types, typecacheof(list(/obj/machinery/atmosp
var/energy_to_raise = 32
var/energy_to_lower = -20
+/obj/singularity/energy_ball/Initialize(mapload, starting_energy = 50, is_miniball = FALSE)
+ . = ..()
+ if(!is_miniball)
+ set_light(10, 7, "#EEEEFF")
+
/obj/singularity/energy_ball/ex_act(severity, target)
return
@@ -54,6 +59,11 @@ GLOBAL_LIST_INIT(blacklisted_tesla_types, typecacheof(list(/obj/machinery/atmosp
. = ..()
+/obj/singularity/energy_ball/admin_investigate_setup()
+ if(istype(loc, /obj/singularity/energy_ball))
+ return
+ ..()
+
/obj/singularity/energy_ball/process()
if(!orbiting)
handle_energy()
@@ -117,7 +127,7 @@ GLOBAL_LIST_INIT(blacklisted_tesla_types, typecacheof(list(/obj/machinery/atmosp
/obj/singularity/energy_ball/proc/new_mini_ball()
if(!loc)
return
- var/obj/singularity/energy_ball/EB = new(loc)
+ var/obj/singularity/energy_ball/EB = new(loc, 0, TRUE)
EB.transform *= pick(0.3, 0.4, 0.5, 0.6, 0.7)
var/icon/I = icon(icon,icon_state,dir)
diff --git a/code/modules/projectiles/ammunition/energy.dm b/code/modules/projectiles/ammunition/energy.dm
index a6440e32ed..b1fd49779f 100644
--- a/code/modules/projectiles/ammunition/energy.dm
+++ b/code/modules/projectiles/ammunition/energy.dm
@@ -191,7 +191,7 @@
fire_sound = 'sound/magic/lightningbolt.ogg'
e_cost = 200
select_name = "stun"
- projectile_type = /obj/item/projectile/energy/tesla_revolver
+ projectile_type = /obj/item/projectile/energy/tesla/revolver
/obj/item/ammo_casing/energy/gravityrepulse
projectile_type = /obj/item/projectile/gravityrepulse
diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm
index 69a9ca2a8a..8a94c2b849 100644
--- a/code/modules/projectiles/guns/energy/pulse.dm
+++ b/code/modules/projectiles/guns/energy/pulse.dm
@@ -19,15 +19,12 @@
/obj/item/weapon/gun/energy/pulse/prize/New()
. = ..()
GLOB.poi_list |= src
- var/msg = "A pulse rifle prize has been created at ([x],[y],[z] - (\
-
\
- JMP)"
+ var/msg = "A pulse rifle prize has been created at [ADMIN_COORDJMP(src)]"
message_admins(msg)
log_game(msg)
- notify_ghosts("Someone won a pulse rifle as a prize!", source = src,
- action = NOTIFY_ORBIT)
+ notify_ghosts("Someone won a pulse rifle as a prize!", source = src, action = NOTIFY_ORBIT)
/obj/item/weapon/gun/energy/pulse/prize/Destroy()
GLOB.poi_list -= src
diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm
index dceed5b438..9835b1df21 100644
--- a/code/modules/projectiles/projectile.dm
+++ b/code/modules/projectiles/projectile.dm
@@ -179,6 +179,8 @@
return
if(setAngle)
Angle = setAngle
+ var/old_pixel_x = pixel_x
+ var/old_pixel_y = pixel_y
if(!legacy) //new projectiles
set waitfor = 0
var/next_run = world.time
@@ -201,29 +203,30 @@
var/Pixel_x=round((sin(Angle)+16*sin(Angle)*2), 1) //round() is a floor operation when only one argument is supplied, we don't want that here
var/Pixel_y=round((cos(Angle)+16*cos(Angle)*2), 1)
- var/pixel_x_offset = pixel_x + Pixel_x
- var/pixel_y_offset = pixel_y + Pixel_y
+ var/pixel_x_offset = old_pixel_x + Pixel_x
+ var/pixel_y_offset = old_pixel_y + Pixel_y
var/new_x = x
var/new_y = y
while(pixel_x_offset > 16)
pixel_x_offset -= 32
- pixel_x -= 32
+ old_pixel_x -= 32
new_x++// x++
while(pixel_x_offset < -16)
pixel_x_offset += 32
- pixel_x += 32
+ old_pixel_x += 32
new_x--
-
while(pixel_y_offset > 16)
pixel_y_offset -= 32
- pixel_y -= 32
+ old_pixel_y -= 32
new_y++
while(pixel_y_offset < -16)
pixel_y_offset += 32
- pixel_y += 32
+ old_pixel_y += 32
new_y--
-
+
+ pixel_x = old_pixel_x
+ pixel_y = old_pixel_y
step_towards(src, locate(new_x, new_y, z))
next_run += max(world.tick_lag, speed)
var/delay = next_run - world.time
@@ -232,7 +235,9 @@
pixel_y = pixel_y_offset
else
animate(src, pixel_x = pixel_x_offset, pixel_y = pixel_y_offset, time = max(1, (delay <= 3 ? delay - 1 : delay)), flags = ANIMATION_END_NOW)
-
+ old_pixel_x = pixel_x_offset
+ old_pixel_y = pixel_y_offset
+
if(original && (original.layer>=2.75) || ismob(original))
if(loc == get_turf(original))
if(!(original in permutated))
diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm
index c1a67f4c81..974ea935f2 100644
--- a/code/modules/projectiles/projectile/energy.dm
+++ b/code/modules/projectiles/projectile/energy.dm
@@ -159,44 +159,34 @@
/obj/item/projectile/energy/bolt/large
damage = 20
-/obj/item/projectile/energy/tesla_revolver
+/obj/item/projectile/energy/tesla
name = "tesla bolt"
icon_state = "tesla_projectile"
impact_effect_type = /obj/effect/overlay/temp/impact_effect/blue_laser
var/chain
-/obj/item/projectile/energy/tesla_revolver/fire(setAngle)
+/obj/item/projectile/energy/tesla/fire(setAngle)
if(firer)
chain = firer.Beam(src, icon_state = "lightning[rand(1, 12)]", time = INFINITY, maxdistance = INFINITY)
..()
-/obj/item/projectile/energy/tesla_revolver/on_hit(atom/target)
- . = ..()
- if(isliving(target))
- tesla_zap(src, 3, 10000)
- qdel(src)
-
-/obj/item/projectile/energy/tesla_revolver/Destroy()
+/obj/item/projectile/energy/tesla/Destroy()
qdel(chain)
return ..()
+/obj/item/projectile/energy/tesla/revolver
+ name = "energy orb"
-/obj/item/projectile/energy/tesla_cannon
- name = "tesla bolt"
- icon_state = "tesla_projectile"
- impact_effect_type = /obj/effect/overlay/temp/impact_effect/blue_laser
- var/chain
+/obj/item/projectile/energy/tesla/revolver/on_hit(atom/target)
+ . = ..()
+ if(isliving(target))
+ tesla_zap(target, 3, 10000)
+ qdel(src)
-/obj/item/projectile/energy/tesla_cannon/fire(setAngle)
- if(firer)
- chain = firer.Beam(src, icon_state = "lightning[rand(1, 12)]", time = INFINITY, maxdistance = INFINITY)
- ..()
+/obj/item/projectile/energy/tesla/cannon
+ name = "tesla orb"
-/obj/item/projectile/energy/tesla_cannon/on_hit(atom/target)
+/obj/item/projectile/energy/tesla/cannon/on_hit(atom/target)
. = ..()
- tesla_zap(src, 3, 10000, explosive = FALSE, stun_mobs = FALSE)
+ tesla_zap(target, 3, 10000, explosive = FALSE, stun_mobs = FALSE)
qdel(src)
-
-/obj/item/projectile/energy/tesla_cannon/Destroy()
- qdel(chain)
- return ..()
diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
index da1eb90685..99056eb1dc 100644
--- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
@@ -367,3 +367,9 @@
desc = "Creates and dispenses mutagen."
dispensable_reagents = list("mutagen")
emagged_reagents = list("plasma")
+
+
+/obj/machinery/chem_dispenser/mutagensaltpeter
+ name = "mutagen and saltpeter dispenser"
+ desc = "Creates and dispenses mutagen and even saltpeter."
+ dispensable_reagents = list("mutagen", "saltpetre")
diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
index 2dbc0ff1c2..b929337a13 100644
--- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
+++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
@@ -10,7 +10,7 @@
active_power_usage = 100
pass_flags = PASSTABLE
resistance_flags = ACID_PROOF
- var/operating = 0
+ var/operating = FALSE
var/obj/item/weapon/reagent_containers/beaker = null
var/limit = 10
var/list/blend_items = list (
@@ -38,7 +38,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/wheat = list("flour" = -5),
/obj/item/weapon/reagent_containers/food/snacks/grown/oat = list("flour" = -5),
/obj/item/weapon/reagent_containers/food/snacks/grown/rice = list("rice" = -5),
- /obj/item/weapon/reagent_containers/food/snacks/donut/New = list("sprinkles" = -2, "sugar" = 1),
+ /obj/item/weapon/reagent_containers/food/snacks/donut = list("sprinkles" = -2, "sugar" = 1),
/obj/item/weapon/reagent_containers/food/snacks/grown/cherries = list("cherryjelly" = 0),
/obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries = list("bluecherryjelly" = 0),
/obj/item/weapon/reagent_containers/food/snacks/egg = list("eggyolk" = -5),
@@ -220,9 +220,12 @@
[processing_chamber]
[beaker_contents]
"}
- if (is_beaker_ready && !is_chamber_empty && !(stat & (NOPOWER|BROKEN)))
- dat += "
Grind the reagents"
- dat += "
Juice the reagents"
+ if (is_beaker_ready)
+ if(!is_chamber_empty && !(stat & (NOPOWER|BROKEN)))
+ dat += "
Grind the reagents"
+ dat += "
Juice the reagents"
+ else if (beaker.reagents.total_volume)
+ dat += "
Mix the reagents"
if(holdingitems && holdingitems.len > 0)
dat += "
Eject the reagents"
if (beaker)
@@ -248,6 +251,8 @@
grind()
if("juice")
juice()
+ if("mix")
+ mix()
if("eject")
eject()
if ("detach")
@@ -327,11 +332,11 @@
playsound(src.loc, 'sound/machines/juicer.ogg', 20, 1)
var/offset = prob(50) ? -2 : 2
animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = 250) //start shaking
- operating = 1
+ operating = TRUE
updateUsrDialog()
spawn(50)
pixel_x = initial(pixel_x) //return to its spot after shaking
- operating = 0
+ operating = FALSE
updateUsrDialog()
//Snacks
@@ -365,11 +370,11 @@
playsound(src.loc, 'sound/machines/blender.ogg', 50, 1)
var/offset = prob(50) ? -2 : 2
animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = 250) //start shaking
- operating = 1
+ operating = TRUE
updateUsrDialog()
spawn(60)
pixel_x = initial(pixel_x) //return to its spot after shaking
- operating = 0
+ operating = FALSE
updateUsrDialog()
//Snacks and Plants
@@ -467,3 +472,33 @@
break
beaker.reagents.add_reagent(r_id, min(O.reagent_contents[r_id], space))
remove_object(O)
+
+/obj/machinery/reagentgrinder/proc/mix()
+
+ //For butter and other things that would change upon shaking or mixing
+ power_change()
+ if(stat & (NOPOWER|BROKEN))
+ return
+ if (!beaker)
+ return
+ playsound(src.loc, 'sound/machines/juicer.ogg', 20, 1)
+ var/offset = prob(50) ? -2 : 2
+ animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = 250) //start shaking
+ operating = TRUE
+ updateUsrDialog()
+ addtimer(CALLBACK(src, /obj/machinery/reagentgrinder/proc/mix_complete), 50)
+
+/obj/machinery/reagentgrinder/proc/mix_complete()
+ pixel_x = initial(pixel_x) //return to its spot after shaking
+ operating = FALSE
+ updateUsrDialog()
+ if (beaker.reagents.total_volume)
+ //Recipe to make Butter
+ while(beaker.reagents.get_reagent_amount("milk") >= 15)
+ beaker.reagents.remove_reagent("milk", 15)
+ new /obj/item/weapon/reagent_containers/food/snacks/butter(src.loc)
+ //Recipe to make Mayonnaise
+ if (beaker.reagents.has_reagent("eggyolk"))
+ var/amount = beaker.reagents.get_reagent_amount("eggyolk")
+ beaker.reagents.remove_reagent("eggyolk", amount)
+ beaker.reagents.add_reagent("mayonnaise", amount)
\ No newline at end of file
diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
index 23836e866d..31ec27fb79 100644
--- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
@@ -966,7 +966,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
glass_desc = "Only for the experienced. You think you see sand floating in the glass."
/datum/reagent/consumable/ethanol/bananahonk
- name = "Banana Mama"
+ name = "Banana Honk"
id = "bananahonk"
description = "A drink from Clown Heaven."
nutriment_factor = 1 * REAGENTS_METABOLISM
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
old mode 100644
new mode 100755
index 442772fea8..d2f78002a1
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -60,7 +60,10 @@
// data for nutriment is one or more (flavour -> ratio)
// where all the ratio values adds up to 1
- var/list/taste_amounts = data.Copy()
+ var/list/taste_amounts = list()
+ if(data)
+ taste_amounts = data.Copy()
+
counterlist_scale(taste_amounts, volume)
var/list/other_taste_amounts = newdata.Copy()
@@ -513,17 +516,27 @@
/datum/reagent/consumable/honey
name = "honey"
id = "honey"
- description = "Sweet sweet honey, decays into sugar."
+ description = "Sweet sweet honey, decays into sugar and has natural healing properties."
color = "#d3a308"
nutriment_factor = 15 * REAGENTS_METABOLISM
+ metabolization_rate = 1 * REAGENTS_METABOLISM
taste_description = "sweetness"
/datum/reagent/consumable/honey/on_mob_life(mob/living/M)
M.reagents.add_reagent("sugar",3)
- if(prob(20))
- M.heal_bodypart_damage(3,1)
+ if(prob(55))
+ M.adjustBruteLoss(-1*REM, 0)
+ M.adjustFireLoss(-1*REM, 0)
+ M.adjustOxyLoss(-1*REM, 0)
+ M.adjustToxLoss(-1*REM, 0)
..()
+/datum/reagent/consumable/mayonnaise
+ name = "Mayonnaise"
+ id = "mayonnaise"
+ description = "An white and oily mixture of mixed egg yolks."
+ color = "#DFDFDF"
+ taste_description = "mayonnaise"
////Lavaland Flora Reagents////
diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
index 500147d233..6d38e85ca8 100644
--- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
@@ -347,10 +347,9 @@
/datum/reagent/medicine/mine_salve/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1)
if(iscarbon(M) && M.stat != DEAD)
if(method in list(INGEST, VAPOR, INJECT))
- M.Stun(4)
- M.Weaken(4)
+ M.nutrition -= 5
if(show_message)
- to_chat(M, "
Your stomach agonizingly cramps!")
+ to_chat(M, "
Your stomach feels empty and cramps!")
else
var/mob/living/carbon/C = M
for(var/s in C.surgeries)
@@ -962,8 +961,7 @@
/datum/reagent/medicine/antitoxin/on_mob_life(mob/living/M)
M.adjustToxLoss(-2*REM, 0)
for(var/datum/reagent/toxin/R in M.reagents.reagent_list)
- if(R != src)
- M.reagents.remove_reagent(R.id,1)
+ M.reagents.remove_reagent(R.id,1)
..()
. = 1
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index c25a1d050d..f359a1fc37 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -189,7 +189,7 @@
/datum/reagent/water/holywater/on_mob_life(mob/living/M)
if(!data) data = 1
data++
- M.jitteriness = max(M.jitteriness-5,0)
+ M.jitteriness = min(M.jitteriness+4,10)
if(data >= 30) // 12 units, 54 seconds @ metabolism 0.4 units & tick rate 1.8 sec
if(!M.stuttering)
M.stuttering = 1
@@ -212,9 +212,9 @@
SSticker.mode.remove_cultist(M.mind, 1, 1)
else if(is_servant_of_ratvar(M))
remove_servant_of_ratvar(M)
- holder.remove_reagent(id, volume) // maybe this is a little too perfect and a max() cap on the statuses would be better??
M.jitteriness = 0
M.stuttering = 0
+ holder.remove_reagent(id, volume) // maybe this is a little too perfect and a max() cap on the statuses would be better??
return
holder.remove_reagent(id, 0.4) //fixed consumption to prevent balancing going out of whack
@@ -658,7 +658,7 @@
taste_mult = 0 // apparently tasteless.
/datum/reagent/mercury/on_mob_life(mob/living/M)
- if(M.canmove && isspaceturf(M.loc))
+ if(M.canmove && !isspaceturf(M.loc))
step(M, pick(GLOB.cardinal))
if(prob(5))
M.emote(pick("twitch","drool","moan"))
@@ -738,7 +738,7 @@
taste_description = "metal"
/datum/reagent/lithium/on_mob_life(mob/living/M)
- if(M.canmove && isspaceturf(M.loc))
+ if(M.canmove && !isspaceturf(M.loc))
step(M, pick(GLOB.cardinal))
if(prob(5))
M.emote(pick("twitch","drool","moan"))
@@ -1110,8 +1110,9 @@
id = "nitrous_oxide"
description = "A potent oxidizer used as fuel in rockets and as an anaesthetic during surgery."
reagent_state = LIQUID
+ metabolization_rate = 1.5 * REAGENTS_METABOLISM
color = "#808080"
- taste_description = "numbness"
+ taste_description = "sweetness"
/datum/reagent/nitrous_oxide/reaction_obj(obj/O, reac_volume)
if((!O) || (!reac_volume))
@@ -1122,7 +1123,19 @@
if(istype(T))
T.atmos_spawn_air("n2o=[reac_volume/5];TEMP=[T20C]")
-
+/datum/reagent/nitrous_oxide/reaction_mob(mob/M, method=TOUCH, reac_volume)
+ if(method == VAPOR)
+ M.drowsyness += max(round(reac_volume, 1), 2)
+
+/datum/reagent/nitrous_oxide/on_mob_life(mob/living/M)
+ M.drowsyness += 2
+ if(ishuman(M))
+ var/mob/living/carbon/human/H = M
+ H.blood_volume = max(H.blood_volume - 2.5, 0)
+ if(prob(20))
+ M.losebreath += 2
+ M.confused = min(M.confused + 2, 5)
+ ..()
/////////////////////////Coloured Crayon Powder////////////////////////////
//For colouring in /proc/mix_color_from_reagents
@@ -1533,7 +1546,9 @@
/datum/reagent/romerol/on_mob_life(mob/living/carbon/human/H)
// Silently add the zombie infection organ to be activated upon death
- new /obj/item/organ/zombie_infection(H)
+ if(!H.getorganslot("zombie_infection"))
+ var/obj/item/organ/zombie_infection/ZI = new()
+ ZI.Insert(H)
..()
/datum/reagent/growthserum
@@ -1568,6 +1583,13 @@
M.update_transform()
..()
+/datum/reagent/plastic_polymers
+ name = "plastic polymers"
+ id = "plastic_polymers"
+ description = "the petroleum based components of plastic."
+ color = "#f7eded"
+ taste_description = "plastic"
+
/datum/reagent/glitter
name = "generic glitter"
id = "glitter"
diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
index 528124f84c..cedec9941b 100644
--- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
@@ -648,6 +648,34 @@
M.losebreath += 5
return ..()
+/datum/reagent/toxin/spewium
+ name = "Spewium"
+ id = "spewium"
+ description = "A powerful emetic, causes uncontrollable vomiting. May result in vomiting organs at high doses."
+ reagent_state = LIQUID
+ color = "#2f6617" //A sickly green color
+ metabolization_rate = REAGENTS_METABOLISM
+ overdose_threshold = 29
+ toxpwr = 0
+ taste_description = "vomit"
+
+/datum/reagent/toxin/spewium/on_mob_life(mob/living/M)
+ .=..()
+ if(current_cycle >=11 && prob(min(50,current_cycle)) && ishuman(M))
+ var/mob/living/carbon/human/H = M
+ H.vomit(lost_nutrition = 10, blood = prob(10), stun = prob(50), distance = rand(0,4), message = TRUE, toxic = prob(30))
+ for(var/datum/reagent/toxin/R in M.reagents.reagent_list)
+ if(R != src)
+ H.reagents.remove_reagent(R.id,1)
+
+/datum/reagent/toxin/spewium/overdose_process(mob/living/M)
+ . = ..()
+ if(current_cycle >=33 && prob(15) && ishuman(M))
+ var/mob/living/carbon/human/H = M
+ H.spew_organ()
+ H.vomit(lost_nutrition = 0, blood = 1, stun = 1, distance = 4)
+ to_chat(H, "
You feel something lumpy come up as you vomit.")
+
/datum/reagent/toxin/curare
name = "Curare"
id = "curare"
diff --git a/code/modules/reagents/chemistry/recipes.dm b/code/modules/reagents/chemistry/recipes.dm
index 9e0bb2d0e4..c13ff096e4 100644
--- a/code/modules/reagents/chemistry/recipes.dm
+++ b/code/modules/reagents/chemistry/recipes.dm
@@ -36,12 +36,12 @@
var/atom/A = holder.my_atom
var/turf/T = get_turf(A)
var/area/my_area = get_area(T)
- var/message = "A [reaction_name] reaction has occurred in [my_area.name]. (
JMP)"
+ var/message = "A [reaction_name] reaction has occurred in [my_area.name] [ADMIN_COORDJMP(T)]"
message += " (
VV)"
var/mob/M = get(A, /mob)
if(M)
- message += " - Carried By: [key_name_admin(M)](
?) (
FLW)"
+ message += " - Carried By: [ADMIN_LOOKUPFLW(M)]"
else
message += " - Last Fingerprint: [(A.fingerprintslast ? A.fingerprintslast : "N/A")]"
diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm
index 19bb28666d..0bc843a605 100644
--- a/code/modules/reagents/chemistry/recipes/others.dm
+++ b/code/modules/reagents/chemistry/recipes/others.dm
@@ -624,3 +624,14 @@
id = "laughter"
results = list("laughter" = 10) // Fuck it. I'm not touching this one.
required_reagents = list("sugar" = 1, "banana" = 1)
+
+/datum/chemical_reaction/plastic_polymers
+ name = "plastic polymers"
+ id = "plastic_polymers"
+ required_reagents = list("oil" = 5, "sodiumchloride" = 2, "ash" = 3)
+ required_temp = 374 //lazily consistent with soap & other crafted objects generically created with heat.
+
+/datum/chemical_reaction/plastic_polymers/on_reaction(datum/reagents/holder, created_volume)
+ var/location = get_turf(holder.my_atom)
+ for(var/i in 1 to 10)
+ new /obj/item/stack/sheet/plastic(location)
diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
index 805aa936d4..6cfdd80cf5 100644
--- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
+++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
@@ -6,6 +6,7 @@
/datum/chemical_reaction/reagent_explosion/on_reaction(datum/reagents/holder, created_volume)
var/turf/T = get_turf(holder.my_atom)
+ var/area/A = get_area(T)
var/inside_msg
if(ismob(holder.my_atom))
var/mob/M = holder.my_atom
@@ -14,9 +15,9 @@
var/touch_msg = "N/A"
if(lastkey)
var/mob/toucher = get_mob_by_key(lastkey)
- touch_msg = "[key_name_admin(lastkey)]
? (
FLW)"
- message_admins("Reagent explosion reaction occurred at
[T.loc.name] (JMP)[inside_msg]. Last Fingerprint: [touch_msg].")
- log_game("Reagent explosion reaction occurred at [T.loc.name] ([T.x],[T.y],[T.z]). Last Fingerprint: [lastkey ? lastkey : "N/A"]." )
+ touch_msg = "[ADMIN_LOOKUPFLW(toucher)]"
+ message_admins("Reagent explosion reaction occurred at [A] [ADMIN_COORDJMP(T)][inside_msg]. Last Fingerprint: [touch_msg].")
+ log_game("Reagent explosion reaction occurred at [A] [COORD(T)]. Last Fingerprint: [lastkey ? lastkey : "N/A"]." )
var/datum/effect_system/reagents_explosion/e = new()
e.set_up(modifier + round(created_volume/strengthdiv, 1), T, 0, 0)
e.start()
diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm
index a1c4a74795..f06dff50cf 100644
--- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm
+++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm
@@ -437,13 +437,14 @@
/datum/chemical_reaction/slime/slimeexplosion/on_reaction(datum/reagents/holder)
var/turf/T = get_turf(holder.my_atom)
+ var/area/A = get_area(T)
var/lastkey = holder.my_atom.fingerprintslast
var/touch_msg = "N/A"
if(lastkey)
var/mob/toucher = get_mob_by_key(lastkey)
- touch_msg = "[key_name_admin(lastkey)]
?(
FLW)."
- message_admins("Slime Explosion reaction started at
[T.loc.name] (JMP). Last Fingerprint: [touch_msg]")
- log_game("Slime Explosion reaction started at [T.loc.name] ([T.x],[T.y],[T.z]). Last Fingerprint: [lastkey ? lastkey : "N/A"].")
+ touch_msg = "[ADMIN_LOOKUPFLW(toucher)]."
+ message_admins("Slime Explosion reaction started at [A] [ADMIN_COORDJMP(T)]. Last Fingerprint: [touch_msg]")
+ log_game("Slime Explosion reaction started at [A] [COORD(T)]. Last Fingerprint: [lastkey ? lastkey : "N/A"].")
T.visible_message("
The slime extract begins to vibrate violently !")
addtimer(CALLBACK(src, .proc/boom, holder), 50)
var/obj/item/slime_extract/M = holder.my_atom
@@ -477,26 +478,15 @@
..()
//Adamantine
-/datum/chemical_reaction/slime/slimegolem
- name = "Slime Golem"
- id = "m_golem"
+/datum/chemical_reaction/slime/adamantine
+ name = "Adamantine"
+ id = "adamantine"
required_reagents = list("plasma" = 1)
required_container = /obj/item/slime_extract/adamantine
required_other = 1
-/datum/chemical_reaction/slime/slimegolem/on_reaction(datum/reagents/holder)
- new /obj/effect/golemrune(get_turf(holder.my_atom))
- ..()
-
-/datum/chemical_reaction/slime/slimegolem2
- name = "Slime Golem 2"
- id = "m_golem2"
- required_reagents = list("iron" = 1)
- required_container = /obj/item/slime_extract/adamantine
- required_other = 1
-
-/datum/chemical_reaction/slime/slimegolem2/on_reaction(datum/reagents/holder)
- new /obj/item/golem_shell/artificial(get_turf(holder.my_atom))
+/datum/chemical_reaction/slime/adamantine/on_reaction(datum/reagents/holder)
+ new /obj/item/stack/sheet/mineral/adamantine(get_turf(holder.my_atom))
..()
//Bluespace
diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm
index a92c52abf4..37074b6d12 100644
--- a/code/modules/reagents/reagent_containers/bottle.dm
+++ b/code/modules/reagents/reagent_containers/bottle.dm
@@ -58,6 +58,12 @@
icon_state = "bottle12"
list_reagents = list("cyanide" = 30)
+/obj/item/weapon/reagent_containers/glass/bottle/spewium
+ name = "spewium bottle"
+ desc = "A small bottle of spewium."
+ icon_state = "bottle12"
+ list_reagents = list("spewium" = 30)
+
/obj/item/weapon/reagent_containers/glass/bottle/morphine
name = "morphine bottle"
desc = "A small bottle of morphine."
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
old mode 100644
new mode 100755
index 6ea2673004..d61217f006
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -155,6 +155,12 @@
filling.color = mix_color_from_reagents(reagents.reagent_list)
add_overlay(filling)
+/obj/item/weapon/reagent_containers/glass/beaker/jar
+ name = "honey jar"
+ desc = "A jar for honey. It can hold up to 50 units of sweet delight."
+ icon = 'icons/obj/chemical.dmi'
+ icon_state = "vapour"
+
/obj/item/weapon/reagent_containers/glass/beaker/large
name = "large beaker"
desc = "A large beaker. Can hold up to 100 units."
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index 34d422da92..92e01f4824 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -48,15 +48,16 @@
user.changeNext_move(CLICK_CD_RANGE*2)
user.newtonian_move(get_dir(A, user))
var/turf/T = get_turf(src)
+ var/area/area = get_area(src)
if(reagents.has_reagent("sacid"))
- message_admins("[key_name_admin(user)] fired sulphuric acid from \a [src] at (
[get_area(src)] ([T.x], [T.y], [T.z])).")
- log_game("[key_name(user)] fired sulphuric acid from \a [src] at [get_area(src)] ([T.x], [T.y], [T.z]).")
+ message_admins("[ADMIN_LOOKUPFLW(user)] fired sulphuric acid from \a [src] at [area] [ADMIN_COORDJMP(T)].")
+ log_game("[key_name(user)] fired sulphuric acid from \a [src] at [area] ([T.x], [T.y], [T.z]).")
if(reagents.has_reagent("facid"))
- message_admins("[key_name_admin(user)] fired Fluacid from \a [src] at (
[get_area(src)] ([T.x], [T.y], [T.z])).")
- log_game("[key_name(user)] fired Fluacid from \a [src] at [get_area(src)] ([T.x], [T.y], [T.z]).")
+ message_admins("[ADMIN_LOOKUPFLW(user)] fired Fluacid from \a [src] at [area] [ADMIN_COORDJMP(T)].")
+ log_game("[key_name(user)] fired Fluacid from \a [src] at [area] [COORD(T)].")
if(reagents.has_reagent("lube"))
- message_admins("[key_name_admin(user)] fired Space lube from \a [src] at (
[get_area(src)] ([T.x], [T.y], [T.z])).")
- log_game("[key_name(user)] fired Space lube from \a [src] at [get_area(src)] ([T.x], [T.y], [T.z]).")
+ message_admins("[ADMIN_LOOKUPFLW(user)] fired Space lube from \a [src] at [area] [ADMIN_COORDJMP(T)].")
+ log_game("[key_name(user)] fired Space lube from \a [src] at [area] [COORD(T)].")
return
diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm
index 15d8e5e80c..54984227ad 100644
--- a/code/modules/research/designs.dm
+++ b/code/modules/research/designs.dm
@@ -47,7 +47,7 @@ other types of metals and chemistry for reagents).
////////////////////////////////////////
/obj/item/weapon/disk/design_disk
- name = "component design disk"
+ name = "Component Design Disk"
desc = "A disk for storing device design data for construction in lathes."
icon_state = "datadisk1"
materials = list(MAT_METAL=300, MAT_GLASS=100)
@@ -62,7 +62,7 @@ other types of metals and chemistry for reagents).
blueprints += null
/obj/item/weapon/disk/design_disk/adv
- name = "advanced component design disk"
+ name = "Advanced Component Design Disk"
desc = "A disk for storing device design data for construction in lathes. This one has extra storage space."
materials = list(MAT_METAL=300, MAT_GLASS=100, MAT_SILVER = 50)
max_blueprints = 5
@@ -587,7 +587,7 @@ other types of metals and chemistry for reagents).
category = list("Equipment")
/datum/design/diskplantgene
- name = "Plant data disk"
+ name = "Plant Data Disk"
desc = "A disk for storing plant genetic data."
id = "diskplantgene"
req_tech = list("programming" = 4, "biotech" = 3)
@@ -595,7 +595,7 @@ other types of metals and chemistry for reagents).
materials = list(MAT_METAL=200, MAT_GLASS=100)
build_path = /obj/item/weapon/disk/plantgene
category = list("Electronics")
-
+
/////////////////////////////////////////
////////////Janitor Designs//////////////
/////////////////////////////////////////
diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm
index 9f2fbda1f3..7fbc8309a8 100644
--- a/code/modules/research/designs/autolathe_designs.dm
+++ b/code/modules/research/designs/autolathe_designs.dm
@@ -11,7 +11,7 @@
category = list("initial","Tools")
/datum/design/crowbar
- name = "Pocket crowbar"
+ name = "Pocket Crowbar"
id = "crowbar"
build_type = AUTOLATHE
materials = list(MAT_METAL = 50)
@@ -27,7 +27,7 @@
category = list("initial","Tools")
/datum/design/extinguisher
- name = "Fire extinguisher"
+ name = "Fire Extinguisher"
id = "extinguisher"
build_type = AUTOLATHE
materials = list(MAT_METAL = 90)
@@ -51,7 +51,7 @@
category = list("initial","Tools")
/datum/design/tscanner
- name = "T-ray scanner"
+ name = "T-Ray Scanner"
id = "tscanner"
build_type = AUTOLATHE
materials = list(MAT_METAL = 150)
@@ -59,7 +59,7 @@
category = list("initial","Tools")
/datum/design/weldingtool
- name = "Welding tool"
+ name = "Welding Tool"
id = "welding_tool"
build_type = AUTOLATHE
materials = list(MAT_METAL = 70, MAT_GLASS = 20)
@@ -67,7 +67,7 @@
category = list("initial","Tools")
/datum/design/mini_weldingtool
- name = "Emergency welding tool"
+ name = "Emergency Welding Tool"
id = "mini_welding_tool"
build_type = AUTOLATHE
materials = list(MAT_METAL = 30, MAT_GLASS = 10)
@@ -99,7 +99,7 @@
category = list("initial","Tools")
/datum/design/welding_helmet
- name = "Welding helmet"
+ name = "Welding Helmet"
id = "welding_helmet"
build_type = AUTOLATHE
materials = list(MAT_METAL = 1750, MAT_GLASS = 400)
@@ -107,7 +107,7 @@
category = list("initial","Tools")
/datum/design/cable_coil
- name = "Cable coil"
+ name = "Cable Coil"
id = "cable_coil"
build_type = AUTOLATHE
materials = list(MAT_METAL = 10, MAT_GLASS = 5)
@@ -124,7 +124,7 @@
category = list("initial","Tools")
/datum/design/console_screen
- name = "Console screen"
+ name = "Console Screen"
id = "console_screen"
build_type = AUTOLATHE
materials = list(MAT_GLASS = 200)
@@ -132,7 +132,7 @@
category = list("initial", "Electronics")
/datum/design/apc_board
- name = "APC module"
+ name = "APC Module"
id = "power control"
build_type = AUTOLATHE
materials = list(MAT_METAL = 100, MAT_GLASS = 100)
@@ -140,7 +140,7 @@
category = list("initial", "Electronics")
/datum/design/airlock_board
- name = "Airlock electronics"
+ name = "Airlock Electronics"
id = "airlock_board"
build_type = AUTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
@@ -148,7 +148,7 @@
category = list("initial", "Electronics")
/datum/design/firelock_board
- name = "Firelock circuitry"
+ name = "Firelock Circuitry"
id = "firelock_board"
build_type = AUTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
@@ -156,7 +156,7 @@
category = list("initial", "Electronics")
/datum/design/airalarm_electronics
- name = "Air alarm electronics"
+ name = "Air Alarm Electronics"
id = "airalarm_electronics"
build_type = AUTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
@@ -164,7 +164,7 @@
category = list("initial", "Electronics")
/datum/design/firealarm_electronics
- name = "Fire alarm electronics"
+ name = "Fire Alarm Electronics"
id = "firealarm_electronics"
build_type = AUTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
@@ -180,7 +180,7 @@
category = list("initial", "Misc")
/datum/design/pipe_painter
- name = "Pipe painter"
+ name = "Pipe Painter"
id = "pipe_painter"
build_type = AUTOLATHE
materials = list(MAT_METAL = 5000, MAT_GLASS = 2000)
@@ -188,7 +188,7 @@
category = list("initial", "Misc")
/datum/design/airlock_painter
- name = "Airlock painter"
+ name = "Airlock Painter"
id = "airlock_painter"
build_type = AUTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
@@ -214,7 +214,7 @@
maxstack = 50
/datum/design/rglass
- name = "Reinforced glass"
+ name = "Reinforced Glass"
id = "rglass"
build_type = AUTOLATHE
materials = list(MAT_METAL = 1000, MAT_GLASS = MINERAL_MATERIAL_AMOUNT)
@@ -223,7 +223,7 @@
maxstack = 50
/datum/design/rods
- name = "Metal rod"
+ name = "Metal Rod"
id = "rods"
build_type = AUTOLATHE
materials = list(MAT_METAL = 1000)
@@ -232,7 +232,7 @@
maxstack = 50
/datum/design/rcd_ammo
- name = "Compressed matter cardridge"
+ name = "Compressed Matter Cartridge"
id = "rcd_ammo"
build_type = AUTOLATHE
materials = list(MAT_METAL = 3000, MAT_GLASS=2000)
@@ -240,7 +240,7 @@
category = list("initial","Construction")
/datum/design/kitchen_knife
- name = "Kitchen knife"
+ name = "Kitchen Knife"
id = "kitchen_knife"
build_type = AUTOLATHE
materials = list(MAT_METAL = 12000)
@@ -272,7 +272,7 @@
category = list("initial","Dinnerware")
/datum/design/drinking_glass
- name = "Drinking glass"
+ name = "Drinking Glass"
id = "drinking_glass"
build_type = AUTOLATHE
materials = list(MAT_GLASS = 500)
@@ -280,7 +280,7 @@
category = list("initial","Dinnerware")
/datum/design/shot_glass
- name = "Shot glass"
+ name = "Shot Glass"
id = "shot_glass"
build_type = AUTOLATHE
materials = list(MAT_GLASS = 100)
@@ -304,7 +304,7 @@
category = list("initial","Misc")
/datum/design/plant_analyzer
- name = "Plant analyzer"
+ name = "Plant Analyzer"
id = "plant_analyzer"
build_type = AUTOLATHE
materials = list(MAT_METAL = 30, MAT_GLASS = 20)
@@ -344,7 +344,7 @@
category = list("initial", "Medical")
/datum/design/circular_saw
- name = "Circular saw"
+ name = "Circular Saw"
id = "circular_saw"
build_type = AUTOLATHE
materials = list(MAT_METAL = 10000, MAT_GLASS = 6000)
@@ -352,7 +352,7 @@
category = list("initial", "Medical")
/datum/design/surgicaldrill
- name = "Surgical drill"
+ name = "Surgical Drill"
id = "surgicaldrill"
build_type = AUTOLATHE
materials = list(MAT_METAL = 10000, MAT_GLASS = 6000)
@@ -392,7 +392,7 @@
category = list("initial", "Medical")
/datum/design/large_beaker
- name = "Large beaker"
+ name = "Large Beaker"
id = "large_beaker"
build_type = AUTOLATHE
materials = list(MAT_GLASS = 2500)
@@ -408,7 +408,7 @@
category = list("initial", "Medical")
/datum/design/beanbag_slug
- name = "Beanbag slug"
+ name = "Beanbag Slug"
id = "beanbag_slug"
build_type = AUTOLATHE
materials = list(MAT_METAL = 250)
@@ -416,7 +416,7 @@
category = list("initial", "Security")
/datum/design/rubbershot
- name = "Rubber shot"
+ name = "Rubber Shot"
id = "rubber_shot"
build_type = AUTOLATHE
materials = list(MAT_METAL = 4000)
@@ -424,7 +424,7 @@
category = list("initial", "Security")
/datum/design/c38
- name = "Speed loader (.38)"
+ name = "Speed Loader (.38)"
id = "c38"
build_type = AUTOLATHE
materials = list(MAT_METAL = 30000)
@@ -432,7 +432,7 @@
category = list("initial", "Security")
/datum/design/recorder
- name = "Universal recorder"
+ name = "Universal Recorder"
id = "recorder"
build_type = AUTOLATHE
materials = list(MAT_METAL = 60, MAT_GLASS = 30)
@@ -456,7 +456,7 @@
category = list("initial", "Misc")
/datum/design/signaler
- name = "Remote signaling device"
+ name = "Remote Signaling Device"
id = "signaler"
build_type = AUTOLATHE
materials = list(MAT_METAL = 400, MAT_GLASS = 120)
@@ -464,7 +464,7 @@
category = list("initial", "T-Comm")
/datum/design/radio_headset
- name = "Radio headset"
+ name = "Radio Headset"
id = "radio_headset"
build_type = AUTOLATHE
materials = list(MAT_METAL = 75)
@@ -472,7 +472,7 @@
category = list("initial", "T-Comm")
/datum/design/bounced_radio
- name = "Station bounced radio"
+ name = "Station Bounced Radio"
id = "bounced_radio"
build_type = AUTOLATHE
materials = list(MAT_METAL = 75, MAT_GLASS = 25)
@@ -480,7 +480,7 @@
category = list("initial", "T-Comm")
/datum/design/infrared_emitter
- name = "Infrared emitter"
+ name = "Infrared Emitter"
id = "infrared_emitter"
build_type = AUTOLATHE
materials = list(MAT_METAL = 1000, MAT_GLASS = 500)
@@ -488,7 +488,7 @@
category = list("initial", "Misc")
/datum/design/health_sensor
- name = "Health sensor"
+ name = "Health Sensor"
id = "health_sensor"
build_type = AUTOLATHE
materials = list(MAT_METAL = 800, MAT_GLASS = 200)
@@ -504,7 +504,7 @@
category = list("initial", "Misc")
/datum/design/voice_analyser
- name = "Voice analyser"
+ name = "Voice Analyser"
id = "voice_analyser"
build_type = AUTOLATHE
materials = list(MAT_METAL = 500, MAT_GLASS = 50)
@@ -512,7 +512,7 @@
category = list("initial", "Misc")
/datum/design/light_tube
- name = "Light tube"
+ name = "Light Tube"
id = "light_tube"
build_type = AUTOLATHE
materials = list(MAT_GLASS = 100)
@@ -520,7 +520,7 @@
category = list("initial", "Construction")
/datum/design/light_bulb
- name = "Light bulb"
+ name = "Light Bulb"
id = "light_bulb"
build_type = AUTOLATHE
materials = list(MAT_GLASS = 100)
@@ -528,7 +528,7 @@
category = list("initial", "Construction")
/datum/design/camera_assembly
- name = "Camera assembly"
+ name = "Camera Assembly"
id = "camera_assembly"
build_type = AUTOLATHE
materials = list(MAT_METAL = 400, MAT_GLASS = 250)
@@ -536,7 +536,7 @@
category = list("initial", "Construction")
/datum/design/newscaster_frame
- name = "Newscaster frame"
+ name = "Newscaster Frame"
id = "newscaster_frame"
build_type = AUTOLATHE
materials = list(MAT_METAL = 14000, MAT_GLASS = 8000)
@@ -552,7 +552,7 @@
category = list("initial", "Medical")
/datum/design/prox_sensor
- name = "Proximity sensor"
+ name = "Proximity Sensor"
id = "prox_sensor"
build_type = AUTOLATHE
materials = list(MAT_METAL = 800, MAT_GLASS = 200)
@@ -577,7 +577,7 @@
category = list("hacked", "Weapons and ammo")
/datum/design/rcd
- name = "Rapid construction device (RCD)"
+ name = "Rapid Construction Device (RCD)"
id = "rcd"
build_type = AUTOLATHE
materials = list(MAT_METAL = 30000)
@@ -585,7 +585,7 @@
category = list("hacked", "Construction")
/datum/design/rpd
- name = "Rapid pipe dispenser (RPD)"
+ name = "Rapid Pipe Dispenser (RPD)"
id = "rpd"
build_type = AUTOLATHE
materials = list(MAT_METAL = 75000, MAT_GLASS = 37500)
@@ -601,7 +601,7 @@
category = list("hacked", "Tools")
/datum/design/large_welding_tool
- name = "Industrial welding tool"
+ name = "Industrial Welding Tool"
id = "large_welding_tool"
build_type = AUTOLATHE
materials = list(MAT_METAL = 70, MAT_GLASS = 60)
@@ -625,7 +625,7 @@
category = list("hacked", "Security")
/datum/design/shotgun_slug
- name = "Shotgun slug"
+ name = "Shotgun Slug"
id = "shotgun_slug"
build_type = AUTOLATHE
materials = list(MAT_METAL = 4000)
@@ -633,7 +633,7 @@
category = list("hacked", "Security")
/datum/design/buckshot_shell
- name = "Buckshot shell"
+ name = "Buckshot Shell"
id = "buckshot_shell"
build_type = AUTOLATHE
materials = list(MAT_METAL = 4000)
@@ -641,7 +641,7 @@
category = list("hacked", "Security")
/datum/design/shotgun_dart
- name = "Shotgun dart"
+ name = "Shotgun Dart"
id = "shotgun_dart"
build_type = AUTOLATHE
materials = list(MAT_METAL = 4000)
@@ -649,7 +649,7 @@
category = list("hacked", "Security")
/datum/design/incendiary_slug
- name = "Incendiary slug"
+ name = "Incendiary Slug"
id = "incendiary_slug"
build_type = AUTOLATHE
materials = list(MAT_METAL = 4000)
@@ -657,7 +657,7 @@
category = list("hacked", "Security")
/datum/design/riot_dart
- name = "Foam riot dart"
+ name = "Foam Riot Dart"
id = "riot_dart"
build_type = AUTOLATHE
materials = list(MAT_METAL = 1000) //Discount for making individually - no box = less metal!
@@ -665,7 +665,7 @@
category = list("hacked", "Security")
/datum/design/riot_darts
- name = "Foam riot dart box"
+ name = "Foam Riot Dart Box"
id = "riot_darts"
build_type = AUTOLATHE
materials = list(MAT_METAL = 50000) //Comes with 40 darts
@@ -673,7 +673,7 @@
category = list("hacked", "Security")
/datum/design/a357
- name = "Ammo box (.357)"
+ name = "Ammo Box (.357)"
id = "a357"
build_type = AUTOLATHE
materials = list(MAT_METAL = 30000)
@@ -681,7 +681,7 @@
category = list("hacked", "Security")
/datum/design/c10mm
- name = "Ammo box (10mm)"
+ name = "Ammo Box (10mm)"
id = "c10mm"
build_type = AUTOLATHE
materials = list(MAT_METAL = 30000)
@@ -689,7 +689,7 @@
category = list("hacked", "Security")
/datum/design/c45
- name = "Ammo box (.45)"
+ name = "Ammo Box (.45)"
id = "c45"
build_type = AUTOLATHE
materials = list(MAT_METAL = 30000)
@@ -697,7 +697,7 @@
category = list("hacked", "Security")
/datum/design/c9mm
- name = "Ammo box (9mm)"
+ name = "Ammo Box (9mm)"
id = "c9mm"
build_type = AUTOLATHE
materials = list(MAT_METAL = 30000)
@@ -705,7 +705,7 @@
category = list("hacked", "Security")
/datum/design/cleaver
- name = "Butcher's cleaver"
+ name = "Butcher's Cleaver"
id = "cleaver"
build_type = AUTOLATHE
materials = list(MAT_METAL = 18000)
@@ -721,7 +721,7 @@
category = list("initial", "Tools")
/datum/design/desttagger
- name = "Destination tagger"
+ name = "Destination Tagger"
id = "desttagger"
build_type = AUTOLATHE
materials = list(MAT_METAL = 250, MAT_GLASS = 125)
@@ -729,7 +729,7 @@
category = list("initial", "Electronics")
/datum/design/handlabeler
- name = "Hand labeler"
+ name = "Hand Labeler"
id = "handlabel"
build_type = AUTOLATHE
materials = list(MAT_METAL = 150, MAT_GLASS = 125)
@@ -737,7 +737,7 @@
category = list("initial", "Electronics")
/datum/design/geiger
- name = "Geiger counter"
+ name = "Geiger Counter"
id = "geigercounter"
build_type = AUTOLATHE
materials = list(MAT_METAL = 150, MAT_GLASS = 150)
@@ -745,7 +745,7 @@
category = list("initial", "Tools")
/datum/design/turret_control_frame
- name = "Turret control frame"
+ name = "Turret Control Frame"
id = "turret_control"
build_type = AUTOLATHE
materials = list(MAT_METAL = 12000)
@@ -753,7 +753,7 @@
category = list("initial", "Construction")
/datum/design/conveyor_belt
- name = "Conveyor belt"
+ name = "Conveyor Belt"
id = "conveyor_belt"
build_type = AUTOLATHE
materials = list(MAT_METAL = 5000)
@@ -761,7 +761,7 @@
category = list("initial", "Construction")
/datum/design/conveyor_switch
- name = "Conveyor belt switch"
+ name = "Conveyor Belt Switch"
id = "conveyor_switch"
build_type = AUTOLATHE
materials = list(MAT_METAL = 450, MAT_GLASS = 190)
@@ -783,3 +783,12 @@
materials = list(MAT_METAL = 2000, MAT_GLASS = 1000)
build_path = /obj/item/device/modular_computer/tablet
category = list("initial","Misc")
+
+/datum/design/slime_scanner
+ name = "Slime Scanner"
+ id = "slime_scanner"
+ build_type = AUTOLATHE
+ materials = list(MAT_METAL = 300, MAT_GLASS = 200)
+ build_path = /obj/item/device/slime_scanner
+ category = list("initial", "Misc")
+
\ No newline at end of file
diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm
index d293101229..af1d942e90 100644
--- a/code/modules/research/designs/biogenerator_designs.dm
+++ b/code/modules/research/designs/biogenerator_designs.dm
@@ -3,7 +3,7 @@
///////////////////////////////////
/datum/design/milk
- name = "10 milk"
+ name = "10 Milk"
id = "milk"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 20)
@@ -11,7 +11,7 @@
category = list("initial","Food")
/datum/design/cream
- name = "10 cream"
+ name = "10 Cream"
id = "cream"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 30)
@@ -19,7 +19,7 @@
category = list("initial","Food")
/datum/design/milk_carton
- name = "Milk carton"
+ name = "Milk Carton"
id = "milk_carton"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 100)
@@ -27,7 +27,7 @@
category = list("initial","Food")
/datum/design/cream_carton
- name = "Cream carton"
+ name = "Cream Carton"
id = "cream_carton"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 300)
@@ -35,7 +35,7 @@
category = list("initial","Food")
/datum/design/black_pepper
- name = "10u black pepper"
+ name = "10u Black Pepper"
id = "black_pepper"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 25)
@@ -43,7 +43,7 @@
category = list("initial","Food")
/datum/design/pepper_mill
- name = "Pepper mill"
+ name = "Pepper Mill"
id = "pepper_mill"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 50)
@@ -52,7 +52,7 @@
category = list("initial","Food")
/datum/design/monkey_cube
- name = "Monkey cube"
+ name = "Monkey Cube"
id = "mcube"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 250)
@@ -60,7 +60,7 @@
category = list("initial", "Food")
/datum/design/ez_nut
- name = "E-Z-Nutrient"
+ name = "E-Z Nutrient"
id = "ez_nut"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 10)
@@ -108,7 +108,7 @@
category = list("initial", "Botany Chemicals")
/datum/design/cloth
- name = "Roll of cloth"
+ name = "Roll of Cloth"
id = "cloth"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 50)
@@ -124,7 +124,7 @@
category = list("initial","Leather and Cloth")
/datum/design/botany_gloves
- name = "Botanical gloves"
+ name = "Botanical Gloves"
id = "botany_gloves"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 150)
@@ -140,7 +140,7 @@
category = list("initial","Leather and Cloth")
/datum/design/secbelt
- name = "Security belt"
+ name = "Security Belt"
id = "secbelt"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 300)
@@ -148,7 +148,7 @@
category = list("initial","Leather and Cloth")
/datum/design/medbelt
- name = "Medical belt"
+ name = "Medical Belt"
id = "medbel"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 300)
@@ -156,7 +156,7 @@
category = list("initial","Leather and Cloth")
/datum/design/janibelt
- name = "Janitorial belt"
+ name = "Janitorial Belt"
id = "janibelt"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 300)
@@ -164,7 +164,7 @@
category = list("initial","Leather and Cloth")
/datum/design/bandolier
- name = "Bandolier belt"
+ name = "Bandolier Belt"
id = "bandolier"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 300)
@@ -172,7 +172,7 @@
category = list("initial","Leather and Cloth")
/datum/design/s_holster
- name = "Shoulder holster"
+ name = "Shoulder Holster"
id = "s_holster"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 400)
@@ -180,7 +180,7 @@
category = list("initial","Leather and Cloth")
/datum/design/leather_satchel
- name = "Leather satchel"
+ name = "Leather Satchel"
id = "leather_satchel"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 400)
@@ -188,7 +188,7 @@
category = list("initial","Leather and Cloth")
/datum/design/leather_jacket
- name = "Leather jacket"
+ name = "Leather Jacket"
id = "leather_jacket"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 500)
@@ -196,7 +196,7 @@
category = list("initial","Leather and Cloth")
/datum/design/leather_overcoat
- name = "Leather overcoat"
+ name = "Leather Overcoat"
id = "leather_overcoat"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 1000)
@@ -204,7 +204,7 @@
category = list("initial","Leather and Cloth")
/datum/design/rice_hat
- name = "Rice hat"
+ name = "Rice Hat"
id = "rice_hat"
build_type = BIOGENERATOR
materials = list(MAT_BIOMASS = 300)
diff --git a/code/modules/research/designs/computer_part_designs.dm b/code/modules/research/designs/computer_part_designs.dm
index cd75eada7a..dbdd15817c 100644
--- a/code/modules/research/designs/computer_part_designs.dm
+++ b/code/modules/research/designs/computer_part_designs.dm
@@ -3,7 +3,7 @@
////////////////////////////////////////
/datum/design/disk/normal
- name = "hard disk drive"
+ name = "Hard Disk Drive"
id = "hdd_basic"
req_tech = list("programming" = 1, "engineering" = 1)
build_type = PROTOLATHE
@@ -12,7 +12,7 @@
category = list("Computer Parts")
/datum/design/disk/advanced
- name = "advanced hard disk drive"
+ name = "Advanced Hard Disk Drive"
id = "hdd_advanced"
req_tech = list("programming" = 2, "engineering" = 2)
build_type = PROTOLATHE
@@ -21,7 +21,7 @@
category = list("Computer Parts")
/datum/design/disk/super
- name = "super hard disk drive"
+ name = "Super Hard Disk Drive"
id = "hdd_super"
req_tech = list("programming" = 3, "engineering" = 3)
build_type = PROTOLATHE
@@ -30,7 +30,7 @@
category = list("Computer Parts")
/datum/design/disk/cluster
- name = "cluster hard disk drive"
+ name = "Cluster Hard Disk Drive"
id = "hdd_cluster"
req_tech = list("programming" = 4, "engineering" = 4)
build_type = PROTOLATHE
@@ -39,7 +39,7 @@
category = list("Computer Parts")
/datum/design/disk/small
- name = "solid state drive"
+ name = "Solid State Drive"
id = "ssd_small"
req_tech = list("programming" = 2, "engineering" = 2)
build_type = PROTOLATHE
@@ -48,7 +48,7 @@
category = list("Computer Parts")
/datum/design/disk/micro
- name = "micro solid state drive"
+ name = "Micro Solid State Drive"
id = "ssd_micro"
req_tech = list("programming" = 1, "engineering" = 1)
build_type = PROTOLATHE
@@ -59,7 +59,7 @@
// Network cards
/datum/design/netcard/basic
- name = "network card"
+ name = "Network Card"
id = "netcard_basic"
req_tech = list("programming" = 2, "engineering" = 1)
build_type = IMPRINTER
@@ -69,7 +69,7 @@
category = list("Computer Parts")
/datum/design/netcard/advanced
- name = "advanced network card"
+ name = "Advanced Network Card"
id = "netcard_advanced"
req_tech = list("programming" = 4, "engineering" = 2)
build_type = IMPRINTER
@@ -79,7 +79,7 @@
category = list("Computer Parts")
/datum/design/netcard/wired
- name = "wired network card"
+ name = "Wired Network Card"
id = "netcard_wired"
req_tech = list("programming" = 5, "engineering" = 3)
build_type = IMPRINTER
@@ -91,7 +91,7 @@
// Data disks
/datum/design/portabledrive/basic
- name = "data disk"
+ name = "Data Disk"
id = "portadrive_basic"
req_tech = list("programming" = 1)
build_type = IMPRINTER
@@ -101,7 +101,7 @@
category = list("Computer Parts")
/datum/design/portabledrive/advanced
- name = "advanced data disk"
+ name = "Advanced Data Disk"
id = "portadrive_advanced"
req_tech = list("programming" = 2)
build_type = IMPRINTER
@@ -111,7 +111,7 @@
category = list("Computer Parts")
/datum/design/portabledrive/super
- name = "super data disk"
+ name = "Super Data Disk"
id = "portadrive_super"
req_tech = list("programming" = 4)
build_type = IMPRINTER
@@ -123,7 +123,7 @@
// Card slot
/datum/design/cardslot
- name = "ID card slot"
+ name = "ID Card Slot"
id = "cardslot"
req_tech = list("programming" = 2)
build_type = PROTOLATHE
@@ -133,7 +133,7 @@
// Intellicard slot
/datum/design/aislot
- name = "Intellicard slot"
+ name = "Intellicard Slot"
id = "aislot"
req_tech = list("programming" = 2)
build_type = PROTOLATHE
@@ -143,7 +143,7 @@
// Mini printer
/datum/design/miniprinter
- name = "miniprinter"
+ name = "Miniprinter"
id = "miniprinter"
req_tech = list("programming" = 2, "engineering" = 2)
build_type = PROTOLATHE
@@ -154,7 +154,7 @@
// APC Link
/datum/design/APClink
- name = "area power connector"
+ name = "Area Power Connector"
id = "APClink"
req_tech = list("programming" = 2, "powerstorage" = 3, "engineering" = 2)
build_type = PROTOLATHE
@@ -165,7 +165,7 @@
// Batteries
/datum/design/battery/controller
- name = "power cell controller"
+ name = "Power Cell Controller"
id = "bat_control"
req_tech = list("powerstorage" = 1, "engineering" = 1)
build_type = PROTOLATHE
@@ -174,7 +174,7 @@
category = list("Computer Parts")
/datum/design/battery/normal
- name = "battery module"
+ name = "Battery Module"
id = "bat_normal"
req_tech = list("powerstorage" = 1, "engineering" = 1)
build_type = PROTOLATHE
@@ -183,7 +183,7 @@
category = list("Computer Parts")
/datum/design/battery/advanced
- name = "advanced battery module"
+ name = "Advanced Battery Module"
id = "bat_advanced"
req_tech = list("powerstorage" = 2, "engineering" = 2)
build_type = PROTOLATHE
@@ -192,7 +192,7 @@
category = list("Computer Parts")
/datum/design/battery/super
- name = "super battery module"
+ name = "Super Battery Module"
id = "bat_super"
req_tech = list("powerstorage" = 3, "engineering" = 3)
build_type = PROTOLATHE
@@ -201,7 +201,7 @@
category = list("Computer Parts")
/datum/design/battery/nano
- name = "nano battery module"
+ name = "Nano Battery Module"
id = "bat_nano"
req_tech = list("powerstorage" = 1, "engineering" = 1)
build_type = PROTOLATHE
@@ -210,7 +210,7 @@
category = list("Computer Parts")
/datum/design/battery/micro
- name = "micro battery module"
+ name = "Micro Battery Module"
id = "bat_micro"
req_tech = list("powerstorage" = 2, "engineering" = 2)
build_type = PROTOLATHE
@@ -221,7 +221,7 @@
// Processor unit
/datum/design/cpu
- name = "processor board"
+ name = "Processor Board"
id = "cpu_normal"
req_tech = list("programming" = 3, "engineering" = 2)
build_type = IMPRINTER
@@ -231,7 +231,7 @@
category = list("Computer Parts")
/datum/design/cpu/small
- name = "microprocessor"
+ name = "Microprocessor"
id = "cpu_small"
req_tech = list("programming" = 2, "engineering" = 2)
build_type = IMPRINTER
@@ -241,7 +241,7 @@
category = list("Computer Parts")
/datum/design/cpu/photonic
- name = "photonic processor board"
+ name = "Photonic Processor Board"
id = "pcpu_normal"
req_tech = list("programming" = 5, "engineering" = 4)
build_type = IMPRINTER
@@ -251,7 +251,7 @@
category = list("Computer Parts")
/datum/design/cpu/photonic/small
- name = "photonic microprocessor"
+ name = "Photonic Microprocessor"
id = "pcpu_small"
req_tech = list("programming" = 4, "engineering" = 3)
build_type = IMPRINTER
diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm
index 002112b717..f72458af4e 100644
--- a/code/modules/research/designs/medical_designs.dm
+++ b/code/modules/research/designs/medical_designs.dm
@@ -96,7 +96,7 @@
category = list("Medical Designs")
/datum/design/bluespacebodybag
- name = "Bluespace body bag"
+ name = "Bluespace Body Bag"
desc = "A bluespace body bag, powered by experimental bluespace technology. It can hold loads of bodies and the largest of creatures."
id = "bluespacebodybag"
req_tech = list("bluespace" = 5, "materials" = 4, "plasmatech" = 4)
@@ -106,7 +106,7 @@
category = list("Medical Designs")
/datum/design/plasmarefiller
- name = "Plasma-man jumpsuit refill"
+ name = "Plasma-Man Jumpsuit Refill"
desc = "A refill pack for the auto-extinguisher on Plasma-man suits."
id = "plasmarefiller"
req_tech = list("materials" = 2, "plasmatech" = 3) //Why did this have no plasmatech
@@ -191,7 +191,7 @@
category = list("Misc", "Medical Designs")
/datum/design/cyberimp_breather
- name = "Breathing Tube implant"
+ name = "Breathing Tube Implant"
desc = "This simple implant adds an internals connector to your back, allowing you to use internals without a mask and protecting you from being choked."
id = "ci-breather"
req_tech = list("materials" = 2, "biotech" = 3)
@@ -202,7 +202,7 @@
category = list("Misc", "Medical Designs")
/datum/design/cyberimp_toolset
- name = "Toolset Arm implant"
+ name = "Toolset Arm Implant"
desc = "A stripped-down version of engineering cyborg toolset, designed to be installed on subject's arm."
id = "ci-toolset"
req_tech = list("materials" = 3, "engineering" = 4, "biotech" = 4, "powerstorage" = 4)
@@ -213,7 +213,7 @@
category = list("Misc", "Medical Designs")
/datum/design/cyberimp_medical_hud
- name = "Medical HUD implant"
+ name = "Medical HUD Implant"
desc = "These cybernetic eyes will display a medical HUD over everything you see. Wiggle eyes to control."
id = "ci-medhud"
req_tech = list("materials" = 5, "programming" = 4, "biotech" = 4)
@@ -224,7 +224,7 @@
category = list("Misc", "Medical Designs")
/datum/design/cyberimp_security_hud
- name = "Security HUD implant"
+ name = "Security HUD Implant"
desc = "These cybernetic eyes will display a security HUD over everything you see. Wiggle eyes to control."
id = "ci-sechud"
req_tech = list("materials" = 5, "programming" = 4, "biotech" = 4, "combat" = 3)
@@ -235,7 +235,7 @@
category = list("Misc", "Medical Designs")
/datum/design/cyberimp_xray
- name = "X-Ray eyes"
+ name = "X-Ray Eyes"
desc = "These cybernetic eyes will give you X-ray vision. Blinking is futile."
id = "ci-xray"
req_tech = list("materials" = 7, "programming" = 5, "biotech" = 7, "magnets" = 5,"plasmatech" = 6)
@@ -246,7 +246,7 @@
category = list("Misc", "Medical Designs")
/datum/design/cyberimp_thermals
- name = "Thermal eyes"
+ name = "Thermal Eyes"
desc = "These cybernetic eyes will give you Thermal vision. Vertical slit pupil included."
id = "ci-thermals"
req_tech = list("materials" = 6, "programming" = 4, "biotech" = 7, "magnets" = 5,"plasmatech" = 4)
@@ -257,7 +257,7 @@
category = list("Misc", "Medical Designs")
/datum/design/cyberimp_antidrop
- name = "Anti-Drop implant"
+ name = "Anti-Drop Implant"
desc = "This cybernetic brain implant will allow you to force your hand muscles to contract, preventing item dropping. Twitch ear to toggle."
id = "ci-antidrop"
req_tech = list("materials" = 5, "programming" = 6, "biotech" = 5)
@@ -268,7 +268,7 @@
category = list("Misc", "Medical Designs")
/datum/design/cyberimp_antistun
- name = "CNS Rebooter implant"
+ name = "CNS Rebooter Implant"
desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when stunned."
id = "ci-antistun"
req_tech = list("materials" = 6, "programming" = 5, "biotech" = 6)
@@ -279,7 +279,7 @@
category = list("Misc", "Medical Designs")
/datum/design/cyberimp_nutriment
- name = "Nutriment pump implant"
+ name = "Nutriment Pump Implant"
desc = "This implant with synthesize and pump into your bloodstream a small amount of nutriment when you are starving."
id = "ci-nutriment"
req_tech = list("materials" = 3, "powerstorage" = 4, "biotech" = 3)
@@ -290,7 +290,7 @@
category = list("Misc", "Medical Designs")
/datum/design/cyberimp_nutriment_plus
- name = "Nutriment pump implant PLUS"
+ name = "Nutriment Pump Implant PLUS"
desc = "This implant with synthesize and pump into your bloodstream a small amount of nutriment when you are hungry."
id = "ci-nutrimentplus"
req_tech = list("materials" = 5, "powerstorage" = 4, "biotech" = 4)
@@ -301,7 +301,7 @@
category = list("Misc", "Medical Designs")
/datum/design/cyberimp_reviver
- name = "Reviver implant"
+ name = "Reviver Implant"
desc = "This implant will attempt to revive you if you lose consciousness. For the faint of heart!"
id = "ci-reviver"
req_tech = list("materials" = 5, "programming" = 4, "biotech" = 5)
@@ -312,7 +312,7 @@
category = list("Misc", "Medical Designs")
/datum/design/cyberimp_thrusters
- name = "Thrusters set implant"
+ name = "Thrusters Set Implant"
desc = "This implant will allow you to use gas from environment or your internals for propulsion in zero-gravity areas."
id = "ci-thrusters"
req_tech = list("materials" = 5, "biotech" = 5, "magnets" = 4, "engineering" = 7)
diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm
index 80863259e8..15704651f6 100644
--- a/code/modules/research/designs/weapon_designs.dm
+++ b/code/modules/research/designs/weapon_designs.dm
@@ -3,7 +3,7 @@
/////////////////////////////////////////
/datum/design/pin_testing
- name = "test-range firing pin"
+ name = "Test-Range Firing Pin"
desc = "This safety firing pin allows firearms to be operated within proximity to a firing range."
id = "pin_testing"
req_tech = list("combat" = 2, "materials" = 2)
@@ -13,7 +13,7 @@
category = list("Firing Pins")
/datum/design/pin_mindshield
- name = "mindshield firing pin"
+ name = "Mindshield Firing Pin"
desc = "This is a security firing pin which only authorizes users who are mindshield-implanted."
id = "pin_loyalty"
req_tech = list("combat" = 5, "materials" = 6)
diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm
index ecc1398137..b28d388b29 100644
--- a/code/modules/ruins/lavaland_ruin_code.dm
+++ b/code/modules/ruins/lavaland_ruin_code.dm
@@ -11,7 +11,7 @@
lootcount = 1
loot = list(/obj/item/seeds/gatfruit = 10,
- /obj/item/seeds/cherry = 15,
+ /obj/item/seeds/cherry/bomb = 10,
/obj/item/seeds/berry/glow = 10,
/obj/item/seeds/sunflower/moonflower = 8
)
@@ -103,6 +103,12 @@
if(istype(O, /obj/item/stack/medical/gauze) || istype(O, /obj/item/stack/sheet/cloth))
species = /datum/species/golem/cloth
+
+ if(istype(O, /obj/item/stack/sheet/plastic))
+ species = /datum/species/golem/plastic
+
+ if(istype(O, /obj/item/stack/sheet/mineral/adamantine))
+ species = /datum/species/golem/adamantine
if(species)
if(O.use(10))
@@ -119,7 +125,6 @@
name = "incomplete artificial golem shell"
has_owner = TRUE
-
///Syndicate Listening Post
/obj/effect/mob_spawn/human/lavaland_syndicate
r_hand = /obj/item/weapon/gun/ballistic/automatic/sniper_rifle
@@ -136,7 +141,7 @@
icon = 'icons/obj/Cryogenic2.dmi'
icon_state = "sleeper"
has_id = 1
- flavour_text = "
You are a syndicate agent, employed in a top secret research facility developing biological weapons. Unfortunatley, your hated enemy, Nanotrasen, has begun mining in this sector. Continue your research as best you can, and try to keep a low profile. Do not abandon the base without good cause. The base is rigged with explosives should the worst happen, do not let the base fall into enemy hands!"
+ flavour_text = "You are a syndicate agent, employed in a top secret research facility developing biological weapons. Unfortunately, your hated enemy, Nanotrasen, has begun mining in this sector. Continue your research as best you can, and try to keep a low profile. Do not abandon the base without good cause. The base is rigged with explosives should the worst happen, do not let the base fall into enemy hands!"
id_access_list = list(GLOB.access_syndicate)
/obj/effect/mob_spawn/human/lavaland_syndicate/comms
@@ -144,9 +149,6 @@
r_hand = /obj/item/weapon/melee/energy/sword/saber
mask = /obj/item/clothing/mask/chameleon
suit = /obj/item/clothing/suit/armor/vest
- flavour_text = "You are a syndicate agent, employed in a top secret research facility developing biological weapons. \n +\
- Unfortunately, your hated enemy, Nanotrasen, has begun mining in this sector. Monitor enemy activity as best you can, and try to keep a low profile. Do not abandon the base, activate the self destruct device if you are compromised. \n +\
- Use the communication equipment to provide support to any field agents, and sow disinformation to throw Nanotrasen off your trail.\n +\
- Remember, an enemy of our enemy is a friend, so also provide support to those that hinder Nanotrasen unless commanded otherwise by HQ. \n +\
- Do not let the base fall into enemy hands!"
+ flavour_text = "You are a syndicate agent, employed in a top secret research facility developing biological weapons. Unfortunately, your hated enemy, Nanotrasen, has begun mining in this sector. Monitor enemy activity as best you can, and try to keep a low profile. Do not abandon the base without good cause. Use the communication equipment to provide support to any field agents, and sow disinformation to throw Nanotrasen off your trail. Do not let the base fall into enemy hands!"
pocket2 = /obj/item/weapon/card/id/syndicate/anyone
+
diff --git a/code/modules/shuttle/elevator.dm b/code/modules/shuttle/elevator.dm
new file mode 100644
index 0000000000..12f9c24f9a
--- /dev/null
+++ b/code/modules/shuttle/elevator.dm
@@ -0,0 +1,10 @@
+/obj/docking_port/mobile/elevator
+ name = "elevator"
+ id = "elevator"
+ dwidth = 3
+ width = 7
+ height = 7
+ knockdown = FALSE
+
+/obj/docking_port/mobile/elevator/request(obj/docking_port/stationary/S) //No transit, no ignition, just a simple up/down platform
+ dock(S, TRUE)
\ No newline at end of file
diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm
index b9d284b280..6344689f0b 100644
--- a/code/modules/shuttle/emergency.dm
+++ b/code/modules/shuttle/emergency.dm
@@ -104,12 +104,8 @@
authorized += ID
- message_admins("[key_name_admin(user.client)] \
- (?) \
- (FLW) \
- has authorized early shuttle launch", 0, 1)
- log_game("[key_name(user)] has authorized early shuttle launch in \
- ([x],[y],[z])")
+ message_admins("[ADMIN_LOOKUPFLW(user)] has authorized early shuttle launch", 0, 1)
+ log_game("[key_name(user)] has authorized early shuttle launch in [COORD(src)]")
// Now check if we're on our way
. = TRUE
process()
diff --git a/code/modules/shuttle/ferry.dm b/code/modules/shuttle/ferry.dm
index 2e04fdd9af..b846098fc4 100644
--- a/code/modules/shuttle/ferry.dm
+++ b/code/modules/shuttle/ferry.dm
@@ -30,4 +30,4 @@
return
last_request = world.time
to_chat(usr, "Your request has been recieved by Centcom.")
- to_chat(GLOB.admins, "FERRY: [key_name_admin(usr)] (?) (FLW) (Move Ferry) is requesting to move the transport ferry to Centcom.")
+ to_chat(GLOB.admins, "FERRY: [ADMIN_LOOKUPFLW(usr)] (Move Ferry) is requesting to move the transport ferry to Centcom.")
diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm
index 756fad25b3..b5571164ff 100644
--- a/code/modules/shuttle/on_move.dm
+++ b/code/modules/shuttle/on_move.dm
@@ -3,7 +3,7 @@
return
// Called when shuttle attempts to move an atom.
-/atom/movable/proc/onShuttleMove(turf/T1, rotation)
+/atom/movable/proc/onShuttleMove(turf/T1, rotation, knockdown = TRUE)
if(rotation)
shuttleRotate(rotation)
loc = T1
@@ -47,11 +47,11 @@
else
shake_camera(src, 7, 1)
-/mob/living/carbon/onShuttleMove()
+/mob/living/carbon/onShuttleMove(turf/T1, rotation, knockdown = TRUE)
. = ..()
if(!.)
return
- if(!buckled)
+ if(!buckled && knockdown)
Weaken(3)
/obj/effect/abstract/proximity_checker/onShuttleMove()
diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm
index 00ddecb7f8..656ba24da6 100644
--- a/code/modules/shuttle/shuttle.dm
+++ b/code/modules/shuttle/shuttle.dm
@@ -217,6 +217,8 @@
var/launch_status = NOLAUNCH
+ var/knockdown = TRUE //Will it knock down mobs when it docks?
+
// A timid shuttle will not register itself with the shuttle subsystem
// All shuttle templates are timid
var/timid = FALSE
@@ -517,7 +519,7 @@
//move mobile to new location
for(var/atom/movable/AM in T0)
- if(AM.onShuttleMove(T1, rotation))
+ if(AM.onShuttleMove(T1, rotation, knockdown))
moved_atoms += AM
if(rotation)
@@ -578,10 +580,7 @@
if(M.pulledby)
M.pulledby.stop_pulling()
M.stop_pulling()
- M.visible_message("[M] is hit by \
- a hyperspace ripple!",
- "You feel an immense \
- crushing pressure as the space around you ripples.")
+ M.visible_message("[src] slams into [M]!")
if(M.key || M.get_ghost(TRUE))
SSblackbox.add_details("shuttle_gib", "[type]")
else
diff --git a/code/modules/spells/spell_types/aimed.dm b/code/modules/spells/spell_types/aimed.dm
index ef40210fd1..597f3185a4 100644
--- a/code/modules/spells/spell_types/aimed.dm
+++ b/code/modules/spells/spell_types/aimed.dm
@@ -36,7 +36,7 @@
/obj/effect/proc_holder/spell/aimed/InterceptClickOn(mob/living/caller, params, atom/target)
if(..())
return FALSE
- var/ignore = (current_amount <= 0)
+ var/ignore = (current_amount >= 1)
if(!cast_check(ignore, ranged_ability_user))
remove_ranged_ability()
return FALSE
diff --git a/code/modules/spells/spell_types/mind_transfer.dm b/code/modules/spells/spell_types/mind_transfer.dm
index 7ebafe6e24..052c1f1162 100644
--- a/code/modules/spells/spell_types/mind_transfer.dm
+++ b/code/modules/spells/spell_types/mind_transfer.dm
@@ -62,29 +62,14 @@ Also, you never added distance checking after target is selected. I've went ahea
var/mob/caster = user//The wizard/whomever doing the body transferring.
//MIND TRANSFER BEGIN
- if(caster.mind.special_verbs.len)//If the caster had any special verbs, remove them from the mob verb list.
- for(var/V in caster.mind.special_verbs)//Since the caster is using an object spell system, this is mostly moot.
- caster.verbs -= V//But a safety nontheless.
-
- if(victim.mind.special_verbs.len)//Now remove all of the victim's verbs.
- for(var/V in victim.mind.special_verbs)
- victim.verbs -= V
-
var/mob/dead/observer/ghost = victim.ghostize(0)
caster.mind.transfer_to(victim)
- if(victim.mind.special_verbs.len)//To add all the special verbs for the original caster.
- for(var/V in caster.mind.special_verbs)//Not too important but could come into play.
- caster.verbs += V
-
ghost.mind.transfer_to(caster)
if(ghost.key)
caster.key = ghost.key //have to transfer the key since the mind was not active
qdel(ghost)
- if(caster.mind.special_verbs.len)//If they had any special verbs, we add them here.
- for(var/V in caster.mind.special_verbs)
- caster.verbs += V
//MIND TRANSFER END
//Here we paralyze both mobs and knock them out for a time.
diff --git a/code/modules/spells/spell_types/wizard.dm b/code/modules/spells/spell_types/wizard.dm
index 66bc198311..76f5b9b307 100644
--- a/code/modules/spells/spell_types/wizard.dm
+++ b/code/modules/spells/spell_types/wizard.dm
@@ -69,6 +69,24 @@
action_icon_state = "smoke"
+
+/obj/effect/proc_holder/spell/targeted/smoke/lesser //Chaplain smoke book
+ name = "Smoke"
+ desc = "This spell spawns a small cloud of choking smoke at your location."
+
+ school = "conjuration"
+ charge_max = 360
+ clothes_req = 0
+ invocation = "none"
+ invocation_type = "none"
+ range = -1
+ include_user = 1
+
+ smoke_spread = 1
+ smoke_amt = 2
+
+ action_icon_state = "smoke"
+
/obj/effect/proc_holder/spell/targeted/emplosion/disable_tech
name = "Disable Tech"
desc = "This spell disables all weapons, cameras and most other technology in range."
diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm
index de8c2b79ac..585f452de4 100644
--- a/code/modules/surgery/bodyparts/dismemberment.dm
+++ b/code/modules/surgery/bodyparts/dismemberment.dm
@@ -218,6 +218,14 @@
for(var/X in list(owner.glasses, owner.ears, owner.wear_mask, owner.head))
var/obj/item/I = X
owner.dropItemToGround(I, TRUE)
+
+ //Handle dental implants
+ for(var/datum/action/item_action/hands_free/activate_pill/AP in owner.actions)
+ AP.Remove(owner)
+ var/obj/pill = AP.target
+ if(pill)
+ pill.forceMove(src)
+
name = "[owner.real_name]'s head"
..()
@@ -254,6 +262,8 @@
if(held_index > C.hand_bodyparts.len)
C.hand_bodyparts.len = held_index
C.hand_bodyparts[held_index] = src
+ if(C.dna.species.mutanthands && !is_pseudopart)
+ C.put_in_hand(new C.dna.species.mutanthands(), held_index)
if(C.hud_used)
var/obj/screen/inventory/hand/hand = C.hud_used.hand_slots["[held_index]"]
if(hand)
@@ -269,6 +279,9 @@
qdel(S)
break
+ for(var/obj/item/organ/O in contents)
+ O.Insert(C)
+
update_bodypart_damage_state()
C.updatehealth()
@@ -300,6 +313,14 @@
C.real_name = real_name
real_name = ""
name = initial(name)
+
+ //Handle dental implants
+ for(var/obj/item/weapon/reagent_containers/pill/P in src)
+ for(var/datum/action/item_action/hands_free/activate_pill/AP in P.actions)
+ P.forceMove(C)
+ AP.Grant(C)
+ break
+
..()
diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm
index 909f83e4d7..dd63506086 100644
--- a/code/modules/surgery/bodyparts/head.dm
+++ b/code/modules/surgery/bodyparts/head.dm
@@ -48,7 +48,10 @@
brain = null
update_icon_dropped()
else
- I.loc = T
+ if(istype(I, /obj/item/weapon/reagent_containers/pill))
+ for(var/datum/action/item_action/hands_free/activate_pill/AP in I.actions)
+ qdel(AP)
+ I.forceMove(T)
/obj/item/bodypart/head/update_limb(dropping_limb, mob/living/carbon/source)
var/mob/living/carbon/C
diff --git a/code/modules/surgery/dental_implant.dm b/code/modules/surgery/dental_implant.dm
index eef88e4a5f..c51a49081c 100644
--- a/code/modules/surgery/dental_implant.dm
+++ b/code/modules/surgery/dental_implant.dm
@@ -18,10 +18,10 @@
user.drop_item()
tool.loc = target
- var/datum/action/item_action/hands_free/activate_pill/P = new
+ var/datum/action/item_action/hands_free/activate_pill/P = new(tool)
P.button.name = "Activate [tool.name]"
P.target = tool
- P.Grant(target)
+ P.Grant(target) //The pill never actually goes in an inventory slot, so the owner doesn't inherit actions from it
user.visible_message("[user] wedges \the [tool] into [target]'s [parse_zone(target_zone)]!", "You wedge [tool] into [target]'s [parse_zone(target_zone)].")
return 1
@@ -37,6 +37,5 @@
if(target.reagents.total_volume)
target.reagents.reaction(owner, INGEST)
target.reagents.trans_to(owner, target.reagents.total_volume)
- Remove(owner)
qdel(target)
return 1
\ No newline at end of file
diff --git a/code/modules/surgery/organ_manipulation.dm b/code/modules/surgery/organ_manipulation.dm
index 6e3c224924..9d88e491b2 100644
--- a/code/modules/surgery/organ_manipulation.dm
+++ b/code/modules/surgery/organ_manipulation.dm
@@ -106,7 +106,7 @@
"You begin to mend the incision in [target]'s [parse_zone(target_zone)]...")
else if(istype(tool, /obj/item/weapon/reagent_containers/food/snacks/organ))
- to_chat(user, "[tool] was biten by someone! It's too damaged to use!")
+ to_chat(user, "[tool] was bitten by someone! It's too damaged to use!")
return -1
/datum/surgery_step/manipulate_organs/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
diff --git a/code/modules/surgery/organs/ears.dm b/code/modules/surgery/organs/ears.dm
index c91cb219af..e66346a2c8 100644
--- a/code/modules/surgery/organs/ears.dm
+++ b/code/modules/surgery/organs/ears.dm
@@ -4,6 +4,7 @@
desc = "There are three parts to the ear. Inner, middle and outer. Only one of these parts should be normally visible."
zone = "head"
slot = "ears"
+ gender = PLURAL
// `deaf` measures "ticks" of deafness. While > 0, the person is unable
// to hear anything.
diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm
index 672ac924ad..83b70d33d9 100644
--- a/code/modules/surgery/organs/eyes.dm
+++ b/code/modules/surgery/organs/eyes.dm
@@ -4,6 +4,7 @@
desc = "I see you!"
zone = "eyes"
slot = "eye_sight"
+ gender = PLURAL
var/sight_flags = 0
var/see_in_dark = 2
@@ -63,6 +64,9 @@
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE
sight_flags = SEE_MOBS
+/obj/item/organ/eyes/night_vision/zombie
+ name = "undead eyes"
+ desc = "Somewhat counterintuitively, these half rotten eyes actually have superior vision to those of a living human."
///Robotic
diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm
index 97e794b466..78adf8268c 100644
--- a/code/modules/surgery/organs/organ_internal.dm
+++ b/code/modules/surgery/organs/organ_internal.dm
@@ -125,16 +125,13 @@
if(!getorganslot("tongue"))
var/obj/item/organ/tongue/T
- if(dna && dna.species)
- for(var/tongue_type in dna.species.mutant_organs)
- if(ispath(tongue_type, /obj/item/organ/tongue))
- T = new tongue_type()
- T.Insert(src)
+ if(dna && dna.species && dna.species.mutanttongue)
+ T = new dna.species.mutanttongue()
+ else
+ T = new()
// if they have no mutant tongues, give them a regular one
- if(!T)
- T = new()
- T.Insert(src)
+ T.Insert(src)
if(!getorganslot("eye_sight"))
var/obj/item/organ/eyes/E
diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm
index b6a62cacd2..575a634a11 100644
--- a/code/modules/surgery/organs/tongue.dm
+++ b/code/modules/surgery/organs/tongue.dm
@@ -10,9 +10,10 @@
var/taste_sensitivity = 15 // lower is more sensitive.
/obj/item/organ/tongue/Initialize(mapload)
- ..()
+ . = ..()
languages_possible = typecacheof(list(
/datum/language/common,
+ /datum/language/draconic,
/datum/language/monkey,
/datum/language/ratvar
))
@@ -123,10 +124,11 @@
taste_sensitivity = 10 // LIZARDS ARE ALIENS CONFIRMED
/obj/item/organ/tongue/alien/Initialize(mapload)
- ..()
+ . = ..()
languages_possible = typecacheof(list(
/datum/language/xenocommon,
/datum/language/common,
+ /datum/language/draconic,
/datum/language/ratvar,
/datum/language/monkey))
@@ -175,7 +177,7 @@
/obj/item/organ/tongue/bone/plasmaman/get_spans()
return
-
+
/obj/item/organ/tongue/robot
name = "robotic voicebox"
desc = "A voice synthesizer that can interface with organic lifeforms."
@@ -185,16 +187,8 @@
attack_verb = list("beeped", "booped")
taste_sensitivity = 25 // not as good as an organic tongue
-/obj/item/organ/tongue/robot/Initialize(mapload)
- ..()
- languages_possible = typecacheof(list(
- /datum/language/xenocommon,
- /datum/language/common,
- /datum/language/ratvar,
- /datum/language/monkey,
- /datum/language/drone,
- /datum/language/machine,
- /datum/language/swarmer))
+/obj/item/organ/tongue/robot/can_speak_in_language(datum/language/dt)
+ . = TRUE // THE MAGIC OF ELECTRONICS
/obj/item/organ/tongue/robot/get_spans()
return ..() | SPAN_ROBOT
diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm
index a2048c2b71..e817557cc2 100644
--- a/code/modules/surgery/organs/vocal_cords.dm
+++ b/code/modules/surgery/organs/vocal_cords.dm
@@ -8,6 +8,7 @@
icon_state = "appendix"
zone = "mouth"
slot = "vocal_cords"
+ gender = PLURAL
var/list/spans = null
/obj/item/organ/vocal_cords/proc/can_speak_with() //if there is any limitation to speaking with these cords
@@ -19,6 +20,40 @@
/obj/item/organ/vocal_cords/proc/handle_speech(message) //actually say the message
owner.say(message, spans = spans, sanitize = FALSE)
+/obj/item/organ/adamantine_resonator
+ name = "adamantine resonator"
+ desc = "Fragments of adamantine exists in all golems, stemming from their origins as purely magical constructs. These are used to \"hear\" messages from their leaders."
+ zone = "head"
+ slot = "adamantine_resonator"
+ icon_state = "adamantine_resonator"
+
+/obj/item/organ/vocal_cords/adamantine
+ name = "adamantine vocal cords"
+ desc = "When adamantine resonates, it causes all nearby pieces of adamantine to resonate as well. Adamantine golems use this to broadcast messages to nearby golems."
+ actions_types = list(/datum/action/item_action/organ_action/use/adamantine_vocal_cords)
+ zone = "mouth"
+ slot = "vocal_cords"
+ icon_state = "adamantine_cords"
+
+/datum/action/item_action/organ_action/use/adamantine_vocal_cords/Trigger()
+ if(!IsAvailable())
+ return
+ var/message = input(owner, "Resonate a message to all nearby golems.", "Resonate")
+ if(QDELETED(src) || QDELETED(owner) || !message)
+ return
+ owner.say(".x[message]")
+
+/obj/item/organ/vocal_cords/adamantine/handle_speech(message)
+ var/msg = "[owner.real_name] resonates, \"[message]\""
+ for(var/m in GLOB.player_list)
+ if(iscarbon(m))
+ var/mob/living/carbon/C = m
+ if(C.getorganslot("adamantine_resonator"))
+ to_chat(C, msg)
+ if(isobserver(m))
+ var/link = FOLLOW_LINK(m, src)
+ to_chat(m, "[link] [msg]")
+
//Colossus drop, forces the listeners to obey certain commands
/obj/item/organ/vocal_cords/colossus
name = "divine vocal cords"
@@ -247,7 +282,7 @@
else if((findtext(message, silence_words)))
cooldown = COOLDOWN_STUN
for(var/mob/living/carbon/C in listeners)
- if(user.mind && (user.mind.assigned_role == "Librarian" || user.mind.assigned_role == "Mime"))
+ if(user.mind && (user.mind.assigned_role == "Curator" || user.mind.assigned_role == "Mime"))
power_multiplier *= 3
C.silent += (10 * power_multiplier)
diff --git a/code/modules/surgery/prosthetic_replacement.dm b/code/modules/surgery/prosthetic_replacement.dm
index 53520679c2..4be7b84a6c 100644
--- a/code/modules/surgery/prosthetic_replacement.dm
+++ b/code/modules/surgery/prosthetic_replacement.dm
@@ -72,9 +72,9 @@
user.visible_message("[user] successfully replaces [target]'s [parse_zone(target_zone)]!", "You succeed in replacing [target]'s [parse_zone(target_zone)].")
return 1
else
- target.regenerate_limb(target_zone)
- var/obj/item/bodypart/L = target.get_bodypart(target_zone)
+ var/obj/item/bodypart/L = target.newBodyPart(target_zone, FALSE, FALSE)
L.is_pseudopart = TRUE
+ L.attach_limb(target)
user.visible_message("[user] finishes attaching [tool]!", "You attach [tool].")
qdel(tool)
if(istype(tool, /obj/item/weapon/twohanded/required/chainsaw))
diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm
index 90cb344cf5..efd1ec64f2 100644
--- a/code/modules/surgery/tools.dm
+++ b/code/modules/surgery/tools.dm
@@ -111,17 +111,8 @@
if(contents.len)
to_chat(user, "[src] already has something inside it.")
return
- if(isorgan(I))
- var/obj/item/organ/O = I
- if(O.status != ORGAN_ORGANIC)
- to_chat(user, "[src] can only hold organic body parts!")
- return
- else if(isbodypart(I))
- var/obj/item/bodypart/BP = I
- if(BP.status != BODYPART_ORGANIC)
- to_chat(user, "[src] can only hold organic body parts!")
- return
- else
+ if(!isorgan(I) && !isbodypart(I))
+ to_chat(user, "[src] can only hold body parts!")
return
user.visible_message("[user] puts [I] into [src].", "You put [I] inside [src].")
@@ -150,4 +141,4 @@
desc = "A container for holding body parts."
else
to_chat(user, "[src] is empty.")
- return
\ No newline at end of file
+ return
diff --git a/code/modules/uplink/uplink_item.dm b/code/modules/uplink/uplink_item.dm
index d80a8e21b3..98aa41e88f 100644
--- a/code/modules/uplink/uplink_item.dm
+++ b/code/modules/uplink/uplink_item.dm
@@ -44,7 +44,7 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once.
for(var/i in 1 to 3)
var/datum/uplink_item/I = pick_n_take(sale_items)
var/datum/uplink_item/A = new I.type
- var/discount = pick(4;0.75,2;0.5,1;0.25)
+ var/discount = A.get_discount()
var/list/disclaimer = list("Void where prohibited.", "Not recommended for children.", "Contains small parts.", "Check local laws for legality in region.", "Do not taunt.", "Not responsible for direct, indirect, incidental or consequential damages resulting from any defect, error or failure to perform.", "Keep away from fire or flames.", "Product is provided \"as is\" without any implied or expressed warranties.", "As seen on TV.", "For recreational use only.", "Use only as directed.", "16% sales tax will be charged for orders originating within Space Nebraska.")
A.limited_stock = 1
I.refundable = FALSE //THIS MAN USES ONE WEIRD TRICK TO GAIN FREE TC, CODERS HATES HIM!
@@ -86,6 +86,9 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once.
var/player_minimum //The minimum crew size needed for this item to be added to uplinks.
var/purchase_log_vis = TRUE // Visible in the purchase log?
+/datum/uplink_item/proc/get_discount()
+ return pick(4;0.75,2;0.5,1;0.25)
+
/datum/uplink_item/proc/spawn_item(turf/loc, obj/item/device/uplink/U)
if(item)
SSblackbox.add_details("traitor_uplink_items_bought", "[name]|[cost]")
@@ -276,12 +279,21 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once.
/datum/uplink_item/dangerous/sword
name = "Energy Sword"
desc = "The energy sword is an edged weapon with a blade of pure energy. The sword is small enough to be \
- pocketed when inactive. Activating it produces a loud, distinctive noise. One can combine two \
- energy swords to create a double energy sword, which must be wielded in two hands but is more robust \
- and deflects all energy projectiles."
+ pocketed when inactive. Activating it produces a loud, distinctive noise."
item = /obj/item/weapon/melee/energy/sword/saber
cost = 8
+/datum/uplink_item/dangerous/doublesword
+ name = "Double-Bladed Energy Sword"
+ desc = "The double-bladed energy sword does slightly more damage than a standard energy sword and will deflect \
+ all energy projectiles, but requires two hands to wield."
+ item = /obj/item/weapon/twohanded/dualsaber
+ player_minimum = 25
+ cost = 16
+
+/datum/uplink_item/dangerous/doublesword/get_discount()
+ return pick(4;0.8,2;0.65,1;0.5)
+
/datum/uplink_item/dangerous/powerfist
name = "Power Fist"
desc = "The power-fist is a metal gauntlet with a built-in piston-ram powered by an external gas supply.\
@@ -1250,7 +1262,7 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once.
desc = "Most magic eightballs are toys with dice inside. Although identical in appearance to the harmless toys, this occult device reaches into the spirit world to find its answers. Be warned, that spirits are often capricious or just little assholes. To use, simply speak your question aloud, then begin shaking."
item = /obj/item/toy/eightball/haunted
cost = 2
- restricted_roles = list("Librarian")
+ restricted_roles = list("Curator")
limited_stock = 1 // please don't spam deadchat
// Pointless
diff --git a/code/modules/uplink/uplink_item_cit.dm b/code/modules/uplink/uplink_item_cit.dm
index c74ad3ba9c..b835a21a8c 100644
--- a/code/modules/uplink/uplink_item_cit.dm
+++ b/code/modules/uplink/uplink_item_cit.dm
@@ -7,4 +7,15 @@
refundable = TRUE
cost = 10
surplus = 20 //Let's not have this be too common
+ exclude_modes = list(/datum/game_mode/nuclear)
+
+/datum/uplink_item/stealthy_tools/holoparasite
+ name="Holoparasite Injector"
+ desc="It contains an alien nanoswarm of unknown origin.\
+ Though capable of near sorcerous feats via use of hardlight holograms and nanomachines.\
+ It requires an organic host as a home base and source of fuel." //This is the description of the actual injector. Feel free to change this for uplink purposes//
+ item = /obj/item/weapon/storage/box/syndie_kit/holoparasite
+ refundable = TRUE
+ cost = 10 //I'm working off the borer. Price subject to change
+ surplus = 20 //Nobody needs a ton of parasites
exclude_modes = list(/datum/game_mode/nuclear)
\ No newline at end of file
diff --git a/code/modules/zombie/items.dm b/code/modules/zombie/items.dm
index 1bdbd3fa45..1b93a4f685 100644
--- a/code/modules/zombie/items.dm
+++ b/code/modules/zombie/items.dm
@@ -46,7 +46,8 @@
var/obj/item/organ/zombie_infection/infection
infection = target.getorganslot("zombie_infection")
if(!infection)
- infection = new(target)
+ infection = new()
+ infection.Insert(target)
/obj/item/zombie_hand/proc/check_feast(mob/living/target, mob/living/user)
if(target.stat == DEAD)
diff --git a/code/modules/zombie/organs.dm b/code/modules/zombie/organs.dm
index f254ef6337..3515da0dc6 100644
--- a/code/modules/zombie/organs.dm
+++ b/code/modules/zombie/organs.dm
@@ -5,7 +5,7 @@
slot = "zombie_infection"
icon_state = "blacktumor"
origin_tech = "biotech=5"
- var/datum/species/old_species
+ var/datum/species/old_species = /datum/species/human
var/living_transformation_time = 3
var/converts_living = FALSE
@@ -63,6 +63,7 @@
if(!iszombie(owner))
old_species = owner.dna.species.type
+ owner.set_species(/datum/species/zombie/infectious)
if(!converts_living && owner.stat != DEAD)
return
@@ -70,7 +71,6 @@
var/stand_up = (owner.stat == DEAD) || (owner.stat == UNCONSCIOUS)
owner.grab_ghost()
- owner.set_species(/datum/species/zombie/infectious)
owner.revive(full_heal = TRUE)
owner.visible_message("[owner] suddenly convulses, as [owner.p_they()][stand_up ? " stagger to [owner.p_their()] feet and" : ""] gain a ravenous hunger in [owner.p_their()] eyes!", "You HUNGER!")
playsound(owner.loc, 'sound/hallucinations/far_noise.ogg', 50, 1)
diff --git a/code/world.dm b/code/world.dm
index 9023ac47f3..4489b9a1cb 100644
--- a/code/world.dm
+++ b/code/world.dm
@@ -25,37 +25,50 @@
else
external_rsc_urls.Cut(i,i+1)
#endif
- //logs
- var/date_string = time2text(world.realtime, "YYYY/MM-Month/DD-Day")
- GLOB.href_logfile = file("data/logs/[date_string] hrefs.htm")
- GLOB.diary = file("data/logs/[date_string].log")
- GLOB.diaryofmeanpeople = file("data/logs/[date_string] Attack.log")
- GLOB.diary << "\n\nStarting up. [time_stamp()]\n---------------------"
- GLOB.diaryofmeanpeople << "\n\nStarting up. [time_stamp()]\n---------------------"
- GLOB.changelog_hash = md5('html/changelog.html') //used for telling if the changelog has changed recently
-
+ GLOB.config_error_log = file("data/logs/config_error.log") //temporary file used to record errors with loading config, moved to log directory once logging is set bl
make_datum_references_lists() //initialises global lists for referencing frequently used datums (so that we only ever do it once)
config = new
+ GLOB.log_directory = "data/logs/[time2text(world.realtime, "YYYY/MM/DD")]/round-"
+ if(config.sql_enabled)
+ if(SSdbcore.Connect())
+ log_world("Database connection established.")
+ var/datum/DBQuery/query_feedback_create_round = SSdbcore.NewQuery("INSERT INTO [format_table_name("feedback")] SELECT null, Now(), MAX(round_id)+1, \"server_ip\", 0, \"[world.internet_address]:[world.port]\" FROM [format_table_name("feedback")]")
+ query_feedback_create_round.Execute()
+ var/datum/DBQuery/query_feedback_max_id = SSdbcore.NewQuery("SELECT MAX(round_id) FROM [format_table_name("feedback")]")
+ query_feedback_max_id.Execute()
+ if(query_feedback_max_id.NextRow())
+ GLOB.round_id = query_feedback_max_id.item[1]
+ GLOB.log_directory += "[GLOB.round_id]"
+ else
+ log_world("Your server failed to establish a connection with the database.")
+ if(!GLOB.round_id)
+ GLOB.log_directory += "[replacetext(time_stamp(), ":", ".")]"
+ GLOB.world_game_log = file("[GLOB.log_directory]/game.log")
+ GLOB.world_attack_log = file("[GLOB.log_directory]/attack.log")
+ GLOB.world_runtime_log = file("[GLOB.log_directory]/runtime.log")
+ GLOB.world_href_log = file("[GLOB.log_directory]/hrefs.html")
+ GLOB.world_game_log << "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------"
+ GLOB.world_attack_log << "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------"
+ GLOB.world_runtime_log << "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------"
+ GLOB.changelog_hash = md5('html/changelog.html') //used for telling if the changelog has changed recently
+ if(fexists(GLOB.config_error_log))
+ fcopy(GLOB.config_error_log, "[GLOB.log_directory]/config_error.log")
+ fdel(GLOB.config_error_log)
+
+
GLOB.revdata.DownloadPRDetails()
load_mode()
load_motd()
load_admins()
+ load_menu()
//disabled to prevent runtimes until it's fixed
// load_mentors()
if(config.usewhitelist)
load_whitelist()
LoadBans()
- investigate_reset()
GLOB.timezoneOffset = text2num(time2text(0,"hh")) * 36000
- if(config.sql_enabled)
- if(!SSdbcore.Connect())
- log_world("Your server failed to establish a connection with the database.")
- else
- log_world("Database connection established.")
-
-
GLOB.data_core = new /datum/datacore()
Master.Initialize(10, FALSE)
@@ -63,7 +76,7 @@
#define IRC_STATUS_THROTTLE 50
/world/Topic(T, addr, master, key)
if(config && config.log_world_topic)
- GLOB.diary << "TOPIC: \"[T]\", from:[addr], master:[master], key:[key]"
+ GLOB.world_game_log << "TOPIC: \"[T]\", from:[addr], master:[master], key:[key]"
var/list/input = params2list(T)
var/key_valid = (global.comms_allowed && input["key"] == global.comms_key)
@@ -136,11 +149,7 @@
if(!key_valid)
return "Bad Key"
else
-#define CHAT_PULLR 64 //defined in preferences.dm, but not available here at compilation time
- for(var/client/C in GLOB.clients)
- if(C.prefs && (C.prefs.chat_toggles & CHAT_PULLR))
- to_chat(C, "PR: [input["announce"]]")
-#undef CHAT_PULLR
+ AnnouncePR(input["announce"], json_decode(input["payload"]))
else if("crossmessage" in input)
if(!key_valid)
@@ -176,6 +185,25 @@
else if("server_hop" in input)
show_server_hop_transfer_screen(input["server_hop"])
+#define PR_ANNOUNCEMENTS_PER_ROUND 5 //The number of unique PR announcements allowed per round
+ //This makes sure that a single person can only spam 3 reopens and 3 closes before being ignored
+
+/world/proc/AnnouncePR(announcement, list/payload)
+ var/static/list/PRcounts = list() //PR id -> number of times announced this round
+ var/id = "[payload["pull_request"]["id"]]"
+ if(!PRcounts[id])
+ PRcounts[id] = 1
+ else
+ ++PRcounts[id]
+ if(PRcounts[id] > PR_ANNOUNCEMENTS_PER_ROUND)
+ return
+
+#define CHAT_PULLR 64 //defined in preferences.dm, but not available here at compilation time
+ for(var/client/C in GLOB.clients)
+ if(C.prefs && (C.prefs.chat_toggles & CHAT_PULLR))
+ C << "PR: [announcement]"
+#undef CHAT_PULLR
+
#define WORLD_REBOOT(X) log_world("World rebooted at [time_stamp()]"); ..(X); return;
/world/Reboot(var/reason, var/feedback_c, var/feedback_r, var/time)
if (reason == 1) //special reboot, do none of the normal stuff
@@ -226,7 +254,7 @@
/world/proc/RoundEndAnimation(round_end_sound_sent)
set waitfor = FALSE
var/round_end_sound
- if(!SSticker && SSticker.round_end_sound)
+ if(SSticker.round_end_sound)
round_end_sound = SSticker.round_end_sound
if (!round_end_sound_sent)
for(var/thing in GLOB.clients)
@@ -256,7 +284,7 @@
if(Lines.len)
if(Lines[1])
GLOB.master_mode = Lines[1]
- GLOB.diary << "Saved mode is '[GLOB.master_mode]'"
+ GLOB.world_game_log << "Saved mode is '[GLOB.master_mode]'"
/world/proc/save_mode(the_mode)
var/F = file("data/mode.txt")
@@ -317,5 +345,6 @@
status = s
+
/world/proc/has_round_started()
- return SSticker.HasRoundStarted()
\ No newline at end of file
+ return SSticker.HasRoundStarted()
diff --git a/config/config.txt b/config/config.txt
index 524802219d..68df4c81cf 100644
--- a/config/config.txt
+++ b/config/config.txt
@@ -80,9 +80,6 @@ LOG_PRAYER
## log lawchanges
LOG_LAW
-## log all Topic() calls (for use by coders in tracking down Topic issues)
-# LOG_HREFS
-
## log all world.Topic() calls
# LOG_WORLD_TOPIC
@@ -263,6 +260,10 @@ EXTREME_POPCAP_MESSAGE The server is currently serving a high number of users, f
## Requres database
NOTIFY_NEW_PLAYER_AGE 0
+## Notify admins when a player connects if their byond account was created in the last X days
+## Requires database
+NOTIFY_NEW_PLAYER_ACCOUNT_AGE 1
+
## Notify the irc channel when a new player makes their first connection
## Requres database
#IRC_FIRST_CONNECTION_ALERT
@@ -281,9 +282,6 @@ PANIC_SERVER_NAME [Put the name here]
## Uncomment to have the changelog file automatically open when a user connects and hasn't seen the latest changelog
#AGGRESSIVE_CHANGELOG
-## Uncomment to have the game log runtimes to the log folder. (Note: this disables normal output in dd/ds, so it should be left off for testing.
-#LOG_RUNTIMES
-
## Comment this out if you've used the mass conversion sql proc for notes or want to stop converting notes
AUTOCONVERT_NOTES
diff --git a/config/game_options.txt b/config/game_options.txt
index 356dc1acab..dce0b57d42 100644
--- a/config/game_options.txt
+++ b/config/game_options.txt
@@ -166,7 +166,7 @@ MIDROUND_ANTAG ABDUCTION
#MIN_POP GANG 20
#MAX_POP GANG -1
-#MIN_POP CULT 24
+#MIN_POP CULT 0
#MAX_POP CULT -1
#MIN_POP CLOCKWORK_CULT 24
diff --git a/config/jobs.txt b/config/jobs.txt
index 3b65a6a9b8..a0c1ffa970 100644
--- a/config/jobs.txt
+++ b/config/jobs.txt
@@ -22,7 +22,7 @@ Janitor=2,1
Clown=1,1
Mime=1,1
-Librarian=1,1
+Curator=1,1
Lawyer=2,2
Chaplain=1,1
diff --git a/html/changelogs/AutoChangeLog-pr-608.yml b/html/changelogs/AutoChangeLog-pr-608.yml
new file mode 100644
index 0000000000..2d23f1ab00
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-608.yml
@@ -0,0 +1,5 @@
+author: "Gun Hog"
+delete-after: True
+changes:
+ - rscadd: "The GPS interface has been converted to tgui."
+ - experiment: "GPS now update automatically or manually, give distance and direction to a signal, and many other improvements!"
diff --git a/html/changelogs/AutoChangeLog-pr-642.yml b/html/changelogs/AutoChangeLog-pr-642.yml
new file mode 100644
index 0000000000..0d442e470d
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-642.yml
@@ -0,0 +1,5 @@
+author: "Cobby"
+delete-after: True
+changes:
+ - tweak: "The GPS set tag has gone from a limit of 5 characters to 20."
+ - rscadd: "The GPS can now be personalized in both name and description using a pen."
diff --git a/html/changelogs/AutoChangeLog-pr-676.yml b/html/changelogs/AutoChangeLog-pr-676.yml
new file mode 100644
index 0000000000..73c6fac766
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-676.yml
@@ -0,0 +1,5 @@
+author: "Joan"
+delete-after: True
+changes:
+ - rscadd: "Proselytizers can now charge from Sigils of Transmission at a rate of 1000W per second."
+ - rscadd: "Sigils of Transmission can be charged with brass at a rate of 250W per sheet."
diff --git a/html/changelogs/AutoChangeLog-pr-682.yml b/html/changelogs/AutoChangeLog-pr-682.yml
new file mode 100644
index 0000000000..c55c645e6e
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-682.yml
@@ -0,0 +1,4 @@
+author: "Swindly"
+delete-after: True
+changes:
+ - tweak: "Mercury and Lithium make people move when not in space instead of when in space."
diff --git a/html/changelogs/AutoChangeLog-pr-696.yml b/html/changelogs/AutoChangeLog-pr-696.yml
new file mode 100644
index 0000000000..9f58df768f
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-696.yml
@@ -0,0 +1,5 @@
+author: "Joan"
+delete-after: True
+changes:
+ - rscadd: "Belligerent now prevents you from running for 7 seconds after every chant."
+ - rscdel: "However, you no longer remain walking after Belligerent's effect fades."
diff --git a/html/changelogs/AutoChangeLog-pr-697.yml b/html/changelogs/AutoChangeLog-pr-697.yml
new file mode 100644
index 0000000000..3967efa494
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-697.yml
@@ -0,0 +1,4 @@
+author: "Joan"
+delete-after: True
+changes:
+ - rscadd: "Clockcult component generation will automatically focus on components needed to activate the Ark if it exists."
diff --git a/html/changelogs/AutoChangeLog-pr-698.yml b/html/changelogs/AutoChangeLog-pr-698.yml
new file mode 100644
index 0000000000..40e55644b5
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-698.yml
@@ -0,0 +1,4 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - rscadd: "You can now make holocalls! Simply stand on a pad, bring up the menu, and select the holopad you wish to call. Remain still until someone answers. When they do, you'll be able to act just like an AI hologram until the call ends"
diff --git a/html/changelogs/AutoChangeLog-pr-701.yml b/html/changelogs/AutoChangeLog-pr-701.yml
new file mode 100644
index 0000000000..8848bcb450
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-701.yml
@@ -0,0 +1,7 @@
+author: "ninjanomnom"
+delete-after: True
+changes:
+ - tweak: "TEG displays power in kw or MW now"
+ - tweak: "TEG power bar only maxes over 1MW now"
+ - experiment: "Moves TEG to SSair"
+ - experiment: "Moves SM to SSair"
diff --git a/html/changelogs/AutoChangeLog-pr-708.yml b/html/changelogs/AutoChangeLog-pr-708.yml
new file mode 100644
index 0000000000..6cb7c07312
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-708.yml
@@ -0,0 +1,4 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - bugfix: "Squishy plants will now affect walls and other turfs they get squished on"
diff --git a/html/changelogs/AutoChangeLog-pr-714.yml b/html/changelogs/AutoChangeLog-pr-714.yml
new file mode 100644
index 0000000000..d5e4582f40
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-714.yml
@@ -0,0 +1,4 @@
+author: "XDTM"
+delete-after: True
+changes:
+ - tweak: "Blood Cult's talisman of Horrors now works at range. It will still give no warning to the victim."
diff --git a/html/changelogs/AutoChangeLog-pr-717.yml b/html/changelogs/AutoChangeLog-pr-717.yml
new file mode 100644
index 0000000000..fbb98e0039
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-717.yml
@@ -0,0 +1,5 @@
+author: "coiax"
+delete-after: True
+changes:
+ - rscadd: "When talking on the alien hivemind, a person will be identified by
+their real name, rather than who they are disguised as."
diff --git a/html/changelogs/AutoChangeLog-pr-722.yml b/html/changelogs/AutoChangeLog-pr-722.yml
new file mode 100644
index 0000000000..6ade3cd92d
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-722.yml
@@ -0,0 +1,6 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - rscadd: "Investigate logs are now persistent."
+ - tweak: "Game logs are now stored per-round; use .getserverlog to access previous rounds."
+ - rscdel: ".giveruntimelog and .getruntimelog removed."
diff --git a/html/changelogs/AutoChangeLog-pr-733.yml b/html/changelogs/AutoChangeLog-pr-733.yml
new file mode 100644
index 0000000000..ef779f70a1
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-733.yml
@@ -0,0 +1,4 @@
+author: "BeeSting12"
+delete-after: True
+changes:
+ - bugfix: "Omega shuttle now has lighting."
diff --git a/html/changelogs/AutoChangeLog-pr-734.yml b/html/changelogs/AutoChangeLog-pr-734.yml
new file mode 100644
index 0000000000..53785c45e6
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-734.yml
@@ -0,0 +1,6 @@
+author: "coiax"
+delete-after: True
+changes:
+ - rscadd: "Restrictions on Lizardpeople using their native language on the
+station have been lifted by Centcom, in order to maximise worker
+productivity. The language's key is \",o\"."
diff --git a/html/changelogs/AutoChangeLog-pr-735.yml b/html/changelogs/AutoChangeLog-pr-735.yml
new file mode 100644
index 0000000000..10d910d62b
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-735.yml
@@ -0,0 +1,7 @@
+author: "Kor, Profakos, Iamgoofball"
+delete-after: True
+changes:
+ - rscadd: "The Librarian has been replaced by the Curator."
+ - rscadd: "Persistent trophy cases have been added to the library on Meta, Delta, and Box. These are only usable by the Curator."
+ - rscadd: "The Curator now starts with his whip."
+ - rscadd: "The Curator now has access to his treasure hunter outfit, stashed in his private office."
diff --git a/html/changelogs/AutoChangeLog-pr-739.yml b/html/changelogs/AutoChangeLog-pr-739.yml
new file mode 100644
index 0000000000..7e7a8cd3a5
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-739.yml
@@ -0,0 +1,6 @@
+author: "Joan"
+delete-after: True
+changes:
+ - rscadd: "Mania Motors now do minor toxin damage over time and will convert those affected if the toxin damage is high enough.
+balance: The effects of a Mania Motor continue to apply to targets after they leave its range, though they will fall off extremely quickly."
+ - rscdel: "Mania Motors no longer cause brain damage."
diff --git a/html/changelogs/AutoChangeLog-pr-745.yml b/html/changelogs/AutoChangeLog-pr-745.yml
new file mode 100644
index 0000000000..b9aa3fddd2
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-745.yml
@@ -0,0 +1,4 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - bugfix: "revenants now properly resurrect from ectoplasm, as opposed to ectoplasm merely spawning a new grief ghost"
diff --git a/html/changelogs/AutoChangeLog-pr-746.yml b/html/changelogs/AutoChangeLog-pr-746.yml
new file mode 100644
index 0000000000..ddeea1d732
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-746.yml
@@ -0,0 +1,4 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - bugfix: "Turrets can no longer see invisible things, such as unrevealed revenants"
diff --git a/html/changelogs/AutoChangeLog-pr-747.yml b/html/changelogs/AutoChangeLog-pr-747.yml
new file mode 100644
index 0000000000..583f6b5e56
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-747.yml
@@ -0,0 +1,4 @@
+author: "QualityVan"
+delete-after: True
+changes:
+ - rscadd: "Point flashlights at mouths to see what's inside them"
diff --git a/html/changelogs/AutoChangeLog-pr-748.yml b/html/changelogs/AutoChangeLog-pr-748.yml
new file mode 100644
index 0000000000..7ad62adec8
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-748.yml
@@ -0,0 +1,5 @@
+author: "Moonlighting Mac says"
+delete-after: True
+changes:
+ - rscadd: "Courtesy of the art & crafts division, imitation basalt tiles themed on the rough volcanic terrain of lavaland are now available to be made out of sandstone."
+ - experiment: "The manufacturer even managed to replicate the way that it lights up with volcanic energy, it is the perfect accompaniment to other fake (or real) lava-land tiles or a independent piece."
diff --git a/html/changelogs/AutoChangeLog-pr-756.yml b/html/changelogs/AutoChangeLog-pr-756.yml
new file mode 100644
index 0000000000..7ef015b31c
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-756.yml
@@ -0,0 +1,6 @@
+author: "lordpidey"
+delete-after: True
+changes:
+ - rscadd: "There is a new traitor poison, spewium. It will cause uncontrollable vomiting, which gets worse the longer it's in your system. An overdose can cause vomiting of organs."
+ - tweak: "Committing suicide with a gas pump can now shoot out random organs."
+ - bugfix: "Toxic vomit now shows up as intended."
diff --git a/html/changelogs/AutoChangeLog-pr-758.yml b/html/changelogs/AutoChangeLog-pr-758.yml
new file mode 100644
index 0000000000..fff062e111
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-758.yml
@@ -0,0 +1,6 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - rscadd: "Lesser smoke book to Delta and Metastation"
+ - rscdel: "Normal smoke book from Delta and Metastation"
+ - tweak: "Civilian smoke book now has a 360 max cooldown (from 120) and halved smoke output."
diff --git a/html/changelogs/AutoChangeLog-pr-760.yml b/html/changelogs/AutoChangeLog-pr-760.yml
new file mode 100644
index 0000000000..b0296b2330
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-760.yml
@@ -0,0 +1,4 @@
+author: "bgobandit"
+delete-after: True
+changes:
+ - tweak: "The Syndicate has added basic functionality to their state-of-the-art equipment. Nuke ops can now donate all TCs at once."
diff --git a/html/changelogs/AutoChangeLog-pr-763.yml b/html/changelogs/AutoChangeLog-pr-763.yml
new file mode 100644
index 0000000000..12fa07ea48
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-763.yml
@@ -0,0 +1,4 @@
+author: "Incoming"
+delete-after: True
+changes:
+ - tweak: "Display cases now require a key to open, which the curator spawns with"
diff --git a/html/changelogs/AutoChangeLog-pr-764.yml b/html/changelogs/AutoChangeLog-pr-764.yml
new file mode 100644
index 0000000000..87210fcb7a
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-764.yml
@@ -0,0 +1,4 @@
+author: "QualityVan"
+delete-after: True
+changes:
+ - bugfix: "Dental implants stay with the head they're in"
diff --git a/html/changelogs/AutoChangeLog-pr-771.yml b/html/changelogs/AutoChangeLog-pr-771.yml
new file mode 100644
index 0000000000..031ec64151
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-771.yml
@@ -0,0 +1,4 @@
+author: "BeeSting12"
+delete-after: True
+changes:
+ - bugfix: "Pubbystation no longer has two airlocks stacked on top of each other leading into xenobiology's kill room."
diff --git a/html/changelogs/AutoChangeLog-pr-781.yml b/html/changelogs/AutoChangeLog-pr-781.yml
new file mode 100644
index 0000000000..08a5c148ff
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-781.yml
@@ -0,0 +1,4 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - tweak: "Teslas now give off light"
diff --git a/html/changelogs/AutoChangeLog-pr-785.yml b/html/changelogs/AutoChangeLog-pr-785.yml
new file mode 100644
index 0000000000..608a090249
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-785.yml
@@ -0,0 +1,14 @@
+author: "coiax"
+delete-after: True
+changes:
+ - rscadd: "Adamantine golems have special vocal cords that allow them to send
+one-way messages to all golems, due to fragments of resonating
+adamantine in their heads. Both of these are organs, and can be removed
+and put in other species."
+ - rscadd: "You can use adamantine vocal cords by prefixing your message with
+\":x\"."
+ - rscdel: "Xenobiology is no longer capable of making golem runes with plasma.
+Instead, inject plasma into the adamantine slime core to get bars of adamantine
+which you can then craft into an incomplete golem shell. Add 10 sheets of
+suitable material to finish the shell."
+ - experiment: "The metal adamantine is also quite valuable when sold via cargo."
diff --git a/html/changelogs/AutoChangeLog-pr-792.yml b/html/changelogs/AutoChangeLog-pr-792.yml
new file mode 100644
index 0000000000..9d2ccfebde
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-792.yml
@@ -0,0 +1,6 @@
+author: "BeeSting12"
+delete-after: True
+changes:
+ - rscadd: "Deltastation's chemistry now has a screwdriver."
+ - bugfix: "Deltastation's morgue no longer has a blue tile."
+ - bugfix: "Deltastation's chemistry smart fridge is no longer blocked by a disposal unit."
diff --git a/html/changelogs/AutoChangeLog-pr-800.yml b/html/changelogs/AutoChangeLog-pr-800.yml
new file mode 100644
index 0000000000..798c98c64b
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-800.yml
@@ -0,0 +1,4 @@
+author: "coiax"
+delete-after: True
+changes:
+ - tweak: "The lavaland Seed Vault ruin can spawn only once."
diff --git a/html/changelogs/AutoChangeLog-pr-801.yml b/html/changelogs/AutoChangeLog-pr-801.yml
new file mode 100644
index 0000000000..756cf33927
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-801.yml
@@ -0,0 +1,6 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - rscadd: "Internal Affairs Agents now obtain the kill objectives of their targets when they die."
+ - rscadd: "Internal Affairs Agents now have an integrated nanotrasen pinpointer that tracks their target at distances further than ten squares."
+ - rscadd: "Internal Affairs Agents will now lose any restrictions on collateral damage and gain a \"Die a glorious death\" objective upon becoming the last man standing, and revert if any of their targets are cloned."
diff --git a/html/changelogs/AutoChangeLog-pr-803.yml b/html/changelogs/AutoChangeLog-pr-803.yml
new file mode 100644
index 0000000000..c3b54164a8
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-803.yml
@@ -0,0 +1,5 @@
+author: "Robustin"
+delete-after: True
+changes:
+ - tweak: "Gang Dominator max time is now 8 minutes down from 15m"
+ - tweak: "Gang Tagging now reduces the timer by 9 seconds per territory, down from 12 seconds."
diff --git a/html/changelogs/AutoChangeLog-pr-805.yml b/html/changelogs/AutoChangeLog-pr-805.yml
new file mode 100644
index 0000000000..be4a17ddf7
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-805.yml
@@ -0,0 +1,5 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - rscadd: "Reduction to nutrition when consuming Miner's salve."
+ - rscdel: "Stun/weaken that bypasses bugged chemical protection when consuming Miner's salve."
diff --git a/html/changelogs/AutoChangeLog-pr-806.yml b/html/changelogs/AutoChangeLog-pr-806.yml
new file mode 100644
index 0000000000..550cb8c880
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-806.yml
@@ -0,0 +1,5 @@
+author: "coiax"
+delete-after: True
+changes:
+ - rscadd: "It is now possible to make plastic golems, who are made of a material
+flexible enough to crawl through vents (while not carrying equipment). They also can pass through plastic flaps."
diff --git a/html/changelogs/AutoChangeLog-pr-807.yml b/html/changelogs/AutoChangeLog-pr-807.yml
new file mode 100644
index 0000000000..6ac3995026
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-807.yml
@@ -0,0 +1,10 @@
+author: "Robustin"
+delete-after: True
+changes:
+ - rscadd: "Blood Cultists can now attempt to claim the position of Cult Master with the approval of a majority of their brethren."
+ - rscadd: "The Cult Master has access to unique blood magic that will aid them in leading the cult to victory:"
+ - rscadd: "The Cult Master can mark targets, allowing the entire cult to track them down."
+ - rscadd: "The Cult Master has single-use, noisy, and overt channeled spell that will summon the entire cult to their location."
+ - rscadd: "All cultists gain a HUD alert that will assist them in completing their objectives."
+ - rscadd: "Constructs created by soul shards will now be able to track their master."
+ - rscadd: "Cultists created outside of cult mode will now get a working sacrifice and summon objective and the summon rune will no longer fail outside of cult mode."
diff --git a/html/changelogs/AutoChangeLog-pr-809.yml b/html/changelogs/AutoChangeLog-pr-809.yml
new file mode 100644
index 0000000000..06fb6139cc
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-809.yml
@@ -0,0 +1,5 @@
+author: "QualityVan"
+delete-after: True
+changes:
+ - rscadd: "Cargo can order restocking units for NanoMed vending machines"
+ - rscadd: "NanoMed vending machines can be build and unbuilt"
diff --git a/html/changelogs/AutoChangeLog-pr-815.yml b/html/changelogs/AutoChangeLog-pr-815.yml
new file mode 100644
index 0000000000..6472c7a13d
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-815.yml
@@ -0,0 +1,4 @@
+author: "Penguaro"
+delete-after: True
+changes:
+ - bugfix: "Adjusted the Examine description of the right-most tiles of the Space Station 13 sign to be consistent with the rest of the tiles."
diff --git a/html/changelogs/AutoChangeLog-pr-824.yml b/html/changelogs/AutoChangeLog-pr-824.yml
new file mode 100644
index 0000000000..625034ab7c
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-824.yml
@@ -0,0 +1,5 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - rscadd: "Showers and sinks added to gulag and mining station for hygiene and fire safety."
+ - rscadd: "Watertanks added to mining station for convenient fire extinguisher refill."
diff --git a/html/changelogs/AutoChangeLog-pr-825.yml b/html/changelogs/AutoChangeLog-pr-825.yml
new file mode 100644
index 0000000000..ee3a963c30
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-825.yml
@@ -0,0 +1,4 @@
+author: "Robustin"
+delete-after: True
+changes:
+ - tweak: "c4 planting is now 40% faster"
diff --git a/html/changelogs/AutoChangeLog-pr-827.yml b/html/changelogs/AutoChangeLog-pr-827.yml
new file mode 100644
index 0000000000..e16167448d
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-827.yml
@@ -0,0 +1,4 @@
+author: "Jay"
+delete-after: True
+changes:
+ - rscadd: "Adds finger snapping emote. Use say *snap"
diff --git a/html/changelogs/AutoChangeLog-pr-829.yml b/html/changelogs/AutoChangeLog-pr-829.yml
new file mode 100644
index 0000000000..619bc85876
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-829.yml
@@ -0,0 +1,4 @@
+author: "Penguaro"
+delete-after: True
+changes:
+ - bugfix: "Anywhere there was lava below a tile on the station is now space."
diff --git a/html/changelogs/AutoChangeLog-pr-832.yml b/html/changelogs/AutoChangeLog-pr-832.yml
new file mode 100644
index 0000000000..bf686c0cef
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-832.yml
@@ -0,0 +1,7 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - rscadd: "Moved to a new system to make top menu items easier to edit."
+ - tweak: "Moved icon size stuff to a sub menu"
+ - rscadd: "Added option to change icon scaling mode."
+ - bugfix: "Byond added fancy shader supported scaling(Point Sampling), this sucks because it's blurry, the default for /tg/station has changed back to the old nearest neighbor scaling."
diff --git a/html/changelogs/AutoChangeLog-pr-835.yml b/html/changelogs/AutoChangeLog-pr-835.yml
new file mode 100644
index 0000000000..5392a02984
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-835.yml
@@ -0,0 +1,4 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - tweak: "Removes organic check from mediborg storage container"
diff --git a/html/changelogs/AutoChangeLog-pr-841.yml b/html/changelogs/AutoChangeLog-pr-841.yml
new file mode 100644
index 0000000000..3c27ac83c8
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-841.yml
@@ -0,0 +1,5 @@
+author: "Moonlighting Mac"
+delete-after: True
+changes:
+ - experiment: "Due to budget cuts and oil synthesis replacing expensive processes of digging up haunted primeval ashwalker burial grounds, Nanotransen has taught chemists how to make plastic from chemicals in the hopes that new plastic products can reduce expenditure on metal and glass."
+ - rscadd: "you can now make plastic sheets from chemistry out of heated up crude oil, ash & sodium chloride"
diff --git a/html/changelogs/AutoChangeLog-pr-844.yml b/html/changelogs/AutoChangeLog-pr-844.yml
new file mode 100644
index 0000000000..1bf63a4cef
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-844.yml
@@ -0,0 +1,4 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - bugfix: "Fixed being unable to hit museum cases in melee"
diff --git a/html/changelogs/AutoChangeLog-pr-848.yml b/html/changelogs/AutoChangeLog-pr-848.yml
new file mode 100644
index 0000000000..0c1695adbc
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-848.yml
@@ -0,0 +1,4 @@
+author: "ninjanomnom"
+delete-after: True
+changes:
+ - tweak: "Highlander no longer breaks your speakers"
diff --git a/html/changelogs/AutoChangeLog-pr-854.yml b/html/changelogs/AutoChangeLog-pr-854.yml
new file mode 100644
index 0000000000..c253fbdedd
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-854.yml
@@ -0,0 +1,4 @@
+author: "Penguaro"
+delete-after: True
+changes:
+ - rscadd: "The Slime Scanner is available from the Autolathe."
diff --git a/html/changelogs/AutoChangeLog-pr-860.yml b/html/changelogs/AutoChangeLog-pr-860.yml
new file mode 100644
index 0000000000..5fbaa4435a
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-860.yml
@@ -0,0 +1,4 @@
+author: "Penguaro"
+delete-after: True
+changes:
+ - tweak: "The Design Names in the various machines are now capitalized consistently"
diff --git a/html/changelogs/AutoChangeLog-pr-862.yml b/html/changelogs/AutoChangeLog-pr-862.yml
new file mode 100644
index 0000000000..65ab5ed7f9
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-862.yml
@@ -0,0 +1,4 @@
+author: "Penguaro"
+delete-after: True
+changes:
+ - tweak: "Adjusts Meteor Shuttle Name"
diff --git a/html/changelogs/AutoChangeLog-pr-877.yml b/html/changelogs/AutoChangeLog-pr-877.yml
new file mode 100644
index 0000000000..436a3b32d0
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-877.yml
@@ -0,0 +1,4 @@
+author: "coiax"
+delete-after: True
+changes:
+ - rscadd: "Visible ghosts emit light."
diff --git a/html/changelogs/AutoChangeLog-pr-880.yml b/html/changelogs/AutoChangeLog-pr-880.yml
new file mode 100644
index 0000000000..1b4ddc17a6
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-880.yml
@@ -0,0 +1,4 @@
+author: "Penguaro"
+delete-after: True
+changes:
+ - bugfix: "The Central Command Ferry will now dock at one of the ports in Arrivals"
diff --git a/html/changelogs/AutoChangeLog-pr-882.yml b/html/changelogs/AutoChangeLog-pr-882.yml
new file mode 100644
index 0000000000..74b564cb7d
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-882.yml
@@ -0,0 +1,6 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - rscadd: "Curator's fedora has a pocket, like all the other fedoras."
+ - tweak: "Treasure hunter suits can now hold large internal tanks, to ease the exploration of lavaland."
+ - tweak: "The curator can now access the Auxillary Base and open doors on the mining station."
diff --git a/html/changelogs/AutoChangeLog-pr-883.yml b/html/changelogs/AutoChangeLog-pr-883.yml
new file mode 100644
index 0000000000..40d333fc28
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-883.yml
@@ -0,0 +1,4 @@
+author: "Penguaro"
+delete-after: True
+changes:
+ - tweak: "[Meta] The Slime Control Console boundaries have been adjusted around the Kill Room"
diff --git a/html/changelogs/AutoChangeLog-pr-884.yml b/html/changelogs/AutoChangeLog-pr-884.yml
new file mode 100644
index 0000000000..e2ec253dac
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-884.yml
@@ -0,0 +1,5 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - tweak: "Lighting now defaults to fully bright until the first update tick for that tile. This makes shuttle movements less immersion breaking."
+ - experiment: "Rather than remove the light source from the system and then re-adding it on light movements, the system now calculates and applies the difference to each tile. This should speed up lighting updates."
diff --git a/html/changelogs/AutoChangeLog-pr-885.yml b/html/changelogs/AutoChangeLog-pr-885.yml
new file mode 100644
index 0000000000..d92eda0b51
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-885.yml
@@ -0,0 +1,4 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - bugfix: "Fixes t-ray mode on engineering goggles not resetting the lighting override properly."
diff --git a/html/changelogs/AutoChangeLog-pr-886.yml b/html/changelogs/AutoChangeLog-pr-886.yml
new file mode 100644
index 0000000000..e87f6c5843
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-886.yml
@@ -0,0 +1,4 @@
+author: "QualityVan"
+delete-after: True
+changes:
+ - tweak: "Machine names will be capitalized when they talk on radio"
diff --git a/html/changelogs/AutoChangeLog-pr-890.yml b/html/changelogs/AutoChangeLog-pr-890.yml
new file mode 100644
index 0000000000..c54b5312a5
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-890.yml
@@ -0,0 +1,5 @@
+author: "Kor"
+delete-after: True
+changes:
+ - rscadd: "a new mysterious book has been discovered in lavaland chests!"
+ - tweak: "weird purple hearts found in lavaland chests have started beating again! what could this mean?"
diff --git a/html/changelogs/AutoChangeLog-pr-891.yml b/html/changelogs/AutoChangeLog-pr-891.yml
new file mode 100644
index 0000000000..c623a1953f
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-891.yml
@@ -0,0 +1,5 @@
+author: "Joan"
+delete-after: True
+changes:
+ - rscadd: "You can now buy double eswords from the uplink for 16 telecrystals. They cannot be bought below 25 players."
+ - rscdel: "You can no longer use two eswords to construct a double esword."
diff --git a/html/changelogs/AutoChangeLog-pr-895.yml b/html/changelogs/AutoChangeLog-pr-895.yml
new file mode 100644
index 0000000000..a1aafb74af
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-895.yml
@@ -0,0 +1,4 @@
+author: "Robustin"
+delete-after: True
+changes:
+ - tweak: "Dominators now require a significant amount of open (non-walled) space around them in order to operate."
diff --git a/html/changelogs/AutoChangeLog-pr-896.yml b/html/changelogs/AutoChangeLog-pr-896.yml
new file mode 100644
index 0000000000..f781a678ce
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-896.yml
@@ -0,0 +1,4 @@
+author: "TehZombehz"
+delete-after: True
+changes:
+ - rscadd: "Sticks of butter and liquid mayonnaise can now be produced via a new 'mix' function on the grinder. Please eat responsibly."
diff --git a/html/changelogs/AutoChangeLog-pr-897.yml b/html/changelogs/AutoChangeLog-pr-897.yml
new file mode 100644
index 0000000000..d1df7340c6
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-897.yml
@@ -0,0 +1,4 @@
+author: "ma44"
+delete-after: True
+changes:
+ - tweak: "Doubles the amount of points wooden planks sell for (now 50 points)"
diff --git a/html/changelogs/AutoChangeLog-pr-898.yml b/html/changelogs/AutoChangeLog-pr-898.yml
new file mode 100644
index 0000000000..f744b5fe7b
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-898.yml
@@ -0,0 +1,4 @@
+author: "Jay / Cecily"
+delete-after: True
+changes:
+ - rscadd: "added a hunter hat to the game. Purely cosmetic, can be found in clothesmate. Icon by Cecily Catherine."
diff --git a/html/changelogs/AutoChangeLog-pr-900.yml b/html/changelogs/AutoChangeLog-pr-900.yml
new file mode 100644
index 0000000000..e29ab96af8
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-900.yml
@@ -0,0 +1,4 @@
+author: "bandit"
+delete-after: True
+changes:
+ - tweak: "Nanotrasen has enhanced personality matchmaking for its personal AIs. pAI candidates will now see who is requesting a pAI personality."
diff --git a/html/changelogs/AutoChangeLog-pr-913.yml b/html/changelogs/AutoChangeLog-pr-913.yml
new file mode 100644
index 0000000000..dd72fe0130
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-913.yml
@@ -0,0 +1,4 @@
+author: "Cebutris"
+delete-after: True
+changes:
+ - rscadd: "The Syndicate has found an abandoned storage facility filled with hundreds of holoparasite injectors. While they aren't giving them to their operatives, sleeper operatives can buy them with their uplinks! Get your holographic murder machine buddy today!"
diff --git a/html/changelogs/AutoChangeLog-pr-927.yml b/html/changelogs/AutoChangeLog-pr-927.yml
new file mode 100644
index 0000000000..bf908dd5b4
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-927.yml
@@ -0,0 +1,4 @@
+author: "optional name here"
+delete-after: True
+changes:
+ - rscadd: "Zombies can now see in the dark. If you steal their eyes you'll be able to see in the dark as well!"
diff --git a/html/changelogs/AutoChangeLog-pr-931.yml b/html/changelogs/AutoChangeLog-pr-931.yml
new file mode 100644
index 0000000000..288b87f529
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-931.yml
@@ -0,0 +1,5 @@
+author: "Kingofcarrotflowerspt1"
+delete-after: True
+changes:
+ - rscadd: "Adds Dakimakuras, more colloquially known as \"anime girl body pillows\""
+ - rscadd: "They take up a hand slot and can hold a few items. Many different girls to choose from!"
diff --git a/html/changelogs/AutoChangeLog-pr-937.yml b/html/changelogs/AutoChangeLog-pr-937.yml
new file mode 100644
index 0000000000..239db4ced6
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-937.yml
@@ -0,0 +1,5 @@
+author: "Tacolizard Forever: It's hip to fuck bees"
+delete-after: True
+changes:
+ - rscadd: "Added a honey jar item. It's not implemented yet.
+balance: Honey is now more robust at healing, but don't eat too much or you'll turn into a fatty landwhale."
diff --git a/html/changelogs/AutoChangeLog-pr-938.yml b/html/changelogs/AutoChangeLog-pr-938.yml
new file mode 100644
index 0000000000..b01da1649c
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-938.yml
@@ -0,0 +1,4 @@
+author: "TehZombehz"
+delete-after: True
+changes:
+ - rscadd: "Butter noodles, butter biscuits, buttered toast, and pigs in a blanket can now be crafted using sticks of butter and other ingredients."
diff --git a/html/changelogs/AutoChangeLog-pr-940.yml b/html/changelogs/AutoChangeLog-pr-940.yml
new file mode 100644
index 0000000000..eb86ebd439
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-940.yml
@@ -0,0 +1,4 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - rscadd: "Hermit ruin now includes a portable seed extractor."
diff --git a/html/changelogs/AutoChangeLog-pr-944.yml b/html/changelogs/AutoChangeLog-pr-944.yml
new file mode 100644
index 0000000000..8215cf0463
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-944.yml
@@ -0,0 +1,4 @@
+author: "QualityVan"
+delete-after: True
+changes:
+ - bugfix: "Pizza boxes once again look different when open"
diff --git a/html/changelogs/AutoChangeLog-pr-954.yml b/html/changelogs/AutoChangeLog-pr-954.yml
new file mode 100644
index 0000000000..1c3a6cc9f8
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-954.yml
@@ -0,0 +1,5 @@
+author: "coiax"
+delete-after: True
+changes:
+ - rscadd: "Free Golems can purchase Royal Capes of the Liberator at their
+mining equipment vendor."
diff --git a/html/changelogs/AutoChangeLog-pr-958.yml b/html/changelogs/AutoChangeLog-pr-958.yml
new file mode 100644
index 0000000000..c0825f367f
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-958.yml
@@ -0,0 +1,5 @@
+author: "coiax"
+delete-after: True
+changes:
+ - rscadd: "Goats on the station have developed a taste for glowshrooms, and
+will eat them if they encounter any."
diff --git a/html/changelogs/AutoChangeLog-pr-962.yml b/html/changelogs/AutoChangeLog-pr-962.yml
new file mode 100644
index 0000000000..a5c9db8081
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-962.yml
@@ -0,0 +1,6 @@
+author: "CitadelStationBot"
+delete-after: True
+changes:
+ - rscadd: "Ambrosia Deus can now mutate into Gaia, and Gaia into Deus."
+ - rscdel: "A single branch of Ambrosia Gaia will not immediately make a hydroponics tray self-sufficient.
+balance: A (total) dose of 20u Earthsblood (from Gaia) will make a hydroponics tray self-sufficient."
diff --git a/html/changelogs/AutoChangeLog-pr-963.yml b/html/changelogs/AutoChangeLog-pr-963.yml
new file mode 100644
index 0000000000..bff7ed64f6
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-963.yml
@@ -0,0 +1,4 @@
+author: "Joan"
+delete-after: True
+changes:
+ - tweak: "Glowshrooms now have a less saturated glow."
diff --git a/html/changelogs/AutoChangeLog-pr-964.yml b/html/changelogs/AutoChangeLog-pr-964.yml
new file mode 100644
index 0000000000..2aee77b88f
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-964.yml
@@ -0,0 +1,10 @@
+author: "coiax"
+delete-after: True
+changes:
+ - bugfix: "Curator soapstones now successfully leave messages for future
+shifts."
+ - rscdel: "Soapstones can no longer be purchased in cargo."
+ - rscdel: "The janitor no longer starts with an empty soapstone."
+ - experiment: "Engraved messages can be left anywhere in the world, but be
+wary that the terrain of places like lavaland and space can change shift
+to shift."
diff --git a/html/changelogs/AutoChangeLog-pr-969.yml b/html/changelogs/AutoChangeLog-pr-969.yml
new file mode 100644
index 0000000000..945463a4b1
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-969.yml
@@ -0,0 +1,4 @@
+author: "McBawbaggings"
+delete-after: True
+changes:
+ - tweak: "SMES units will now accept charge from the power network even if the available load is less than the input rate. Credit to Zaers for the original code."
diff --git a/html/changelogs/AutoChangeLog-pr-973.yml b/html/changelogs/AutoChangeLog-pr-973.yml
new file mode 100644
index 0000000000..b4b175ce05
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-973.yml
@@ -0,0 +1,6 @@
+author: "ma44"
+delete-after: True
+changes:
+ - tweak: "Seed vault remapped"
+ - tweak: "The seed vault random seed spawner can now spawn cherry bombs instead of regular cherry seeds"
+ - rscadd: "BEES to plant vault"
diff --git a/icons/effects/64x64.dmi b/icons/effects/64x64.dmi
index 347bccc942..361cfff40c 100644
Binary files a/icons/effects/64x64.dmi and b/icons/effects/64x64.dmi differ
diff --git a/icons/effects/clockwork_effects.dmi b/icons/effects/clockwork_effects.dmi
index 8bbf24a7ef..b2e15da1d0 100644
Binary files a/icons/effects/clockwork_effects.dmi and b/icons/effects/clockwork_effects.dmi differ
diff --git a/icons/effects/cult_target.dmi b/icons/effects/cult_target.dmi
new file mode 100644
index 0000000000..650feb3361
Binary files /dev/null and b/icons/effects/cult_target.dmi differ
diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi
index d684794ee8..fe537a8e73 100644
Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ
diff --git a/icons/emoji.dmi b/icons/emoji.dmi
old mode 100644
new mode 100755
index df89c12c94..9d3e0630a7
Binary files a/icons/emoji.dmi and b/icons/emoji.dmi differ
diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi
index 39f374fb52..285f936a9e 100644
Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index d28ed18c8a..9d63c276bc 100644
Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ
diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi
index 29c527b123..6d05b89039 100644
Binary files a/icons/mob/hud.dmi and b/icons/mob/hud.dmi differ
diff --git a/icons/mob/jungle/arachnid.dmi b/icons/mob/jungle/arachnid.dmi
new file mode 100644
index 0000000000..a1db8e351f
Binary files /dev/null and b/icons/mob/jungle/arachnid.dmi differ
diff --git a/icons/mob/screen_alert.dmi b/icons/mob/screen_alert.dmi
index 5858925d86..13f16aae59 100644
Binary files a/icons/mob/screen_alert.dmi and b/icons/mob/screen_alert.dmi differ
diff --git a/icons/obj/clothing/cit_hats.dmi b/icons/obj/clothing/cit_hats.dmi
new file mode 100644
index 0000000000..f9bf2a7a03
Binary files /dev/null and b/icons/obj/clothing/cit_hats.dmi differ
diff --git a/icons/obj/daki.dmi b/icons/obj/daki.dmi
new file mode 100644
index 0000000000..2b075f959c
Binary files /dev/null and b/icons/obj/daki.dmi differ
diff --git a/icons/obj/flora/jungletrees.dmi b/icons/obj/flora/jungletrees.dmi
index 461ac0b265..67c7e0f463 100644
Binary files a/icons/obj/flora/jungletrees.dmi and b/icons/obj/flora/jungletrees.dmi differ
diff --git a/icons/obj/food/containers.dmi b/icons/obj/food/containers.dmi
index 2672732597..68c192bec3 100644
Binary files a/icons/obj/food/containers.dmi and b/icons/obj/food/containers.dmi differ
diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi
index c4713bd086..e7c0e8d263 100644
Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ
diff --git a/icons/obj/food/pizzaspaghetti.dmi b/icons/obj/food/pizzaspaghetti.dmi
index 8fb643c03c..245c737865 100644
Binary files a/icons/obj/food/pizzaspaghetti.dmi and b/icons/obj/food/pizzaspaghetti.dmi differ
diff --git a/icons/obj/pneumaticCannon.dmi b/icons/obj/pneumaticCannon.dmi
index 41de7677b5..86e14e19d6 100644
Binary files a/icons/obj/pneumaticCannon.dmi and b/icons/obj/pneumaticCannon.dmi differ
diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi
index 19d6275d78..78657abe36 100644
Binary files a/icons/obj/surgery.dmi and b/icons/obj/surgery.dmi differ
diff --git a/icons/obj/tiles.dmi b/icons/obj/tiles.dmi
index d629cfe24d..5a8afeee51 100644
Binary files a/icons/obj/tiles.dmi and b/icons/obj/tiles.dmi differ
diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi
index f71e135dce..f2176c395d 100644
Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ
diff --git a/icons/obj/vending_restock.dmi b/icons/obj/vending_restock.dmi
index aa9f2873f0..eac7b8a266 100644
Binary files a/icons/obj/vending_restock.dmi and b/icons/obj/vending_restock.dmi differ
diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi
index a1cd8fb2f9..28bc9e28d3 100644
Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ
diff --git a/icons/turf/floors/junglechasm.dmi b/icons/turf/floors/junglechasm.dmi
new file mode 100644
index 0000000000..699a3b667c
Binary files /dev/null and b/icons/turf/floors/junglechasm.dmi differ
diff --git a/interface/menu.dm b/interface/menu.dm
new file mode 100644
index 0000000000..4bebd5b202
--- /dev/null
+++ b/interface/menu.dm
@@ -0,0 +1,203 @@
+/*
+/datum/menu/Example/verb/Example()
+ set name = "" //if this starts with @ the verb is not created and name becomes the command to invoke.
+ set desc = "" //desc is the text given to this entry in the menu
+ //You can not use src in these verbs. It will be the menu at compile time, but the client at runtime.
+*/
+
+GLOBAL_LIST_EMPTY(menulist)
+
+/world/proc/load_menu()
+ for (var/typepath in subtypesof(/datum/menu))
+ new typepath()
+
+/datum/menu
+ var/name
+ var/list/children
+ var/datum/menu/myparent
+ var/list/verblist
+ var/checkbox = CHECKBOX_NONE //checkbox type.
+ var/default //default checked type.
+ //Set to true to append our children to our parent,
+ //Rather then add us as a node (used for having more then one checkgroups in the same menu)
+ var/abstract = FALSE
+
+/datum/menu/New()
+ var/ourentry = GLOB.menulist[type]
+ children = list()
+ verblist = list()
+ if (ourentry)
+ if (islist(ourentry)) //some of our childern already loaded
+ Add_children(ourentry)
+ else
+ stack_trace("Menu item double load: [type]")
+ qdel(src)
+ return
+
+ GLOB.menulist[type] = src
+
+ Load_verbs(type, typesof("[type]/verb"))
+
+ var/datum/menu/parent = GLOB.menulist[parent_type]
+ if (!parent)
+ GLOB.menulist[parent_type] = list(src)
+ else if (islist(parent))
+ parent += src
+ else
+ parent.Add_children(list(src))
+
+/datum/menu/proc/Set_parent(datum/menu/parent)
+ myparent = parent
+ if (abstract)
+ myparent.Add_children(children)
+ var/list/verblistoftypes = list()
+ for(var/thing in verblist)
+ LAZYADD(verblistoftypes[verblist[thing]], thing)
+
+ for(var/verbparenttype in verblistoftypes)
+ myparent.Load_verbs(verbparenttype, verblistoftypes[verbparenttype])
+
+/datum/menu/proc/Add_children(list/kids)
+ if (abstract && myparent)
+ myparent.Add_children(kids)
+ return
+
+ for(var/thing in kids)
+ var/datum/menu/menuitem = thing
+ menuitem.Set_parent(src)
+ if (!menuitem.abstract)
+ children += menuitem
+
+/datum/menu/proc/Load_verbs(verb_parent_type, list/verbs)
+ if (abstract && myparent)
+ myparent.Load_verbs(verb_parent_type, verbs)
+ return
+
+ for (var/verbpath in verbs)
+ verblist[verbpath] = verb_parent_type
+
+/datum/menu/proc/Generate_list(client/C)
+ . = list()
+ if (length(children))
+ for (var/thing in children)
+ var/datum/menu/child = thing
+ var/list/childlist = child.Generate_list(C)
+ if (childlist)
+ var/childname = "[child]"
+ if (childname == "[child.type]")
+ var/list/tree = splittext(childname, "/")
+ childname = tree[tree.len]
+ .[child.type] = "parent=[url_encode(type)];name=[url_encode(childname)]"
+ . += childlist
+
+
+
+ for (var/thing in verblist)
+ var/atom/verb/verbpath = thing
+ if (!verbpath)
+ stack_trace("Bad VERB in [type] verblist: [english_list(verblist)]")
+ var/list/entry = list()
+ entry["parent"] = "[type]"
+ entry["name"] = verbpath.desc
+ if (copytext(verbpath.name,1,2) == "@")
+ entry["command"] = copytext(verbpath.name,2)
+ else
+ entry["command"] = replacetext(verbpath.name, " ", "-")
+ var/datum/menu/verb_true_parent = GLOB.menulist[verblist[verbpath]]
+ var/true_checkbox = verb_true_parent.checkbox
+ if (true_checkbox != CHECKBOX_NONE)
+ var/checkedverb = verb_true_parent.Get_checked(C)
+ if (true_checkbox == CHECKBOX_GROUP)
+ if (verbpath == checkedverb)
+ entry["is-checked"] = TRUE
+ else
+ entry["is-checked"] = FALSE
+ else if (true_checkbox == CHECKBOX_TOGGLE)
+ entry["is-checked"] = checkedverb
+
+ entry["command"] = ".updatemenuchecked \"[verb_true_parent.type]\" \"[verbpath]\"\n[entry["command"]]"
+ entry["can-check"] = TRUE
+ entry["group"] = "[verb_true_parent.type]"
+ .[verbpath] = list2params(entry)
+
+/datum/menu/proc/Get_checked(client/C)
+ return C.prefs.menuoptions[type] || default || FALSE
+
+/datum/menu/proc/Load_checked(client/C) //Loads the checked menu item into a new client. Used by icon menus to invoke the checked item.
+ return
+
+/datum/menu/proc/Set_checked(client/C, verbpath)
+ if (checkbox == CHECKBOX_GROUP)
+ C.prefs.menuoptions[type] = verbpath
+ C.prefs.save_preferences()
+ else if (checkbox == CHECKBOX_TOGGLE)
+ var/checked = Get_checked(C)
+ C.prefs.menuoptions[type] = !checked
+ C.prefs.save_preferences()
+ winset(C, "[verbpath]", "is-checked = [!checked]")
+
+/client/verb/updatemenuchecked(menutype as text, verbpath as text)
+ set name = ".updatemenuchecked"
+ menutype = text2path(menutype)
+ verbpath = text2path(verbpath)
+ if (!menutype || !verbpath)
+ return
+ var/datum/menu/M = GLOB.menulist[menutype]
+ if (!M)
+ return
+ if (!(verbpath in typesof("[menutype]/verb")))
+ return
+ M.Set_checked(src, verbpath)
+
+
+/datum/menu/Icon/Load_checked(client/C) //So we can be lazy, we invoke the "checked" menu item on menu load.
+ var/atom/verb/verbpath = Get_checked(C)
+ if (!verbpath || !(verbpath in typesof("[type]/verb")))
+ return
+ if (copytext(verbpath.name,1,2) == "@")
+ winset(C, null, "command = [copytext(verbpath.name,2)]")
+ else
+ winset(C, null, "command = [replacetext(verbpath.name, " ", "-")]")
+
+/datum/menu/Icon/Size
+ checkbox = CHECKBOX_GROUP
+ default = /datum/menu/Icon/Size/verb/iconstretchtofit
+
+/datum/menu/Icon/Size/verb/iconstretchtofit()
+ set name = "@.winset \"mapwindow.map.icon-size=0\""
+ set desc = "&Auto (stretch-to-fit)"
+
+/datum/menu/Icon/Size/verb/icon96()
+ set name = "@.winset \"mapwindow.map.icon-size=96\""
+ set desc = "&96x96 (3x)"
+
+/datum/menu/Icon/Size/verb/icon64()
+ set name = "@.winset \"mapwindow.map.icon-size=64\""
+ set desc = "&64x64 (2x)"
+
+/datum/menu/Icon/Size/verb/icon48()
+ set name = "@.winset \"mapwindow.map.icon-size=48\""
+ set desc = "&48x48 (1.5x)"
+
+/datum/menu/Icon/Size/verb/icon32()
+ set name = "@.winset \"mapwindow.map.icon-size=32\""
+ set desc = "&32x32 (1x)"
+
+
+/datum/menu/Icon/Scaling
+ checkbox = CHECKBOX_GROUP
+ name = "Scaling Mode"
+ default = /datum/menu/Icon/Scaling/verb/NN
+
+/datum/menu/Icon/Scaling/verb/NN()
+ set name = "@.winset \"mapwindow.map.zoom-mode=distort\""
+ set desc = "Nearest Neighbor"
+
+/datum/menu/Icon/Scaling/verb/PS()
+ set name = "@.winset \"mapwindow.map.zoom-mode=normal\""
+ set desc = "Point Sampling"
+
+/datum/menu/Icon/Scaling/verb/BL()
+ set name = "@.winset \"mapwindow.map.zoom-mode=blur\""
+ set desc = "Bilinear"
+
diff --git a/interface/skin.dmf b/interface/skin.dmf
index 788ce65b71..65407cef0e 100644
--- a/interface/skin.dmf
+++ b/interface/skin.dmf
@@ -1062,60 +1062,6 @@ menu "menu"
group = ""
is-disabled = false
saved-params = "is-checked"
- elem
- name = "&Icons"
- command = ""
- category = ""
- is-checked = false
- can-check = false
- group = ""
- is-disabled = false
- saved-params = "is-checked"
- elem "auto"
- name = "&Auto (stretch-to-fit)"
- command = ".winset \"mapwindow.map.icon-size=0\""
- category = "&Icons"
- is-checked = true
- can-check = true
- group = "size"
- is-disabled = false
- saved-params = "is-checked"
- elem "icon96"
- name = "&96x96 (3x)"
- command = ".winset \"mapwindow.map.icon-size=96\""
- category = "&Icons"
- is-checked = false
- can-check = true
- group = "size"
- is-disabled = false
- saved-params = "is-checked"
- elem "icon64"
- name = "&64x64 (2x)"
- command = ".winset \"mapwindow.map.icon-size=64\""
- category = "&Icons"
- is-checked = false
- can-check = true
- group = "size"
- is-disabled = false
- saved-params = "is-checked"
- elem "icon48"
- name = "&48x48 (1.5x)"
- command = ".winset \"mapwindow.map.icon-size=48\""
- category = "&Icons"
- is-checked = false
- can-check = true
- group = "size"
- is-disabled = false
- saved-params = "is-checked"
- elem "icon32"
- name = "&32x32"
- command = ".winset \"mapwindow.map.icon-size=32\""
- category = "&Icons"
- is-checked = false
- can-check = true
- group = "size"
- is-disabled = false
- saved-params = "is-checked"
elem
name = "&Help"
command = ""
@@ -1383,6 +1329,7 @@ window "mapwindow"
on-show = ""
on-hide = ""
style = ""
+ zoom-mode = "distort"
window "infowindow"
elem "infowindow"
diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm
index a758818c8c..acecb4874b 100644
--- a/interface/stylesheet.dm
+++ b/interface/stylesheet.dm
@@ -154,4 +154,5 @@ BIG IMG.icon {width: 32px; height: 32px;}
.love {color: #FF69Bf;}
.lovebold {color: #FF69Bf; font-weight: bold;}
+.resonate {color: #298F85;}
"}
diff --git a/sound/effects/snap01.ogg b/sound/effects/snap01.ogg
new file mode 100644
index 0000000000..aa7ab9f5bf
Binary files /dev/null and b/sound/effects/snap01.ogg differ
diff --git a/sound/misc/highlander.ogg b/sound/misc/highlander.ogg
index 2116f8a972..01148b55db 100644
Binary files a/sound/misc/highlander.ogg and b/sound/misc/highlander.ogg differ
diff --git a/sound/misc/highlander_delayed.ogg b/sound/misc/highlander_delayed.ogg
index d1cce70781..2645349662 100644
Binary files a/sound/misc/highlander_delayed.ogg and b/sound/misc/highlander_delayed.ogg differ
diff --git a/sound/misc/highlander_only_one.ogg b/sound/misc/highlander_only_one.ogg
index 3b69d26ade..6458d10ab6 100644
Binary files a/sound/misc/highlander_only_one.ogg and b/sound/misc/highlander_only_one.ogg differ
diff --git a/config/admin_nicknames.txt b/strings/admin_nicknames.txt
similarity index 100%
rename from config/admin_nicknames.txt
rename to strings/admin_nicknames.txt
diff --git a/strings/cas_black.txt b/strings/cas_black.txt
index ba078abea4..2e7c6fb407 100644
--- a/strings/cas_black.txt
+++ b/strings/cas_black.txt
@@ -76,7 +76,7 @@ I'm not a space bigot, I just hate _________.
Why is the station so filthy?
THE SHUTTLE CANNOT BE CALLED BECAUSE OF ________ ON THE STATION.
After murdering dozens, the traitor was finally brought down by _________.
-The librarian has read a lot of porn, but never about _____________!
+The curator has read a lot of porn, but never about _____________!
Oh god! There's ________________ outside escape!
The hottest new space couple is ________ and __________.
Lord Singulo hungers for _______.
diff --git a/strings/cas_white.txt b/strings/cas_white.txt
index 506f6f6c65..d36f19ffe9 100644
--- a/strings/cas_white.txt
+++ b/strings/cas_white.txt
@@ -61,7 +61,7 @@ Lopping off the Captain's johnson and shooting it out a pneumatic cannon.
The secret monkey technique.
Putting the pAI's doorjack where it don't belong.
Chemical sprayers filled with lube.
-Librarians.
+Curators.
Spooky skeletons.
Replicating the Milgram experiment with an electropack.
Catgirls.
diff --git a/strings/ion_laws.json b/strings/ion_laws.json
index a4a3e312f7..5a61fc3196 100644
--- a/strings/ion_laws.json
+++ b/strings/ion_laws.json
@@ -343,7 +343,7 @@
"CLOWNS",
"MIMES",
"CHAPLAINS",
- "LIBRARIANS",
+ "CURATORS",
"HEADS OF CREW",
"CAPTAINS AND HEADS",
"CYBORGS",
diff --git a/config/sillytips.txt b/strings/sillytips.txt
similarity index 100%
rename from config/sillytips.txt
rename to strings/sillytips.txt
diff --git a/config/tips.txt b/strings/tips.txt
similarity index 100%
rename from config/tips.txt
rename to strings/tips.txt
diff --git a/tgstation.dme b/tgstation.dme
index 1d70945dfe..75d9e506aa 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -47,6 +47,7 @@
#include "code\__DEFINES\maps.dm"
#include "code\__DEFINES\math.dm"
#include "code\__DEFINES\MC.dm"
+#include "code\__DEFINES\menu.dm"
#include "code\__DEFINES\misc.dm"
#include "code\__DEFINES\mobs.dm"
#include "code\__DEFINES\monkeys.dm"
@@ -75,7 +76,6 @@
#include "code\__HELPERS\_logging.dm"
#include "code\__HELPERS\_string_lists.dm"
#include "code\__HELPERS\AStar.dm"
-#include "code\__HELPERS\bandetect.dm"
#include "code\__HELPERS\cmp.dm"
#include "code\__HELPERS\files.dm"
#include "code\__HELPERS\flags.dm"
@@ -874,6 +874,7 @@
#include "code\game\objects\items\weapons\storage\book.dm"
#include "code\game\objects\items\weapons\storage\boxes.dm"
#include "code\game\objects\items\weapons\storage\briefcase.dm"
+#include "code\game\objects\items\weapons\storage\dakis.dm"
#include "code\game\objects\items\weapons\storage\fancy.dm"
#include "code\game\objects\items\weapons\storage\firstaid.dm"
#include "code\game\objects\items\weapons\storage\internal.dm"
@@ -1002,6 +1003,7 @@
#include "code\modules\admin\admin_investigate.dm"
#include "code\modules\admin\admin_ranks.dm"
#include "code\modules\admin\admin_verbs.dm"
+#include "code\modules\admin\adminmenu.dm"
#include "code\modules\admin\banjob.dm"
#include "code\modules\admin\create_mob.dm"
#include "code\modules\admin\create_object.dm"
@@ -1178,6 +1180,7 @@
#include "code\modules\clothing\gloves\miscellaneous.dm"
#include "code\modules\clothing\gloves\vg_gloves.dm"
#include "code\modules\clothing\head\beanie.dm"
+#include "code\modules\clothing\head\cit_hats.dm"
#include "code\modules\clothing\head\collectable.dm"
#include "code\modules\clothing\head\hardhat.dm"
#include "code\modules\clothing\head\helmet.dm"
@@ -1718,6 +1721,7 @@
#include "code\modules\mob\living\simple_animal\hostile\hivebot.dm"
#include "code\modules\mob\living\simple_animal\hostile\hostile.dm"
#include "code\modules\mob\living\simple_animal\hostile\illusion.dm"
+#include "code\modules\mob\living\simple_animal\hostile\jungle_mobs.dm"
#include "code\modules\mob\living\simple_animal\hostile\killertomato.dm"
#include "code\modules\mob\living\simple_animal\hostile\mecha_pilot.dm"
#include "code\modules\mob\living\simple_animal\hostile\mimic.dm"
@@ -2016,6 +2020,7 @@
#include "code\modules\shuttle\arrivals.dm"
#include "code\modules\shuttle\assault_pod.dm"
#include "code\modules\shuttle\computer.dm"
+#include "code\modules\shuttle\elevator.dm"
#include "code\modules\shuttle\emergency.dm"
#include "code\modules\shuttle\ferry.dm"
#include "code\modules\shuttle\manipulator.dm"
@@ -2160,6 +2165,7 @@
#include "code\modules\zombie\items.dm"
#include "code\modules\zombie\organs.dm"
#include "interface\interface.dm"
+#include "interface\menu.dm"
#include "interface\stylesheet.dm"
#include "interface\skin.dmf"
// END_INCLUDE
diff --git a/tgui/assets/tgui.css b/tgui/assets/tgui.css
index d52500b9d6..531fb00530 100644
--- a/tgui/assets/tgui.css
+++ b/tgui/assets/tgui.css
@@ -1 +1 @@
-@charset "utf-8";body,html{box-sizing:border-box;height:100%;margin:0}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif;font-size:12px;color:#fff;background-color:#2a2a2a;background-image:linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2a2a2a',endColorstr='#ff202020',GradientType=0)}*,:after,:before{box-sizing:inherit}h1,h2,h3,h4{display:inline-block;margin:0;padding:6px 0}h1{font-size:18px}h2{font-size:16px}h3{font-size:14px}h4{font-size:12px}body.clockwork{background:linear-gradient(180deg,#b18b25 0,#5f380e);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffb18b25',endColorstr='#ff5f380e',GradientType=0)}body.clockwork .normal{color:#b18b25}body.clockwork .good{color:#cfba47}body.clockwork .average{color:#896b19}body.clockwork .bad{color:#5f380e}body.clockwork .highlight{color:#b18b25}body.clockwork main{display:block;margin-top:32px;padding:2px 6px 0}body.clockwork hr{height:2px;background-color:#b18b25;border:none}body.clockwork .hidden{display:none}body.clockwork .bar .barText,body.clockwork span.button{color:#b18b25;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.clockwork .bold{font-weight:700}body.clockwork .italic{font-style:italic}body.clockwork [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.clockwork div[data-tooltip],body.clockwork span[data-tooltip]{position:relative}body.clockwork div[data-tooltip]:after,body.clockwork span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #170800;background-color:#2d1400}body.clockwork div[data-tooltip]:hover:after,body.clockwork span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.clockwork div[data-tooltip].tooltip-top:after,body.clockwork span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-webkit-transform:translateX(-50%) translateY(8px);-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.clockwork div[data-tooltip].tooltip-bottom:after,body.clockwork div[data-tooltip].tooltip-top:hover:after,body.clockwork span[data-tooltip].tooltip-bottom:after,body.clockwork span[data-tooltip].tooltip-top:hover:after{-webkit-transform:translateX(-50%) translateY(-8px);-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.clockwork div[data-tooltip].tooltip-bottom:after,body.clockwork span[data-tooltip].tooltip-bottom:after{top:100%;left:50%}body.clockwork div[data-tooltip].tooltip-bottom:hover:after,body.clockwork span[data-tooltip].tooltip-bottom:hover:after{-webkit-transform:translateX(-50%) translateY(8px);-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.clockwork div[data-tooltip].tooltip-left:after,body.clockwork span[data-tooltip].tooltip-left:after{top:50%;right:100%;-webkit-transform:translateX(8px) translateY(-50%);-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-left:hover:after,body.clockwork div[data-tooltip].tooltip-right:after,body.clockwork span[data-tooltip].tooltip-left:hover:after,body.clockwork span[data-tooltip].tooltip-right:after{-webkit-transform:translateX(-8px) translateY(-50%);-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-right:after,body.clockwork span[data-tooltip].tooltip-right:after{top:50%;left:100%}body.clockwork div[data-tooltip].tooltip-right:hover:after,body.clockwork span[data-tooltip].tooltip-right:hover:after{-webkit-transform:translateX(8px) translateY(-50%);-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.clockwork .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #170800;background:#2d1400}body.clockwork .bar .barText{position:absolute;top:0;right:3px}body.clockwork .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#b18b25}body.clockwork .bar .barFill.good{background-color:#cfba47}body.clockwork .bar .barFill.average{background-color:#896b19}body.clockwork .bar .barFill.bad{background-color:#5f380e}body.clockwork span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #170800}body.clockwork span.button .fa{padding-right:2px}body.clockwork span.button.normal{transition:background-color .5s;background-color:#5f380e}body.clockwork span.button.normal.active:focus,body.clockwork span.button.normal.active:hover{transition:background-color .25s;background-color:#704211;outline:0}body.clockwork span.button.disabled{transition:background-color .5s;background-color:#2d1400}body.clockwork span.button.disabled.active:focus,body.clockwork span.button.disabled.active:hover{transition:background-color .25s;background-color:#441e00;outline:0}body.clockwork span.button.selected{transition:background-color .5s;background-color:#cfba47}body.clockwork span.button.selected.active:focus,body.clockwork span.button.selected.active:hover{transition:background-color .25s;background-color:#d1bd50;outline:0}body.clockwork span.button.toggle{transition:background-color .5s;background-color:#cfba47}body.clockwork span.button.toggle.active:focus,body.clockwork span.button.toggle.active:hover{transition:background-color .25s;background-color:#d1bd50;outline:0}body.clockwork span.button.caution{transition:background-color .5s;background-color:#be6209}body.clockwork span.button.caution.active:focus,body.clockwork span.button.caution.active:hover{transition:background-color .25s;background-color:#cd6a0a;outline:0}body.clockwork span.button.danger{transition:background-color .5s;background-color:#9a9d00}body.clockwork span.button.danger.active:focus,body.clockwork span.button.danger.active:hover{transition:background-color .25s;background-color:#abaf00;outline:0}body.clockwork span.button.gridable{width:125px;margin:2px 0}body.clockwork span.button+span:not(.button),body.clockwork span:not(.button)+span.button{margin-left:5px}body.clockwork div.display{width:100%;padding:4px;margin:6px 0;background-color:#2d1400;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#e62d1400,endColorStr=#e62d1400)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#e62d1400,endColorStr=#e62d1400);background-color:rgba(45,20,0,.9);box-shadow:inset 0 0 5px rgba(0,0,0,.3)}body.clockwork div.display header,body.clockwork div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#cfba47;border-bottom:2px solid #b18b25}body.clockwork div.display header .buttonRight,body.clockwork div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.clockwork div.display article,body.clockwork div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.clockwork input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#b18b25;background-color:#cfba47;border:1px solid #272727}body.clockwork input::-webkit-input-placeholder{color:#999}body.clockwork input::-moz-placeholder{color:#999}body.clockwork input:-ms-input-placeholder{color:#999}body.clockwork input::placeholder{color:#999}body.clockwork input::-ms-clear{display:none}body.clockwork svg.linegraph{overflow:hidden}body.clockwork div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#2d1400;font-weight:700;font-style:italic;background-color:#000;background-image:repeating-linear-gradient(-45deg,#000,#000 10px,#170800 0,#170800 20px)}body.clockwork div.notice .label{color:#2d1400}body.clockwork div.notice .content:only-of-type{padding:0}body.clockwork div.notice hr{background-color:#896b19}body.clockwork div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #5f380e;-webkit-transform:rotate(1turn);-ms-transform:rotate(1turn);transform:rotate(1turn)}body.clockwork section .content,body.clockwork section .label,body.clockwork section .line,body.nanotrasen section .content,body.nanotrasen section .label,body.nanotrasen section .line,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.clockwork section{display:table-row;width:100%}body.clockwork section:not(:first-child){padding-top:4px}body.clockwork section.candystripe:nth-child(even){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.clockwork section .label{width:1%;padding-right:32px;white-space:nowrap;color:#b18b25}body.clockwork section .content:not(:last-child){padding-right:16px}body.clockwork section .line{width:100%}body.clockwork div.subdisplay{width:100%;margin:0}body.clockwork header.titlebar .close,body.clockwork header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#cfba47}body.clockwork header.titlebar .close:hover,body.clockwork header.titlebar .minimize:hover{color:#d1bd50}body.clockwork header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#5f380e;border-bottom:1px solid #170800;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.clockwork header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.clockwork header.titlebar .title{position:absolute;top:6px;left:46px;color:#cfba47;font-size:16px;white-space:nowrap}body.clockwork header.titlebar .minimize{position:absolute;top:6px;right:46px}body.clockwork header.titlebar .close{position:absolute;top:4px;right:12px}body.nanotrasen{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjAiIHZpZXdCb3g9IjAgMCA0MjUgMjAwIiBvcGFjaXR5PSIuMzMiPgogIDxwYXRoIGQ9Im0gMTc4LjAwMzk5LDAuMDM4NjkgLTcxLjIwMzkzLDAgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIC02Ljc2MTM0LDYuMDI1NTUgbCAwLDE4Ny44NzE0NyBhIDYuNzYxMzQyMiw2LjAyNTU0OTUgMCAwIDAgNi43NjEzNCw2LjAyNTU0IGwgNTMuMTA3MiwwIGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA2Ljc2MTM1LC02LjAyNTU0IGwgMCwtMTAxLjU0NDAxOCA3Mi4yMTYyOCwxMDQuNjk5Mzk4IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA1Ljc2MDE1LDIuODcwMTYgbCA3My41NTQ4NywwIGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA2Ljc2MTM1LC02LjAyNTU0IGwgMCwtMTg3Ljg3MTQ3IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCAtNi43NjEzNSwtNi4wMjU1NSBsIC01NC43MTY0NCwwIGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCAtNi43NjEzMyw2LjAyNTU1IGwgMCwxMDIuNjE5MzUgTCAxODMuNzY0MTMsMi45MDg4NiBhIDYuNzYxMzQyMiw2LjAyNTU0OTUgMCAwIDAgLTUuNzYwMTQsLTIuODcwMTcgeiIgLz4KICA8cGF0aCBkPSJNIDQuODQ0NjMzMywyMi4xMDg3NSBBIDEzLjQxMjAzOSwxMi41MDE4NDIgMCAwIDEgMTMuNDc3NTg4LDAuMDM5MjQgbCA2Ni4xMTgzMTUsMCBhIDUuMzY0ODE1OCw1LjAwMDczNyAwIDAgMSA1LjM2NDgyMyw1LjAwMDczIGwgMCw3OS44NzkzMSB6IiAvPgogIDxwYXRoIGQ9Im0gNDIwLjE1NTM1LDE3Ny44OTExOSBhIDEzLjQxMjAzOCwxMi41MDE4NDIgMCAwIDEgLTguNjMyOTUsMjIuMDY5NTEgbCAtNjYuMTE4MzIsMCBhIDUuMzY0ODE1Miw1LjAwMDczNyAwIDAgMSAtNS4zNjQ4MiwtNS4wMDA3NCBsIDAsLTc5Ljg3OTMxIHoiIC8+Cjwvc3ZnPgo8IS0tIFRoaXMgd29yayBpcyBsaWNlbnNlZCB1bmRlciBhIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmVBbGlrZSA0LjAgSW50ZXJuYXRpb25hbCBMaWNlbnNlLiAtLT4KPCEtLSBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS80LjAvIC0tPgo=") no-repeat fixed 50%/70% 70%,linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2a2a2a',endColorstr='#ff202020',GradientType=0)}body.nanotrasen .normal{color:#40628a}body.nanotrasen .good{color:#537d29}body.nanotrasen .average{color:#be6209}body.nanotrasen .bad{color:#b00e0e}body.nanotrasen .highlight{color:#8ba5c4}body.nanotrasen main{display:block;margin-top:32px;padding:2px 6px 0}body.nanotrasen hr{height:2px;background-color:#40628a;border:none}body.nanotrasen .hidden{display:none}body.nanotrasen .bar .barText,body.nanotrasen span.button{color:#fff;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.nanotrasen .bold{font-weight:700}body.nanotrasen .italic{font-style:italic}body.nanotrasen [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.nanotrasen div[data-tooltip],body.nanotrasen span[data-tooltip]{position:relative}body.nanotrasen div[data-tooltip]:after,body.nanotrasen span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #272727;background-color:#363636}body.nanotrasen div[data-tooltip]:hover:after,body.nanotrasen span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.nanotrasen div[data-tooltip].tooltip-top:after,body.nanotrasen span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-webkit-transform:translateX(-50%) translateY(8px);-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.nanotrasen div[data-tooltip].tooltip-bottom:after,body.nanotrasen div[data-tooltip].tooltip-top:hover:after,body.nanotrasen span[data-tooltip].tooltip-bottom:after,body.nanotrasen span[data-tooltip].tooltip-top:hover:after{-webkit-transform:translateX(-50%) translateY(-8px);-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.nanotrasen div[data-tooltip].tooltip-bottom:after,body.nanotrasen span[data-tooltip].tooltip-bottom:after{top:100%;left:50%}body.nanotrasen div[data-tooltip].tooltip-bottom:hover:after,body.nanotrasen span[data-tooltip].tooltip-bottom:hover:after{-webkit-transform:translateX(-50%) translateY(8px);-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.nanotrasen div[data-tooltip].tooltip-left:after,body.nanotrasen span[data-tooltip].tooltip-left:after{top:50%;right:100%;-webkit-transform:translateX(8px) translateY(-50%);-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-left:hover:after,body.nanotrasen div[data-tooltip].tooltip-right:after,body.nanotrasen span[data-tooltip].tooltip-left:hover:after,body.nanotrasen span[data-tooltip].tooltip-right:after{-webkit-transform:translateX(-8px) translateY(-50%);-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-right:after,body.nanotrasen span[data-tooltip].tooltip-right:after{top:50%;left:100%}body.nanotrasen div[data-tooltip].tooltip-right:hover:after,body.nanotrasen span[data-tooltip].tooltip-right:hover:after{-webkit-transform:translateX(8px) translateY(-50%);-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.nanotrasen .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #40628a;background:#272727}body.nanotrasen .bar .barText{position:absolute;top:0;right:3px}body.nanotrasen .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#40628a}body.nanotrasen .bar .barFill.good{background-color:#537d29}body.nanotrasen .bar .barFill.average{background-color:#be6209}body.nanotrasen .bar .barFill.bad{background-color:#b00e0e}body.nanotrasen span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #272727}body.nanotrasen span.button .fa{padding-right:2px}body.nanotrasen span.button.normal{transition:background-color .5s;background-color:#40628a}body.nanotrasen span.button.normal.active:focus,body.nanotrasen span.button.normal.active:hover{transition:background-color .25s;background-color:#4f78aa;outline:0}body.nanotrasen span.button.disabled{transition:background-color .5s;background-color:#999}body.nanotrasen span.button.disabled.active:focus,body.nanotrasen span.button.disabled.active:hover{transition:background-color .25s;background-color:#a8a8a8;outline:0}body.nanotrasen span.button.selected{transition:background-color .5s;background-color:#2f943c}body.nanotrasen span.button.selected.active:focus,body.nanotrasen span.button.selected.active:hover{transition:background-color .25s;background-color:#3ab84b;outline:0}body.nanotrasen span.button.toggle{transition:background-color .5s;background-color:#2f943c}body.nanotrasen span.button.toggle.active:focus,body.nanotrasen span.button.toggle.active:hover{transition:background-color .25s;background-color:#3ab84b;outline:0}body.nanotrasen span.button.caution{transition:background-color .5s;background-color:#9a9d00}body.nanotrasen span.button.caution.active:focus,body.nanotrasen span.button.caution.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.nanotrasen span.button.danger{transition:background-color .5s;background-color:#9d0808}body.nanotrasen span.button.danger.active:focus,body.nanotrasen span.button.danger.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.nanotrasen span.button.gridable{width:125px;margin:2px 0}body.nanotrasen span.button+span:not(.button),body.nanotrasen span:not(.button)+span.button{margin-left:5px}body.nanotrasen div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000);background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5)}body.nanotrasen div.display header,body.nanotrasen div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #40628a}body.nanotrasen div.display header .buttonRight,body.nanotrasen div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.nanotrasen div.display article,body.nanotrasen div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.nanotrasen input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#000;background-color:#fff;border:1px solid #272727}body.nanotrasen input::-webkit-input-placeholder{color:#999}body.nanotrasen input::-moz-placeholder{color:#999}body.nanotrasen input:-ms-input-placeholder{color:#999}body.nanotrasen input::placeholder{color:#999}body.nanotrasen input::-ms-clear{display:none}body.nanotrasen svg.linegraph{overflow:hidden}body.nanotrasen div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg,#bb9b68,#bb9b68 10px,#b1905d 0,#b1905d 20px)}body.nanotrasen div.notice .label{color:#000}body.nanotrasen div.notice .content:only-of-type{padding:0}body.nanotrasen div.notice hr{background-color:#272727}body.nanotrasen div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-webkit-transform:rotate(1turn);-ms-transform:rotate(1turn);transform:rotate(1turn)}body.nanotrasen section .content,body.nanotrasen section .label,body.nanotrasen section .line,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.nanotrasen section{display:table-row;width:100%}body.nanotrasen section:not(:first-child){padding-top:4px}body.nanotrasen section.candystripe:nth-child(even){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.nanotrasen section .label{width:1%;padding-right:32px;white-space:nowrap;color:#8ba5c4}body.nanotrasen section .content:not(:last-child){padding-right:16px}body.nanotrasen section .line{width:100%}body.nanotrasen div.subdisplay{width:100%;margin:0}body.nanotrasen header.titlebar .close,body.nanotrasen header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#8ba5c4}body.nanotrasen header.titlebar .close:hover,body.nanotrasen header.titlebar .minimize:hover{color:#9cb2cd}body.nanotrasen header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.nanotrasen header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.nanotrasen header.titlebar .title{position:absolute;top:6px;left:46px;color:#8ba5c4;font-size:16px;white-space:nowrap}body.nanotrasen header.titlebar .minimize{position:absolute;top:6px;right:46px}body.nanotrasen header.titlebar .close{position:absolute;top:4px;right:12px}body.syndicate{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjAiIHZpZXdCb3g9IjAgMCAyMDAgMjg5Ljc0MiIgb3BhY2l0eT0iLjMzIj4KICA8cGF0aCBkPSJtIDkzLjUzNzY3NywwIGMgLTE4LjExMzEyNSwwIC0zNC4yMjAxMzMsMy4xMTE2NCAtNDguMzIzNDg0LDkuMzM0MzcgLTEzLjk2NTA5Miw2LjIyMTY3IC0yNC42MTI0NDIsMTUuMDcxMTQgLTMxLjk0MDY1MSwyNi41NDcxIC03LjE4OTkzOTgsMTEuMzM3ODkgLTEwLjMwMTIyNjYsMjQuNzQ5MTEgLTEwLjMwMTIyNjYsNDAuMjM0NzggMCwxMC42NDY2MiAyLjcyNTAwMjYsMjAuNDY0NjUgOC4xNzUxMTE2LDI5LjQ1MjU4IDUuNjE1Mjc3LDguOTg2ODYgMTQuMDM4Mjc3LDE3LjM1MjA0IDI1LjI2ODgyMSwyNS4wOTQzNiAxMS4yMzA1NDQsNy42MDUzMSAyNi41MDc0MjEsMTUuNDE4MzUgNDUuODMwNTE0LDIzLjQzNzgyIDE5Ljk4Mzc0OCw4LjI5NTU3IDM0Ljg0ODg0OCwxNS41NTQ3MSA0NC41OTI5OTgsMjEuNzc2MzggOS43NDQxNCw2LjIyMjczIDE2Ljc2MTcsMTIuODU4NSAyMS4wNTU3MiwxOS45MDk1MSA0LjI5NDA0LDcuMDUyMDggNi40NDE5MywxNS43NjQwOCA2LjQ0MTkzLDI2LjEzNDU5IDAsMTYuMTc3MDIgLTUuMjAxOTYsMjguNDgyMjIgLTE1LjYwNjczLDM2LjkxNjgyIC0xMC4yMzk2LDguNDM0NyAtMjUuMDIyMDMsMTIuNjUyMyAtNDQuMzQ1MTY5LDEyLjY1MjMgLTE0LjAzODE3MSwwIC0yNS41MTUyNDcsLTEuNjU5NCAtMzQuNDMzNjE4LC00Ljk3NzcgLTguOTE4MzcsLTMuNDU2NiAtMTYuMTg1NTcyLC04LjcxMTMgLTIxLjgwMDgzOSwtMTUuNzYzMyAtNS42MTUyNzcsLTcuMDUyMSAtMTAuMDc0Nzk1LC0xNi42NjA4OCAtMTMuMzc3ODk5LC0yOC44MjgxMiBsIC0yNC43NzMxNjI2MjkzOTQ1LDAgMCw1Ni44MjYzMiBDIDMzLjg1Njc2OSwyODYuMDc2MDEgNjMuNzQ5MDQsMjg5Ljc0MjAxIDg5LjY3ODM4MywyODkuNzQyMDEgYyAxNi4wMjAwMjcsMCAzMC43MTk3ODcsLTEuMzgyNyA0NC4wOTczMzcsLTQuMTQ3OSAxMy41NDI3MiwtMi45MDQzIDI1LjEwNDEsLTcuNDY3NiAzNC42ODMwOSwtMTMuNjg5MyA5Ljc0NDEzLC02LjM1OTcgMTcuMzQwNDIsLTE0LjUxOTUgMjIuNzkwNTIsLTI0LjQ3NDggNS40NTAxLC0xMC4wOTMzMiA4LjE3NTExLC0yMi4zOTk1OSA4LjE3NTExLC0zNi45MTY4MiAwLC0xMi45OTc2NCAtMy4zMDIxLC0yNC4zMzUzOSAtOS45MDgyOSwtMzQuMDE0NiAtNi40NDEwNSwtOS44MTcyNSAtMTUuNTI1NDUsLTE4LjUyNzA3IC0yNy4yNTE0NiwtMjYuMTMxMzMgLTExLjU2MDg1LC03LjYwNDI3IC0yNy45MTA4MywtMTUuODMxNDIgLTQ5LjA1MDY2LC0yNC42ODAyMiAtMTcuNTA2NDQsLTcuMTkwMTIgLTMwLjcxOTY2OCwtMTMuNjg5NDggLTM5LjYzODAzOCwtMTkuNDk3MDEgLTguOTE4MzcxLC01LjgwNzUyIC0xOC42MDc0NzQsLTEyLjQzNDA5IC0yNC4wOTY1MjQsLTE4Ljg3NDE3IC01LjQyNjA0MywtNi4zNjYxNiAtOS42NTg4MjYsLTE1LjA3MDAzIC05LjY1ODgyNiwtMjQuODg3MjkgMCwtOS4yNjQwMSAyLjA3NTQxNCwtMTcuMjEzNDUgNi4yMjM0NTQsLTIzLjg1MDMzIDExLjA5ODI5OCwtMTQuMzk3NDggNDEuMjg2NjM4LC0xLjc5NTA3IDQ1LjA3NTYwOSwyNC4zNDc2MiA0LjgzOTM5Miw2Ljc3NDkxIDguODQ5MzUsMTYuMjQ3MjkgMTIuMDI5NTE1LDI4LjQxNTYgbCAyMC41MzIzNCwwIDAsLTU1Ljk5OTY3IGMgLTQuNDc4MjUsLTUuOTI0NDggLTkuOTU0ODgsLTEwLjYzMjIyIC0xNS45MDgzNywtMTQuMzc0MTEgMS42NDA1NSwwLjQ3OTA1IDMuMTkwMzksMS4wMjM3NiA0LjYzODY1LDEuNjQwMjQgNi40OTg2MSwyLjYyNjA3IDEyLjE2NzkzLDcuMzI3NDcgMTcuMDA3MywxNC4xMDM0NSA0LjgzOTM5LDYuNzc0OTEgOC44NDkzNSwxNi4yNDU2NyAxMi4wMjk1MiwyOC40MTM5NyAwLDAgOC40ODEyOCwtMC4xMjg5NCA4LjQ4OTc4LC0wLjAwMiAwLjQxNzc2LDYuNDE0OTQgLTEuNzUzMzksOS40NTI4NiAtNC4xMjM0MiwxMi41NjEwNCAtMi40MTc0LDMuMTY5NzggLTUuMTQ0ODYsNi43ODk3MyAtNC4wMDI3OCwxMy4wMDI5IDEuNTA3ODYsOC4yMDMxOCAxMC4xODM1NCwxMC41OTY0MiAxNC42MjE5NCw5LjMxMTU0IC0zLjMxODQyLC0wLjQ5OTExIC01LjMxODU1LC0xLjc0OTQ4IC01LjMxODU1LC0xLjc0OTQ4IDAsMCAxLjg3NjQ2LDAuOTk4NjggNS42NTExNywtMS4zNTk4MSAtMy4yNzY5NSwwLjk1NTcxIC0xMC43MDUyOSwtMC43OTczOCAtMTEuODAxMjUsLTYuNzYzMTMgLTAuOTU3NTIsLTUuMjA4NjEgMC45NDY1NCwtNy4yOTUxNCAzLjQwMTEzLC0xMC41MTQ4MiAyLjQ1NDYyLC0zLjIxOTY4IDUuMjg0MjYsLTYuOTU4MzEgNC42ODQzLC0xNC40ODgyNCBsIDAuMDAzLDAuMDAyIDguOTI2NzYsMCAwLC01NS45OTk2NyBjIC0xNS4wNzEyNSwtMy44NzE2OCAtMjcuNjUzMTQsLTYuMzYwNDIgLTM3Ljc0NjcxLC03LjQ2NTg2IC05Ljk1NTMxLC0xLjEwNzU1IC0yMC4xODgyMywtMS42NTk4MSAtMzAuNjk2NjEzLC0xLjY1OTgxIHogbSA3MC4zMjE2MDMsMTcuMzA4OTMgMC4yMzgwNSw0MC4zMDQ5IGMgMS4zMTgwOCwxLjIyNjY2IDIuNDM5NjUsMi4yNzgxNSAzLjM0MDgxLDMuMTA2MDIgNC44MzkzOSw2Ljc3NDkxIDguODQ5MzQsMTYuMjQ1NjYgMTIuMDI5NTEsMjguNDEzOTcgbCAyMC41MzIzNCwwIDAsLTU1Ljk5OTY3IGMgLTYuNjc3MzEsLTQuNTkzODEgLTE5LjgzNjQzLC0xMC40NzMwOSAtMzYuMTQwNzEsLTE1LjgyNTIyIHogbSAtMjguMTIwNDksNS42MDU1MSA4LjU2NDc5LDE3LjcxNjU1IGMgLTExLjk3MDM3LC02LjQ2Njk3IC0xMy44NDY3OCwtOS43MTcyNiAtOC41NjQ3OSwtMTcuNzE2NTUgeiBtIDIyLjc5NzA1LDAgYyAyLjc3MTUsNy45OTkyOSAxLjc4NzQxLDExLjI0OTU4IC00LjQ5MzU0LDE3LjcxNjU1IGwgNC40OTM1NCwtMTcuNzE2NTUgeiBtIDE1LjIyMTk1LDI0LjAwODQ4IDguNTY0NzksMTcuNzE2NTUgYyAtMTEuOTcwMzgsLTYuNDY2OTcgLTEzLjg0Njc5LC05LjcxNzI2IC04LjU2NDc5LC0xNy43MTY1NSB6IG0gMjIuNzk3MDQsMCBjIDIuNzcxNSw3Ljk5OTI5IDEuNzg3NDEsMTEuMjQ5NTggLTQuNDkzNTQsMTcuNzE2NTUgbCA0LjQ5MzU0LC0xNy43MTY1NSB6IG0gLTk5LjExMzg0LDIuMjA3NjQgOC41NjQ3OSwxNy43MTY1NSBjIC0xMS45NzAzODIsLTYuNDY2OTcgLTEzLjg0Njc4MiwtOS43MTcyNiAtOC41NjQ3OSwtMTcuNzE2NTUgeiBtIDIyLjc5NTQyLDAgYyAyLjc3MTUsNy45OTkyOSAxLjc4NzQxLDExLjI0OTU4IC00LjQ5MzU0LDE3LjcxNjU1IGwgNC40OTM1NCwtMTcuNzE2NTUgeiIgLz4KPC9zdmc+CjwhLS0gVGhpcyB3b3JrIGlzIGxpY2Vuc2VkIHVuZGVyIGEgQ3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbi1TaGFyZUFsaWtlIDQuMCBJbnRlcm5hdGlvbmFsIExpY2Vuc2UuIC0tPgo8IS0tIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzQuMC8gLS0+Cg==") no-repeat fixed 50%/70% 70%,linear-gradient(180deg,#750000 0,#340404);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff750000',endColorstr='#ff340404',GradientType=0)}body.syndicate .normal{color:#40628a}body.syndicate .good{color:#73e573}body.syndicate .average{color:#be6209}body.syndicate .bad{color:#b00e0e}body.syndicate .highlight{color:#000}body.syndicate main{display:block;margin-top:32px;padding:2px 6px 0}body.syndicate hr{height:2px;background-color:#272727;border:none}body.syndicate .hidden{display:none}body.syndicate .bar .barText,body.syndicate span.button{color:#fff;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.syndicate .bold{font-weight:700}body.syndicate .italic{font-style:italic}body.syndicate [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.syndicate div[data-tooltip],body.syndicate span[data-tooltip]{position:relative}body.syndicate div[data-tooltip]:after,body.syndicate span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #272727;background-color:#363636}body.syndicate div[data-tooltip]:hover:after,body.syndicate span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.syndicate div[data-tooltip].tooltip-top:after,body.syndicate span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-webkit-transform:translateX(-50%) translateY(8px);-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.syndicate div[data-tooltip].tooltip-bottom:after,body.syndicate div[data-tooltip].tooltip-top:hover:after,body.syndicate span[data-tooltip].tooltip-bottom:after,body.syndicate span[data-tooltip].tooltip-top:hover:after{-webkit-transform:translateX(-50%) translateY(-8px);-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.syndicate div[data-tooltip].tooltip-bottom:after,body.syndicate span[data-tooltip].tooltip-bottom:after{top:100%;left:50%}body.syndicate div[data-tooltip].tooltip-bottom:hover:after,body.syndicate span[data-tooltip].tooltip-bottom:hover:after{-webkit-transform:translateX(-50%) translateY(8px);-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.syndicate div[data-tooltip].tooltip-left:after,body.syndicate span[data-tooltip].tooltip-left:after{top:50%;right:100%;-webkit-transform:translateX(8px) translateY(-50%);-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-left:hover:after,body.syndicate div[data-tooltip].tooltip-right:after,body.syndicate span[data-tooltip].tooltip-left:hover:after,body.syndicate span[data-tooltip].tooltip-right:after{-webkit-transform:translateX(-8px) translateY(-50%);-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-right:after,body.syndicate span[data-tooltip].tooltip-right:after{top:50%;left:100%}body.syndicate div[data-tooltip].tooltip-right:hover:after,body.syndicate span[data-tooltip].tooltip-right:hover:after{-webkit-transform:translateX(8px) translateY(-50%);-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.syndicate .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #000;background:#272727}body.syndicate .bar .barText{position:absolute;top:0;right:3px}body.syndicate .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#000}body.syndicate .bar .barFill.good{background-color:#73e573}body.syndicate .bar .barFill.average{background-color:#be6209}body.syndicate .bar .barFill.bad{background-color:#b00e0e}body.syndicate span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #272727}body.syndicate span.button .fa{padding-right:2px}body.syndicate span.button.normal{transition:background-color .5s;background-color:#397439}body.syndicate span.button.normal.active:focus,body.syndicate span.button.normal.active:hover{transition:background-color .25s;background-color:#4a964a;outline:0}body.syndicate span.button.disabled{transition:background-color .5s;background-color:#363636}body.syndicate span.button.disabled.active:focus,body.syndicate span.button.disabled.active:hover{transition:background-color .25s;background-color:#545454;outline:0}body.syndicate span.button.selected{transition:background-color .5s;background-color:#9d0808}body.syndicate span.button.selected.active:focus,body.syndicate span.button.selected.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.syndicate span.button.toggle{transition:background-color .5s;background-color:#9d0808}body.syndicate span.button.toggle.active:focus,body.syndicate span.button.toggle.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.syndicate span.button.caution{transition:background-color .5s;background-color:#be6209}body.syndicate span.button.caution.active:focus,body.syndicate span.button.caution.active:hover{transition:background-color .25s;background-color:#eb790b;outline:0}body.syndicate span.button.danger{transition:background-color .5s;background-color:#9a9d00}body.syndicate span.button.danger.active:focus,body.syndicate span.button.danger.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.syndicate span.button.gridable{width:125px;margin:2px 0}body.syndicate span.button+span:not(.button),body.syndicate span:not(.button)+span.button{margin-left:5px}body.syndicate div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000);background-color:rgba(0,0,0,.5);box-shadow:inset 0 0 5px rgba(0,0,0,.75)}body.syndicate div.display header,body.syndicate div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #272727}body.syndicate div.display header .buttonRight,body.syndicate div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.syndicate div.display article,body.syndicate div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.syndicate input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#fff;background-color:#9d0808;border:1px solid #272727}body.syndicate input::-webkit-input-placeholder{color:#999}body.syndicate input::-moz-placeholder{color:#999}body.syndicate input:-ms-input-placeholder{color:#999}body.syndicate input::placeholder{color:#999}body.syndicate input::-ms-clear{display:none}body.syndicate svg.linegraph{overflow:hidden}body.syndicate div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#750000;background-image:repeating-linear-gradient(-45deg,#750000,#750000 10px,#910101 0,#910101 20px)}body.syndicate div.notice .label{color:#000}body.syndicate div.notice .content:only-of-type{padding:0}body.syndicate div.notice hr{background-color:#272727}body.syndicate div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-webkit-transform:rotate(1turn);-ms-transform:rotate(1turn);transform:rotate(1turn)}body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.syndicate section{display:table-row;width:100%}body.syndicate section:not(:first-child){padding-top:4px}body.syndicate section.candystripe:nth-child(even){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.syndicate section .label{width:1%;padding-right:32px;white-space:nowrap;color:#fff}body.syndicate section .content:not(:last-child){padding-right:16px}body.syndicate section .line{width:100%}body.syndicate div.subdisplay{width:100%;margin:0}body.syndicate header.titlebar .close,body.syndicate header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#e74242}body.syndicate header.titlebar .close:hover,body.syndicate header.titlebar .minimize:hover{color:#eb5e5e}body.syndicate header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.syndicate header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.syndicate header.titlebar .title{position:absolute;top:6px;left:46px;color:#e74242;font-size:16px;white-space:nowrap}body.syndicate header.titlebar .minimize{position:absolute;top:6px;right:46px}body.syndicate header.titlebar .close{position:absolute;top:4px;right:12px}.no-icons header.titlebar .statusicon{font-size:20px}.no-icons header.titlebar .statusicon:after{content:"O"}.no-icons header.titlebar .minimize{top:-2px;font-size:20px}.no-icons header.titlebar .minimize:after{content:"—"}.no-icons header.titlebar .close{font-size:20px}.no-icons header.titlebar .close:after{content:"X"}
\ No newline at end of file
+@charset "utf-8";body,html{box-sizing:border-box;height:100%;margin:0}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif;font-size:12px;color:#fff;background-color:#2a2a2a;background-image:linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff2a2a2a",endColorstr="#ff202020",GradientType=0)}*,:after,:before{box-sizing:inherit}h1,h2,h3,h4{display:inline-block;margin:0;padding:6px 0}h1{font-size:18px}h2{font-size:16px}h3{font-size:14px}h4{font-size:12px}body.clockwork{background:linear-gradient(180deg,#b18b25 0,#5f380e);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffb18b25",endColorstr="#ff5f380e",GradientType=0)}body.clockwork .normal{color:#b18b25}body.clockwork .good{color:#cfba47}body.clockwork .average{color:#896b19}body.clockwork .bad{color:#5f380e}body.clockwork .highlight{color:#b18b25}body.clockwork main{display:block;margin-top:32px;padding:2px 6px 0}body.clockwork hr{height:2px;background-color:#b18b25;border:none}body.clockwork .hidden{display:none}body.clockwork .bar .barText,body.clockwork span.button{color:#b18b25;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.clockwork .bold{font-weight:700}body.clockwork .italic{font-style:italic}body.clockwork [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.clockwork div[data-tooltip],body.clockwork span[data-tooltip]{position:relative}body.clockwork div[data-tooltip]:after,body.clockwork span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #170800;background-color:#2d1400}body.clockwork div[data-tooltip]:hover:after,body.clockwork span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.clockwork div[data-tooltip].tooltip-top:after,body.clockwork span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.clockwork div[data-tooltip].tooltip-top:hover:after,body.clockwork span[data-tooltip].tooltip-top:hover:after{-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.clockwork div[data-tooltip].tooltip-bottom:after,body.clockwork span[data-tooltip].tooltip-bottom:after{top:100%;left:50%;-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.clockwork div[data-tooltip].tooltip-bottom:hover:after,body.clockwork span[data-tooltip].tooltip-bottom:hover:after{-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.clockwork div[data-tooltip].tooltip-left:after,body.clockwork span[data-tooltip].tooltip-left:after{top:50%;right:100%;-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-left:hover:after,body.clockwork span[data-tooltip].tooltip-left:hover:after{-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-right:after,body.clockwork span[data-tooltip].tooltip-right:after{top:50%;left:100%;-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-right:hover:after,body.clockwork span[data-tooltip].tooltip-right:hover:after{-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.clockwork .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #170800;background:#2d1400}body.clockwork .bar .barText{position:absolute;top:0;right:3px}body.clockwork .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#b18b25}body.clockwork .bar .barFill.good{background-color:#cfba47}body.clockwork .bar .barFill.average{background-color:#896b19}body.clockwork .bar .barFill.bad{background-color:#5f380e}body.clockwork span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #170800}body.clockwork span.button .fa{padding-right:2px}body.clockwork span.button.normal{transition:background-color .5s;background-color:#5f380e}body.clockwork span.button.normal.active:focus,body.clockwork span.button.normal.active:hover{transition:background-color .25s;background-color:#704211;outline:0}body.clockwork span.button.disabled{transition:background-color .5s;background-color:#2d1400}body.clockwork span.button.disabled.active:focus,body.clockwork span.button.disabled.active:hover{transition:background-color .25s;background-color:#441e00;outline:0}body.clockwork span.button.selected{transition:background-color .5s;background-color:#cfba47}body.clockwork span.button.selected.active:focus,body.clockwork span.button.selected.active:hover{transition:background-color .25s;background-color:#d1bd50;outline:0}body.clockwork span.button.toggle{transition:background-color .5s;background-color:#cfba47}body.clockwork span.button.toggle.active:focus,body.clockwork span.button.toggle.active:hover{transition:background-color .25s;background-color:#d1bd50;outline:0}body.clockwork span.button.caution{transition:background-color .5s;background-color:#be6209}body.clockwork span.button.caution.active:focus,body.clockwork span.button.caution.active:hover{transition:background-color .25s;background-color:#cd6a0a;outline:0}body.clockwork span.button.danger{transition:background-color .5s;background-color:#9a9d00}body.clockwork span.button.danger.active:focus,body.clockwork span.button.danger.active:hover{transition:background-color .25s;background-color:#abaf00;outline:0}body.clockwork span.button.gridable{width:125px;margin:2px 0}body.clockwork span.button+span:not(.button),body.clockwork span:not(.button)+span.button{margin-left:5px}body.clockwork div.display{width:100%;padding:4px;margin:6px 0;background-color:#2d1400;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#e62d1400,endColorStr=#e62d1400)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#e62d1400,endColorStr=#e62d1400);background-color:rgba(45,20,0,.9);box-shadow:inset 0 0 5px rgba(0,0,0,.3)}body.clockwork div.display header,body.clockwork div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#cfba47;border-bottom:2px solid #b18b25}body.clockwork div.display header .buttonRight,body.clockwork div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.clockwork div.display article,body.clockwork div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.clockwork input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#b18b25;background-color:#cfba47;border:1px solid #272727}body.clockwork input::-webkit-input-placeholder{color:#999}body.clockwork input:-ms-input-placeholder{color:#999}body.clockwork input::placeholder{color:#999}body.clockwork input::-ms-clear{display:none}body.clockwork svg.linegraph{overflow:hidden}body.clockwork div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#2d1400;font-weight:700;font-style:italic;background-color:#000;background-image:repeating-linear-gradient(-45deg,#000,#000 10px,#170800 0,#170800 20px)}body.clockwork div.notice .label{color:#2d1400}body.clockwork div.notice .content:only-of-type{padding:0}body.clockwork div.notice hr{background-color:#896b19}body.clockwork div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #5f380e;-ms-transform:rotate(1turn);transform:rotate(1turn)}body.clockwork section .content,body.clockwork section .label,body.clockwork section .line,body.nanotrasen section .content,body.nanotrasen section .label,body.nanotrasen section .line,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.clockwork section{display:table-row;width:100%}body.clockwork section:not(:first-child){padding-top:4px}body.clockwork section.candystripe:nth-child(2n){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.clockwork section .label{width:1%;padding-right:32px;white-space:nowrap;color:#b18b25}body.clockwork section .content:not(:last-child){padding-right:16px}body.clockwork section .line{width:100%}body.clockwork div.subdisplay{width:100%;margin:0}body.clockwork header.titlebar .close,body.clockwork header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#cfba47}body.clockwork header.titlebar .close:hover,body.clockwork header.titlebar .minimize:hover{color:#d1bd50}body.clockwork header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#5f380e;border-bottom:1px solid #170800;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.clockwork header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.clockwork header.titlebar .title{position:absolute;top:6px;left:46px;color:#cfba47;font-size:16px;white-space:nowrap}body.clockwork header.titlebar .minimize{position:absolute;top:6px;right:46px}body.clockwork header.titlebar .close{position:absolute;top:4px;right:12px}body.nanotrasen{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4wIiB2aWV3Qm94PSIwIDAgNDI1IDIwMCIgb3BhY2l0eT0iLjMzIj4NCiAgPHBhdGggZD0ibSAxNzguMDAzOTksMC4wMzg2OSAtNzEuMjAzOTMsMCBhIDYuNzYxMzQyMiw2LjAyNTU0OTUgMCAwIDAgLTYuNzYxMzQsNi4wMjU1NSBsIDAsMTg3Ljg3MTQ3IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA2Ljc2MTM0LDYuMDI1NTQgbCA1My4xMDcyLDAgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIDYuNzYxMzUsLTYuMDI1NTQgbCAwLC0xMDEuNTQ0MDE4IDcyLjIxNjI4LDEwNC42OTkzOTggYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIDUuNzYwMTUsMi44NzAxNiBsIDczLjU1NDg3LDAgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIDYuNzYxMzUsLTYuMDI1NTQgbCAwLC0xODcuODcxNDcgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIC02Ljc2MTM1LC02LjAyNTU1IGwgLTU0LjcxNjQ0LDAgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIC02Ljc2MTMzLDYuMDI1NTUgbCAwLDEwMi42MTkzNSBMIDE4My43NjQxMywyLjkwODg2IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCAtNS43NjAxNCwtMi44NzAxNyB6IiAvPg0KICA8cGF0aCBkPSJNIDQuODQ0NjMzMywyMi4xMDg3NSBBIDEzLjQxMjAzOSwxMi41MDE4NDIgMCAwIDEgMTMuNDc3NTg4LDAuMDM5MjQgbCA2Ni4xMTgzMTUsMCBhIDUuMzY0ODE1OCw1LjAwMDczNyAwIDAgMSA1LjM2NDgyMyw1LjAwMDczIGwgMCw3OS44NzkzMSB6IiAvPg0KICA8cGF0aCBkPSJtIDQyMC4xNTUzNSwxNzcuODkxMTkgYSAxMy40MTIwMzgsMTIuNTAxODQyIDAgMCAxIC04LjYzMjk1LDIyLjA2OTUxIGwgLTY2LjExODMyLDAgYSA1LjM2NDgxNTIsNS4wMDA3MzcgMCAwIDEgLTUuMzY0ODIsLTUuMDAwNzQgbCAwLC03OS44NzkzMSB6IiAvPg0KPC9zdmc+DQo8IS0tIFRoaXMgd29yayBpcyBsaWNlbnNlZCB1bmRlciBhIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmVBbGlrZSA0LjAgSW50ZXJuYXRpb25hbCBMaWNlbnNlLiAtLT4NCjwhLS0gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvNC4wLyAtLT4NCg==") no-repeat fixed 50%/70% 70%,linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff2a2a2a",endColorstr="#ff202020",GradientType=0)}body.nanotrasen .normal{color:#40628a}body.nanotrasen .good{color:#537d29}body.nanotrasen .average{color:#be6209}body.nanotrasen .bad{color:#b00e0e}body.nanotrasen .highlight{color:#8ba5c4}body.nanotrasen main{display:block;margin-top:32px;padding:2px 6px 0}body.nanotrasen hr{height:2px;background-color:#40628a;border:none}body.nanotrasen .hidden{display:none}body.nanotrasen .bar .barText,body.nanotrasen span.button{color:#fff;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.nanotrasen .bold{font-weight:700}body.nanotrasen .italic{font-style:italic}body.nanotrasen [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.nanotrasen div[data-tooltip],body.nanotrasen span[data-tooltip]{position:relative}body.nanotrasen div[data-tooltip]:after,body.nanotrasen span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #272727;background-color:#363636}body.nanotrasen div[data-tooltip]:hover:after,body.nanotrasen span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.nanotrasen div[data-tooltip].tooltip-top:after,body.nanotrasen span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.nanotrasen div[data-tooltip].tooltip-top:hover:after,body.nanotrasen span[data-tooltip].tooltip-top:hover:after{-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.nanotrasen div[data-tooltip].tooltip-bottom:after,body.nanotrasen span[data-tooltip].tooltip-bottom:after{top:100%;left:50%;-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.nanotrasen div[data-tooltip].tooltip-bottom:hover:after,body.nanotrasen span[data-tooltip].tooltip-bottom:hover:after{-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.nanotrasen div[data-tooltip].tooltip-left:after,body.nanotrasen span[data-tooltip].tooltip-left:after{top:50%;right:100%;-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-left:hover:after,body.nanotrasen span[data-tooltip].tooltip-left:hover:after{-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-right:after,body.nanotrasen span[data-tooltip].tooltip-right:after{top:50%;left:100%;-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-right:hover:after,body.nanotrasen span[data-tooltip].tooltip-right:hover:after{-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.nanotrasen .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #40628a;background:#272727}body.nanotrasen .bar .barText{position:absolute;top:0;right:3px}body.nanotrasen .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#40628a}body.nanotrasen .bar .barFill.good{background-color:#537d29}body.nanotrasen .bar .barFill.average{background-color:#be6209}body.nanotrasen .bar .barFill.bad{background-color:#b00e0e}body.nanotrasen span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #272727}body.nanotrasen span.button .fa{padding-right:2px}body.nanotrasen span.button.normal{transition:background-color .5s;background-color:#40628a}body.nanotrasen span.button.normal.active:focus,body.nanotrasen span.button.normal.active:hover{transition:background-color .25s;background-color:#4f78aa;outline:0}body.nanotrasen span.button.disabled{transition:background-color .5s;background-color:#999}body.nanotrasen span.button.disabled.active:focus,body.nanotrasen span.button.disabled.active:hover{transition:background-color .25s;background-color:#a8a8a8;outline:0}body.nanotrasen span.button.selected{transition:background-color .5s;background-color:#2f943c}body.nanotrasen span.button.selected.active:focus,body.nanotrasen span.button.selected.active:hover{transition:background-color .25s;background-color:#3ab84b;outline:0}body.nanotrasen span.button.toggle{transition:background-color .5s;background-color:#2f943c}body.nanotrasen span.button.toggle.active:focus,body.nanotrasen span.button.toggle.active:hover{transition:background-color .25s;background-color:#3ab84b;outline:0}body.nanotrasen span.button.caution{transition:background-color .5s;background-color:#9a9d00}body.nanotrasen span.button.caution.active:focus,body.nanotrasen span.button.caution.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.nanotrasen span.button.danger{transition:background-color .5s;background-color:#9d0808}body.nanotrasen span.button.danger.active:focus,body.nanotrasen span.button.danger.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.nanotrasen span.button.gridable{width:125px;margin:2px 0}body.nanotrasen span.button+span:not(.button),body.nanotrasen span:not(.button)+span.button{margin-left:5px}body.nanotrasen div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000);background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5)}body.nanotrasen div.display header,body.nanotrasen div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #40628a}body.nanotrasen div.display header .buttonRight,body.nanotrasen div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.nanotrasen div.display article,body.nanotrasen div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.nanotrasen input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#000;background-color:#fff;border:1px solid #272727}body.nanotrasen input::-webkit-input-placeholder{color:#999}body.nanotrasen input:-ms-input-placeholder{color:#999}body.nanotrasen input::placeholder{color:#999}body.nanotrasen input::-ms-clear{display:none}body.nanotrasen svg.linegraph{overflow:hidden}body.nanotrasen div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg,#bb9b68,#bb9b68 10px,#b1905d 0,#b1905d 20px)}body.nanotrasen div.notice .label{color:#000}body.nanotrasen div.notice .content:only-of-type{padding:0}body.nanotrasen div.notice hr{background-color:#272727}body.nanotrasen div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-ms-transform:rotate(1turn);transform:rotate(1turn)}body.nanotrasen section .content,body.nanotrasen section .label,body.nanotrasen section .line,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.nanotrasen section{display:table-row;width:100%}body.nanotrasen section:not(:first-child){padding-top:4px}body.nanotrasen section.candystripe:nth-child(2n){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.nanotrasen section .label{width:1%;padding-right:32px;white-space:nowrap;color:#8ba5c4}body.nanotrasen section .content:not(:last-child){padding-right:16px}body.nanotrasen section .line{width:100%}body.nanotrasen div.subdisplay{width:100%;margin:0}body.nanotrasen header.titlebar .close,body.nanotrasen header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#8ba5c4}body.nanotrasen header.titlebar .close:hover,body.nanotrasen header.titlebar .minimize:hover{color:#9cb2cd}body.nanotrasen header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.nanotrasen header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.nanotrasen header.titlebar .title{position:absolute;top:6px;left:46px;color:#8ba5c4;font-size:16px;white-space:nowrap}body.nanotrasen header.titlebar .minimize{position:absolute;top:6px;right:46px}body.nanotrasen header.titlebar .close{position:absolute;top:4px;right:12px}body.syndicate{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4wIiB2aWV3Qm94PSIwIDAgMjAwIDI4OS43NDIiIG9wYWNpdHk9Ii4zMyI+DQogIDxwYXRoIGQ9Im0gOTMuNTM3Njc3LDAgYyAtMTguMTEzMTI1LDAgLTM0LjIyMDEzMywzLjExMTY0IC00OC4zMjM0ODQsOS4zMzQzNyAtMTMuOTY1MDkyLDYuMjIxNjcgLTI0LjYxMjQ0MiwxNS4wNzExNCAtMzEuOTQwNjUxLDI2LjU0NzEgLTcuMTg5OTM5OCwxMS4zMzc4OSAtMTAuMzAxMjI2NiwyNC43NDkxMSAtMTAuMzAxMjI2Niw0MC4yMzQ3OCAwLDEwLjY0NjYyIDIuNzI1MDAyNiwyMC40NjQ2NSA4LjE3NTExMTYsMjkuNDUyNTggNS42MTUyNzcsOC45ODY4NiAxNC4wMzgyNzcsMTcuMzUyMDQgMjUuMjY4ODIxLDI1LjA5NDM2IDExLjIzMDU0NCw3LjYwNTMxIDI2LjUwNzQyMSwxNS40MTgzNSA0NS44MzA1MTQsMjMuNDM3ODIgMTkuOTgzNzQ4LDguMjk1NTcgMzQuODQ4ODQ4LDE1LjU1NDcxIDQ0LjU5Mjk5OCwyMS43NzYzOCA5Ljc0NDE0LDYuMjIyNzMgMTYuNzYxNywxMi44NTg1IDIxLjA1NTcyLDE5LjkwOTUxIDQuMjk0MDQsNy4wNTIwOCA2LjQ0MTkzLDE1Ljc2NDA4IDYuNDQxOTMsMjYuMTM0NTkgMCwxNi4xNzcwMiAtNS4yMDE5NiwyOC40ODIyMiAtMTUuNjA2NzMsMzYuOTE2ODIgLTEwLjIzOTYsOC40MzQ3IC0yNS4wMjIwMywxMi42NTIzIC00NC4zNDUxNjksMTIuNjUyMyAtMTQuMDM4MTcxLDAgLTI1LjUxNTI0NywtMS42NTk0IC0zNC40MzM2MTgsLTQuOTc3NyAtOC45MTgzNywtMy40NTY2IC0xNi4xODU1NzIsLTguNzExMyAtMjEuODAwODM5LC0xNS43NjMzIC01LjYxNTI3NywtNy4wNTIxIC0xMC4wNzQ3OTUsLTE2LjY2MDg4IC0xMy4zNzc4OTksLTI4LjgyODEyIGwgLTI0Ljc3MzE2MjYyOTM5NDUsMCAwLDU2LjgyNjMyIEMgMzMuODU2NzY5LDI4Ni4wNzYwMSA2My43NDkwNCwyODkuNzQyMDEgODkuNjc4MzgzLDI4OS43NDIwMSBjIDE2LjAyMDAyNywwIDMwLjcxOTc4NywtMS4zODI3IDQ0LjA5NzMzNywtNC4xNDc5IDEzLjU0MjcyLC0yLjkwNDMgMjUuMTA0MSwtNy40Njc2IDM0LjY4MzA5LC0xMy42ODkzIDkuNzQ0MTMsLTYuMzU5NyAxNy4zNDA0MiwtMTQuNTE5NSAyMi43OTA1MiwtMjQuNDc0OCA1LjQ1MDEsLTEwLjA5MzMyIDguMTc1MTEsLTIyLjM5OTU5IDguMTc1MTEsLTM2LjkxNjgyIDAsLTEyLjk5NzY0IC0zLjMwMjEsLTI0LjMzNTM5IC05LjkwODI5LC0zNC4wMTQ2IC02LjQ0MTA1LC05LjgxNzI1IC0xNS41MjU0NSwtMTguNTI3MDcgLTI3LjI1MTQ2LC0yNi4xMzEzMyAtMTEuNTYwODUsLTcuNjA0MjcgLTI3LjkxMDgzLC0xNS44MzE0MiAtNDkuMDUwNjYsLTI0LjY4MDIyIC0xNy41MDY0NCwtNy4xOTAxMiAtMzAuNzE5NjY4LC0xMy42ODk0OCAtMzkuNjM4MDM4LC0xOS40OTcwMSAtOC45MTgzNzEsLTUuODA3NTIgLTE4LjYwNzQ3NCwtMTIuNDM0MDkgLTI0LjA5NjUyNCwtMTguODc0MTcgLTUuNDI2MDQzLC02LjM2NjE2IC05LjY1ODgyNiwtMTUuMDcwMDMgLTkuNjU4ODI2LC0yNC44ODcyOSAwLC05LjI2NDAxIDIuMDc1NDE0LC0xNy4yMTM0NSA2LjIyMzQ1NCwtMjMuODUwMzMgMTEuMDk4Mjk4LC0xNC4zOTc0OCA0MS4yODY2MzgsLTEuNzk1MDcgNDUuMDc1NjA5LDI0LjM0NzYyIDQuODM5MzkyLDYuNzc0OTEgOC44NDkzNSwxNi4yNDcyOSAxMi4wMjk1MTUsMjguNDE1NiBsIDIwLjUzMjM0LDAgMCwtNTUuOTk5NjcgYyAtNC40NzgyNSwtNS45MjQ0OCAtOS45NTQ4OCwtMTAuNjMyMjIgLTE1LjkwODM3LC0xNC4zNzQxMSAxLjY0MDU1LDAuNDc5MDUgMy4xOTAzOSwxLjAyMzc2IDQuNjM4NjUsMS42NDAyNCA2LjQ5ODYxLDIuNjI2MDcgMTIuMTY3OTMsNy4zMjc0NyAxNy4wMDczLDE0LjEwMzQ1IDQuODM5MzksNi43NzQ5MSA4Ljg0OTM1LDE2LjI0NTY3IDEyLjAyOTUyLDI4LjQxMzk3IDAsMCA4LjQ4MTI4LC0wLjEyODk0IDguNDg5NzgsLTAuMDAyIDAuNDE3NzYsNi40MTQ5NCAtMS43NTMzOSw5LjQ1Mjg2IC00LjEyMzQyLDEyLjU2MTA0IC0yLjQxNzQsMy4xNjk3OCAtNS4xNDQ4Niw2Ljc4OTczIC00LjAwMjc4LDEzLjAwMjkgMS41MDc4Niw4LjIwMzE4IDEwLjE4MzU0LDEwLjU5NjQyIDE0LjYyMTk0LDkuMzExNTQgLTMuMzE4NDIsLTAuNDk5MTEgLTUuMzE4NTUsLTEuNzQ5NDggLTUuMzE4NTUsLTEuNzQ5NDggMCwwIDEuODc2NDYsMC45OTg2OCA1LjY1MTE3LC0xLjM1OTgxIC0zLjI3Njk1LDAuOTU1NzEgLTEwLjcwNTI5LC0wLjc5NzM4IC0xMS44MDEyNSwtNi43NjMxMyAtMC45NTc1MiwtNS4yMDg2MSAwLjk0NjU0LC03LjI5NTE0IDMuNDAxMTMsLTEwLjUxNDgyIDIuNDU0NjIsLTMuMjE5NjggNS4yODQyNiwtNi45NTgzMSA0LjY4NDMsLTE0LjQ4ODI0IGwgMC4wMDMsMC4wMDIgOC45MjY3NiwwIDAsLTU1Ljk5OTY3IGMgLTE1LjA3MTI1LC0zLjg3MTY4IC0yNy42NTMxNCwtNi4zNjA0MiAtMzcuNzQ2NzEsLTcuNDY1ODYgLTkuOTU1MzEsLTEuMTA3NTUgLTIwLjE4ODIzLC0xLjY1OTgxIC0zMC42OTY2MTMsLTEuNjU5ODEgeiBtIDcwLjMyMTYwMywxNy4zMDg5MyAwLjIzODA1LDQwLjMwNDkgYyAxLjMxODA4LDEuMjI2NjYgMi40Mzk2NSwyLjI3ODE1IDMuMzQwODEsMy4xMDYwMiA0LjgzOTM5LDYuNzc0OTEgOC44NDkzNCwxNi4yNDU2NiAxMi4wMjk1MSwyOC40MTM5NyBsIDIwLjUzMjM0LDAgMCwtNTUuOTk5NjcgYyAtNi42NzczMSwtNC41OTM4MSAtMTkuODM2NDMsLTEwLjQ3MzA5IC0zNi4xNDA3MSwtMTUuODI1MjIgeiBtIC0yOC4xMjA0OSw1LjYwNTUxIDguNTY0NzksMTcuNzE2NTUgYyAtMTEuOTcwMzcsLTYuNDY2OTcgLTEzLjg0Njc4LC05LjcxNzI2IC04LjU2NDc5LC0xNy43MTY1NSB6IG0gMjIuNzk3MDUsMCBjIDIuNzcxNSw3Ljk5OTI5IDEuNzg3NDEsMTEuMjQ5NTggLTQuNDkzNTQsMTcuNzE2NTUgbCA0LjQ5MzU0LC0xNy43MTY1NSB6IG0gMTUuMjIxOTUsMjQuMDA4NDggOC41NjQ3OSwxNy43MTY1NSBjIC0xMS45NzAzOCwtNi40NjY5NyAtMTMuODQ2NzksLTkuNzE3MjYgLTguNTY0NzksLTE3LjcxNjU1IHogbSAyMi43OTcwNCwwIGMgMi43NzE1LDcuOTk5MjkgMS43ODc0MSwxMS4yNDk1OCAtNC40OTM1NCwxNy43MTY1NSBsIDQuNDkzNTQsLTE3LjcxNjU1IHogbSAtOTkuMTEzODQsMi4yMDc2NCA4LjU2NDc5LDE3LjcxNjU1IGMgLTExLjk3MDM4MiwtNi40NjY5NyAtMTMuODQ2NzgyLC05LjcxNzI2IC04LjU2NDc5LC0xNy43MTY1NSB6IG0gMjIuNzk1NDIsMCBjIDIuNzcxNSw3Ljk5OTI5IDEuNzg3NDEsMTEuMjQ5NTggLTQuNDkzNTQsMTcuNzE2NTUgbCA0LjQ5MzU0LC0xNy43MTY1NSB6IiAvPg0KPC9zdmc+DQo8IS0tIFRoaXMgd29yayBpcyBsaWNlbnNlZCB1bmRlciBhIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmVBbGlrZSA0LjAgSW50ZXJuYXRpb25hbCBMaWNlbnNlLiAtLT4NCjwhLS0gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvNC4wLyAtLT4NCg==") no-repeat fixed 50%/70% 70%,linear-gradient(180deg,#750000 0,#340404);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff750000",endColorstr="#ff340404",GradientType=0)}body.syndicate .normal{color:#40628a}body.syndicate .good{color:#73e573}body.syndicate .average{color:#be6209}body.syndicate .bad{color:#b00e0e}body.syndicate .highlight{color:#000}body.syndicate main{display:block;margin-top:32px;padding:2px 6px 0}body.syndicate hr{height:2px;background-color:#272727;border:none}body.syndicate .hidden{display:none}body.syndicate .bar .barText,body.syndicate span.button{color:#fff;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.syndicate .bold{font-weight:700}body.syndicate .italic{font-style:italic}body.syndicate [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.syndicate div[data-tooltip],body.syndicate span[data-tooltip]{position:relative}body.syndicate div[data-tooltip]:after,body.syndicate span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #272727;background-color:#363636}body.syndicate div[data-tooltip]:hover:after,body.syndicate span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.syndicate div[data-tooltip].tooltip-top:after,body.syndicate span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.syndicate div[data-tooltip].tooltip-top:hover:after,body.syndicate span[data-tooltip].tooltip-top:hover:after{-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.syndicate div[data-tooltip].tooltip-bottom:after,body.syndicate span[data-tooltip].tooltip-bottom:after{top:100%;left:50%;-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.syndicate div[data-tooltip].tooltip-bottom:hover:after,body.syndicate span[data-tooltip].tooltip-bottom:hover:after{-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.syndicate div[data-tooltip].tooltip-left:after,body.syndicate span[data-tooltip].tooltip-left:after{top:50%;right:100%;-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-left:hover:after,body.syndicate span[data-tooltip].tooltip-left:hover:after{-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-right:after,body.syndicate span[data-tooltip].tooltip-right:after{top:50%;left:100%;-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-right:hover:after,body.syndicate span[data-tooltip].tooltip-right:hover:after{-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.syndicate .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #000;background:#272727}body.syndicate .bar .barText{position:absolute;top:0;right:3px}body.syndicate .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#000}body.syndicate .bar .barFill.good{background-color:#73e573}body.syndicate .bar .barFill.average{background-color:#be6209}body.syndicate .bar .barFill.bad{background-color:#b00e0e}body.syndicate span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #272727}body.syndicate span.button .fa{padding-right:2px}body.syndicate span.button.normal{transition:background-color .5s;background-color:#397439}body.syndicate span.button.normal.active:focus,body.syndicate span.button.normal.active:hover{transition:background-color .25s;background-color:#4a964a;outline:0}body.syndicate span.button.disabled{transition:background-color .5s;background-color:#363636}body.syndicate span.button.disabled.active:focus,body.syndicate span.button.disabled.active:hover{transition:background-color .25s;background-color:#545454;outline:0}body.syndicate span.button.selected{transition:background-color .5s;background-color:#9d0808}body.syndicate span.button.selected.active:focus,body.syndicate span.button.selected.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.syndicate span.button.toggle{transition:background-color .5s;background-color:#9d0808}body.syndicate span.button.toggle.active:focus,body.syndicate span.button.toggle.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.syndicate span.button.caution{transition:background-color .5s;background-color:#be6209}body.syndicate span.button.caution.active:focus,body.syndicate span.button.caution.active:hover{transition:background-color .25s;background-color:#eb790b;outline:0}body.syndicate span.button.danger{transition:background-color .5s;background-color:#9a9d00}body.syndicate span.button.danger.active:focus,body.syndicate span.button.danger.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.syndicate span.button.gridable{width:125px;margin:2px 0}body.syndicate span.button+span:not(.button),body.syndicate span:not(.button)+span.button{margin-left:5px}body.syndicate div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000);background-color:rgba(0,0,0,.5);box-shadow:inset 0 0 5px rgba(0,0,0,.75)}body.syndicate div.display header,body.syndicate div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #272727}body.syndicate div.display header .buttonRight,body.syndicate div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.syndicate div.display article,body.syndicate div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.syndicate input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#fff;background-color:#9d0808;border:1px solid #272727}body.syndicate input::-webkit-input-placeholder{color:#999}body.syndicate input:-ms-input-placeholder{color:#999}body.syndicate input::placeholder{color:#999}body.syndicate input::-ms-clear{display:none}body.syndicate svg.linegraph{overflow:hidden}body.syndicate div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#750000;background-image:repeating-linear-gradient(-45deg,#750000,#750000 10px,#910101 0,#910101 20px)}body.syndicate div.notice .label{color:#000}body.syndicate div.notice .content:only-of-type{padding:0}body.syndicate div.notice hr{background-color:#272727}body.syndicate div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-ms-transform:rotate(1turn);transform:rotate(1turn)}body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.syndicate section{display:table-row;width:100%}body.syndicate section:not(:first-child){padding-top:4px}body.syndicate section.candystripe:nth-child(2n){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.syndicate section .label{width:1%;padding-right:32px;white-space:nowrap;color:#fff}body.syndicate section .content:not(:last-child){padding-right:16px}body.syndicate section .line{width:100%}body.syndicate div.subdisplay{width:100%;margin:0}body.syndicate header.titlebar .close,body.syndicate header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#e74242}body.syndicate header.titlebar .close:hover,body.syndicate header.titlebar .minimize:hover{color:#eb5e5e}body.syndicate header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.syndicate header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.syndicate header.titlebar .title{position:absolute;top:6px;left:46px;color:#e74242;font-size:16px;white-space:nowrap}body.syndicate header.titlebar .minimize{position:absolute;top:6px;right:46px}body.syndicate header.titlebar .close{position:absolute;top:4px;right:12px}.no-icons header.titlebar .statusicon{font-size:20px}.no-icons header.titlebar .statusicon:after{content:"O"}.no-icons header.titlebar .minimize{top:-2px;font-size:20px}.no-icons header.titlebar .minimize:after{content:"—"}.no-icons header.titlebar .close{font-size:20px}.no-icons header.titlebar .close:after{content:"X"}
\ No newline at end of file
diff --git a/tgui/assets/tgui.js b/tgui/assets/tgui.js
index 91d54d3871..9149710c78 100644
--- a/tgui/assets/tgui.js
+++ b/tgui/assets/tgui.js
@@ -1,3 +1,4 @@
+
require=function t(e,n,a){function r(o,s){if(!n[o]){if(!e[o]){var p="function"==typeof require&&require;if(!s&&p)return p(o,!0);if(i)return i(o,!0);var u=Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){var n=e[o][1][t];return r(n?n:t)},c,c.exports,t,e,n,a)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o=0;--a){var r=this.tryEntries[a],i=r.completion;if("root"===r.tryLoc)return e("end");if(r.tryLoc<=this.prev){var o=b.call(r,"catchLoc"),s=b.call(r,"finallyLoc");if(o&&s){if(this.prev=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&b.call(a,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),d(n),E}},"catch":function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var a=n.completion;if("throw"===a.type){var r=a.arg;d(n)}return r}}throw Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:m(t),resultName:e,nextLoc:n},E}}}("object"==typeof n?n:"object"==typeof window?window:"object"==typeof self?self:this)}).call(this,t(190),void 0!==n?n:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{190:190}],3:[function(t,e,n){e.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},{}],4:[function(t,e,n){var a=t(84)("unscopables"),r=Array.prototype;void 0==r[a]&&t(32)(r,a,{}),e.exports=function(t){r[a][t]=!0}},{32:32,84:84}],5:[function(t,e,n){var a=t(39);e.exports=function(t){if(!a(t))throw TypeError(t+" is not an object!");return t}},{39:39}],6:[function(t,e,n){"use strict";var a=t(81),r=t(77),i=t(80);e.exports=[].copyWithin||function(t,e){var n=a(this),o=i(n.length),s=r(t,o),p=r(e,o),u=arguments,c=u.length>2?u[2]:void 0,l=Math.min((void 0===c?o:r(c,o))-p,o-s),f=1;for(s>p&&p+l>s&&(f=-1,p+=l-1,s+=l-1);l-- >0;)p in n?n[s]=n[p]:delete n[s],s+=f,p+=f;return n}},{77:77,80:80,81:81}],7:[function(t,e,n){"use strict";var a=t(81),r=t(77),i=t(80);e.exports=[].fill||function(t){for(var e=a(this),n=i(e.length),o=arguments,s=o.length,p=r(s>1?o[1]:void 0,n),u=s>2?o[2]:void 0,c=void 0===u?n:r(u,n);c>p;)e[p++]=t;return e}},{77:77,80:80,81:81}],8:[function(t,e,n){var a=t(79),r=t(80),i=t(77);e.exports=function(t){return function(e,n,o){var s,p=a(e),u=r(p.length),c=i(o,u);if(t&&n!=n){for(;u>c;)if(s=p[c++],s!=s)return!0}else for(;u>c;c++)if((t||c in p)&&p[c]===n)return t||c;return!t&&-1}}},{77:77,79:79,80:80}],9:[function(t,e,n){var a=t(18),r=t(35),i=t(81),o=t(80),s=t(10);e.exports=function(t){var e=1==t,n=2==t,p=3==t,u=4==t,c=6==t,l=5==t||c;return function(f,d,h){for(var m,v,g=i(f),b=r(g),y=a(d,h,3),_=o(b.length),x=0,w=e?s(f,_):n?s(f,0):void 0;_>x;x++)if((l||x in b)&&(m=b[x],v=y(m,x,g),t))if(e)w[x]=v;else if(v)switch(t){case 3:return!0;case 5:return m;case 6:return x;case 2:w.push(m)}else if(u)return!1;return c?-1:p||u?u:w}}},{10:10,18:18,35:35,80:80,81:81}],10:[function(t,e,n){var a=t(39),r=t(37),i=t(84)("species");e.exports=function(t,e){var n;return r(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!r(n.prototype)||(n=void 0),a(n)&&(n=n[i],null===n&&(n=void 0))),new(void 0===n?Array:n)(e)}},{37:37,39:39,84:84}],11:[function(t,e,n){var a=t(12),r=t(84)("toStringTag"),i="Arguments"==a(function(){return arguments}());e.exports=function(t){var e,n,o;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=(e=Object(t))[r])?n:i?a(e):"Object"==(o=a(e))&&"function"==typeof e.callee?"Arguments":o}},{12:12,84:84}],12:[function(t,e,n){var a={}.toString;e.exports=function(t){return a.call(t).slice(8,-1)}},{}],13:[function(t,e,n){"use strict";var a=t(47),r=t(32),i=t(61),o=t(18),s=t(70),p=t(19),u=t(28),c=t(43),l=t(45),f=t(83)("id"),d=t(31),h=t(39),m=t(66),v=t(20),g=Object.isExtensible||h,b=v?"_s":"size",y=0,_=function(t,e){if(!h(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!d(t,f)){if(!g(t))return"F";if(!e)return"E";r(t,f,++y)}return"O"+t[f]},x=function(t,e){var n,a=_(e);if("F"!==a)return t._i[a];for(n=t._f;n;n=n.n)if(n.k==e)return n};e.exports={getConstructor:function(t,e,n,r){var c=t(function(t,i){s(t,c,e),t._i=a.create(null),t._f=void 0,t._l=void 0,t[b]=0,void 0!=i&&u(i,n,t[r],t)});return i(c.prototype,{clear:function(){for(var t=this,e=t._i,n=t._f;n;n=n.n)n.r=!0,n.p&&(n.p=n.p.n=void 0),delete e[n.i];t._f=t._l=void 0,t[b]=0},"delete":function(t){var e=this,n=x(e,t);if(n){var a=n.n,r=n.p;delete e._i[n.i],n.r=!0,r&&(r.n=a),a&&(a.p=r),e._f==n&&(e._f=a),e._l==n&&(e._l=r),e[b]--}return!!n},forEach:function(t){for(var e,n=o(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.n:this._f;)for(n(e.v,e.k,this);e&&e.r;)e=e.p},has:function(t){return!!x(this,t)}}),v&&a.setDesc(c.prototype,"size",{get:function(){return p(this[b])}}),c},def:function(t,e,n){var a,r,i=x(t,e);return i?i.v=n:(t._l=i={i:r=_(e,!0),k:e,v:n,p:a=t._l,n:void 0,r:!1},t._f||(t._f=i),a&&(a.n=i),t[b]++,"F"!==r&&(t._i[r]=i)),t},getEntry:x,setStrong:function(t,e,n){c(t,e,function(t,e){this._t=t,this._k=e,this._l=void 0},function(){for(var t=this,e=t._k,n=t._l;n&&n.r;)n=n.p;return t._t&&(t._l=n=n?n.n:t._t._f)?"keys"==e?l(0,n.k):"values"==e?l(0,n.v):l(0,[n.k,n.v]):(t._t=void 0,l(1))},n?"entries":"values",!n,!0),m(e)}}},{18:18,19:19,20:20,28:28,31:31,32:32,39:39,43:43,45:45,47:47,61:61,66:66,70:70,83:83}],14:[function(t,e,n){var a=t(28),r=t(11);e.exports=function(t){return function(){if(r(this)!=t)throw TypeError(t+"#toJSON isn't generic");var e=[];return a(this,!1,e.push,e),e}}},{11:11,28:28}],15:[function(t,e,n){"use strict";var a=t(32),r=t(61),i=t(5),o=t(39),s=t(70),p=t(28),u=t(9),c=t(31),l=t(83)("weak"),f=Object.isExtensible||o,d=u(5),h=u(6),m=0,v=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},b=function(t,e){return d(t.a,function(t){return t[0]===e})};g.prototype={get:function(t){var e=b(this,t);return e?e[1]:void 0},has:function(t){return!!b(this,t)},set:function(t,e){var n=b(this,t);n?n[1]=e:this.a.push([t,e])},"delete":function(t){var e=h(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},e.exports={getConstructor:function(t,e,n,a){var i=t(function(t,r){s(t,i,e),t._i=m++,t._l=void 0,void 0!=r&&p(r,n,t[a],t)});return r(i.prototype,{"delete":function(t){return o(t)?f(t)?c(t,l)&&c(t[l],this._i)&&delete t[l][this._i]:v(this)["delete"](t):!1},has:function(t){return o(t)?f(t)?c(t,l)&&c(t[l],this._i):v(this).has(t):!1}}),i},def:function(t,e,n){return f(i(e))?(c(e,l)||a(e,l,{}),e[l][t._i]=n):v(t).set(e,n),t},frozenStore:v,WEAK:l}},{28:28,31:31,32:32,39:39,5:5,61:61,70:70,83:83,9:9}],16:[function(t,e,n){"use strict";var a=t(30),r=t(23),i=t(62),o=t(61),s=t(28),p=t(70),u=t(39),c=t(25),l=t(44),f=t(67);e.exports=function(t,e,n,d,h,m){var v=a[t],g=v,b=h?"set":"add",y=g&&g.prototype,_={},x=function(t){var e=y[t];i(y,t,"delete"==t?function(t){return m&&!u(t)?!1:e.call(this,0===t?0:t)}:"has"==t?function(t){return m&&!u(t)?!1:e.call(this,0===t?0:t)}:"get"==t?function(t){return m&&!u(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof g&&(m||y.forEach&&!c(function(){(new g).entries().next()}))){var w,k=new g,P=k[b](m?{}:-0,1)!=k,C=c(function(){k.has(1)}),E=l(function(t){new g(t)});E||(g=e(function(e,n){p(e,g,t);var a=new v;return void 0!=n&&s(n,h,a[b],a),a}),g.prototype=y,y.constructor=g),m||k.forEach(function(t,e){w=1/e===-(1/0)}),(C||w)&&(x("delete"),x("has"),h&&x("get")),(w||P)&&x(b),m&&y.clear&&delete y.clear}else g=d.getConstructor(e,t,h,b),o(g.prototype,n);return f(g,t),_[t]=g,r(r.G+r.W+r.F*(g!=v),_),m||d.setStrong(g,t,h),g}},{23:23,25:25,28:28,30:30,39:39,44:44,61:61,62:62,67:67,70:70}],17:[function(t,e,n){var a=e.exports={version:"1.2.6"};"number"==typeof __e&&(__e=a)},{}],18:[function(t,e,n){var a=t(3);e.exports=function(t,e,n){if(a(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,a){return t.call(e,n,a)};case 3:return function(n,a,r){return t.call(e,n,a,r)}}return function(){return t.apply(e,arguments)}}},{3:3}],19:[function(t,e,n){e.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},{}],20:[function(t,e,n){e.exports=!t(25)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{25:25}],21:[function(t,e,n){var a=t(39),r=t(30).document,i=a(r)&&a(r.createElement);e.exports=function(t){return i?r.createElement(t):{}}},{30:30,39:39}],22:[function(t,e,n){var a=t(47);e.exports=function(t){var e=a.getKeys(t),n=a.getSymbols;if(n)for(var r,i=n(t),o=a.isEnum,s=0;i.length>s;)o.call(t,r=i[s++])&&e.push(r);return e}},{47:47}],23:[function(t,e,n){var a=t(30),r=t(17),i=t(32),o=t(62),s=t(18),p="prototype",u=function(t,e,n){var c,l,f,d,h=t&u.F,m=t&u.G,v=t&u.S,g=t&u.P,b=t&u.B,y=m?a:v?a[e]||(a[e]={}):(a[e]||{})[p],_=m?r:r[e]||(r[e]={}),x=_[p]||(_[p]={});m&&(n=e);for(c in n)l=!h&&y&&c in y,f=(l?y:n)[c],d=b&&l?s(f,a):g&&"function"==typeof f?s(Function.call,f):f,y&&!l&&o(y,c,f),_[c]!=f&&i(_,c,d),g&&x[c]!=f&&(x[c]=f)};a.core=r,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,e.exports=u},{17:17,18:18,30:30,32:32,62:62}],24:[function(t,e,n){var a=t(84)("match");e.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[a]=!1,!"/./"[t](e)}catch(r){}}return!0}},{84:84}],25:[function(t,e,n){e.exports=function(t){try{return!!t()}catch(e){return!0}}},{}],26:[function(t,e,n){"use strict";var a=t(32),r=t(62),i=t(25),o=t(19),s=t(84);e.exports=function(t,e,n){var p=s(t),u=""[t];i(function(){var e={};return e[p]=function(){return 7},7!=""[t](e)})&&(r(String.prototype,t,n(o,p,u)),a(RegExp.prototype,p,2==e?function(t,e){return u.call(t,this,e)}:function(t){return u.call(t,this)}))}},{19:19,25:25,32:32,62:62,84:84}],27:[function(t,e,n){"use strict";var a=t(5);e.exports=function(){var t=a(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},{5:5}],28:[function(t,e,n){var a=t(18),r=t(41),i=t(36),o=t(5),s=t(80),p=t(85);e.exports=function(t,e,n,u){var c,l,f,d=p(t),h=a(n,u,e?2:1),m=0;if("function"!=typeof d)throw TypeError(t+" is not iterable!");if(i(d))for(c=s(t.length);c>m;m++)e?h(o(l=t[m])[0],l[1]):h(t[m]);else for(f=d.call(t);!(l=f.next()).done;)r(f,h,l.value,e)}},{18:18,36:36,41:41,5:5,80:80,85:85}],29:[function(t,e,n){var a=t(79),r=t(47).getNames,i={}.toString,o="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(t){try{return r(t)}catch(e){return o.slice()}};e.exports.get=function(t){return o&&"[object Window]"==i.call(t)?s(t):r(a(t))}},{47:47,79:79}],30:[function(t,e,n){var a=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=a)},{}],31:[function(t,e,n){var a={}.hasOwnProperty;e.exports=function(t,e){return a.call(t,e)}},{}],32:[function(t,e,n){var a=t(47),r=t(60);e.exports=t(20)?function(t,e,n){return a.setDesc(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},{20:20,47:47,60:60}],33:[function(t,e,n){e.exports=t(30).document&&document.documentElement},{30:30}],34:[function(t,e,n){e.exports=function(t,e,n){var a=void 0===n;switch(e.length){case 0:return a?t():t.call(n);case 1:return a?t(e[0]):t.call(n,e[0]);case 2:return a?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return a?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return a?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},{}],35:[function(t,e,n){var a=t(12);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==a(t)?t.split(""):Object(t)}},{12:12}],36:[function(t,e,n){var a=t(46),r=t(84)("iterator"),i=Array.prototype;e.exports=function(t){return void 0!==t&&(a.Array===t||i[r]===t)}},{46:46,84:84}],37:[function(t,e,n){var a=t(12);e.exports=Array.isArray||function(t){return"Array"==a(t)}},{12:12}],38:[function(t,e,n){var a=t(39),r=Math.floor;e.exports=function(t){return!a(t)&&isFinite(t)&&r(t)===t}},{39:39}],39:[function(t,e,n){e.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},{}],40:[function(t,e,n){var a=t(39),r=t(12),i=t(84)("match");e.exports=function(t){var e;return a(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==r(t))}},{12:12,39:39,84:84}],41:[function(t,e,n){var a=t(5);e.exports=function(t,e,n,r){try{return r?e(a(n)[0],n[1]):e(n)}catch(i){var o=t["return"];throw void 0!==o&&a(o.call(t)),i}}},{5:5}],42:[function(t,e,n){"use strict";var a=t(47),r=t(60),i=t(67),o={};t(32)(o,t(84)("iterator"),function(){return this}),e.exports=function(t,e,n){t.prototype=a.create(o,{next:r(1,n)}),i(t,e+" Iterator")}},{32:32,47:47,60:60,67:67,84:84}],43:[function(t,e,n){"use strict";var a=t(49),r=t(23),i=t(62),o=t(32),s=t(31),p=t(46),u=t(42),c=t(67),l=t(47).getProto,f=t(84)("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",m="keys",v="values",g=function(){return this};e.exports=function(t,e,n,b,y,_,x){u(n,e,b);var w,k,P=function(t){if(!d&&t in A)return A[t];switch(t){case m:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},C=e+" Iterator",E=y==v,S=!1,A=t.prototype,O=A[f]||A[h]||y&&A[y],T=O||P(y);if(O){var M=l(T.call(new t));c(M,C,!0),!a&&s(A,h)&&o(M,f,g),E&&O.name!==v&&(S=!0,T=function(){return O.call(this)})}if(a&&!x||!d&&!S&&A[f]||o(A,f,T),p[e]=T,p[C]=g,y)if(w={values:E?T:P(v),keys:_?T:P(m),entries:E?P("entries"):T},x)for(k in w)k in A||i(A,k,w[k]);else r(r.P+r.F*(d||S),e,w);return w}},{23:23,31:31,32:32,42:42,46:46,47:47,49:49,62:62,67:67,84:84}],44:[function(t,e,n){var a=t(84)("iterator"),r=!1;try{var i=[7][a]();i["return"]=function(){r=!0},Array.from(i,function(){throw 2})}catch(o){}e.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var i=[7],o=i[a]();o.next=function(){n=!0},i[a]=function(){return o},t(i)}catch(s){}return n}},{84:84}],45:[function(t,e,n){e.exports=function(t,e){return{value:e,done:!!t}}},{}],46:[function(t,e,n){e.exports={}},{}],47:[function(t,e,n){var a=Object;e.exports={create:a.create,getProto:a.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:a.getOwnPropertyDescriptor,setDesc:a.defineProperty,setDescs:a.defineProperties,getKeys:a.keys,getNames:a.getOwnPropertyNames,getSymbols:a.getOwnPropertySymbols,each:[].forEach}},{}],48:[function(t,e,n){var a=t(47),r=t(79);e.exports=function(t,e){for(var n,i=r(t),o=a.getKeys(i),s=o.length,p=0;s>p;)if(i[n=o[p++]]===e)return n}},{47:47,79:79}],49:[function(t,e,n){e.exports=!1},{}],50:[function(t,e,n){e.exports=Math.expm1||function(t){return 0==(t=+t)?t:t>-1e-6&&1e-6>t?t+t*t/2:Math.exp(t)-1}},{}],51:[function(t,e,n){e.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&1e-8>t?t-t*t/2:Math.log(1+t)}},{}],52:[function(t,e,n){e.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:0>t?-1:1}},{}],53:[function(t,e,n){var a,r,i,o=t(30),s=t(76).set,p=o.MutationObserver||o.WebKitMutationObserver,u=o.process,c=o.Promise,l="process"==t(12)(u),f=function(){var t,e,n;for(l&&(t=u.domain)&&(u.domain=null,t.exit());a;)e=a.domain,n=a.fn,e&&e.enter(),n(),e&&e.exit(),a=a.next;r=void 0,t&&t.enter()};if(l)i=function(){u.nextTick(f)};else if(p){var d=1,h=document.createTextNode("");new p(f).observe(h,{characterData:!0}),i=function(){h.data=d=-d}}else i=c&&c.resolve?function(){c.resolve().then(f)}:function(){s.call(o,f)};e.exports=function(t){var e={fn:t,next:void 0,domain:l&&u.domain};r&&(r.next=e),a||(a=e,i()),r=e}},{12:12,30:30,76:76}],54:[function(t,e,n){var a=t(47),r=t(81),i=t(35);e.exports=t(25)(function(){var t=Object.assign,e={},n={},a=Symbol(),r="abcdefghijklmnopqrst";return e[a]=7,r.split("").forEach(function(t){n[t]=t}),7!=t({},e)[a]||Object.keys(t({},n)).join("")!=r})?function(t,e){for(var n=r(t),o=arguments,s=o.length,p=1,u=a.getKeys,c=a.getSymbols,l=a.isEnum;s>p;)for(var f,d=i(o[p++]),h=c?u(d).concat(c(d)):u(d),m=h.length,v=0;m>v;)l.call(d,f=h[v++])&&(n[f]=d[f]);return n}:Object.assign},{25:25,35:35,47:47,81:81}],55:[function(t,e,n){var a=t(23),r=t(17),i=t(25);e.exports=function(t,e){var n=(r.Object||{})[t]||Object[t],o={};o[t]=e(n),a(a.S+a.F*i(function(){n(1)}),"Object",o)}},{17:17,23:23,25:25}],56:[function(t,e,n){var a=t(47),r=t(79),i=a.isEnum;e.exports=function(t){return function(e){for(var n,o=r(e),s=a.getKeys(o),p=s.length,u=0,c=[];p>u;)i.call(o,n=s[u++])&&c.push(t?[n,o[n]]:o[n]);return c}}},{47:47,79:79}],57:[function(t,e,n){var a=t(47),r=t(5),i=t(30).Reflect;e.exports=i&&i.ownKeys||function(t){var e=a.getNames(r(t)),n=a.getSymbols;return n?e.concat(n(t)):e}},{30:30,47:47,5:5}],58:[function(t,e,n){"use strict";var a=t(59),r=t(34),i=t(3);e.exports=function(){for(var t=i(this),e=arguments.length,n=Array(e),o=0,s=a._,p=!1;e>o;)(n[o]=arguments[o++])===s&&(p=!0);return function(){var a,i=this,o=arguments,u=o.length,c=0,l=0;if(!p&&!u)return r(t,n,i);if(a=n.slice(),p)for(;e>c;c++)a[c]===s&&(a[c]=o[l++]);for(;u>l;)a.push(o[l++]);return r(t,a,i)}}},{3:3,34:34,59:59}],59:[function(t,e,n){e.exports=t(30)},{30:30}],60:[function(t,e,n){e.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},{}],61:[function(t,e,n){var a=t(62);e.exports=function(t,e){for(var n in e)a(t,n,e[n]);return t}},{62:62}],62:[function(t,e,n){var a=t(30),r=t(32),i=t(83)("src"),o="toString",s=Function[o],p=(""+s).split(o);t(17).inspectSource=function(t){return s.call(t)},(e.exports=function(t,e,n,o){"function"==typeof n&&(n.hasOwnProperty(i)||r(n,i,t[e]?""+t[e]:p.join(e+"")),n.hasOwnProperty("name")||r(n,"name",e)),t===a?t[e]=n:(o||delete t[e],r(t,e,n))})(Function.prototype,o,function(){return"function"==typeof this&&this[i]||s.call(this)})},{17:17,30:30,32:32,83:83}],63:[function(t,e,n){e.exports=function(t,e){var n=e===Object(e)?function(t){return e[t]}:e;return function(e){return(e+"").replace(t,n)}}},{}],64:[function(t,e,n){e.exports=Object.is||function(t,e){return t===e?0!==t||1/t===1/e:t!=t&&e!=e}},{}],65:[function(t,e,n){var a=t(47).getDesc,r=t(39),i=t(5),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,n,r){try{r=t(18)(Function.call,a(Object.prototype,"__proto__").set,2),r(e,[]),n=!(e instanceof Array)}catch(i){n=!0}return function(t,e){return o(t,e),n?t.__proto__=e:r(t,e),t}}({},!1):void 0),check:o}},{18:18,39:39,47:47,5:5}],66:[function(t,e,n){"use strict";var a=t(30),r=t(47),i=t(20),o=t(84)("species");e.exports=function(t){var e=a[t];i&&e&&!e[o]&&r.setDesc(e,o,{configurable:!0,get:function(){return this}})}},{20:20,30:30,47:47,84:84}],67:[function(t,e,n){var a=t(47).setDesc,r=t(31),i=t(84)("toStringTag");e.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,i)&&a(t,i,{configurable:!0,value:e})}},{31:31,47:47,84:84}],68:[function(t,e,n){var a=t(30),r="__core-js_shared__",i=a[r]||(a[r]={});e.exports=function(t){return i[t]||(i[t]={})}},{30:30}],69:[function(t,e,n){var a=t(5),r=t(3),i=t(84)("species");e.exports=function(t,e){var n,o=a(t).constructor;return void 0===o||void 0==(n=a(o)[i])?e:r(n)}},{3:3,5:5,84:84}],70:[function(t,e,n){e.exports=function(t,e,n){if(!(t instanceof e))throw TypeError(n+": use the 'new' operator!");return t}},{}],71:[function(t,e,n){var a=t(78),r=t(19);e.exports=function(t){return function(e,n){var i,o,s=r(e)+"",p=a(n),u=s.length;return 0>p||p>=u?t?"":void 0:(i=s.charCodeAt(p),55296>i||i>56319||p+1===u||(o=s.charCodeAt(p+1))<56320||o>57343?t?s.charAt(p):i:t?s.slice(p,p+2):(i-55296<<10)+(o-56320)+65536)}}},{19:19,78:78}],72:[function(t,e,n){var a=t(40),r=t(19);e.exports=function(t,e,n){if(a(e))throw TypeError("String#"+n+" doesn't accept regex!");return r(t)+""}},{19:19,40:40}],73:[function(t,e,n){var a=t(80),r=t(74),i=t(19);e.exports=function(t,e,n,o){var s=i(t)+"",p=s.length,u=void 0===n?" ":n+"",c=a(e);if(p>=c)return s;""==u&&(u=" ");var l=c-p,f=r.call(u,Math.ceil(l/u.length));return f.length>l&&(f=f.slice(0,l)),o?f+s:s+f}},{19:19,74:74,80:80}],74:[function(t,e,n){"use strict";var a=t(78),r=t(19);e.exports=function(t){var e=r(this)+"",n="",i=a(t);if(0>i||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},{19:19,78:78}],75:[function(t,e,n){var a=t(23),r=t(19),i=t(25),o=" \n\x0B\f\r \u2028\u2029\ufeff",s="["+o+"]",p="
",u=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),l=function(t,e){var n={};n[t]=e(f),a(a.P+a.F*i(function(){return!!o[t]()||p[t]()!=p}),"String",n)},f=l.trim=function(t,e){return t=r(t)+"",1&e&&(t=t.replace(u,"")),2&e&&(t=t.replace(c,"")),t};e.exports=l},{19:19,23:23,25:25}],76:[function(t,e,n){var a,r,i,o=t(18),s=t(34),p=t(33),u=t(21),c=t(30),l=c.process,f=c.setImmediate,d=c.clearImmediate,h=c.MessageChannel,m=0,v={},g="onreadystatechange",b=function(){var t=+this;if(v.hasOwnProperty(t)){var e=v[t];delete v[t],e()}},y=function(t){b.call(t.data)};f&&d||(f=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return v[++m]=function(){s("function"==typeof t?t:Function(t),e)},a(m),m},d=function(t){delete v[t]},"process"==t(12)(l)?a=function(t){l.nextTick(o(b,t,1))}:h?(r=new h,i=r.port2,r.port1.onmessage=y,a=o(i.postMessage,i,1)):c.addEventListener&&"function"==typeof postMessage&&!c.importScripts?(a=function(t){c.postMessage(t+"","*")},c.addEventListener("message",y,!1)):a=g in u("script")?function(t){p.appendChild(u("script"))[g]=function(){p.removeChild(this),b.call(t)}}:function(t){setTimeout(o(b,t,1),0)}),e.exports={set:f,clear:d}},{12:12,18:18,21:21,30:30,33:33,34:34}],77:[function(t,e,n){var a=t(78),r=Math.max,i=Math.min;e.exports=function(t,e){return t=a(t),0>t?r(t+e,0):i(t,e)}},{78:78}],78:[function(t,e,n){var a=Math.ceil,r=Math.floor;e.exports=function(t){return isNaN(t=+t)?0:(t>0?r:a)(t)}},{}],79:[function(t,e,n){var a=t(35),r=t(19);e.exports=function(t){return a(r(t))}},{19:19,35:35}],80:[function(t,e,n){var a=t(78),r=Math.min;e.exports=function(t){return t>0?r(a(t),9007199254740991):0}},{78:78}],81:[function(t,e,n){var a=t(19);e.exports=function(t){return Object(a(t))}},{19:19}],82:[function(t,e,n){var a=t(39);e.exports=function(t,e){if(!a(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!a(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!a(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!a(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},{39:39}],83:[function(t,e,n){var a=0,r=Math.random();e.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++a+r).toString(36))}},{}],84:[function(t,e,n){var a=t(68)("wks"),r=t(83),i=t(30).Symbol;e.exports=function(t){return a[t]||(a[t]=i&&i[t]||(i||r)("Symbol."+t))}},{30:30,68:68,83:83}],85:[function(t,e,n){var a=t(11),r=t(84)("iterator"),i=t(46);e.exports=t(17).getIteratorMethod=function(t){return void 0!=t?t[r]||t["@@iterator"]||i[a(t)]:void 0}},{11:11,17:17,46:46,84:84}],86:[function(t,e,n){"use strict";var a,r=t(47),i=t(23),o=t(20),s=t(60),p=t(33),u=t(21),c=t(31),l=t(12),f=t(34),d=t(25),h=t(5),m=t(3),v=t(39),g=t(81),b=t(79),y=t(78),_=t(77),x=t(80),w=t(35),k=t(83)("__proto__"),P=t(9),C=t(8)(!1),E=Object.prototype,S=Array.prototype,A=S.slice,O=S.join,T=r.setDesc,M=r.getDesc,R=r.setDescs,j={};o||(a=!d(function(){return 7!=T(u("div"),"a",{get:function(){return 7}}).a}),r.setDesc=function(t,e,n){if(a)try{return T(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(h(t)[e]=n.value),t},r.getDesc=function(t,e){if(a)try{return M(t,e)}catch(n){}return c(t,e)?s(!E.propertyIsEnumerable.call(t,e),t[e]):void 0},r.setDescs=R=function(t,e){h(t);for(var n,a=r.getKeys(e),i=a.length,o=0;i>o;)r.setDesc(t,n=a[o++],e[n]);return t}),i(i.S+i.F*!o,"Object",{getOwnPropertyDescriptor:r.getDesc,defineProperty:r.setDesc,defineProperties:R});var L="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),N=L.concat("length","prototype"),D=L.length,F=function(){var t,e=u("iframe"),n=D,a=">";for(e.style.display="none",p.appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("i;)c(r,a=t[i++])&&(~C(o,a)||o.push(a));return o}},B=function(){};i(i.S,"Object",{getPrototypeOf:r.getProto=r.getProto||function(t){return t=g(t),c(t,k)?t[k]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?E:null},getOwnPropertyNames:r.getNames=r.getNames||I(N,N.length,!0),create:r.create=r.create||function(t,e){var n;return null!==t?(B.prototype=h(t),n=new B,B.prototype=null,n[k]=t):n=F(),void 0===e?n:R(n,e)},keys:r.getKeys=r.getKeys||I(L,D,!1)});var q=function(t,e,n){if(!(e in j)){for(var a=[],r=0;e>r;r++)a[r]="a["+r+"]";j[e]=Function("F,a","return new F("+a.join(",")+")")}return j[e](t,n)};i(i.P,"Function",{bind:function(t){var e=m(this),n=A.call(arguments,1),a=function(){var r=n.concat(A.call(arguments));return this instanceof a?q(e,r.length,r):f(e,r,t)};return v(e.prototype)&&(a.prototype=e.prototype),a}}),i(i.P+i.F*d(function(){p&&A.call(p)}),"Array",{slice:function(t,e){var n=x(this.length),a=l(this);if(e=void 0===e?n:e,"Array"==a)return A.call(this,t,e);for(var r=_(t,n),i=_(e,n),o=x(i-r),s=Array(o),p=0;o>p;p++)s[p]="String"==a?this.charAt(r+p):this[r+p];return s}}),i(i.P+i.F*(w!=Object),"Array",{join:function(t){return O.call(w(this),void 0===t?",":t)}}),i(i.S,"Array",{isArray:t(37)});var G=function(t){return function(e,n){m(e);var a=w(this),r=x(a.length),i=t?r-1:0,o=t?-1:1;if(arguments.length<2)for(;;){if(i in a){n=a[i],i+=o;break}if(i+=o,t?0>i:i>=r)throw TypeError("Reduce of empty array with no initial value")}for(;t?i>=0:r>i;i+=o)i in a&&(n=e(n,a[i],i,this));return n}},U=function(t){return function(e){return t(this,e,arguments[1])}};i(i.P,"Array",{forEach:r.each=r.each||U(P(0)),map:U(P(1)),filter:U(P(2)),some:U(P(3)),every:U(P(4)),reduce:G(!1),reduceRight:G(!0),indexOf:U(C),lastIndexOf:function(t,e){var n=b(this),a=x(n.length),r=a-1;for(arguments.length>1&&(r=Math.min(r,y(e))),0>r&&(r=x(a+r));r>=0;r--)if(r in n&&n[r]===t)return r;return-1}}),i(i.S,"Date",{now:function(){return+new Date}});var V=function(t){return t>9?t:"0"+t};i(i.P+i.F*(d(function(){return"0385-07-25T07:06:39.999Z"!=new Date(-5e13-1).toISOString()})||!d(function(){new Date(NaN).toISOString()})),"Date",{toISOString:function(){if(!isFinite(this))throw RangeError("Invalid time value");var t=this,e=t.getUTCFullYear(),n=t.getUTCMilliseconds(),a=0>e?"-":e>9999?"+":"";return a+("00000"+Math.abs(e)).slice(a?-6:-4)+"-"+V(t.getUTCMonth()+1)+"-"+V(t.getUTCDate())+"T"+V(t.getUTCHours())+":"+V(t.getUTCMinutes())+":"+V(t.getUTCSeconds())+"."+(n>99?n:"0"+V(n))+"Z";
}})},{12:12,20:20,21:21,23:23,25:25,3:3,31:31,33:33,34:34,35:35,37:37,39:39,47:47,5:5,60:60,77:77,78:78,79:79,8:8,80:80,81:81,83:83,9:9}],87:[function(t,e,n){var a=t(23);a(a.P,"Array",{copyWithin:t(6)}),t(4)("copyWithin")},{23:23,4:4,6:6}],88:[function(t,e,n){var a=t(23);a(a.P,"Array",{fill:t(7)}),t(4)("fill")},{23:23,4:4,7:7}],89:[function(t,e,n){"use strict";var a=t(23),r=t(9)(6),i="findIndex",o=!0;i in[]&&Array(1)[i](function(){o=!1}),a(a.P+a.F*o,"Array",{findIndex:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),t(4)(i)},{23:23,4:4,9:9}],90:[function(t,e,n){"use strict";var a=t(23),r=t(9)(5),i="find",o=!0;i in[]&&Array(1)[i](function(){o=!1}),a(a.P+a.F*o,"Array",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),t(4)(i)},{23:23,4:4,9:9}],91:[function(t,e,n){"use strict";var a=t(18),r=t(23),i=t(81),o=t(41),s=t(36),p=t(80),u=t(85);r(r.S+r.F*!t(44)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,r,c,l=i(t),f="function"==typeof this?this:Array,d=arguments,h=d.length,m=h>1?d[1]:void 0,v=void 0!==m,g=0,b=u(l);if(v&&(m=a(m,h>2?d[2]:void 0,2)),void 0==b||f==Array&&s(b))for(e=p(l.length),n=new f(e);e>g;g++)n[g]=v?m(l[g],g):l[g];else for(c=b.call(l),n=new f;!(r=c.next()).done;g++)n[g]=v?o(c,m,[r.value,g],!0):r.value;return n.length=g,n}})},{18:18,23:23,36:36,41:41,44:44,80:80,81:81,85:85}],92:[function(t,e,n){"use strict";var a=t(4),r=t(45),i=t(46),o=t(79);e.exports=t(43)(Array,"Array",function(t,e){this._t=o(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):"keys"==e?r(0,n):"values"==e?r(0,t[n]):r(0,[n,t[n]])},"values"),i.Arguments=i.Array,a("keys"),a("values"),a("entries")},{4:4,43:43,45:45,46:46,79:79}],93:[function(t,e,n){"use strict";var a=t(23);a(a.S+a.F*t(25)(function(){function t(){}return!(Array.of.call(t)instanceof t)}),"Array",{of:function(){for(var t=0,e=arguments,n=e.length,a=new("function"==typeof this?this:Array)(n);n>t;)a[t]=e[t++];return a.length=n,a}})},{23:23,25:25}],94:[function(t,e,n){t(66)("Array")},{66:66}],95:[function(t,e,n){"use strict";var a=t(47),r=t(39),i=t(84)("hasInstance"),o=Function.prototype;i in o||a.setDesc(o,i,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=a.getProto(t);)if(this.prototype===t)return!0;return!1}})},{39:39,47:47,84:84}],96:[function(t,e,n){var a=t(47).setDesc,r=t(60),i=t(31),o=Function.prototype,s=/^\s*function ([^ (]*)/,p="name";p in o||t(20)&&a(o,p,{configurable:!0,get:function(){var t=(""+this).match(s),e=t?t[1]:"";return i(this,p)||a(this,p,r(5,e)),e}})},{20:20,31:31,47:47,60:60}],97:[function(t,e,n){"use strict";var a=t(13);t(16)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=a.getEntry(this,t);return e&&e.v},set:function(t,e){return a.def(this,0===t?0:t,e)}},a,!0)},{13:13,16:16}],98:[function(t,e,n){var a=t(23),r=t(51),i=Math.sqrt,o=Math.acosh;a(a.S+a.F*!(o&&710==Math.floor(o(Number.MAX_VALUE))),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:r(t-1+i(t-1)*i(t+1))}})},{23:23,51:51}],99:[function(t,e,n){function a(t){return isFinite(t=+t)&&0!=t?0>t?-a(-t):Math.log(t+Math.sqrt(t*t+1)):t}var r=t(23);r(r.S,"Math",{asinh:a})},{23:23}],100:[function(t,e,n){var a=t(23);a(a.S,"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},{23:23}],101:[function(t,e,n){var a=t(23),r=t(52);a(a.S,"Math",{cbrt:function(t){return r(t=+t)*Math.pow(Math.abs(t),1/3)}})},{23:23,52:52}],102:[function(t,e,n){var a=t(23);a(a.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},{23:23}],103:[function(t,e,n){var a=t(23),r=Math.exp;a(a.S,"Math",{cosh:function(t){return(r(t=+t)+r(-t))/2}})},{23:23}],104:[function(t,e,n){var a=t(23);a(a.S,"Math",{expm1:t(50)})},{23:23,50:50}],105:[function(t,e,n){var a=t(23),r=t(52),i=Math.pow,o=i(2,-52),s=i(2,-23),p=i(2,127)*(2-s),u=i(2,-126),c=function(t){return t+1/o-1/o};a(a.S,"Math",{fround:function(t){var e,n,a=Math.abs(t),i=r(t);return u>a?i*c(a/u/s)*u*s:(e=(1+s/o)*a,n=e-(e-a),n>p||n!=n?i*(1/0):i*n)}})},{23:23,52:52}],106:[function(t,e,n){var a=t(23),r=Math.abs;a(a.S,"Math",{hypot:function(t,e){for(var n,a,i=0,o=0,s=arguments,p=s.length,u=0;p>o;)n=r(s[o++]),n>u?(a=u/n,i=i*a*a+1,u=n):n>0?(a=n/u,i+=a*a):i+=n;return u===1/0?1/0:u*Math.sqrt(i)}})},{23:23}],107:[function(t,e,n){var a=t(23),r=Math.imul;a(a.S+a.F*t(25)(function(){return-5!=r(4294967295,5)||2!=r.length}),"Math",{imul:function(t,e){var n=65535,a=+t,r=+e,i=n&a,o=n&r;return 0|i*o+((n&a>>>16)*o+i*(n&r>>>16)<<16>>>0)}})},{23:23,25:25}],108:[function(t,e,n){var a=t(23);a(a.S,"Math",{log10:function(t){return Math.log(t)/Math.LN10}})},{23:23}],109:[function(t,e,n){var a=t(23);a(a.S,"Math",{log1p:t(51)})},{23:23,51:51}],110:[function(t,e,n){var a=t(23);a(a.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},{23:23}],111:[function(t,e,n){var a=t(23);a(a.S,"Math",{sign:t(52)})},{23:23,52:52}],112:[function(t,e,n){var a=t(23),r=t(50),i=Math.exp;a(a.S+a.F*t(25)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(r(t)-r(-t))/2:(i(t-1)-i(-t-1))*(Math.E/2)}})},{23:23,25:25,50:50}],113:[function(t,e,n){var a=t(23),r=t(50),i=Math.exp;a(a.S,"Math",{tanh:function(t){var e=r(t=+t),n=r(-t);return e==1/0?1:n==1/0?-1:(e-n)/(i(t)+i(-t))}})},{23:23,50:50}],114:[function(t,e,n){var a=t(23);a(a.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},{23:23}],115:[function(t,e,n){"use strict";var a=t(47),r=t(30),i=t(31),o=t(12),s=t(82),p=t(25),u=t(75).trim,c="Number",l=r[c],f=l,d=l.prototype,h=o(a.create(d))==c,m="trim"in String.prototype,v=function(t){var e=s(t,!1);if("string"==typeof e&&e.length>2){e=m?e.trim():u(e,3);var n,a,r,i=e.charCodeAt(0);if(43===i||45===i){if(n=e.charCodeAt(2),88===n||120===n)return NaN}else if(48===i){switch(e.charCodeAt(1)){case 66:case 98:a=2,r=49;break;case 79:case 111:a=8,r=55;break;default:return+e}for(var o,p=e.slice(2),c=0,l=p.length;l>c;c++)if(o=p.charCodeAt(c),48>o||o>r)return NaN;return parseInt(p,a)}}return+e};l(" 0o1")&&l("0b1")&&!l("+0x1")||(l=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof l&&(h?p(function(){d.valueOf.call(n)}):o(n)!=c)?new f(v(e)):v(e)},a.each.call(t(20)?a.getNames(f):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),function(t){i(f,t)&&!i(l,t)&&a.setDesc(l,t,a.getDesc(f,t))}),l.prototype=d,d.constructor=l,t(62)(r,c,l))},{12:12,20:20,25:25,30:30,31:31,47:47,62:62,75:75,82:82}],116:[function(t,e,n){var a=t(23);a(a.S,"Number",{EPSILON:Math.pow(2,-52)})},{23:23}],117:[function(t,e,n){var a=t(23),r=t(30).isFinite;a(a.S,"Number",{isFinite:function(t){return"number"==typeof t&&r(t)}})},{23:23,30:30}],118:[function(t,e,n){var a=t(23);a(a.S,"Number",{isInteger:t(38)})},{23:23,38:38}],119:[function(t,e,n){var a=t(23);a(a.S,"Number",{isNaN:function(t){return t!=t}})},{23:23}],120:[function(t,e,n){var a=t(23),r=t(38),i=Math.abs;a(a.S,"Number",{isSafeInteger:function(t){return r(t)&&i(t)<=9007199254740991}})},{23:23,38:38}],121:[function(t,e,n){var a=t(23);a(a.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},{23:23}],122:[function(t,e,n){var a=t(23);a(a.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},{23:23}],123:[function(t,e,n){var a=t(23);a(a.S,"Number",{parseFloat:parseFloat})},{23:23}],124:[function(t,e,n){var a=t(23);a(a.S,"Number",{parseInt:parseInt})},{23:23}],125:[function(t,e,n){var a=t(23);a(a.S+a.F,"Object",{assign:t(54)})},{23:23,54:54}],126:[function(t,e,n){var a=t(39);t(55)("freeze",function(t){return function(e){return t&&a(e)?t(e):e}})},{39:39,55:55}],127:[function(t,e,n){var a=t(79);t(55)("getOwnPropertyDescriptor",function(t){return function(e,n){return t(a(e),n)}})},{55:55,79:79}],128:[function(t,e,n){t(55)("getOwnPropertyNames",function(){return t(29).get})},{29:29,55:55}],129:[function(t,e,n){var a=t(81);t(55)("getPrototypeOf",function(t){return function(e){return t(a(e))}})},{55:55,81:81}],130:[function(t,e,n){var a=t(39);t(55)("isExtensible",function(t){return function(e){return a(e)?t?t(e):!0:!1}})},{39:39,55:55}],131:[function(t,e,n){var a=t(39);t(55)("isFrozen",function(t){return function(e){return a(e)?t?t(e):!1:!0}})},{39:39,55:55}],132:[function(t,e,n){var a=t(39);t(55)("isSealed",function(t){return function(e){return a(e)?t?t(e):!1:!0}})},{39:39,55:55}],133:[function(t,e,n){var a=t(23);a(a.S,"Object",{is:t(64)})},{23:23,64:64}],134:[function(t,e,n){var a=t(81);t(55)("keys",function(t){return function(e){return t(a(e))}})},{55:55,81:81}],135:[function(t,e,n){var a=t(39);t(55)("preventExtensions",function(t){return function(e){return t&&a(e)?t(e):e}})},{39:39,55:55}],136:[function(t,e,n){var a=t(39);t(55)("seal",function(t){return function(e){return t&&a(e)?t(e):e}})},{39:39,55:55}],137:[function(t,e,n){var a=t(23);a(a.S,"Object",{setPrototypeOf:t(65).set})},{23:23,65:65}],138:[function(t,e,n){"use strict";var a=t(11),r={};r[t(84)("toStringTag")]="z",r+""!="[object z]"&&t(62)(Object.prototype,"toString",function(){return"[object "+a(this)+"]"},!0)},{11:11,62:62,84:84}],139:[function(t,e,n){"use strict";var a,r=t(47),i=t(49),o=t(30),s=t(18),p=t(11),u=t(23),c=t(39),l=t(5),f=t(3),d=t(70),h=t(28),m=t(65).set,v=t(64),g=t(84)("species"),b=t(69),y=t(53),_="Promise",x=o.process,w="process"==p(x),k=o[_],P=function(t){var e=new k(function(){});return t&&(e.constructor=Object),k.resolve(e)===e},C=function(){function e(t){var n=new k(t);return m(n,e.prototype),n}var n=!1;try{if(n=k&&k.resolve&&P(),m(e,k),e.prototype=r.create(k.prototype,{constructor:{value:e}}),e.resolve(5).then(function(){})instanceof e||(n=!1),n&&t(20)){var a=!1;k.resolve(r.setDesc({},"then",{get:function(){a=!0}})),n=a}}catch(i){n=!1}return n}(),E=function(t,e){return i&&t===k&&e===a?!0:v(t,e)},S=function(t){var e=l(t)[g];return void 0!=e?e:t},A=function(t){var e;return c(t)&&"function"==typeof(e=t.then)?e:!1},O=function(t){var e,n;this.promise=new t(function(t,a){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=a}),this.resolve=f(e),this.reject=f(n)},T=function(t){try{t()}catch(e){return{error:e}}},M=function(t,e){if(!t.n){t.n=!0;var n=t.c;y(function(){for(var a=t.v,r=1==t.s,i=0,s=function(e){var n,i,o=r?e.ok:e.fail,s=e.resolve,p=e.reject;try{o?(r||(t.h=!0),n=o===!0?a:o(a),n===e.promise?p(TypeError("Promise-chain cycle")):(i=A(n))?i.call(n,s,p):s(n)):p(a)}catch(u){p(u)}};n.length>i;)s(n[i++]);n.length=0,t.n=!1,e&&setTimeout(function(){var e,n,r=t.p;R(r)&&(w?x.emit("unhandledRejection",a,r):(e=o.onunhandledrejection)?e({promise:r,reason:a}):(n=o.console)&&n.error&&n.error("Unhandled promise rejection",a)),t.a=void 0},1)})}},R=function(t){var e,n=t._d,a=n.a||n.c,r=0;if(n.h)return!1;for(;a.length>r;)if(e=a[r++],e.fail||!R(e.promise))return!1;return!0},j=function(t){var e=this;e.d||(e.d=!0,e=e.r||e,e.v=t,e.s=2,e.a=e.c.slice(),M(e,!0))},L=function(t){var e,n=this;if(!n.d){n.d=!0,n=n.r||n;try{if(n.p===t)throw TypeError("Promise can't be resolved itself");(e=A(t))?y(function(){var a={r:n,d:!1};try{e.call(t,s(L,a,1),s(j,a,1))}catch(r){j.call(a,r)}}):(n.v=t,n.s=1,M(n,!1))}catch(a){j.call({r:n,d:!1},a)}}};C||(k=function(t){f(t);var e=this._d={p:d(this,k,_),c:[],a:void 0,s:0,d:!1,v:void 0,h:!1,n:!1};try{t(s(L,e,1),s(j,e,1))}catch(n){j.call(e,n)}},t(61)(k.prototype,{then:function(t,e){var n=new O(b(this,k)),a=n.promise,r=this._d;return n.ok="function"==typeof t?t:!0,n.fail="function"==typeof e&&e,r.c.push(n),r.a&&r.a.push(n),r.s&&M(r,!1),a},"catch":function(t){return this.then(void 0,t)}})),u(u.G+u.W+u.F*!C,{Promise:k}),t(67)(k,_),t(66)(_),a=t(17)[_],u(u.S+u.F*!C,_,{reject:function(t){var e=new O(this),n=e.reject;return n(t),e.promise}}),u(u.S+u.F*(!C||P(!0)),_,{resolve:function(t){if(t instanceof k&&E(t.constructor,this))return t;var e=new O(this),n=e.resolve;return n(t),e.promise}}),u(u.S+u.F*!(C&&t(44)(function(t){k.all(t)["catch"](function(){})})),_,{all:function(t){var e=S(this),n=new O(e),a=n.resolve,i=n.reject,o=[],s=T(function(){h(t,!1,o.push,o);var n=o.length,s=Array(n);n?r.each.call(o,function(t,r){var o=!1;e.resolve(t).then(function(t){o||(o=!0,s[r]=t,--n||a(s))},i)}):a(s)});return s&&i(s.error),n.promise},race:function(t){var e=S(this),n=new O(e),a=n.reject,r=T(function(){h(t,!1,function(t){e.resolve(t).then(n.resolve,a)})});return r&&a(r.error),n.promise}})},{11:11,17:17,18:18,20:20,23:23,28:28,3:3,30:30,39:39,44:44,47:47,49:49,5:5,53:53,61:61,64:64,65:65,66:66,67:67,69:69,70:70,84:84}],140:[function(t,e,n){var a=t(23),r=Function.apply;a(a.S,"Reflect",{apply:function(t,e,n){return r.call(t,e,n)}})},{23:23}],141:[function(t,e,n){var a=t(47),r=t(23),i=t(3),o=t(5),s=t(39),p=Function.bind||t(17).Function.prototype.bind;r(r.S+r.F*t(25)(function(){function t(){}return!(Reflect.construct(function(){},[],t)instanceof t)}),"Reflect",{construct:function(t,e){i(t);var n=arguments.length<3?t:i(arguments[2]);if(t==n){if(void 0!=e)switch(o(e).length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var r=[null];return r.push.apply(r,e),new(p.apply(t,r))}var u=n.prototype,c=a.create(s(u)?u:Object.prototype),l=Function.apply.call(t,c,e);return s(l)?l:c}})},{17:17,23:23,25:25,3:3,39:39,47:47,5:5}],142:[function(t,e,n){var a=t(47),r=t(23),i=t(5);r(r.S+r.F*t(25)(function(){Reflect.defineProperty(a.setDesc({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(t,e,n){i(t);try{return a.setDesc(t,e,n),!0}catch(r){return!1}}})},{23:23,25:25,47:47,5:5}],143:[function(t,e,n){var a=t(23),r=t(47).getDesc,i=t(5);a(a.S,"Reflect",{deleteProperty:function(t,e){var n=r(i(t),e);return n&&!n.configurable?!1:delete t[e]}})},{23:23,47:47,5:5}],144:[function(t,e,n){"use strict";var a=t(23),r=t(5),i=function(t){this._t=r(t),this._i=0;var e,n=this._k=[];for(e in t)n.push(e)};t(42)(i,"Object",function(){var t,e=this,n=e._k;do if(e._i>=n.length)return{value:void 0,done:!0};while(!((t=n[e._i++])in e._t));return{value:t,done:!1}}),a(a.S,"Reflect",{enumerate:function(t){return new i(t)}})},{23:23,42:42,5:5}],145:[function(t,e,n){var a=t(47),r=t(23),i=t(5);r(r.S,"Reflect",{getOwnPropertyDescriptor:function(t,e){return a.getDesc(i(t),e)}})},{23:23,47:47,5:5}],146:[function(t,e,n){var a=t(23),r=t(47).getProto,i=t(5);a(a.S,"Reflect",{getPrototypeOf:function(t){return r(i(t))}})},{23:23,47:47,5:5}],147:[function(t,e,n){function a(t,e){var n,o,u=arguments.length<3?t:arguments[2];return p(t)===u?t[e]:(n=r.getDesc(t,e))?i(n,"value")?n.value:void 0!==n.get?n.get.call(u):void 0:s(o=r.getProto(t))?a(o,e,u):void 0}var r=t(47),i=t(31),o=t(23),s=t(39),p=t(5);o(o.S,"Reflect",{get:a})},{23:23,31:31,39:39,47:47,5:5}],148:[function(t,e,n){var a=t(23);a(a.S,"Reflect",{has:function(t,e){return e in t}})},{23:23}],149:[function(t,e,n){var a=t(23),r=t(5),i=Object.isExtensible;a(a.S,"Reflect",{isExtensible:function(t){return r(t),i?i(t):!0}})},{23:23,5:5}],150:[function(t,e,n){var a=t(23);a(a.S,"Reflect",{ownKeys:t(57)})},{23:23,57:57}],151:[function(t,e,n){var a=t(23),r=t(5),i=Object.preventExtensions;a(a.S,"Reflect",{preventExtensions:function(t){r(t);try{return i&&i(t),!0}catch(e){return!1}}})},{23:23,5:5}],152:[function(t,e,n){var a=t(23),r=t(65);r&&a(a.S,"Reflect",{setPrototypeOf:function(t,e){r.check(t,e);try{return r.set(t,e),!0}catch(n){return!1}}})},{23:23,65:65}],153:[function(t,e,n){function a(t,e,n){var o,c,l=arguments.length<4?t:arguments[3],f=r.getDesc(p(t),e);if(!f){if(u(c=r.getProto(t)))return a(c,e,n,l);f=s(0)}return i(f,"value")?f.writable!==!1&&u(l)?(o=r.getDesc(l,e)||s(0),o.value=n,r.setDesc(l,e,o),!0):!1:void 0===f.set?!1:(f.set.call(l,n),!0)}var r=t(47),i=t(31),o=t(23),s=t(60),p=t(5),u=t(39);o(o.S,"Reflect",{set:a})},{23:23,31:31,39:39,47:47,5:5,60:60}],154:[function(t,e,n){var a=t(47),r=t(30),i=t(40),o=t(27),s=r.RegExp,p=s,u=s.prototype,c=/a/g,l=/a/g,f=new s(c)!==c;!t(20)||f&&!t(25)(function(){return l[t(84)("match")]=!1,s(c)!=c||s(l)==l||"/a/i"!=s(c,"i")})||(s=function(t,e){var n=i(t),a=void 0===e;return this instanceof s||!n||t.constructor!==s||!a?f?new p(n&&!a?t.source:t,e):p((n=t instanceof s)?t.source:t,n&&a?o.call(t):e):t},a.each.call(a.getNames(p),function(t){t in s||a.setDesc(s,t,{configurable:!0,get:function(){return p[t]},set:function(e){p[t]=e}})}),u.constructor=s,s.prototype=u,t(62)(r,"RegExp",s)),t(66)("RegExp")},{20:20,25:25,27:27,30:30,40:40,47:47,62:62,66:66,84:84}],155:[function(t,e,n){var a=t(47);t(20)&&"g"!=/./g.flags&&a.setDesc(RegExp.prototype,"flags",{configurable:!0,get:t(27)})},{20:20,27:27,47:47}],156:[function(t,e,n){t(26)("match",1,function(t,e){return function(n){"use strict";var a=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,a):RegExp(n)[e](a+"")}})},{26:26}],157:[function(t,e,n){t(26)("replace",2,function(t,e,n){return function(a,r){"use strict";var i=t(this),o=void 0==a?void 0:a[e];return void 0!==o?o.call(a,i,r):n.call(i+"",a,r)}})},{26:26}],158:[function(t,e,n){t(26)("search",1,function(t,e){return function(n){"use strict";var a=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,a):RegExp(n)[e](a+"")}})},{26:26}],159:[function(t,e,n){t(26)("split",2,function(t,e,n){return function(a,r){"use strict";var i=t(this),o=void 0==a?void 0:a[e];return void 0!==o?o.call(a,i,r):n.call(i+"",a,r)}})},{26:26}],160:[function(t,e,n){"use strict";var a=t(13);t(16)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return a.def(this,t=0===t?0:t,t)}},a)},{13:13,16:16}],161:[function(t,e,n){"use strict";var a=t(23),r=t(71)(!1);a(a.P,"String",{codePointAt:function(t){return r(this,t)}})},{23:23,71:71}],162:[function(t,e,n){"use strict";var a=t(23),r=t(80),i=t(72),o="endsWith",s=""[o];a(a.P+a.F*t(24)(o),"String",{endsWith:function(t){var e=i(this,t,o),n=arguments,a=n.length>1?n[1]:void 0,p=r(e.length),u=void 0===a?p:Math.min(r(a),p),c=t+"";return s?s.call(e,c,u):e.slice(u-c.length,u)===c}})},{23:23,24:24,72:72,80:80}],163:[function(t,e,n){var a=t(23),r=t(77),i=String.fromCharCode,o=String.fromCodePoint;a(a.S+a.F*(!!o&&1!=o.length),"String",{fromCodePoint:function(t){for(var e,n=[],a=arguments,o=a.length,s=0;o>s;){if(e=+a[s++],r(e,1114111)!==e)throw RangeError(e+" is not a valid code point");n.push(65536>e?i(e):i(((e-=65536)>>10)+55296,e%1024+56320))}return n.join("")}})},{23:23,77:77}],164:[function(t,e,n){"use strict";var a=t(23),r=t(72),i="includes";a(a.P+a.F*t(24)(i),"String",{includes:function(t){return!!~r(this,t,i).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},{23:23,24:24,72:72}],165:[function(t,e,n){"use strict";var a=t(71)(!0);t(43)(String,"String",function(t){this._t=t+"",this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=a(e,n),this._i+=t.length,{value:t,done:!1})})},{43:43,71:71}],166:[function(t,e,n){var a=t(23),r=t(79),i=t(80);a(a.S,"String",{raw:function(t){for(var e=r(t.raw),n=i(e.length),a=arguments,o=a.length,s=[],p=0;n>p;)s.push(e[p++]+""),o>p&&s.push(a[p]+"");return s.join("")}})},{23:23,79:79,80:80}],167:[function(t,e,n){var a=t(23);a(a.P,"String",{repeat:t(74)})},{23:23,74:74}],168:[function(t,e,n){"use strict";var a=t(23),r=t(80),i=t(72),o="startsWith",s=""[o];a(a.P+a.F*t(24)(o),"String",{startsWith:function(t){var e=i(this,t,o),n=arguments,a=r(Math.min(n.length>1?n[1]:void 0,e.length)),p=t+"";return s?s.call(e,p,a):e.slice(a,a+p.length)===p}})},{23:23,24:24,72:72,80:80}],169:[function(t,e,n){"use strict";t(75)("trim",function(t){return function(){return t(this,3)}})},{75:75}],170:[function(t,e,n){"use strict";var a=t(47),r=t(30),i=t(31),o=t(20),s=t(23),p=t(62),u=t(25),c=t(68),l=t(67),f=t(83),d=t(84),h=t(48),m=t(29),v=t(22),g=t(37),b=t(5),y=t(79),_=t(60),x=a.getDesc,w=a.setDesc,k=a.create,P=m.get,C=r.Symbol,E=r.JSON,S=E&&E.stringify,A=!1,O=d("_hidden"),T=a.isEnum,M=c("symbol-registry"),R=c("symbols"),j="function"==typeof C,L=Object.prototype,N=o&&u(function(){return 7!=k(w({},"a",{get:function(){return w(this,"a",{value:7}).a}})).a})?function(t,e,n){var a=x(L,e);a&&delete L[e],w(t,e,n),a&&t!==L&&w(L,e,a)}:w,D=function(t){var e=R[t]=k(C.prototype);return e._k=t,o&&A&&N(L,t,{configurable:!0,set:function(e){i(this,O)&&i(this[O],t)&&(this[O][t]=!1),N(this,t,_(1,e))}}),e},F=function(t){return"symbol"==typeof t},I=function(t,e,n){return n&&i(R,e)?(n.enumerable?(i(t,O)&&t[O][e]&&(t[O][e]=!1),n=k(n,{enumerable:_(0,!1)})):(i(t,O)||w(t,O,_(1,{})),t[O][e]=!0),N(t,e,n)):w(t,e,n)},B=function(t,e){b(t);for(var n,a=v(e=y(e)),r=0,i=a.length;i>r;)I(t,n=a[r++],e[n]);return t},q=function(t,e){return void 0===e?k(t):B(k(t),e)},G=function(t){var e=T.call(this,t);return e||!i(this,t)||!i(R,t)||i(this,O)&&this[O][t]?e:!0},U=function(t,e){var n=x(t=y(t),e);return!n||!i(R,e)||i(t,O)&&t[O][e]||(n.enumerable=!0),n},V=function(t){for(var e,n=P(y(t)),a=[],r=0;n.length>r;)i(R,e=n[r++])||e==O||a.push(e);return a},z=function(t){for(var e,n=P(y(t)),a=[],r=0;n.length>r;)i(R,e=n[r++])&&a.push(R[e]);return a},W=function(t){if(void 0!==t&&!F(t)){for(var e,n,a=[t],r=1,i=arguments;i.length>r;)a.push(i[r++]);return e=a[1],"function"==typeof e&&(n=e),(n||!g(e))&&(e=function(t,e){return n&&(e=n.call(this,t,e)),F(e)?void 0:e}),a[1]=e,S.apply(E,a)}},H=u(function(){var t=C();return"[null]"!=S([t])||"{}"!=S({a:t})||"{}"!=S(Object(t))});j||(C=function(){if(F(this))throw TypeError("Symbol is not a constructor");return D(f(arguments.length>0?arguments[0]:void 0))},p(C.prototype,"toString",function(){return this._k}),F=function(t){return t instanceof C},a.create=q,a.isEnum=G,a.getDesc=U,a.setDesc=I,a.setDescs=B,a.getNames=m.get=V,a.getSymbols=z,o&&!t(49)&&p(L,"propertyIsEnumerable",G,!0));var K={"for":function(t){return i(M,t+="")?M[t]:M[t]=C(t)},keyFor:function(t){return h(M,t)},useSetter:function(){A=!0},useSimple:function(){A=!1}};a.each.call("hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),function(t){var e=d(t);K[t]=j?e:D(e)}),A=!0,s(s.G+s.W,{Symbol:C}),s(s.S,"Symbol",K),s(s.S+s.F*!j,"Object",{create:q,defineProperty:I,defineProperties:B,getOwnPropertyDescriptor:U,getOwnPropertyNames:V,getOwnPropertySymbols:z}),E&&s(s.S+s.F*(!j||H),"JSON",{stringify:W}),l(C,"Symbol"),l(Math,"Math",!0),l(r.JSON,"JSON",!0)},{20:20,22:22,23:23,25:25,29:29,30:30,31:31,37:37,47:47,48:48,49:49,5:5,60:60,62:62,67:67,68:68,79:79,83:83,84:84}],171:[function(t,e,n){"use strict";var a=t(47),r=t(62),i=t(15),o=t(39),s=t(31),p=i.frozenStore,u=i.WEAK,c=Object.isExtensible||o,l={},f=t(16)("WeakMap",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){if(o(t)){if(!c(t))return p(this).get(t);if(s(t,u))return t[u][this._i]}},set:function(t,e){return i.def(this,t,e)}},i,!0,!0);7!=(new f).set((Object.freeze||Object)(l),7).get(l)&&a.each.call(["delete","has","get","set"],function(t){var e=f.prototype,n=e[t];r(e,t,function(e,a){if(o(e)&&!c(e)){var r=p(this)[t](e,a);return"set"==t?this:r}return n.call(this,e,a)})})},{15:15,16:16,31:31,39:39,47:47,62:62}],172:[function(t,e,n){"use strict";var a=t(15);t(16)("WeakSet",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return a.def(this,t,!0)}},a,!1,!0)},{15:15,16:16}],173:[function(t,e,n){"use strict";var a=t(23),r=t(8)(!0);a(a.P,"Array",{includes:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),t(4)("includes")},{23:23,4:4,8:8}],174:[function(t,e,n){var a=t(23);a(a.P,"Map",{toJSON:t(14)("Map")})},{14:14,23:23}],175:[function(t,e,n){var a=t(23),r=t(56)(!0);a(a.S,"Object",{entries:function(t){return r(t)}})},{23:23,56:56}],176:[function(t,e,n){var a=t(47),r=t(23),i=t(57),o=t(79),s=t(60);r(r.S,"Object",{getOwnPropertyDescriptors:function(t){for(var e,n,r=o(t),p=a.setDesc,u=a.getDesc,c=i(r),l={},f=0;c.length>f;)n=u(r,e=c[f++]),e in l?p(l,e,s(0,n)):l[e]=n;return l}})},{23:23,47:47,57:57,60:60,79:79}],177:[function(t,e,n){var a=t(23),r=t(56)(!1);a(a.S,"Object",{values:function(t){return r(t)}})},{23:23,56:56}],178:[function(t,e,n){var a=t(23),r=t(63)(/[\\^$*+?.()|[\]{}]/g,"\\$&");a(a.S,"RegExp",{escape:function(t){return r(t)}})},{23:23,63:63}],179:[function(t,e,n){var a=t(23);a(a.P,"Set",{toJSON:t(14)("Set")})},{14:14,23:23}],180:[function(t,e,n){"use strict";var a=t(23),r=t(71)(!0);a(a.P,"String",{at:function(t){return r(this,t)}})},{23:23,71:71}],181:[function(t,e,n){"use strict";var a=t(23),r=t(73);a(a.P,"String",{padLeft:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0,!0)}})},{23:23,73:73}],182:[function(t,e,n){"use strict";var a=t(23),r=t(73);a(a.P,"String",{padRight:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0,!1)}})},{23:23,73:73}],183:[function(t,e,n){"use strict";t(75)("trimLeft",function(t){return function(){return t(this,1)}})},{75:75}],184:[function(t,e,n){"use strict";t(75)("trimRight",function(t){return function(){return t(this,2)}})},{75:75}],185:[function(t,e,n){var a=t(47),r=t(23),i=t(18),o=t(17).Array||Array,s={},p=function(t,e){a.each.call(t.split(","),function(t){void 0==e&&t in o?s[t]=o[t]:t in[]&&(s[t]=i(Function.call,[][t],e))})};p("pop,reverse,shift,keys,values,entries",1),p("indexOf,every,some,forEach,map,filter,find,findIndex,includes",3),p("join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill"),r(r.S,"Array",s)},{17:17,18:18,23:23,47:47}],186:[function(t,e,n){t(92);var a=t(30),r=t(32),i=t(46),o=t(84)("iterator"),s=a.NodeList,p=a.HTMLCollection,u=s&&s.prototype,c=p&&p.prototype,l=i.NodeList=i.HTMLCollection=i.Array;u&&!u[o]&&r(u,o,l),c&&!c[o]&&r(c,o,l)},{30:30,32:32,46:46,84:84,92:92}],187:[function(t,e,n){var a=t(23),r=t(76);a(a.G+a.B,{setImmediate:r.set,clearImmediate:r.clear})},{23:23,76:76}],188:[function(t,e,n){var a=t(30),r=t(23),i=t(34),o=t(58),s=a.navigator,p=!!s&&/MSIE .\./.test(s.userAgent),u=function(t){return p?function(e,n){return t(i(o,[].slice.call(arguments,2),"function"==typeof e?e:Function(e)),n)}:t};r(r.G+r.B+r.F*p,{setTimeout:u(a.setTimeout),setInterval:u(a.setInterval)})},{23:23,30:30,34:34,58:58}],189:[function(t,e,n){t(86),t(170),t(125),t(133),t(137),t(138),t(126),t(136),t(135),t(131),t(132),t(130),t(127),t(129),t(134),t(128),t(96),t(95),t(115),t(116),t(117),t(118),t(119),t(120),t(121),t(122),t(123),t(124),t(98),t(99),t(100),t(101),t(102),t(103),t(104),t(105),t(106),t(107),t(108),t(109),t(110),t(111),t(112),t(113),t(114),t(163),t(166),t(169),t(165),t(161),t(162),t(164),t(167),t(168),t(91),t(93),t(92),t(94),t(87),t(88),t(90),t(89),t(154),t(155),t(156),t(157),t(158),t(159),t(139),t(97),t(160),t(171),t(172),t(140),t(141),t(142),t(143),t(144),t(147),t(145),t(146),t(148),t(149),t(150),t(151),t(153),t(152),t(173),t(180),t(181),t(182),t(183),t(184),t(178),t(176),t(177),t(175),t(174),t(179),t(185),t(188),t(187),t(186),e.exports=t(17)},{100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:126,127:127,128:128,129:129,130:130,131:131,132:132,133:133,134:134,135:135,136:136,137:137,138:138,139:139,140:140,141:141,142:142,143:143,144:144,145:145,146:146,147:147,148:148,149:149,150:150,151:151,152:152,153:153,154:154,155:155,156:156,157:157,158:158,159:159,160:160,161:161,162:162,163:163,164:164,165:165,166:166,167:167,168:168,169:169,17:17,170:170,171:171,172:172,173:173,174:174,175:175,176:176,177:177,178:178,179:179,180:180,181:181,182:182,183:183,184:184,185:185,186:186,187:187,188:188,86:86,87:87,88:88,89:89,90:90,91:91,92:92,93:93,94:94,95:95,96:96,97:97,98:98,99:99}],190:[function(t,e,n){function a(){c=!1,s.length?u=s.concat(u):l=-1,u.length&&r()}function r(){if(!c){var t=setTimeout(a);c=!0;for(var e=u.length;e;){for(s=u,u=[];++l1)for(var n=1;n-1}}([].indexOf||function(t){for(q=this.length;q--&&this[q]!==t;);return q}),item:function(t){return this[t]||null},remove:function(){for(var t,e=0;e=p?e(i):document.fonts.load(u(i,i.family),s).then(function(e){1<=e.length?t(i):setTimeout(f,25)},function(){e(i)})};f()}else n(function(){function n(){var e;(e=-1!=v&&-1!=g||-1!=v&&-1!=b||-1!=g&&-1!=b)&&((e=v!=g&&v!=b&&g!=b)||(null===l&&(e=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent),l=!!e&&(536>parseInt(e[1],10)||536===parseInt(e[1],10)&&11>=parseInt(e[2],10))),e=l&&(v==y&&g==y&&b==y||v==_&&g==_&&b==_||v==x&&g==x&&b==x)),e=!e),e&&(null!==w.parentNode&&w.parentNode.removeChild(w),clearTimeout(k),t(i))}function f(){if((new Date).getTime()-c>=p)null!==w.parentNode&&w.parentNode.removeChild(w),e(i);else{var t=document.hidden;(!0===t||void 0===t)&&(v=d.a.offsetWidth,g=h.a.offsetWidth,b=m.a.offsetWidth,n()),k=setTimeout(f,50)}}var d=new a(s),h=new a(s),m=new a(s),v=-1,g=-1,b=-1,y=-1,_=-1,x=-1,w=document.createElement("div"),k=0;w.dir="ltr",r(d,u(i,"sans-serif")),r(h,u(i,"serif")),r(m,u(i,"monospace")),w.appendChild(d.a),w.appendChild(h.a),w.appendChild(m.a),document.body.appendChild(w),y=d.a.offsetWidth,_=h.a.offsetWidth,x=m.a.offsetWidth,f(),o(d,function(t){v=t,n()}),r(d,u(i,'"'+i.family+'",sans-serif')),o(h,function(t){g=t,n()}),r(h,u(i,'"'+i.family+'",serif')),o(m,function(t){b=t,n()}),r(m,u(i,'"'+i.family+'",monospace'))})})},window.FontFaceObserver=s,window.FontFaceObserver.prototype.check=s.prototype.a,void 0!==e&&(e.exports=window.FontFaceObserver)}()},{}],194:[function(t,e,n){!function(t,n){function a(t,e){var n=t.createElement("p"),a=t.getElementsByTagName("head")[0]||t.documentElement;return n.innerHTML="x",a.insertBefore(n.lastChild,a.firstChild)}function r(){var t=_.elements;return"string"==typeof t?t.split(" "):t}function i(t,e){var n=_.elements;"string"!=typeof n&&(n=n.join(" ")),"string"!=typeof t&&(t=t.join(" ")),_.elements=n+" "+t,c(e)}function o(t){var e=y[t[g]];return e||(e={},b++,t[g]=b,y[b]=e),e}function s(t,e,a){if(e||(e=n),f)return e.createElement(t);a||(a=o(e));var r;return r=a.cache[t]?a.cache[t].cloneNode():v.test(t)?(a.cache[t]=a.createElem(t)).cloneNode():a.createElem(t),!r.canHaveChildren||m.test(t)||r.tagUrn?r:a.frag.appendChild(r)}function p(t,e){if(t||(t=n),f)return t.createDocumentFragment();e=e||o(t);for(var a=e.frag.cloneNode(),i=0,s=r(),p=s.length;p>i;i++)a.createElement(s[i]);return a}function u(t,e){e.cache||(e.cache={},e.createElem=t.createElement,e.createFrag=t.createDocumentFragment,e.frag=e.createFrag()),t.createElement=function(n){return _.shivMethods?s(n,t,e):e.createElem(n)},t.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+r().join().replace(/[\w\-:]+/g,function(t){return e.createElem(t),e.frag.createElement(t),'c("'+t+'")'})+");return n}")(_,e.frag)}function c(t){t||(t=n);var e=o(t);return!_.shivCSS||l||e.hasCSS||(e.hasCSS=!!a(t,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),f||u(t,e),t}var l,f,d="3.7.3-pre",h=t.html5||{},m=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,v=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,g="_html5shiv",b=0,y={};!function(){try{var t=n.createElement("a");t.innerHTML="",l="hidden"in t,f=1==t.childNodes.length||function(){n.createElement("a");var t=n.createDocumentFragment();return void 0===t.cloneNode||void 0===t.createDocumentFragment||void 0===t.createElement}()}catch(e){l=!0,f=!0}}();var _={elements:h.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:d,shivCSS:h.shivCSS!==!1,supportsUnknownElements:f,shivMethods:h.shivMethods!==!1,type:"default",shivDocument:c,createElement:s,createDocumentFragment:p,addElements:i};t.html5=_,c(n),"object"==typeof e&&e.exports&&(e.exports=_)}("undefined"!=typeof window?window:this,document)},{}],195:[function(t,e,n){(function(t){(function(t){!function(t){function e(t,e,n,a){for(var i,o=n.slice(),s=r(e,t),p=0,u=o.length;u>p&&(handler=o[p],"object"==typeof handler?"function"==typeof handler.handleEvent&&handler.handleEvent(s):handler.call(t,s),!s.stoppedImmediatePropagation);p++);return i=!s.stoppedPropagation,a&&i&&t.parentNode?t.parentNode.dispatchEvent(s):!s.defaultPrevented}function n(t,e){return{configurable:!0,get:t,set:e}}function a(t,e,a){var r=b(e||t,a);v(t,"textContent",n(function(){return r.get.call(this)},function(t){r.set.call(this,t)}))}function r(t,e){return t.currentTarget=e,t.eventPhase=t.target===t.currentTarget?2:3,t}function i(t,e){for(var n=t.length;n--&&t[n]!==e;);return n}function o(){if("BR"===this.tagName)return"\n";for(var t=this.firstChild,e=[];t;)8!==t.nodeType&&7!==t.nodeType&&e.push(t.textContent),t=t.nextSibling;return e.join("")}function s(t){var e=document.createEvent("Event");e.initEvent("input",!0,!0),(t.srcElement||t.fromElement||document).dispatchEvent(e)}function p(t){!f&&k.test(document.readyState)&&(f=!f,document.detachEvent(d,p),t=document.createEvent("Event"),t.initEvent(h,!0,!0),document.dispatchEvent(t))}function u(t){for(var e;e=this.lastChild;)this.removeChild(e);null!=t&&this.appendChild(document.createTextNode(t))}function c(e,n){return n||(n=t.event),n.target||(n.target=n.srcElement||n.fromElement||document),n.timeStamp||(n.timeStamp=(new Date).getTime()),n}if(!document.createEvent){var l=!0,f=!1,d="onreadystatechange",h="DOMContentLoaded",m="__IE8__"+Math.random(),v=Object.defineProperty||function(t,e,n){t[e]=n.value},g=Object.defineProperties||function(e,n){for(var a in n)if(y.call(n,a))try{v(e,a,n[a])}catch(r){t.console&&console.log(a+" failed on object:",e,r.message)}},b=Object.getOwnPropertyDescriptor,y=Object.prototype.hasOwnProperty,_=t.Element.prototype,x=t.Text.prototype,w=/^[a-z]+$/,k=/loaded|complete/,P={},C=document.createElement("div"),E=document.documentElement,S=E.removeAttribute,A=E.setAttribute;a(t.HTMLCommentElement.prototype,_,"nodeValue"),a(t.HTMLScriptElement.prototype,null,"text"),a(x,null,"nodeValue"),a(t.HTMLTitleElement.prototype,null,"text"),v(t.HTMLStyleElement.prototype,"textContent",function(t){return n(function(){return t.get.call(this.styleSheet)},function(e){t.set.call(this.styleSheet,e)})}(b(t.CSSStyleSheet.prototype,"cssText"))),g(_,{textContent:{get:o,set:u},firstElementChild:{get:function(){for(var t=this.childNodes||[],e=0,n=t.length;n>e;e++)if(1==t[e].nodeType)return t[e]}},lastElementChild:{get:function(){for(var t=this.childNodes||[],e=t.length;e--;)if(1==t[e].nodeType)return t[e]}},oninput:{get:function(){return this._oninput||null},set:function(t){this._oninput&&(this.removeEventListener("input",this._oninput),this._oninput=t,t&&this.addEventListener("input",t))}},previousElementSibling:{get:function(){for(var t=this.previousSibling;t&&1!=t.nodeType;)t=t.previousSibling;return t}},nextElementSibling:{get:function(){for(var t=this.nextSibling;t&&1!=t.nodeType;)t=t.nextSibling;return t}},childElementCount:{get:function(){for(var t=0,e=this.childNodes||[],n=e.length;n--;t+=1==e[n].nodeType);return t}},addEventListener:{value:function(t,n,a){if("function"==typeof n||"object"==typeof n){var r,o,p=this,u="on"+t,l=p[m]||v(p,m,{value:{}})[m],f=l[u]||(l[u]={}),d=f.h||(f.h=[]);if(!y.call(f,"w")){if(f.w=function(t){return t[m]||e(p,c(p,t),d,!1)},!y.call(P,u))if(w.test(t)){try{r=document.createEventObject(),r[m]=!0,9!=p.nodeType&&(null==p.parentNode&&C.appendChild(p),(o=p.getAttribute(u))&&S.call(p,u)),p.fireEvent(u,r),P[u]=!0}catch(r){for(P[u]=!1;C.hasChildNodes();)C.removeChild(C.firstChild)}null!=o&&A.call(p,u,o)}else P[u]=!1;(f.n=P[u])&&p.attachEvent(u,f.w)}i(d,n)<0&&d[a?"unshift":"push"](n),"input"===t&&p.attachEvent("onkeyup",s)}}},dispatchEvent:{value:function(t){var n,a=this,r="on"+t.type,i=a[m],o=i&&i[r],s=!!o;return t.target||(t.target=a),s?o.n?a.fireEvent(r,t):e(a,t,o.h,!0):(n=a.parentNode)?n.dispatchEvent(t):!0,!t.defaultPrevented}},removeEventListener:{value:function(t,e,n){if("function"==typeof e||"object"==typeof e){var a=this,r="on"+t,o=a[m],s=o&&o[r],p=s&&s.h,u=p?i(p,e):-1;u>-1&&p.splice(u,1)}}}}),g(x,{addEventListener:{value:_.addEventListener},dispatchEvent:{value:_.dispatchEvent},removeEventListener:{value:_.removeEventListener}}),g(t.XMLHttpRequest.prototype,{addEventListener:{value:function(t,e,n){var a=this,r="on"+t,o=a[m]||v(a,m,{value:{}})[m],s=o[r]||(o[r]={}),p=s.h||(s.h=[]);i(p,e)<0&&(a[r]||(a[r]=function(){var e=document.createEvent("Event");e.initEvent(t,!0,!0),a.dispatchEvent(e)}),p[n?"unshift":"push"](e))}},dispatchEvent:{value:function(t){var n=this,a="on"+t.type,r=n[m],i=r&&r[a],o=!!i;return o&&(i.n?n.fireEvent(a,t):e(n,t,i.h,!0))}},removeEventListener:{value:_.removeEventListener}}),g(t.Event.prototype,{bubbles:{value:!0,writable:!0},cancelable:{value:!0,writable:!0},preventDefault:{value:function(){this.cancelable&&(this.defaultPrevented=!0,this.returnValue=!1)}},stopPropagation:{value:function(){this.stoppedPropagation=!0,this.cancelBubble=!0}},stopImmediatePropagation:{value:function(){this.stoppedImmediatePropagation=!0,this.stopPropagation()}},initEvent:{value:function(t,e,n){this.type=t,this.bubbles=!!e,this.cancelable=!!n,this.bubbles||this.stopPropagation()}}}),g(t.HTMLDocument.prototype,{defaultView:{get:function(){return this.parentWindow}},textContent:{get:function(){return 11===this.nodeType?o.call(this):null},set:function(t){11===this.nodeType&&u.call(this,t)}},addEventListener:{value:function(e,n,a){var r=this;_.addEventListener.call(r,e,n,a),l&&e===h&&!k.test(r.readyState)&&(l=!1,r.attachEvent(d,p),t==top&&!function i(t){try{r.documentElement.doScroll("left"),p()}catch(e){setTimeout(i,50)}}())}},dispatchEvent:{value:_.dispatchEvent},removeEventListener:{value:_.removeEventListener},createEvent:{value:function(t){var e;if("Event"!==t)throw Error("unsupported "+t);return e=document.createEventObject(),e.timeStamp=(new Date).getTime(),e}}}),g(t.Window.prototype,{getComputedStyle:{value:function(){function t(t){this._=t}function e(){}var n=/^(?:[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|))(?!px)[a-z%]+$/,a=/^(top|right|bottom|left)$/,r=/\-([a-z])/g,i=function(t,e){return e.toUpperCase()};return t.prototype.getPropertyValue=function(t){var e,o,s,p=this._,u=p.style,c=p.currentStyle,l=p.runtimeStyle;return t=("float"===t?"style-float":t).replace(r,i),e=c?c[t]:u[t],n.test(e)&&!a.test(t)&&(o=u.left,s=l&&l.left,s&&(l.left=c.left),u.left="fontSize"===t?"1em":e,e=u.pixelLeft+"px",u.left=o,s&&(l.left=s)),null==e?e:e+""||"auto"},e.prototype.getPropertyValue=function(){return null},function(n,a){return a?new e(n):new t(n)}}()},addEventListener:{value:function(n,a,r){var o,s=t,p="on"+n;s[p]||(s[p]=function(t){return e(s,c(s,t),o,!1)}),o=s[p][m]||(s[p][m]=[]),i(o,a)<0&&o[r?"unshift":"push"](a)}},dispatchEvent:{value:function(e){var n=t["on"+e.type];return n?n.call(t,e)!==!1&&!e.defaultPrevented:!0}},removeEventListener:{value:function(e,n,a){var r="on"+e,o=(t[r]||Object)[m],s=o?i(o,n):-1;s>-1&&o.splice(s,1)}}}),function(t,e,n){for(n=0;n=s)return(0,p["default"])({points:n});for(var l=1;s-1>=l;l++)i.push((0,u.times)(a,(0,u.minus)(n[l],n[l-1])));for(var f=[(0,u.plus)(n[0],c(i[0],i[1]))],l=1;s-2>=l;l++)f.push((0,u.minus)(n[l],(0,u.average)([i[l],i[l-1]])));f.push((0,u.minus)(n[s-1],c(i[s-2],i[s-3])));var d=f[0],h=f[1],m=n[0],v=n[1],g=(e=(0,o["default"])()).moveto.apply(e,r(m)).curveto(d[0],d[1],h[0],h[1],v[0],v[1]);return{path:(0,u.range)(2,s).reduce(function(t,e){var a=f[e],r=n[e];return t.smoothcurveto(a[0],a[1],r[0],r[1])},g),centroid:(0,u.average)(n)}},e.exports=n["default"]},{199:199,200:200,201:201}],197:[function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function t(t,e){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);a=!0);}catch(p){r=!0,i=p}finally{try{!a&&s["return"]&&s["return"]()}finally{if(r)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),i=t(198),o=a(i),s=t(199),p=1e-5,u=function(t,e){var n=t.map(e),a=n.sort(function(t,e){var n=r(t,2),a=n[0],i=(n[1],r(e,2)),o=i[0];i[1];return a-o}),i=a.length,o=a[0][0],u=a[i-1][0],c=(0,s.minBy)(a,function(t){return t[1]}),l=(0,s.maxBy)(a,function(t){return t[1]});return o==u&&(u+=p),c==l&&(l+=p),{points:a,xmin:o,xmax:u,ymin:c,ymax:l}};n["default"]=function(t){var e=t.data,n=t.xaccessor,a=t.yaccessor,i=t.width,p=t.height,c=t.closed,l=t.min,f=t.max;n||(n=function(t){var e=r(t,2),n=e[0];e[1];return n}),a||(a=function(t){var e=r(t,2),n=(e[0],e[1]);return n});var d=function(t){return[n(t),a(t)]},h=e.map(function(t){return u(t,d)}),m=(0,s.minBy)(h,function(t){return t.xmin}),v=(0,s.maxBy)(h,function(t){return t.xmax}),g=null==l?(0,s.minBy)(h,function(t){return t.ymin}):l,b=null==f?(0,s.maxBy)(h,function(t){return t.ymax}):f;c&&(g=Math.min(g,0),b=Math.max(b,0));var y=c?0:g,_=(0,o["default"])([m,v],[0,i]),x=(0,o["default"])([g,b],[p,0]),w=function(t){var e=r(t,2),n=e[0],a=e[1];return[_(n),x(a)]};return{arranged:h,scale:w,xscale:_,yscale:x,base:y}},e.exports=n["default"]},{198:198,199:199}],198:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var a=function(){function t(t,e){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);a=!0);}catch(p){r=!0,i=p}finally{try{!a&&s["return"]&&s["return"]()}finally{if(r)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),r=function i(t,e){var n=a(t,2),r=n[0],o=n[1],s=a(e,2),p=s[0],u=s[1],c=function(t){return p+(u-p)*(t-r)/(o-r)};return c.inverse=function(){return i([p,u],[r,o])},c};n["default"]=r,e.exports=n["default"]},{}],199:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var a=function(){function t(t,e){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);a=!0);}catch(p){r=!0,i=p}finally{try{!a&&s["return"]&&s["return"]()}finally{if(r)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),r=function(t){return t.reduce(function(t,e){return t+e},0)},i=function(t){return t.reduce(function(t,e){return Math.min(t,e)})},o=function(t){return t.reduce(function(t,e){return Math.max(t,e)})},s=function(t,e){return t.reduce(function(t,n){return t+e(n)},0)},p=function(t,e){return t.reduce(function(t,n){return Math.min(t,e(n))},1/0)},u=function(t,e){return t.reduce(function(t,n){return Math.max(t,e(n))},-(1/0))},c=function(t,e){var n=a(t,2),r=n[0],i=n[1],o=a(e,2),s=o[0],p=o[1];return[r+s,i+p]},l=function(t,e){var n=a(t,2),r=n[0],i=n[1],o=a(e,2),s=o[0],p=o[1];return[r-s,i-p]},f=function(t,e){var n=a(e,2),r=n[0],i=n[1];return[t*r,t*i]},d=function(t){var e=a(t,2),n=e[0],r=e[1];return Math.sqrt(n*n+r*r)},h=function(t){return t.reduce(c,[0,0])},m=function(t){return f(1/t.length,t.reduce(c))},v=function(t,e){return f(t,[Math.sin(e),-Math.cos(e)])},g=function(t,e){var n=t||{};for(var a in n){var r=n[a];e[a]=r(e.index,e.item,e.group)}return e},b=function(t,e,n){for(var a=[],r=t;e>r;r++)a.push(r);return n&&a.push(e),a},y=function(t,e){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=Object.keys(t)[Symbol.iterator]();!(a=(o=s.next()).done);a=!0){var p=o.value,u=t[p];n.push(e(p,u))}}catch(c){r=!0,i=c}finally{try{!a&&s["return"]&&s["return"]()}finally{if(r)throw i}}return n},_=function(t){return y(t,function(t,e){return[t,e]})},x=function(t){return t};n.sum=r,n.min=i,n.max=o,n.sumBy=s,n.minBy=p,n.maxBy=u,n.plus=c,n.minus=l,n.times=f,n.id=x,n.length=d,n.sumVectors=h,n.average=m,n.onCircle=v,n.enhance=g,n.range=b,n.mapObject=y,n.pairs=_,n["default"]={sum:r,min:i,max:o,sumBy:s,minBy:p,maxBy:u,plus:c,minus:l,times:f,id:x,length:d,sumVectors:h,average:m,onCircle:v,enhance:g,range:b,mapObject:y,pairs:_}},{}],200:[function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var a=function(){function t(t,e){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);a=!0);}catch(p){r=!0,i=p}finally{try{!a&&s["return"]&&s["return"]()}finally{if(r)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),r=function i(t){var e=t||[],n=function(t,e){var n=t.slice(0,t.length);return n.push(e),n},r=function(t,e){var n=a(t,2),r=n[0],i=n[1],o=a(e,2),s=o[0],p=o[1];return r===s&&i===p},o=function(t,e){for(var n=t.length;"0"===t.charAt(n-1);)n-=1;return"."===t.charAt(n-1)&&(n-=1),t.substr(0,n)},s=function(t,e){var n=t.toFixed(e);return o(n)},p=function(t){var e=t.command,n=t.params,a=n.map(function(t){return s(t,6)});return e+" "+a.join(" ")},u=function(t,e){var n=t.command,r=t.params,i=a(e,2),o=i[0],s=i[1];switch(n){case"M":return[r[0],r[1]];case"L":return[r[0],r[1]];case"H":return[r[0],s];case"V":return[o,r[0]];case"Z":return null;case"C":return[r[4],r[5]];case"S":return[r[2],r[3]];case"Q":return[r[2],r[3]];case"T":return[r[0],r[1]];case"A":return[r[5],r[6]]}},c=function(t,e){return function(n){var a="object"==typeof n?t.map(function(t){return n[t]}):arguments;return e.apply(null,a)}},l=function(t){return i(n(e,t))};return{moveto:c(["x","y"],function(t,e){return l({command:"M",params:[t,e]})}),lineto:c(["x","y"],function(t,e){return l({command:"L",params:[t,e]})}),hlineto:c(["x"],function(t){return l({command:"H",params:[t]})}),vlineto:c(["y"],function(t){return l({command:"V",params:[t]})}),closepath:function(){return l({command:"Z",params:[]})},curveto:c(["x1","y1","x2","y2","x","y"],function(t,e,n,a,r,i){return l({command:"C",params:[t,e,n,a,r,i]})}),smoothcurveto:c(["x2","y2","x","y"],function(t,e,n,a){return l({command:"S",params:[t,e,n,a]})}),qcurveto:c(["x1","y1","x","y"],function(t,e,n,a){return l({command:"Q",params:[t,e,n,a]})}),smoothqcurveto:c(["x","y"],function(t,e){return l({command:"T",params:[t,e]})}),arc:c(["rx","ry","xrot","largeArcFlag","sweepFlag","x","y"],function(t,e,n,a,r,i,o){return l({command:"A",params:[t,e,n,a,r,i,o]})}),print:function(){return e.map(p).join(" ")},points:function(){var t=[],n=[0,0],a=!0,r=!1,i=void 0;try{for(var o,s=e[Symbol.iterator]();!(a=(o=s.next()).done);a=!0){var p=o.value,c=u(p,n);n=c,c&&t.push(c)}}catch(l){r=!0,i=l}finally{try{!a&&s["return"]&&s["return"]()}finally{if(r)throw i}}return t},instructions:function(){return e.slice(0,e.length)},connect:function(t){var e=this.points(),n=e[e.length-1],a=t.points()[0],o=t.instructions().slice(1);return r(n,a)||o.unshift({command:"L",params:a}),i(this.instructions().concat(o))}}};n["default"]=function(){return r()},e.exports=n["default"]},{}],201:[function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{"default":t}}function r(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e1?e-1:0),a=1;e>a;a++)n[a-1]=arguments[a];for(var r,i;i=n.shift();)for(r in i)Ro.call(i,r)&&(t[r]=i[r]);return t}function r(t){for(var e=arguments.length,n=Array(e>1?e-1:0),a=1;e>a;a++)n[a-1]=arguments[a];return n.forEach(function(e){for(var n in e)!e.hasOwnProperty(n)||n in t||(t[n]=e[n])}),t}function i(t){return"[object Array]"===jo.call(t)}function o(t){return Lo.test(jo.call(t))}function s(t,e){return null===t&&null===e?!0:"object"==typeof t||"object"==typeof e?!1:t===e}function p(t){return!isNaN(parseFloat(t))&&isFinite(t)}function u(t){return t&&"[object Object]"===jo.call(t)}function c(t,e){return t.replace(/%s/g,function(){return e.shift()})}function l(t){for(var e=arguments.length,n=Array(e>1?e-1:0),a=1;e>a;a++)n[a-1]=arguments[a];throw t=c(t,n),Error(t)}function f(){Rv.DEBUG&&Oo.apply(null,arguments)}function d(t){for(var e=arguments.length,n=Array(e>1?e-1:0),a=1;e>a;a++)n[a-1]=arguments[a];t=c(t,n),To(t,n)}function h(t){for(var e=arguments.length,n=Array(e>1?e-1:0),a=1;e>a;a++)n[a-1]=arguments[a];t=c(t,n),No[t]||(No[t]=!0,To(t,n))}function m(){Rv.DEBUG&&d.apply(null,arguments)}function v(){Rv.DEBUG&&h.apply(null,arguments)}function g(t,e,n){var a=b(t,e,n);return a?a[t][n]:null}function b(t,e,n){for(;e;){if(n in e[t])return e;if(e.isolated)return null;e=e.parent}}function y(t){return function(){return t}}function _(t){var e,n,a,r,i,o;for(e=t.split("."),(n=zo[e.length])||(n=x(e.length)),i=[],a=function(t,n){return t?"*":e[n]},r=n.length;r--;)o=n[r].map(a).join("."),i.hasOwnProperty(o)||(i.push(o),i[o]=!0);return i}function x(t){var e,n,a,r,i,o,s,p,u="";if(!zo[t]){for(a=[];u.length=i;i+=1){for(n=i.toString(2);n.lengtho;o++)p.push(r(n[o]));a[i]=p}zo[t]=a}return zo[t]}function w(t,e,n,a){var r=t[e];if(!r||!r.equalsOrStartsWith(a)&&r.equalsOrStartsWith(n))return t[e]=r?r.replace(n,a):a,!0}function k(t){var e=t.slice(2);return"i"===t[1]&&p(e)?+e:e}function P(t){return null==t?t:(Ko.hasOwnProperty(t)||(Ko[t]=new Qo(t)),Ko[t])}function C(t,e){function n(e,n){var a,r,o;return n.isRoot?o=[].concat(Object.keys(t.viewmodel.data),Object.keys(t.viewmodel.mappings),Object.keys(t.viewmodel.computations)):(a=t.viewmodel.wrapped[n.str],r=a?a.get():t.viewmodel.get(n),o=r?Object.keys(r):null),o&&o.forEach(function(t){"_ractive"===t&&i(r)||e.push(n.join(t))}),e}var a,r,o;for(a=e.str.split("."),o=[Yo];r=a.shift();)"*"===r?o=o.reduce(n,[]):o[0]===Yo?o[0]=P(r):o=o.map(E(r));return o}function E(t){return function(e){return e.join(t)}}function S(t){return t?t.replace(Wo,".$1"):""}function A(t,e,n){if("string"!=typeof e||!p(n))throw Error("Bad arguments");var a=void 0,r=void 0;if(/\*/.test(e))return r={},C(t,P(S(e))).forEach(function(e){var a=t.viewmodel.get(e);if(!p(a))throw Error(Jo);r[e.str]=a+n}),t.set(r);if(a=t.get(e),!p(a))throw Error(Jo);return t.set(e,+a+n)}function O(t,e){return Xo(this,t,void 0===e?1:+e)}function T(t){this.event=t,this.method="on"+t,this.deprecate=as[t]}function M(t,e){var n=t.indexOf(e);-1===n&&t.push(e)}function R(t,e){for(var n=0,a=t.length;a>n;n++)if(t[n]==e)return!0;return!1}function j(t,e){var n;if(!i(t)||!i(e))return!1;if(t.length!==e.length)return!1;for(n=t.length;n--;)if(t[n]!==e[n])return!1;return!0}function L(t){return"string"==typeof t?[t]:void 0===t?[]:t}function N(t){return t[t.length-1]}function D(t,e){var n=t.indexOf(e);-1!==n&&t.splice(n,1)}function F(t){for(var e=[],n=t.length;n--;)e[n]=t[n];return e}function I(t){setTimeout(t,0)}function B(t,e){return function(){for(var n;n=t.shift();)n(e)}}function q(t,e,n,a){var r;if(e===t)throw new TypeError("A promise's fulfillment handler cannot return the same promise");
@@ -13,4 +14,5 @@ var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[2,1,1],t:7,e:"ui-butt
var e=this.get("data.recharge_port.mech.cell.maxcharge");return t>=e/1.5?"good":t>=e/3?"average":"bad"},mechHealthState:function(t){var e=this.get("data.recharge_port.mech.maxhealth");return t>e/1.5?"good":t>e/3?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[20,1,526],t:7,e:"ui-display",a:{title:"Mech Status"},f:[{t:4,f:[{t:4,f:[{p:[23,4,624],t:7,e:"ui-section",a:{label:"Integrity"},f:[{p:[24,6,660],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.recharge_port.mech.maxhealth",p:[24,27,681]}],value:[{t:2,r:"adata.recharge_port.mech.health",p:[24,74,728]}],state:[{t:2,x:{r:["mechHealthState","adata.recharge_port.mech.health"],s:"_0(_1)"},p:[24,117,771]}]},f:[{t:2,x:{r:["adata.recharge_port.mech.health"],s:"Math.round(_0)"},p:[24,171,825]},"/",{t:2,r:"adata.recharge_port.mech.maxhealth",p:[24,219,873]}]}]}," ",{t:4,f:[{t:4,f:[{p:[28,5,1034],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[28,31,1060],t:7,e:"span",a:{"class":"bad"},f:["Cell Critical Failure"]}]}],n:50,r:"data.recharge_port.mech.cell.critfail",p:[27,3,984]},{t:4,n:51,f:[{p:[30,11,1141],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[31,13,1180],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.recharge_port.mech.cell.maxcharge",p:[31,34,1201]}],value:[{t:2,r:"adata.recharge_port.mech.cell.charge",p:[31,86,1253]}],state:[{t:2,x:{r:["mechChargeState","adata.recharge_port.mech.cell.charge"],s:"_0(_1)"},p:[31,134,1301]}]},f:[{t:2,x:{r:["adata.recharge_port.mech.cell.charge"],s:"Math.round(_0)"},p:[31,193,1360]},"/",{t:2,x:{r:["adata.recharge_port.mech.cell.maxcharge"],s:"Math.round(_0)"},p:[31,246,1413]}]}]}],r:"data.recharge_port.mech.cell.critfail"}],n:50,r:"data.recharge_port.mech.cell",p:[26,4,945]},{t:4,n:51,f:[{p:[35,3,1524],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[35,29,1550],t:7,e:"span",a:{"class":"bad"},f:["Cell Missing"]}]}],r:"data.recharge_port.mech.cell"}],n:50,r:"data.recharge_port.mech",p:[22,2,589]},{t:4,n:51,f:[{p:[38,4,1625],t:7,e:"ui-section",f:["Mech Not Found"]}],r:"data.recharge_port.mech"}],n:50,r:"data.recharge_port",p:[21,3,561]},{t:4,n:51,f:[{p:[41,5,1689],t:7,e:"ui-section",f:["Recharging Port Not Found"]}," ",{p:[42,2,1741],t:7,e:"ui-button",a:{icon:"refresh",action:"reconnect"},f:["Reconnect"]}],r:"data.recharge_port"}]}]},e.exports=a.extend(r.exports)},{205:205}],266:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{t:4,f:[{p:[3,5,45],t:7,e:"ui-section",a:{label:"Interface Lock"},f:[{p:[4,7,88],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[4,24,105]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[4,75,156]}]}]}],n:50,r:"data.siliconUser",p:[2,3,15]},{t:4,n:51,f:[{p:[7,5,247],t:7,e:"span",f:["Swipe an ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[7,31,273]}," this interface."]}],r:"data.siliconUser"}]}," ",{p:[10,1,358],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[11,3,389],t:7,e:"ui-section",a:{label:"Power"},f:[{t:4,f:[{p:[13,7,470],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[13,24,487]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[13,68,531]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[13,116,579]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[12,5,421]},{t:4,n:51,f:[{p:[15,7,639],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.on"],s:'_0?"good":"bad"'},p:[15,20,652]}],state:[{t:2,x:{r:["data.cell"],s:'_0?null:"disabled"'},p:[15,57,689]}]},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[15,92,724]}]}],x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"}}]}," ",{p:[18,3,791],t:7,e:"ui-section",a:{label:"Cell"},f:[{p:[19,5,822],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.cell"],s:'_0?null:"bad"'},p:[19,18,835]}]},f:[{t:2,x:{r:["data.cell","data.cellPercent"],s:'_0?_1+"%":"No Cell"'},p:[19,48,865]}]}]}," ",{p:[21,3,943],t:7,e:"ui-section",a:{label:"Mode"},f:[{p:[22,5,974],t:7,e:"span",a:{"class":[{t:2,r:"data.modeStatus",p:[22,18,987]}]},f:[{t:2,r:"data.mode",p:[22,39,1008]}]}]}," ",{p:[24,3,1049],t:7,e:"ui-section",a:{label:"Load"},f:[{p:[25,5,1080],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.load"],s:'_0?"good":"average"'},p:[25,18,1093]}]},f:[{t:2,x:{r:["data.load"],s:'_0?_0:"None"'},p:[25,54,1129]}]}]}," ",{p:[27,3,1191],t:7,e:"ui-section",a:{label:"Destination"},f:[{p:[28,5,1229],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.destination"],s:'_0?"good":"average"'},p:[28,18,1242]}]},f:[{t:2,x:{r:["data.destination"],s:'_0?_0:"None"'},p:[28,60,1284]}]}]}]}," ",{t:4,f:[{p:{button:[{t:4,f:[{p:[35,9,1513],t:7,e:"ui-button",a:{icon:"eject",action:"unload"},f:["Unload"]}],n:50,r:"data.load",p:[34,7,1486]}," ",{t:4,f:[{p:[38,9,1623],t:7,e:"ui-button",a:{icon:"eject",action:"ejectpai"},f:["Eject PAI"]}],n:50,r:"data.haspai",p:[37,7,1594]}," ",{p:[40,7,1709],t:7,e:"ui-button",a:{icon:"pencil",action:"setid"},f:["Set ID"]}]},t:7,e:"ui-display",a:{title:"Controls",button:0},f:[" ",{p:[42,5,1791],t:7,e:"ui-section",a:{label:"Destination"},f:[{p:[43,7,1831],t:7,e:"ui-button",a:{icon:"pencil",action:"destination"},f:["Set Destination"]}," ",{p:[44,7,1912],t:7,e:"ui-button",a:{icon:"stop",action:"stop"},f:["Stop"]}," ",{p:[45,7,1973],t:7,e:"ui-button",a:{icon:"play",action:"go"},f:["Go"]}]}," ",{p:[47,5,2047],t:7,e:"ui-section",a:{label:"Home"},f:[{p:[48,7,2080],t:7,e:"ui-button",a:{icon:"home",action:"home"},f:["Go Home"]}," ",{p:[49,7,2144],t:7,e:"ui-button",a:{icon:"pencil",action:"sethome"},f:["Set Home"]}]}," ",{p:[51,5,2231],t:7,e:"ui-section",a:{label:"Settings"},f:[{p:[52,7,2268],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoReturn"],s:'_0?"check-square-o":"square-o"'},p:[52,24,2285]}],style:[{t:2,x:{r:["data.autoReturn"],s:'_0?"selected":null'},p:[52,84,2345]}],action:"autoret"},f:["Auto-Return Home"]}," ",{p:[54,7,2449],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoPickup"],s:'_0?"check-square-o":"square-o"'},p:[54,24,2466]}],style:[{t:2,x:{r:["data.autoPickup"],s:'_0?"selected":null'},p:[54,84,2526]}],action:"autopick"},f:["Auto-Pickup Crate"]}," ",{p:[56,7,2632],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.reportDelivery"],s:'_0?"check-square-o":"square-o"'},p:[56,24,2649]}],style:[{t:2,x:{r:["data.reportDelivery"],s:'_0?"selected":null'},p:[56,88,2713]}],action:"report"},f:["Report Deliveries"]}]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[31,1,1373]}]},e.exports=a.extend(r.exports)},{205:205}],267:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[2,1,1],t:7,e:"div",a:{style:"float: left"},f:[{p:[3,2,28],t:7,e:"div",a:{"class":"item"},f:[{p:[4,3,49],t:7,e:"table",f:[{p:[4,10,56],t:7,e:"tr",f:[{t:4,f:[{p:[6,4,121],t:7,e:"td",f:[{p:[6,8,125],t:7,e:"img",a:{src:[{t:2,r:"data.PC_batteryicon",p:[6,18,135]}]}}]}],n:50,x:{r:["data.PC_batteryicon","data.PC_showbatteryicon"],s:"_0&&_1"},p:[5,3,63]}," ",{t:4,f:[{p:[9,4,234],t:7,e:"td",f:[{p:[9,8,238],t:7,e:"b",f:[{t:2,r:"data.PC_batterypercent",p:[9,11,241]}]}]}],n:50,x:{r:["data.PC_batterypercent","data.PC_showbatteryicon"],s:"_0&&_1"},p:[8,3,173]}," ",{t:4,f:[{p:[12,4,313],t:7,e:"td",f:[{p:[12,8,317],t:7,e:"img",a:{src:[{t:2,r:"data.PC_ntneticon",p:[12,18,327]}]}}]}],n:50,r:"data.PC_ntneticon",p:[11,3,284]}," ",{t:4,f:[{p:[15,4,394],t:7,e:"td",f:[{p:[15,8,398],t:7,e:"img",a:{src:[{t:2,r:"data.PC_apclinkicon",p:[15,18,408]}]}}]}],n:50,r:"data.PC_apclinkicon",p:[14,3,363]}," ",{t:4,f:[{p:[18,4,477],t:7,e:"td",f:[{p:[18,8,481],t:7,e:"b",f:[{t:2,r:"data.PC_stationtime",p:[18,11,484]},{p:[18,34,507],t:7,e:"b",f:[]}]}]}],n:50,r:"data.PC_stationtime",p:[17,3,446]}," ",{t:4,f:[{p:[21,4,559],t:7,e:"td",f:[{p:[21,8,563],t:7,e:"img",a:{src:[{t:2,r:"icon",p:[21,18,573]}]}}]}],n:52,r:"data.PC_programheaders",p:[20,3,523]}]}]}]}]}," ",{p:[26,1,622],t:7,e:"div",a:{style:"float: right"},f:[{p:[27,2,650],t:7,e:"table",f:[{p:[27,9,657],t:7,e:"tr",f:[{p:[28,3,664],t:7,e:"td",f:[{p:[28,7,668],t:7,e:"ui-button",a:{action:"PC_shutdown"},f:["Shutdown"]}," ",{t:4,f:[{p:[30,4,758],t:7,e:"td",f:[{p:[30,8,762],t:7,e:"ui-button",a:{action:"PC_exit"},f:["EXIT PROGRAM"]}]},{p:[31,4,818],t:7,e:"td",f:[{p:[31,8,822],t:7,e:"ui-button",a:{action:"PC_minimize"},f:["Minimize Program"]}]}],n:50,r:"data.PC_showexitprogram",p:[29,3,723]}]}]}]}]}," ",{p:[35,1,910],t:7,e:"div",a:{style:"clear: both"},f:[{p:[36,1,936],t:7,e:"ui-display",f:[{t:4,f:[{p:[38,3,975],t:7,e:"h1",f:["ADMINISTRATIVE MODE"]}],n:50,r:"data.adminmode",p:[37,2,950]}," ",{t:4,f:[{p:[42,3,1036],t:7,e:"div",a:{"class":"itemLabel"},f:["Current channel:"]}," ",{p:[45,3,1092],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.title",p:[46,4,1121]}]}," ",{p:[48,3,1147],t:7,e:"div",a:{"class":"itemLabel"},f:["Operator access:"]}," ",{p:[51,3,1203],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:[{p:[53,5,1261],t:7,e:"b",f:["Enabled"]}],n:50,r:"data.is_operator",p:[52,4,1232]},{t:4,n:51,f:[{p:[55,5,1292],t:7,e:"b",f:["Disabled"]}],r:"data.is_operator"}]}," ",{p:[58,3,1330],t:7,e:"div",a:{"class":"itemLabel"},f:["Controls:"]}," ",{p:[61,3,1379],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[62,4,1408],t:7,e:"table",f:[{p:[63,5,1420],t:7,e:"tr",f:[{p:[63,9,1424],t:7,e:"td",f:[{p:[63,13,1428],t:7,e:"ui-button",a:{action:"PRG_speak"},f:["Send message"]}]}]},{p:[64,5,1487],t:7,e:"tr",f:[{p:[64,9,1491],t:7,e:"td",f:[{p:[64,13,1495],t:7,e:"ui-button",a:{action:"PRG_changename"},f:["Change nickname"]}]}]},{p:[65,5,1562],t:7,e:"tr",f:[{p:[65,9,1566],t:7,e:"td",f:[{p:[65,13,1570],t:7,e:"ui-button",a:{action:"PRG_toggleadmin"},f:["Toggle administration mode"]}]}]},{p:[66,5,1649],t:7,e:"tr",f:[{p:[66,9,1653],t:7,e:"td",f:[{p:[66,13,1657],t:7,e:"ui-button",a:{action:"PRG_leavechannel"},f:["Leave channel"]}]}]},{p:[67,5,1724],t:7,e:"tr",f:[{p:[67,9,1728],t:7,e:"td",f:[{p:[67,13,1732],t:7,e:"ui-button",a:{action:"PRG_savelog"},f:["Save log to local drive"]}," ",{t:4,f:[{p:[69,6,1834],t:7,e:"tr",f:[{p:[69,10,1838],t:7,e:"td",f:[{p:[69,14,1842],t:7,e:"ui-button",a:{action:"PRG_renamechannel"},f:["Rename channel"]}]}]},{p:[70,6,1912],t:7,e:"tr",f:[{p:[70,10,1916],t:7,e:"td",f:[{p:[70,14,1920],t:7,e:"ui-button",a:{action:"PRG_setpassword"},f:["Set password"]}]}]},{p:[71,6,1986],t:7,e:"tr",f:[{p:[71,10,1990],t:7,e:"td",f:[{p:[71,14,1994],t:7,e:"ui-button",a:{action:"PRG_deletechannel"},f:["Delete channel"]}]}]}],n:50,r:"data.is_operator",p:[68,5,1804]}]}]}]}]}," ",{p:[75,3,2096],t:7,e:"b",f:["Chat Window"]}," ",{p:[76,4,2118],t:7,e:"div",a:{"class":"statusDisplay",style:"overflow: auto;"},f:[{p:[77,4,2173],t:7,e:"div",a:{"class":"item"},f:[{p:[78,5,2196],t:7,e:"div",a:{"class":"itemContent",style:"width: 100%;"},f:[{t:4,f:[{t:2,r:"msg",p:[80,7,2278]},{p:[80,14,2285],t:7,e:"br"}],n:52,r:"data.messages",p:[79,6,2248]}]}]}]}," ",{p:[85,3,2339],t:7,e:"b",f:["Connected Users"]},{p:[85,25,2361],t:7,e:"br"}," ",{t:4,f:[{t:2,r:"name",p:[87,4,2394]},{p:[87,12,2402],t:7,e:"br"}],n:52,r:"data.clients",p:[86,3,2368]}],n:50,r:"data.title",p:[41,2,1015]},{t:4,n:51,f:[{p:[90,3,2431],t:7,e:"b",f:["Controls:"]}," ",{p:[91,3,2450],t:7,e:"table",f:[{p:[92,4,2461],t:7,e:"tr",f:[{p:[92,8,2465],t:7,e:"td",f:[{p:[92,12,2469],t:7,e:"ui-button",a:{action:"PRG_changename"},f:["Change nickname"]}]}]},{p:[93,4,2535],t:7,e:"tr",f:[{p:[93,8,2539],t:7,e:"td",f:[{p:[93,12,2543],t:7,e:"ui-button",a:{action:"PRG_newchannel"},f:["New Channel"]}]}]},{p:[94,4,2605],t:7,e:"tr",f:[{p:[94,8,2609],t:7,e:"td",f:[{p:[94,12,2613],t:7,e:"ui-button",a:{action:"PRG_toggleadmin"},f:["Toggle administration mode"]}]}]}]}," ",{p:[96,3,2701],t:7,e:"b",f:["Available channels:"]}," ",{p:[97,3,2730],t:7,e:"table",f:[{t:4,f:[{p:[99,4,2773],t:7,e:"tr",f:[{p:[99,8,2777],t:7,e:"td",f:[{p:[99,12,2781],t:7,e:"ui-button",a:{action:"PRG_joinchannel",params:['{"id": "',{t:2,r:"id",p:[99,64,2833]},'"}']},f:[{t:2,r:"chan",p:[99,74,2843]}]},{p:[99,94,2863],t:7,e:"br"}]}]}],n:52,r:"data.all_channels",p:[98,3,2740]}]}],r:"data.title"}]}]}]},e.exports=a.extend(r.exports)},{205:205}],268:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[2,1,1],t:7,e:"div",a:{style:"float: left"},f:[{p:[3,2,28],t:7,e:"div",a:{"class":"item"},f:[{p:[4,3,49],t:7,e:"table",f:[{p:[4,10,56],t:7,e:"tr",f:[{t:4,f:[{p:[6,4,121],t:7,e:"td",f:[{p:[6,8,125],t:7,e:"img",a:{src:[{t:2,r:"data.PC_batteryicon",p:[6,18,135]}]}}]}],n:50,x:{r:["data.PC_batteryicon","data.PC_showbatteryicon"],s:"_0&&_1"},p:[5,3,63]}," ",{t:4,f:[{p:[9,4,234],t:7,e:"td",f:[{p:[9,8,238],t:7,e:"b",f:[{t:2,r:"data.PC_batterypercent",p:[9,11,241]}]}]}],n:50,x:{r:["data.PC_batterypercent","data.PC_showbatteryicon"],s:"_0&&_1"},p:[8,3,173]}," ",{t:4,f:[{p:[12,4,313],t:7,e:"td",f:[{p:[12,8,317],t:7,e:"img",a:{src:[{t:2,r:"data.PC_ntneticon",p:[12,18,327]}]}}]}],n:50,r:"data.PC_ntneticon",p:[11,3,284]}," ",{t:4,f:[{p:[15,4,394],t:7,e:"td",f:[{p:[15,8,398],t:7,e:"img",a:{src:[{t:2,r:"data.PC_apclinkicon",p:[15,18,408]}]}}]}],n:50,r:"data.PC_apclinkicon",p:[14,3,363]}," ",{t:4,f:[{p:[18,4,477],t:7,e:"td",f:[{p:[18,8,481],t:7,e:"b",f:[{t:2,r:"data.PC_stationtime",p:[18,11,484]},{p:[18,34,507],t:7,e:"b",f:[]}]}]}],n:50,r:"data.PC_stationtime",p:[17,3,446]}," ",{t:4,f:[{p:[21,4,559],t:7,e:"td",f:[{p:[21,8,563],t:7,e:"img",a:{src:[{t:2,r:"icon",p:[21,18,573]}]}}]}],n:52,r:"data.PC_programheaders",p:[20,3,523]}]}]}]}]}," ",{p:[26,1,622],t:7,e:"div",a:{style:"float: right"},f:[{p:[27,2,650],t:7,e:"table",f:[{p:[27,9,657],t:7,e:"tr",f:[{p:[28,3,664],t:7,e:"td",f:[{p:[28,7,668],t:7,e:"ui-button",a:{action:"PC_shutdown"},f:["Shutdown"]}," ",{t:4,f:[{p:[30,4,758],t:7,e:"td",f:[{p:[30,8,762],t:7,e:"ui-button",a:{action:"PC_exit"},f:["EXIT PROGRAM"]}]},{p:[31,4,818],t:7,e:"td",f:[{p:[31,8,822],t:7,e:"ui-button",a:{action:"PC_minimize"},f:["Minimize Program"]}]}],n:50,r:"data.PC_showexitprogram",p:[29,3,723]}]}]}]}]}," ",{p:[35,1,910],t:7,e:"div",a:{style:"clear: both"},f:[{p:[36,1,936],t:7,e:"ui-display",f:[{t:4,f:["##SYSTEM ERROR: ",{t:2,r:"data.error",p:[38,19,987]},{p:[38,33,1001],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["RESET"]}],n:50,r:"data.error",p:[37,2,950]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.target"],s:"_0"},f:["##DoS traffic generator active. Tx: ",{t:2,r:"data.speed",p:[40,39,1111]},"GQ/s",{p:[40,57,1129],t:7,e:"br"}," ",{t:4,f:[{t:2,r:"nums",p:[42,4,1166]},{p:[42,12,1174],t:7,e:"br"}],n:52,r:"data.dos_strings",p:[41,3,1136]}," ",{p:[44,3,1193],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["ABORT"]}]},{t:4,n:50,x:{r:["data.target"],s:"!(_0)"},f:[" ##DoS traffic generator ready. Select target device.",{p:[46,55,1305],t:7,e:"br"}," ",{t:4,f:["Targeted device ID: ",{t:2,r:"data.focus",p:[48,24,1354]}],n:50,r:"data.focus",p:[47,3,1312]},{t:4,n:51,f:["Targeted device ID: None"],r:"data.focus"}," ",{p:[52,3,1420],t:7,e:"ui-button",a:{action:"PRG_execute"},f:["EXECUTE"]},{p:[52,54,1471],t:7,e:"div",a:{style:"clear:both"}}," Detected devices on network:",{p:[53,31,1532],t:7,e:"br"}," ",{t:4,f:[{p:[55,4,1564],t:7,e:"ui-button",a:{action:"PRG_target_relay",params:['{"targid": "',{t:2,r:"id",p:[55,61,1621]},'"}']},f:[{t:2,r:"id",p:[55,71,1631]}]}],n:52,r:"data.relays",p:[54,3,1539]}]}],r:"data.error"}]}]}]},e.exports=a.extend(r.exports)},{205:205}],269:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[2,1,1],t:7,e:"div",a:{style:"float: left"},f:[{p:[3,2,28],t:7,e:"div",a:{"class":"item"},f:[{p:[4,3,49],t:7,e:"table",f:[{p:[4,10,56],t:7,e:"tr",f:[{t:4,f:[{p:[6,4,121],t:7,e:"td",f:[{p:[6,8,125],t:7,e:"img",a:{src:[{t:2,r:"data.PC_batteryicon",p:[6,18,135]}]}}]}],n:50,x:{r:["data.PC_batteryicon","data.PC_showbatteryicon"],s:"_0&&_1"},p:[5,3,63]}," ",{t:4,f:[{p:[9,4,234],t:7,e:"td",f:[{p:[9,8,238],t:7,e:"b",f:[{t:2,r:"data.PC_batterypercent",p:[9,11,241]}]}]}],n:50,x:{r:["data.PC_batterypercent","data.PC_showbatteryicon"],s:"_0&&_1"},p:[8,3,173]}," ",{t:4,f:[{p:[12,4,313],t:7,e:"td",f:[{p:[12,8,317],t:7,e:"img",a:{src:[{t:2,r:"data.PC_ntneticon",p:[12,18,327]}]}}]}],n:50,r:"data.PC_ntneticon",p:[11,3,284]}," ",{t:4,f:[{p:[15,4,394],t:7,e:"td",f:[{p:[15,8,398],t:7,e:"img",a:{src:[{t:2,r:"data.PC_apclinkicon",p:[15,18,408]}]}}]}],n:50,r:"data.PC_apclinkicon",p:[14,3,363]}," ",{t:4,f:[{p:[18,4,477],t:7,e:"td",f:[{p:[18,8,481],t:7,e:"b",f:[{t:2,r:"data.PC_stationtime",p:[18,11,484]},{p:[18,34,507],t:7,e:"b",f:[]}]}]}],n:50,r:"data.PC_stationtime",p:[17,3,446]}," ",{t:4,f:[{p:[21,4,559],t:7,e:"td",f:[{p:[21,8,563],t:7,e:"img",a:{src:[{t:2,r:"icon",p:[21,18,573]}]}}]}],n:52,r:"data.PC_programheaders",p:[20,3,523]}]}]}]}]}," ",{p:[26,1,622],t:7,e:"div",a:{style:"float: right"},f:[{p:[27,2,650],t:7,e:"table",f:[{p:[27,9,657],t:7,e:"tr",f:[{p:[28,3,664],t:7,e:"td",f:[{p:[28,7,668],t:7,e:"ui-button",a:{action:"PC_shutdown"},f:["Shutdown"]}," ",{t:4,f:[{p:[30,4,758],t:7,e:"td",f:[{p:[30,8,762],t:7,e:"ui-button",a:{action:"PC_exit"},f:["EXIT PROGRAM"]}]},{p:[31,4,818],t:7,e:"td",f:[{p:[31,8,822],t:7,e:"ui-button",a:{action:"PC_minimize"},f:["Minimize Program"]}]}],n:50,r:"data.PC_showexitprogram",p:[29,3,723]}]}]}]}]}," ",{p:[35,1,910],t:7,e:"div",a:{style:"clear: both"},f:[{p:[37,1,937],t:7,e:"ui-display",f:[{p:[38,2,951],t:7,e:"i",f:["Welcome to software download utility. Please select which software you wish to download."]},{p:[38,97,1046],t:7,e:"hr"}," ",{t:4,f:[{p:[40,3,1073],t:7,e:"ui-display",a:{title:"Download Error"},f:[{p:[41,4,1112],t:7,e:"ui-section",a:{label:"Information"},f:[{t:2,r:"data.error",p:[42,5,1149]}]}," ",{p:[44,4,1184],t:7,e:"ui-section",a:{label:"Reset Program"},f:[{p:[45,5,1223],t:7,e:"ui-button",a:{icon:"times",action:"PRG_reseterror"},f:["RESET"]}]}]}],n:50,r:"data.error",p:[39,2,1052]},{t:4,n:51,f:[{t:4,f:[{p:[52,4,1374],t:7,e:"ui-display",a:{title:"Download Running"},f:[{p:[53,5,1416],t:7,e:"i",f:["Please wait..."]}," ",{p:[54,5,1442],t:7,e:"ui-section",a:{label:"File name"},f:[{t:2,r:"data.downloadname",p:[55,6,1478]}]}," ",{p:[57,5,1522],t:7,e:"ui-section",a:{label:"File description"},f:[{t:2,r:"data.downloaddesc",p:[58,6,1565]}]}," ",{p:[60,5,1609],t:7,e:"ui-section",a:{label:"File size"},f:[{t:2,r:"data.downloadcompletion",p:[61,6,1645]},"GQ / ",{t:2,r:"data.downloadsize",p:[61,38,1677]},"GQ"]}," ",{p:[63,5,1723],t:7,e:"ui-section",a:{label:"Transfer Rate"},f:[{t:2,r:"data.downloadspeed",p:[64,6,1763]}," GQ/s"]}," ",{p:[66,5,1813],t:7,e:"ui-section",a:{label:"Download progress"},f:[{p:[67,6,1857],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.downloadsize",p:[67,27,1878]}],value:[{t:2,r:"adata.downloadcompletion",p:[67,58,1909]}],state:"good"},f:[{t:2,x:{r:["adata.downloadcompletion"],s:"Math.round(_0)"},p:[67,101,1952]},"/",{t:2,r:"adata.downloadsize",p:[67,142,1993]}]}]}]}],n:50,r:"data.downloadname",p:[51,3,1345]}],r:"data.error"}," ",{t:4,f:[{t:4,f:[{p:[74,4,2132],t:7,e:"ui-display",a:{title:"Primary software repository"},f:[{p:[75,5,2185],t:7,e:"ui-section",a:{label:"Hard drive"},f:[{p:[76,6,2222],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.disk_size",p:[76,27,2243]}],value:[{t:2,r:"adata.disk_used",p:[76,55,2271]}],state:"good"},f:[{t:2,x:{r:["adata.disk_used"],s:"Math.round(_0)"},p:[76,89,2305]},"GQ/",{t:2,r:"adata.disk_size",p:[76,123,2339]},"GQ"]}]}," ",{t:4,f:[{p:[79,6,2434],t:7,e:"ui-section",a:{label:"File name"},f:[{t:2,r:"filename",p:[80,7,2471]}," (",{t:2,r:"size",p:[80,21,2485]}," GQ)"]}," ",{p:[82,6,2522],t:7,e:"ui-section",a:{label:"Program name"},f:[{t:2,r:"filedesc",p:[83,7,2562]}]}," ",{p:[85,6,2600],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"fileinfo",p:[86,7,2639]}]}," ",{p:[88,6,2676],t:7,e:"ui-section",a:{label:"Compatibility"},f:[{t:2,r:"compatibility",p:[89,7,2717]}]}," ",{p:[91,6,2759],t:7,e:"ui-section",a:{label:"File controls"},f:[{p:[92,7,2800],t:7,e:"ui-button",a:{icon:"signal",action:"PRG_downloadfile",params:['{"filename": "',{t:2,r:"filename",p:[92,80,2873]},'"}']},f:["DOWNLOAD"]}]}],n:52,r:"data.downloadable_programs",p:[78,5,2392]}]}," ",{t:4,f:[{p:[99,5,3011],t:7,e:"ui-display",a:{title:"UNKNOWN software repository"},f:[{p:[100,6,3065],t:7,e:"i",f:["Please note that NanoTrasen does not recommend download of software from non-official servers."]}," ",{t:4,f:[{p:[102,7,3209],t:7,e:"ui-section",a:{label:"File name"},f:[{t:2,r:"filename",p:[103,8,3247]}," (",{t:2,r:"size",p:[103,22,3261]}," GQ)"]}," ",{p:[105,7,3300],t:7,e:"ui-section",a:{label:"Program name"},f:[{t:2,r:"filedesc",p:[106,8,3341]}]}," ",{p:[108,7,3381],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"fileinfo",p:[109,8,3421]}]}," ",{p:[111,7,3460],t:7,e:"ui-section",a:{label:"File controls"},f:[{p:[112,8,3502],t:7,e:"ui-button",a:{icon:"signal",action:"PRG_downloadfile",params:['{"filename": "',{t:2,r:"filename",p:[112,81,3575]},'"}']},f:["DOWNLOAD"]}]}],n:52,r:"data.hacked_programs",p:[101,6,3172]}]}],n:50,r:"data.hackedavailable",p:[98,4,2978]}],n:50,x:{r:["data.error"],s:"!_0"},p:[73,3,2109]}],n:50,x:{r:["data.downloadname"],s:"!_0"},p:[72,2,2080]}," ",{p:[121,2,3714],t:7,e:"br"},{p:[121,6,3718],t:7,e:"br"},{p:[121,10,3722],t:7,e:"hr"},{p:[121,14,3726],t:7,e:"i",f:["NTOS v2.0.4b Copyright NanoTrasen 2557 - 2559"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],270:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[3,1,2],t:7,e:"ui-display",f:[{p:[4,2,16],t:7,e:"div",a:{style:"float: left"},f:[{p:[5,3,44],t:7,e:"div",a:{"class":"item"},f:[{p:[6,4,66],t:7,e:"table",f:[{p:[6,11,73],t:7,e:"tr",f:[{t:4,f:[{p:[8,5,140],t:7,e:"td",f:[{p:[8,9,144],t:7,e:"img",a:{src:[{t:2,r:"data.PC_batteryicon",p:[8,19,154]}]}}]}],n:50,x:{r:["data.PC_batteryicon","data.PC_showbatteryicon"],s:"_0&&_1"},p:[7,4,81]}," ",{t:4,f:[{p:[11,5,256],t:7,e:"td",f:[{p:[11,9,260],t:7,e:"b",f:[{t:2,r:"data.PC_batterypercent",p:[11,12,263]}]}]}],n:50,x:{r:["data.PC_batterypercent","data.PC_showbatteryicon"],s:"_0&&_1"},p:[10,4,194]}," ",{t:4,f:[{p:[14,5,338],t:7,e:"td",f:[{p:[14,9,342],t:7,e:"img",a:{src:[{t:2,r:"data.PC_ntneticon",p:[14,19,352]}]}}]}],n:50,r:"data.PC_ntneticon",p:[13,4,308]}," ",{t:4,f:[{p:[17,5,422],t:7,e:"td",f:[{p:[17,9,426],t:7,e:"img",a:{src:[{t:2,r:"data.PC_apclinkicon",p:[17,19,436]}]}}]}],n:50,r:"data.PC_apclinkicon",p:[16,4,390]}," ",{t:4,f:[{p:[20,5,508],t:7,e:"td",f:[{p:[20,9,512],t:7,e:"b",f:[{t:2,r:"data.PC_stationtime",p:[20,12,515]},{p:[20,35,538],t:7,e:"b",f:[]}]}]}],n:50,r:"data.PC_stationtime",p:[19,4,476]}," ",{t:4,f:[{p:[23,5,593],t:7,e:"td",f:[{p:[23,9,597],t:7,e:"img",a:{src:[{t:2,r:"icon",p:[23,19,607]}]}}]}],n:52,r:"data.PC_programheaders",p:[22,4,556]}]}]}]}]}," ",{p:[28,2,661],t:7,e:"div",a:{style:"float: right"},f:[{p:[29,3,690],t:7,e:"table",f:[{p:[29,10,697],t:7,e:"tr",f:[{p:[30,4,705],t:7,e:"td",f:[{p:[30,8,709],t:7,e:"ui-button",a:{action:"PC_shutdown"},f:["Shutdown"]}," ",{t:4,f:[{p:[32,5,801],t:7,e:"td",f:[{p:[32,9,805],t:7,e:"ui-button",a:{action:"PC_exit"},f:["EXIT PROGRAM"]}]},{p:[33,5,862],t:7,e:"td",f:[{p:[33,9,866],t:7,e:"ui-button",a:{action:"PC_minimize"},f:["Minimize Program"]}]}],n:50,r:"data.PC_showexitprogram",p:[31,4,765]}]}]}]}]}," ",{p:[37,2,958],t:7,e:"div",a:{style:"clear: both"},f:[{p:[39,2,986],t:7,e:"ui-display",a:{title:"WIRELESS CONNECTIVITY"},f:[{p:[41,3,1032],t:7,e:"ui-section",a:{label:"Active NTNetRelays"},f:[{p:[42,4,1075],t:7,e:"b",f:[{t:2,r:"data.ntnetrelays",p:[42,7,1078]}]}]}," ",{t:4,f:[{p:[45,4,1149],t:7,e:"ui-section",a:{label:"System status"},f:[{p:[46,6,1189],t:7,e:"b",f:[{t:2,x:{r:["data.ntnetstatus"],s:'_0?"ENABLED":"DISABLED"'},p:[46,9,1192]}]}]}," ",{p:[48,4,1262],t:7,e:"ui-section",a:{label:"Control"},f:[{p:[50,4,1295],t:7,e:"ui-button",a:{icon:"plus",action:"toggleWireless"},f:["TOGGLE"]}]}," ",{p:[54,4,1390],t:7,e:"br"},{p:[54,8,1394],t:7,e:"br"}," ",{p:[55,4,1402],t:7,e:"i",f:["Caution - Disabling wireless transmitters when using wireless device may prevent you from re-enabling them again!"]}],n:50,r:"data.ntnetrelays",p:[44,3,1121]},{t:4,n:51,f:[{p:[57,4,1537],t:7,e:"br"},{p:[57,8,1541],t:7,e:"p",f:["Wireless coverage unavailable, no relays are connected."]}],r:"data.ntnetrelays"}]}," ",{p:[62,2,1632],t:7,e:"ui-display",a:{title:"FIREWALL CONFIGURATION"},f:[{p:[64,2,1678],t:7,e:"table",f:[{p:[65,3,1688],t:7,e:"tr",f:[{p:[66,4,1696],t:7,e:"th",f:["PROTOCOL"]},{p:[67,4,1712],t:7,e:"th",f:["STATUS"]},{p:[68,4,1726],t:7,e:"th",f:["CONTROL"]}]},{p:[69,3,1740],t:7,e:"tr",f:[" ",{p:[70,4,1748],t:7,e:"td",f:["Software Downloads"]},{p:[71,4,1774],t:7,e:"td",f:[{t:2,x:{r:["data.config_softwaredownload"],s:'_0?"ENABLED":"DISABLED"'},p:[71,8,1778]}]},{p:[72,4,1839],t:7,e:"td",f:[" ",{p:[72,9,1844],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "1"}'},f:["TOGGLE"]}]}]},{p:[73,3,1922],t:7,e:"tr",f:[" ",{p:[74,4,1930],t:7,e:"td",f:["Peer to Peer Traffic"]},{p:[75,4,1958],t:7,e:"td",f:[{t:2,x:{r:["data.config_peertopeer"],s:'_0?"ENABLED":"DISABLED"'},p:[75,8,1962]}]},{p:[76,4,2017],t:7,e:"td",f:[{p:[76,8,2021],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "2"}'},f:["TOGGLE"]}]}]},{p:[77,3,2099],t:7,e:"tr",f:[" ",{p:[78,4,2107],t:7,e:"td",f:["Communication Systems"]},{p:[79,4,2136],t:7,e:"td",f:[{t:2,x:{r:["data.config_communication"],s:'_0?"ENABLED":"DISABLED"'},p:[79,8,2140]}]},{p:[80,4,2198],t:7,e:"td",f:[{p:[80,8,2202],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "3"}'},f:["TOGGLE"]}]}]},{p:[81,3,2280],t:7,e:"tr",f:[" ",{p:[82,4,2288],t:7,e:"td",f:["Remote System Control"]},{p:[83,4,2317],t:7,e:"td",f:[{t:2,x:{r:["data.config_systemcontrol"],s:'_0?"ENABLED":"DISABLED"'},p:[83,8,2321]}]},{p:[84,4,2379],t:7,e:"td",f:[{p:[84,8,2383],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "4"}'},f:["TOGGLE"]}]}]}]}]}," ",{p:[88,2,2486],t:7,e:"ui-display",a:{title:"SECURITY SYSTEMS"},f:[{t:4,f:[{p:[91,4,2552],t:7,e:"ui-notice",f:[{p:[92,5,2568],t:7,e:"h1",f:["NETWORK INCURSION DETECTED"]}]}," ",{p:[94,5,2624],t:7,e:"i",f:["An abnormal activity has been detected in the network. Please verify system logs for more information"]}],n:50,r:"data.idsalarm",p:[90,3,2527]}," ",{p:[97,3,2749],t:7,e:"ui-section",a:{label:"Intrusion Detection System"},f:[{p:[98,4,2800],t:7,e:"b",f:[{t:2,x:{r:["data.idsstatus"],s:'_0?"ENABLED":"DISABLED"'},p:[98,7,2803]}]}]}," ",{p:[101,3,2872],t:7,e:"ui-section",a:{label:"Maximal Log Count"},f:[{p:[102,4,2914],t:7,e:"b",f:[{t:2,r:"data.ntnetmaxlogs",p:[102,7,2917]}]}]}," ",{p:[105,3,2964],t:7,e:"ui-section",a:{label:"Controls"},f:[]}," ",{p:[107,4,3013],t:7,e:"table",f:[{p:[108,4,3024],t:7,e:"tr",f:[{p:[108,8,3028],t:7,e:"td",f:[{p:[108,12,3032],t:7,e:"ui-button",a:{action:"resetIDS"},f:["RESET IDS"]}]}]},{p:[109,4,3086],t:7,e:"tr",f:[{p:[109,8,3090],t:7,e:"td",f:[{p:[109,12,3094],t:7,e:"ui-button",a:{action:"toggleIDS"},f:["TOGGLE IDS"]}]}]},{p:[110,4,3150],t:7,e:"tr",f:[{p:[110,8,3154],t:7,e:"td",f:[{p:[110,12,3158],t:7,e:"ui-button",a:{action:"updatemaxlogs"},f:["SET LOG LIMIT"]}]}]},{p:[111,4,3221],t:7,e:"tr",f:[{p:[111,8,3225],t:7,e:"td",f:[{p:[111,12,3229],t:7,e:"ui-button",a:{action:"purgelogs"},f:["PURGE LOGS"]}]}]}]}," ",{p:[114,3,3297],t:7,e:"ui-subdisplay",a:{title:"System Logs"},f:[{p:[115,3,3335],t:7,e:"div",a:{"class":"statusDisplay",style:"overflow: auto;"},f:[{p:[116,3,3389],t:7,e:"div",a:{"class":"item"},f:[{p:[117,4,3411],t:7,e:"div",a:{"class":"itemContent",style:"width: 100%;"},f:[{t:4,f:[{t:2,r:"entry",p:[119,6,3492]},{p:[119,15,3501],t:7,e:"br"}],n:52,r:"data.ntnetlogs",p:[118,5,3462]}]}]}]}]}]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],271:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Relay"},f:[{t:4,f:[{p:[3,3,55],t:7,e:"h2",f:["NETWORK BUFFERS OVERLOADED"]}," ",{p:[4,3,93],t:7,e:"h3",f:["Overload Recovery Mode"]}," ",{p:[5,3,127],t:7,e:"i",f:["This system is suffering temporary outage due to overflow of traffic buffers. Until buffered traffic is processed, all further requests will be dropped. Frequent occurences of this error may indicate insufficient hardware capacity of your network. Please contact your network planning department for instructions on how to resolve this issue."]}," ",{p:[6,3,479],t:7,e:"h3",f:["ADMINISTRATIVE OVERRIDE"]}," ",{p:[7,3,514],t:7,e:"b",f:["CAUTION - Data loss may occur"]}," ",{p:[8,3,555],t:7,e:"ui-button",a:{icon:"signal",action:"restart"},f:["Purge buffered traffic"]}],n:50,r:"data.dos_crashed",p:[2,2,28]},{t:4,n:51,f:[{p:[12,3,652],t:7,e:"ui-section",a:{label:"Relay status"},f:[{p:[13,4,689],t:7,e:"ui-button",a:{icon:"power-off",action:"toggle"},f:[{t:2,x:{r:["data.enabled"],s:'_0?"ENABLED":"DISABLED"'},p:[14,6,739]}]}]}," ",{p:[18,3,819],t:7,e:"ui-section",a:{label:"Network buffer status"},f:[{t:2,r:"data.dos_overload",p:[19,4,865]}," / ",{t:2,r:"data.dos_capacity",p:[19,28,889]}," GQ"]}],r:"data.dos_crashed"}]}]},e.exports=a.extend(r.exports)},{205:205}],272:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[2,1,1],t:7,e:"ui-display",f:[{p:[4,2,16],t:7,e:"div",a:{style:"float: left"},f:[{p:[5,3,44],t:7,e:"div",a:{"class":"item"},f:[{p:[6,4,66],t:7,e:"table",f:[{p:[6,11,73],t:7,e:"tr",f:[{t:4,f:[{p:[8,5,140],t:7,e:"td",f:[{p:[8,9,144],t:7,e:"img",a:{src:[{t:2,r:"data.PC_batteryicon",p:[8,19,154]}]}}]}],n:50,x:{r:["data.PC_batteryicon","data.PC_showbatteryicon"],s:"_0&&_1"},p:[7,4,81]}," ",{t:4,f:[{p:[11,5,256],t:7,e:"td",f:[{p:[11,9,260],t:7,e:"b",f:[{t:2,r:"data.PC_batterypercent",p:[11,12,263]}]}]}],n:50,x:{r:["data.PC_batterypercent","data.PC_showbatteryicon"],s:"_0&&_1"},p:[10,4,194]}," ",{t:4,f:[{p:[14,5,338],t:7,e:"td",f:[{p:[14,9,342],t:7,e:"img",a:{src:[{t:2,r:"data.PC_ntneticon",p:[14,19,352]}]}}]}],n:50,r:"data.PC_ntneticon",p:[13,4,308]}," ",{t:4,f:[{p:[17,5,422],t:7,e:"td",f:[{p:[17,9,426],t:7,e:"img",a:{src:[{t:2,r:"data.PC_apclinkicon",p:[17,19,436]}]}}]}],n:50,r:"data.PC_apclinkicon",p:[16,4,390]}," ",{t:4,f:[{p:[20,5,508],t:7,e:"td",f:[{p:[20,9,512],t:7,e:"b",f:[{t:2,r:"data.PC_stationtime",p:[20,12,515]},{p:[20,35,538],t:7,e:"b",f:[]}]}]}],n:50,r:"data.PC_stationtime",p:[19,4,476]}," ",{t:4,f:[{p:[23,5,593],t:7,e:"td",f:[{p:[23,9,597],t:7,e:"img",a:{src:[{t:2,r:"icon",p:[23,19,607]}]}}]}],n:52,r:"data.PC_programheaders",p:[22,4,556]}]}]}]}]}," ",{p:[28,2,661],t:7,e:"div",a:{style:"float: right"},f:[{p:[29,3,690],t:7,e:"table",f:[{p:[29,10,697],t:7,e:"tr",f:[{p:[30,4,705],t:7,e:"td",f:[{p:[30,8,709],t:7,e:"ui-button",a:{action:"PC_shutdown"},f:["Shutdown"]}," ",{t:4,f:[{p:[32,5,801],t:7,e:"td",f:[{p:[32,9,805],t:7,e:"ui-button",a:{action:"PC_exit"},f:["EXIT PROGRAM"]}]},{p:[33,5,862],t:7,e:"td",f:[{p:[33,9,866],t:7,e:"ui-button",a:{action:"PC_minimize"},f:["Minimize Program"]}]}],n:50,r:"data.PC_showexitprogram",p:[31,4,765]}]}]}]}]}," ",{p:[37,2,958],t:7,e:"div",a:{style:"clear: both"},f:[{t:4,f:[{p:[40,2,1006],t:7,e:"div",a:{"class":"item"},f:[{p:[41,3,1027],t:7,e:"h2",f:["An error has occurred during operation..."]}," ",{p:[42,3,1080],t:7,e:"b",f:["Additional information:"]},{t:2,r:"data.error",p:[42,34,1111]},{p:[42,48,1125],t:7,e:"br"}," ",{p:[43,3,1132],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Clear"]}]}],n:50,r:"data.error",p:[39,2,986]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.downloading"],s:"_0"},f:[{p:[46,3,1219],t:7,e:"h2",f:["Download in progress..."]}," ",{p:[47,3,1254],t:7,e:"div",a:{"class":"itemLabel"},f:["Downloaded file:"]}," ",{p:[50,3,1310],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.download_name",p:[51,4,1339]}]}," ",{p:[53,3,1374],t:7,e:"div",a:{"class":"itemLabel"},f:["Download progress:"]}," ",{p:[56,3,1432],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.download_progress",p:[57,4,1461]}," / ",{t:2,r:"data.download_size",p:[57,33,1490]}," GQ"]}," ",{p:[59,3,1527],t:7,e:"div",a:{"class":"itemLabel"},f:["Transfer speed:"]}," ",{p:[62,3,1582],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.download_netspeed",p:[63,4,1611]},"GQ/s"]}," ",{p:[65,3,1653],t:7,e:"div",a:{"class":"itemLabel"},f:["Controls:"]}," ",{p:[68,3,1702],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[69,4,1731],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Abort download"]}]}]},{t:4,n:50,x:{r:["data.downloading","data.uploading"],s:"(!(_0))&&(_1)"},f:[" ",{p:[72,3,1826],t:7,e:"h2",f:["Server enabled"]}," ",{p:[73,3,1852],t:7,e:"div",a:{"class":"itemLabel"
},f:["Connected clients:"]}," ",{p:[76,3,1910],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.upload_clients",p:[77,4,1939]}]}," ",{p:[79,3,1974],t:7,e:"div",a:{"class":"itemLabel"},f:["Provided file:"]}," ",{p:[82,3,2028],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.upload_filename",p:[83,4,2057]}]}," ",{p:[85,3,2093],t:7,e:"div",a:{"class":"itemLabel"},f:["Server password:"]}," ",{p:[88,3,2149],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:["ENABLED"],n:50,r:"data.upload_haspassword",p:[89,4,2178]},{t:4,n:51,f:["DISABLED"],r:"data.upload_haspassword"}]}," ",{p:[95,3,2269],t:7,e:"div",a:{"class":"itemLabel"},f:["Commands:"]}," ",{p:[98,3,2318],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[99,4,2347],t:7,e:"ui-button",a:{action:"PRG_setpassword"},f:["Set password"]}," ",{p:[100,4,2411],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Exit server"]}]}]},{t:4,n:50,x:{r:["data.downloading","data.uploading","data.upload_filelist"],s:"(!(_0))&&((!(_1))&&(_2))"},f:[" ",{p:[103,3,2509],t:7,e:"h2",f:["File transfer server ready. Select file to upload:"]}," ",{p:[104,3,2572],t:7,e:"table",f:[{p:[105,3,2582],t:7,e:"tr",f:[{p:[105,7,2586],t:7,e:"th",f:["File name"]},{p:[105,20,2599],t:7,e:"th",f:["File size"]},{p:[105,33,2612],t:7,e:"th",f:["Controls ",{t:4,f:[{p:[107,4,2661],t:7,e:"tr",f:[{p:[107,8,2665],t:7,e:"td",f:[{t:2,r:"filename",p:[107,12,2669]}]},{p:[108,4,2685],t:7,e:"td",f:[{t:2,r:"size",p:[108,8,2689]},"GQ"]},{p:[109,4,2703],t:7,e:"td",f:[{p:[109,8,2707],t:7,e:"ui-button",a:{action:"PRG_uploadfile",params:['{"id": "',{t:2,r:"uid",p:[109,59,2758]},'"}']},f:["Select"]}]}]}],n:52,r:"data.upload_filelist",p:[106,3,2627]}]}]}]}," ",{p:[112,3,2813],t:7,e:"hr"}," ",{p:[113,3,2820],t:7,e:"ui-button",a:{action:"PRG_setpassword"},f:["Set password"]}," ",{p:[114,3,2883],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Return"]}]},{t:4,n:50,x:{r:["data.downloading","data.uploading","data.upload_filelist"],s:"(!(_0))&&((!(_1))&&(!(_2)))"},f:[" ",{p:[116,3,2944],t:7,e:"h2",f:["Available files:"]}," ",{p:[117,3,2972],t:7,e:"table",a:{border:"1",style:"border-collapse: collapse"},f:[{p:[117,55,3024],t:7,e:"tr",f:[{p:[117,59,3028],t:7,e:"th",f:["Server UID"]},{p:[117,73,3042],t:7,e:"th",f:["File Name"]},{p:[117,86,3055],t:7,e:"th",f:["File Size"]},{p:[117,99,3068],t:7,e:"th",f:["Password Protection"]},{p:[117,122,3091],t:7,e:"th",f:["Operations ",{t:4,f:[{p:[119,5,3136],t:7,e:"tr",f:[{p:[119,9,3140],t:7,e:"td",f:[{t:2,r:"uid",p:[119,13,3144]}]},{p:[120,5,3156],t:7,e:"td",f:[{t:2,r:"filename",p:[120,9,3160]}]},{p:[121,5,3177],t:7,e:"td",f:[{t:2,r:"size",p:[121,9,3181]},"GQ ",{t:4,f:[{p:[123,6,3221],t:7,e:"td",f:["Enabled"]}],n:50,r:"haspassword",p:[122,5,3196]}," ",{t:4,f:[{p:[126,6,3275],t:7,e:"td",f:["Disabled"]}],n:50,x:{r:["haspassword"],s:"!_0"},p:[125,5,3249]}]},{p:[129,5,3309],t:7,e:"td",f:[{p:[129,9,3313],t:7,e:"ui-button",a:{action:"PRG_downloadfile",params:['{"id": "',{t:2,r:"uid",p:[129,62,3366]},'"}']},f:["Download"]}]}]}],n:52,r:"data.servers",p:[118,4,3109]}]}]}]}," ",{p:[132,3,3424],t:7,e:"hr"}," ",{p:[133,3,3431],t:7,e:"ui-button",a:{action:"PRG_uploadmenu"},f:["Send file"]}]}],r:"data.error"}]}]}]},e.exports=a.extend(r.exports)},{205:205}],273:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Auth. Disk:"},f:[{t:4,f:[{p:[3,7,67],t:7,e:"ui-button",a:{icon:"eject",style:"selected",action:"eject_disk"},f:["++++++++++"]}],n:50,r:"data.disk_present",p:[2,3,35]},{t:4,n:51,f:[{p:[5,7,168],t:7,e:"ui-button",a:{icon:"plus",action:"insert_disk"},f:["----------"]}],r:"data.disk_present"}]}," ",{p:[8,1,259],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[9,3,289],t:7,e:"span",f:[{t:2,r:"data.status1",p:[9,9,295]},"-",{t:2,r:"data.status2",p:[9,26,312]}]}]}," ",{p:[11,1,350],t:7,e:"ui-display",a:{title:"Timer"},f:[{p:[12,3,379],t:7,e:"ui-section",a:{label:"Time to Detonation"},f:[{p:[13,5,423],t:7,e:"span",f:[{t:2,x:{r:["data.timing","data.time_left","data.timer_set"],s:"_0?_1:_2"},p:[13,11,429]}]}]}," ",{t:4,f:[{p:[16,5,525],t:7,e:"ui-section",a:{label:"Adjust Timer"},f:[{p:[17,7,565],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.timer_is_not_default"],s:'_0&&_1&&_2?null:"disabled"'},p:[17,40,598]}],action:"timer",params:'{"change": "reset"}'},f:["Reset"]}," ",{p:[19,7,768],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.timer_is_not_min"],s:'_0&&_1&&_2?null:"disabled"'},p:[19,38,799]}],action:"timer",params:'{"change": "decrease"}'},f:["Decrease"]}," ",{p:[21,7,971],t:7,e:"ui-button",a:{icon:"pencil",state:[{t:2,x:{r:["data.disk_present","data.code_approved"],s:'_0&&_1?null:"disabled"'},p:[21,39,1003]}],action:"timer",params:'{"change": "input"}'},f:["Set"]}," ",{p:[22,7,1134],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.timer_is_not_max"],s:'_0&&_1&&_2?null:"disabled"'},p:[22,37,1164]}],action:"timer",params:'{"change": "increase"}'},f:["Increase"]}]}],n:51,r:"data.timing",p:[15,3,504]}," ",{p:[26,3,1369],t:7,e:"ui-section",a:{label:"Timer"},f:[{p:[27,5,1400],t:7,e:"ui-button",a:{icon:"clock-o",style:[{t:2,x:{r:["data.timing"],s:'_0?"danger":"caution"'},p:[27,38,1433]}],action:"toggle_timer",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.safety"],s:'_0&&_1&&!_2?null:"disabled"'},p:[29,14,1514]}]},f:[{t:2,x:{r:["data.timing"],s:'_0?"On":"Off"'},p:[30,7,1602]}]}]}]}," ",{p:[34,1,1680],t:7,e:"ui-display",a:{title:"Anchoring"},f:[{p:[35,3,1713],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.disk_present","data.code_approved"],s:'_0&&_1?null:"disabled"'},p:[36,12,1735]}],icon:[{t:2,x:{r:["data.anchored"],s:'_0?"lock":"unlock"'},p:[37,11,1810]}],style:[{t:2,x:{r:["data.anchored"],s:'_0?null:"caution"'},p:[38,12,1860]}],action:"anchor"},f:[{t:2,x:{r:["data.anchored"],s:'_0?"Engaged":"Off"'},p:[39,21,1918]}]}]}," ",{p:[41,1,1982],t:7,e:"ui-display",a:{title:"Safety"},f:[{p:[42,3,2012],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.disk_present","data.code_approved"],s:'_0&&_1?null:"disabled"'},p:[43,12,2034]}],icon:[{t:2,x:{r:["data.safety"],s:'_0?"lock":"unlock"'},p:[44,11,2109]}],action:"safety",style:[{t:2,x:{r:["data.safety"],s:'_0?"caution":"danger"'},p:[45,12,2173]}]},f:[{p:[46,7,2220],t:7,e:"span",f:[{t:2,x:{r:["data.safety"],s:'_0?"On":"Off"'},p:[46,13,2226]}]}]}]}," ",{p:[49,1,2293],t:7,e:"ui-display",a:{title:"Code"},f:[{p:[50,3,2321],t:7,e:"ui-section",a:{label:"Message"},f:[{t:2,r:"data.message",p:[50,31,2349]}]}," ",{p:[51,3,2381],t:7,e:"ui-section",a:{label:"Keypad"},f:[{p:[52,5,2413],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[52,39,2447]}],params:'{"digit":"1"}'},f:["1"]}," ",{p:[53,5,2531],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[53,39,2565]}],params:'{"digit":"2"}'},f:["2"]}," ",{p:[54,5,2649],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[54,39,2683]}],params:'{"digit":"3"}'},f:["3"]}," ",{p:[55,5,2767],t:7,e:"br"}," ",{p:[56,5,2776],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[56,39,2810]}],params:'{"digit":"4"}'},f:["4"]}," ",{p:[57,5,2894],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[57,39,2928]}],params:'{"digit":"5"}'},f:["5"]}," ",{p:[58,5,3012],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[58,39,3046]}],params:'{"digit":"6"}'},f:["6"]}," ",{p:[59,5,3130],t:7,e:"br"}," ",{p:[60,5,3139],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[60,39,3173]}],params:'{"digit":"7"}'},f:["7"]}," ",{p:[61,5,3257],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[61,39,3291]}],params:'{"digit":"8"}'},f:["8"]}," ",{p:[62,5,3375],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[62,39,3409]}],params:'{"digit":"9"}'},f:["9"]}," ",{p:[63,5,3493],t:7,e:"br"}," ",{p:[64,5,3502],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[64,39,3536]}],params:'{"digit":"R"}'},f:["R"]}," ",{p:[65,5,3620],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[65,39,3654]}],params:'{"digit":"0"}'},f:["0"]}," ",{p:[66,5,3738],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[66,39,3772]}],params:'{"digit":"E"}'},f:["E"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],274:[function(t,e,n){var a=t(205),r={exports:{}};!function(e){"use strict";var n=t(305);e.exports={data:{filter:"",tooltiptext:function(t,e,n){var a="";return t&&(a+="REQUIREMENTS: "+t+" "),e&&(a+="CATALYSTS: "+e+" "),n&&(a+="TOOLS: "+n),a}},oninit:function(){var t=this;this.on({hover:function(t){this.set("hovered",t.context.params)},unhover:function(t){this.set("hovered")}}),this.observe("filter",function(e,a,r){var i=null;i=t.get("data.display_compact")?t.findAll(".section"):t.findAll(".display:not(:first-child)"),(0,n.filterMulti)(i,t.get("filter").toLowerCase())},{init:!1})}}}(r),r.exports.template={v:3,t:[" ",{p:[48,1,1295],t:7,e:"ui-display",a:{title:[{t:2,r:"data.category",p:[48,20,1314]}]},f:[{t:4,f:[{p:[50,3,1355],t:7,e:"ui-section",f:["Crafting... ",{p:[51,16,1383],t:7,e:"i",a:{"class":"fa-spin fa fa-spinner"}}]}],n:50,r:"data.busy",p:[49,2,1335]},{t:4,n:51,f:[{p:[54,3,1449],t:7,e:"ui-section",f:[{p:[55,4,1465],t:7,e:"ui-button",a:{icon:"arrow-left",action:"backwardCat"},f:[{t:2,r:"data.prev_cat",p:[56,5,1520]}]}," ",{p:[58,4,1557],t:7,e:"ui-button",a:{icon:"arrow-right",action:"forwardCat"},f:[{t:2,r:"data.next_cat",p:[59,5,1612]}]}," ",{t:4,f:[{p:[62,5,1689],t:7,e:"ui-button",a:{icon:"lock",action:"toggle_recipes"},f:["Showing Craftable Recipes"]}],n:50,r:"data.display_craftable_only",p:[61,4,1649]},{t:4,n:51,f:[{p:[66,5,1801],t:7,e:"ui-button",a:{icon:"unlock",action:"toggle_recipes"},f:["Showing All Recipes"]}],r:"data.display_craftable_only"}," ",{p:[70,4,1907],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.display_compact"],s:'_0?"check-square-o":"square-o"'},p:[70,21,1924]}],action:"toggle_compact"},f:["Compact"]}," ",{t:4,f:[{t:4,f:[" ",{p:[75,6,2152],t:7,e:"ui-input",a:{value:[{t:2,r:"filter",p:[75,23,2169]}],placeholder:"Filter.."}}],n:51,r:"data.display_compact",p:[74,5,2063]}],n:50,r:"config.fancy",p:[73,4,2038]}]}," ",{t:4,f:[{p:[80,5,2299],t:7,e:"ui-display",f:[{t:4,f:[{p:[82,6,2346],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[82,25,2365]}]},f:[{p:[83,7,2382],t:7,e:"ui-button",a:{tooltip:[{t:2,x:{r:["tooltiptext","req_text","catalyst_text","tool_text"],s:"_0(_1,_2,_3)"},p:[83,27,2402]}],"tooltip-side":"right",action:"make",params:['{"recipe": "',{t:2,r:"ref",p:[83,135,2510]},'"}'],icon:"gears"},v:{hover:"hover",unhover:"unhover"},f:["Craft"]}]}],n:52,r:"data.can_craft",p:[81,5,2316]}," ",{t:4,f:[{t:4,f:[{p:[90,7,2712],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[90,26,2731]}]},f:[{p:[91,8,2749],t:7,e:"ui-button",a:{tooltip:[{t:2,x:{r:["tooltiptext","req_text","catalyst_text","tool_text"],s:"_0(_1,_2,_3)"},p:[91,28,2769]}],"tooltip-side":"right",state:"disabled",icon:"gears"},v:{hover:"hover",unhover:"unhover"},f:["Craft"]}]}],n:52,r:"data.cant_craft",p:[89,6,2680]}],n:51,r:"data.display_craftable_only",p:[88,5,2642]}]}],n:50,r:"data.display_compact",p:[79,4,2266]},{t:4,n:51,f:[{t:4,f:[{p:[100,6,3082],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[100,25,3101]}]},f:[{t:4,f:[{p:[102,8,3142],t:7,e:"ui-section",a:{label:"Requirements"},f:[{t:2,r:"req_text",p:[103,9,3184]}]}],n:50,r:"req_text",p:[101,7,3118]}," ",{t:4,f:[{p:[107,8,3267],t:7,e:"ui-section",a:{label:"Catalysts"},f:[{t:2,r:"catalyst_text",p:[108,9,3306]}]}],n:50,r:"catalyst_text",p:[106,7,3238]}," ",{t:4,f:[{p:[112,8,3390],t:7,e:"ui-section",a:{label:"Tools"},f:[{t:2,r:"tool_text",p:[113,9,3425]}]}],n:50,r:"tool_text",p:[111,7,3365]}," ",{p:[116,7,3480],t:7,e:"ui-section",f:[{p:[117,8,3500],t:7,e:"ui-button",a:{icon:"gears",action:"make",params:['{"recipe": "',{t:2,r:"ref",p:[117,66,3558]},'"}']},f:["Craft"]}]}]}],n:52,r:"data.can_craft",p:[99,5,3052]}," ",{t:4,f:[{t:4,f:[{p:[125,7,3731],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[125,26,3750]}]},f:[{t:4,f:[{p:[127,9,3793],t:7,e:"ui-section",a:{label:"Requirements"},f:[{t:2,r:"req_text",p:[128,10,3836]}]}],n:50,r:"req_text",p:[126,8,3768]}," ",{t:4,f:[{p:[132,9,3923],t:7,e:"ui-section",a:{label:"Catalysts"},f:[{t:2,r:"catalyst_text",p:[133,10,3963]}]}],n:50,r:"catalyst_text",p:[131,8,3893]}," ",{t:4,f:[{p:[137,9,4051],t:7,e:"ui-section",a:{label:"Tools"},f:[{t:2,r:"tool_text",p:[138,10,4087]}]}],n:50,r:"tool_text",p:[136,8,4025]}]}],n:52,r:"data.cant_craft",p:[124,6,3699]}],n:51,r:"data.display_craftable_only",p:[123,5,3661]}],r:"data.display_compact"}],r:"data.busy"}]}]},e.exports=a.extend(r.exports)},{205:205,305:305}],275:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,3,15],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.holding"],s:'_0?"is":"is not"'},p:[2,23,35]}," connected to a tank."]}]}," ",{p:[4,1,113],t:7,e:"ui-display",a:{title:"Status",button:0},f:[{p:[5,3,151],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[6,5,186],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.round(_0)"},p:[6,11,192]}," kPa"]}]}," ",{p:[8,3,254],t:7,e:"ui-section",a:{label:"Port"},f:[{p:[9,5,285],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected"],s:'_0?"good":"average"'},p:[9,18,298]}]},f:[{t:2,x:{r:["data.connected"],s:'_0?"Connected":"Not Connected"'},p:[9,59,339]}]}]}]}," ",{p:[12,1,430],t:7,e:"ui-display",a:{title:"Pump"},f:[{p:[13,3,459],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[14,5,491],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[14,22,508]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":"null"'},p:[15,14,559]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[16,22,616]}]}]}," ",{p:[18,3,675],t:7,e:"ui-section",a:{label:"Direction"},f:[{p:[19,5,711],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.direction"],s:'_0=="out"?"sign-out":"sign-in"'},p:[19,22,728]}],action:"direction"},f:[{t:2,x:{r:["data.direction"],s:'_0=="out"?"Out":"In"'},p:[20,26,808]}]}]}," ",{p:[22,3,883],t:7,e:"ui-section",a:{label:"Target Pressure"},f:[{p:[23,5,925],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.min_pressure",p:[23,18,938]}],max:[{t:2,r:"data.max_pressure",p:[23,46,966]}],value:[{t:2,r:"data.target_pressure",p:[24,14,1003]}]},f:[{t:2,x:{r:["adata.target_pressure"],s:"Math.round(_0)"},p:[24,40,1029]}," kPa"]}]}," ",{p:[26,3,1100],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[27,5,1145],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.target_pressure","data.default_pressure"],s:'_0!=_1?null:"disabled"'},p:[27,38,1178]}],action:"pressure",params:'{"pressure": "reset"}'},f:["Reset"]}," ",{p:[29,5,1328],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.target_pressure","data.min_pressure"],s:'_0>_1?null:"disabled"'},p:[29,36,1359]}],action:"pressure",params:'{"pressure": "min"}'},f:["Min"]}," ",{p:[31,5,1500],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[32,5,1595],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.target_pressure","data.max_pressure"],s:'_0<_1?null:"disabled"'},p:[32,35,1625]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}]}]}," ",{p:{button:[{t:4,f:[{p:[39,7,1891],t:7,e:"ui-button",a:{icon:"eject",style:[{t:2,x:{r:["data.on"],s:'_0?"danger":null'},p:[39,38,1922]}],action:"eject"},f:["Eject"]}],n:50,r:"data.holding",p:[38,5,1863]}]},t:7,e:"ui-display",a:{title:"Holding Tank",button:0},f:[" ",{t:4,f:[{p:[43,3,2042],t:7,e:"ui-section",a:{label:"Label"},f:[{t:2,r:"data.holding.name",p:[44,4,2073]}]}," ",{p:[46,3,2115],t:7,e:"ui-section",a:{label:"Pressure"},f:[{t:2,x:{r:["adata.holding.pressure"],s:"Math.round(_0)"},p:[47,4,2149]}," kPa"]}],n:50,r:"data.holding",p:[42,3,2018]},{t:4,n:51,f:[{p:[50,3,2223],t:7,e:"ui-section",f:[{p:[51,4,2240],t:7,e:"span",a:{"class":"average"},f:["No Holding Tank"]}]}],r:"data.holding"}]}]},e.exports=a.extend(r.exports)},{205:205}],276:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,3,15],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.holding"],s:'_0?"is":"is not"'},p:[2,23,35]}," connected to a tank."]}]}," ",{p:[4,1,113],t:7,e:"ui-display",a:{title:"Status",button:0},f:[{p:[5,3,151],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[6,5,186],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.round(_0)"},p:[6,11,192]}," kPa"]}]}," ",{p:[8,3,254],t:7,e:"ui-section",a:{label:"Port"},f:[{p:[9,5,285],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected"],s:'_0?"good":"average"'},p:[9,18,298]}]},f:[{t:2,x:{r:["data.connected"],s:'_0?"Connected":"Not Connected"'},p:[9,59,339]}]}]}]}," ",{p:[12,1,430],t:7,e:"ui-display",a:{title:"Filter"},f:[{p:[13,3,461],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[14,5,493],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[14,22,510]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":"null"'},p:[15,14,561]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[16,22,618]}]}]}]}," ",{p:{button:[{t:4,f:[{p:[22,7,787],t:7,e:"ui-button",a:{icon:"eject",style:[{t:2,x:{r:["data.on"],s:'_0?"danger":null'},p:[22,38,818]}],action:"eject"},f:["Eject"]}],n:50,r:"data.holding",p:[21,5,759]}]},t:7,e:"ui-display",a:{title:"Holding Tank",button:0},f:[" ",{t:4,f:[{p:[26,3,938],t:7,e:"ui-section",a:{label:"Label"},f:[{t:2,r:"data.holding.name",p:[27,4,969]}]}," ",{p:[29,3,1011],t:7,e:"ui-section",a:{label:"Pressure"},f:[{t:2,x:{r:["adata.holding.pressure"],s:"Math.round(_0)"},p:[30,4,1045]}," kPa"]}],n:50,r:"data.holding",p:[25,3,914]},{t:4,n:51,f:[{p:[33,3,1119],t:7,e:"ui-section",f:[{p:[34,4,1136],t:7,e:"span",a:{"class":"average"},f:["No Holding Tank"]}]}],r:"data.holding"}]}]},e.exports=a.extend(r.exports)},{205:205}],277:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{chargingState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}},chargingMode:function(t){return 2==t?"Full":1==t?"Charging":"Draining"},channelState:function(t){return t>=2?"good":"bad"},channelPower:function(t){return t>=2?"On":"Off"},channelMode:function(t){return 1==t||3==t?"Auto":"Manual"}},computed:{graphData:function(){var t=this.get("data.history");return Object.keys(t).map(function(e){return t[e].map(function(t,e){return{x:e,y:t}})})}}}}(r),r.exports.template={v:3,t:[" ",{p:[42,1,1035],t:7,e:"ui-display",a:{title:"Network"},f:[{t:4,f:[{p:[44,5,1093],t:7,e:"ui-linegraph",a:{points:[{t:2,r:"graphData",p:[44,27,1115]}],height:"500",legend:'["Available", "Load"]',colors:'["rgb(0, 102, 0)", "rgb(153, 0, 0)"]',xunit:"seconds ago",xfactor:[{t:2,r:"data.interval",p:[46,38,1267]}],yunit:"W",yfactor:"1",xinc:[{t:2,x:{r:["data.stored"],s:"_0/10"},p:[47,15,1323]}],yinc:"9"}}],n:50,r:"config.fancy",p:[43,3,1067]},{t:4,n:51,f:[{p:[49,5,1373],t:7,e:"ui-section",a:{label:"Available"},f:[{p:[50,7,1411],t:7,e:"span",f:[{t:2,r:"data.supply",p:[50,13,1417]}," W"]}]}," ",{p:[52,5,1466],t:7,e:"ui-section",a:{label:"Load"},f:[{p:[53,9,1501],t:7,e:"span",f:[{t:2,r:"data.demand",p:[53,15,1507]}," W"]}]}],r:"config.fancy"}]}," ",{p:[57,1,1578],t:7,e:"ui-display",a:{title:"Areas"},f:[{p:[58,3,1608],t:7,e:"ui-section",a:{nowrap:0},f:[{p:[59,5,1633],t:7,e:"div",a:{"class":"content"},f:["Area"]}," ",{p:[60,5,1670],t:7,e:"div",a:{"class":"content"},f:["Charge"]}," ",{p:[61,5,1709],t:7,e:"div",a:{"class":"content"},f:["Load"]}," ",{p:[62,5,1746],t:7,e:"div",a:{"class":"content"},f:["Status"]}," ",{p:[63,5,1785],t:7,e:"div",a:{"class":"content"},f:["Equipment"]}," ",{p:[64,5,1827],t:7,e:"div",a:{"class":"content"},f:["Lighting"]}," ",{p:[65,5,1868],t:7,e:"div",a:{"class":"content"},f:["Environment"]}]}," ",{t:4,f:[{p:[68,5,1953],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[68,24,1972]}],nowrap:0},f:[{p:[69,7,1997],t:7,e:"div",a:{"class":"content"},f:[{t:2,x:{r:["@index","adata.areas"],s:"Math.round(_1[_0].charge)"},p:[69,28,2018]}," %"]}," ",{p:[70,7,2076],t:7,e:"div",a:{"class":"content"},f:[{t:2,x:{r:["@index","adata.areas"],s:"Math.round(_1[_0].load)"},p:[70,28,2097]}," W"]}," ",{p:[71,7,2153],t:7,e:"div",a:{"class":"content"},f:[{p:[71,28,2174],t:7,e:"span",a:{"class":[{t:2,x:{r:["chargingState","charging"],s:"_0(_1)"},p:[71,41,2187]}]},f:[{t:2,x:{r:["chargingMode","charging"],s:"_0(_1)"},p:[71,70,2216]}]}]}," ",{p:[72,7,2263],t:7,e:"div",a:{"class":"content"},f:[{p:[72,28,2284],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","eqp"],s:"_0(_1)"},p:[72,41,2297]}]},f:[{t:2,x:{r:["channelPower","eqp"],s:"_0(_1)"},p:[72,64,2320]}," [",{p:[72,87,2343],t:7,e:"span",f:[{t:2,x:{r:["channelMode","eqp"],s:"_0(_1)"},p:[72,93,2349]}]},"]"]}]}," ",{p:[73,7,2398],t:7,e:"div",a:{"class":"content"},f:[{p:[73,28,2419],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","lgt"],s:"_0(_1)"},p:[73,41,2432]}]},f:[{t:2,x:{r:["channelPower","lgt"],s:"_0(_1)"},p:[73,64,2455]}," [",{p:[73,87,2478],t:7,e:"span",f:[{t:2,x:{r:["channelMode","lgt"],s:"_0(_1)"},p:[73,93,2484]}]},"]"]}]}," ",{p:[74,7,2533],t:7,e:"div",a:{"class":"content"},f:[{p:[74,28,2554],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","env"],s:"_0(_1)"},p:[74,41,2567]}]},f:[{t:2,x:{r:["channelPower","env"],s:"_0(_1)"},p:[74,64,2590]}," [",{p:[74,87,2613],t:7,e:"span",f:[{t:2,x:{r:["channelMode","env"],s:"_0(_1)"},p:[74,93,2619]}]},"]"]}]}]}],n:52,r:"data.areas",p:[67,3,1927]}]}]},e.exports=a.extend(r.exports)},{205:205}],278:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{chargingState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}},chargingMode:function(t){return 2==t?"Full":1==t?"Charging":"Draining"},channelState:function(t){return t>=2?"good":"bad"},channelPower:function(t){return t>=2?"On":"Off"},channelMode:function(t){return 1==t||3==t?"Auto":"Manual"}},computed:{graphData:function(){var t=this.get("data.history");return Object.keys(t).map(function(e){return t[e].map(function(t,e){return{x:e,y:t}})})}}}}(r),r.exports.template={v:3,t:[" ",{p:[42,1,994],t:7,e:"div",a:{style:"float: left"},f:[{p:[43,2,1021],t:7,e:"div",a:{"class":"item"},f:[{p:[44,3,1042],t:7,e:"table",f:[{p:[44,10,1049],t:7,e:"tr",f:[{t:4,f:[{p:[46,4,1114],t:7,e:"td",f:[{p:[46,8,1118],t:7,e:"img",a:{src:[{t:2,r:"data.PC_batteryicon",p:[46,18,1128]}]}}]}],n:50,x:{r:["data.PC_batteryicon","data.PC_showbatteryicon"],s:"_0&&_1"},p:[45,3,1056]}," ",{t:4,f:[{p:[49,4,1227],t:7,e:"td",f:[{p:[49,8,1231],t:7,e:"b",f:[{t:2,r:"data.PC_batterypercent",p:[49,11,1234]}]}]}],n:50,x:{r:["data.PC_batterypercent","data.PC_showbatteryicon"],s:"_0&&_1"},p:[48,3,1166]}," ",{t:4,f:[{p:[52,4,1306],t:7,e:"td",f:[{p:[52,8,1310],t:7,e:"img",a:{src:[{t:2,r:"data.PC_ntneticon",p:[52,18,1320]}]}}]}],n:50,r:"data.PC_ntneticon",p:[51,3,1277]}," ",{t:4,f:[{p:[55,4,1387],t:7,e:"td",f:[{p:[55,8,1391],t:7,e:"img",a:{src:[{t:2,r:"data.PC_apclinkicon",p:[55,18,1401]}]}}]}],n:50,r:"data.PC_apclinkicon",p:[54,3,1356]}," ",{t:4,f:[{p:[58,4,1470],t:7,e:"td",f:[{p:[58,8,1474],t:7,e:"b",f:[{t:2,r:"data.PC_stationtime",p:[58,11,1477]},{p:[58,34,1500],t:7,e:"b",f:[]}]}]}],n:50,r:"data.PC_stationtime",p:[57,3,1439]}," ",{t:4,f:[{p:[61,4,1552],t:7,e:"td",f:[{p:[61,8,1556],t:7,e:"img",a:{src:[{t:2,r:"icon",p:[61,18,1566]}]}}]}],n:52,r:"data.PC_programheaders",p:[60,3,1516]}]}]}]}]}," ",{p:[66,1,1615],t:7,e:"div",a:{style:"float: right"},f:[{p:[67,2,1643],t:7,e:"table",f:[{p:[67,9,1650],t:7,e:"tr",f:[{p:[68,3,1657],t:7,e:"td",f:[{p:[68,7,1661],t:7,e:"ui-button",a:{action:"PC_shutdown"},f:["Shutdown"]}," ",{t:4,f:[{p:[70,4,1751],t:7,e:"td",f:[{p:[70,8,1755],t:7,e:"ui-button",a:{action:"PC_exit"},f:["EXIT PROGRAM"]}]},{p:[71,4,1811],t:7,e:"td",f:[{p:[71,8,1815],t:7,e:"ui-button",a:{action:"PC_minimize"},f:["Minimize Program"]}]}],n:50,r:"data.PC_showexitprogram",p:[69,3,1716]}]}]}]}]}," ",{p:[75,1,1903],t:7,e:"div",a:{style:"clear: both"},f:[{p:[77,1,1930],t:7,e:"ui-display",a:{title:"Network"},f:[{t:4,f:[{p:[79,5,1986],t:7,e:"ui-linegraph",a:{points:[{t:2,r:"graphData",p:[79,27,2008]}],height:"500",legend:'["Available", "Load"]',colors:'["rgb(0, 102, 0)", "rgb(153, 0, 0)"]',xunit:"seconds ago",xfactor:[{t:2,r:"data.interval",p:[81,38,2158]}],yunit:"W",yfactor:"1",xinc:[{t:2,x:{r:["data.stored"],s:"_0/10"},p:[82,15,2213]}],yinc:"9"}}],n:50,r:"config.fancy",p:[78,3,1961]},{t:4,n:51,f:[{p:[84,5,2261],t:7,e:"ui-section",a:{label:"Available"},f:[{p:[85,7,2298],t:7,e:"span",f:[{t:2,r:"data.supply",p:[85,13,2304]}," W"]}]}," ",{p:[87,5,2351],t:7,e:"ui-section",a:{label:"Load"},f:[{p:[88,9,2385],t:7,e:"span",f:[{t:2,r:"data.demand",p:[88,15,2391]}," W"]}]}],r:"config.fancy"}]}," ",{p:[92,1,2458],t:7,e:"ui-display",a:{title:"Areas"},f:[{p:[93,3,2487],t:7,e:"ui-section",a:{nowrap:0},f:[{p:[94,5,2511],t:7,e:"div",a:{"class":"content"},f:["Area"]}," ",{p:[95,5,2547],t:7,e:"div",a:{"class":"content"},f:["Charge"]}," ",{p:[96,5,2585],t:7,e:"div",a:{"class":"content"},f:["Load"]}," ",{p:[97,5,2621],t:7,e:"div",a:{"class":"content"},f:["Status"]}," ",{p:[98,5,2659],t:7,e:"div",a:{"class":"content"},f:["Equipment"]}," ",{p:[99,5,2700],t:7,e:"div",a:{"class":"content"},f:["Lighting"]}," ",{p:[100,5,2740],t:7,e:"div",a:{"class":"content"},f:["Environment"]}]}," ",{t:4,f:[{p:[103,5,2822],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[103,24,2841]}],nowrap:0},f:[{p:[104,7,2865],t:7,e:"div",a:{"class":"content"},f:[{t:2,x:{r:["@index","adata.areas"],s:"Math.round(_1[_0].charge)"},p:[104,28,2886]}," %"]}," ",{p:[105,7,2943],t:7,e:"div",a:{"class":"content"},f:[{t:2,x:{r:["@index","adata.areas"],s:"Math.round(_1[_0].load)"},p:[105,28,2964]}," W"]}," ",{p:[106,7,3019],t:7,e:"div",a:{"class":"content"},f:[{p:[106,28,3040],t:7,e:"span",a:{"class":[{t:2,x:{r:["chargingState","charging"],s:"_0(_1)"},p:[106,41,3053]}]},f:[{t:2,x:{r:["chargingMode","charging"],s:"_0(_1)"},p:[106,70,3082]}]}]}," ",{p:[107,7,3128],t:7,e:"div",a:{"class":"content"},f:[{p:[107,28,3149],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","eqp"],s:"_0(_1)"},p:[107,41,3162]}]},f:[{t:2,x:{r:["channelPower","eqp"],s:"_0(_1)"},p:[107,64,3185]}," [",{p:[107,87,3208],t:7,e:"span",f:[{t:2,x:{r:["channelMode","eqp"],s:"_0(_1)"},p:[107,93,3214]}]},"]"]}]}," ",{p:[108,7,3262],t:7,e:"div",a:{"class":"content"},f:[{p:[108,28,3283],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","lgt"],s:"_0(_1)"},p:[108,41,3296]}]},f:[{t:2,x:{r:["channelPower","lgt"],s:"_0(_1)"},p:[108,64,3319]}," [",{p:[108,87,3342],t:7,e:"span",f:[{t:2,x:{r:["channelMode","lgt"],s:"_0(_1)"},p:[108,93,3348]}]},"]"]}]}," ",{p:[109,7,3396],t:7,e:"div",a:{"class":"content"},f:[{p:[109,28,3417],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","env"],s:"_0(_1)"},p:[109,41,3430]}]},f:[{t:2,x:{r:["channelPower","env"],s:"_0(_1)"},p:[109,64,3453]}," [",{p:[109,87,3476],t:7,e:"span",f:[{t:2,x:{r:["channelMode","env"],s:"_0(_1)"},p:[109,93,3482]}]},"]"]}]}]}],n:52,r:"data.areas",p:[102,3,2797]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],279:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={computed:{readableFrequency:function(){return Math.round(this.get("adata.frequency"))/10}}}}(r),r.exports.template={v:3,t:[" ",{p:[11,1,167],t:7,e:"ui-display",a:{title:"Settings"},f:[{t:4,f:[{p:[13,5,224],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[14,7,257],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.listening"],s:'_0?"power-off":"close"'},p:[14,24,274]}],style:[{t:2,x:{r:["data.listening"],s:'_0?"selected":null'},p:[14,75,325]}],action:"listen"},f:[{t:2,x:{r:["data.listening"],s:'_0?"On":"Off"'},p:[16,9,398]}]}]}],n:50,r:"data.headset",p:[12,3,199]},{t:4,n:51,f:[{p:[19,5,476],t:7,e:"ui-section",a:{label:"Microphone"},f:[{p:[20,7,514],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.broadcasting"],s:'_0?"power-off":"close"'},p:[20,24,531]}],style:[{t:2,x:{r:["data.broadcasting"],s:'_0?"selected":null'},p:[20,78,585]}],action:"broadcast"},f:[{t:2,x:{r:["data.broadcasting"],s:'_0?"Engaged":"Disengaged"'},p:[22,9,664]}]}]}," ",{p:[24,5,746],t:7,e:"ui-section",a:{label:"Speaker"},f:[{p:[25,7,781],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.listening"],s:'_0?"power-off":"close"'},p:[25,24,798]}],style:[{t:2,x:{r:["data.listening"],s:'_0?"selected":null'},p:[25,75,849]}],action:"listen"},f:[{t:2,x:{r:["data.listening"],s:'_0?"Engaged":"Disengaged"'},p:[27,9,922]}]}]}],r:"data.headset"}," ",{t:4,f:[{p:[31,5,1034],t:7,e:"ui-section",a:{label:"High Volume"},f:[{p:[32,7,1073],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.useCommand"],s:'_0?"power-off":"close"'},p:[32,24,1090]}],style:[{t:2,x:{r:["data.useCommand"],s:'_0?"selected":null'},p:[32,76,1142]}],action:"command"},f:[{t:2,x:{r:["data.useCommand"],s:'_0?"On":"Off"'},p:[34,9,1217]}]}]}],n:50,r:"data.command",p:[30,3,1009]}]}," ",{p:[38,1,1305],t:7,e:"ui-display",a:{title:"Channel"},f:[{p:[39,3,1336],t:7,e:"ui-section",a:{label:"Frequency"},f:[{t:4,f:[{p:[41,7,1399],t:7,e:"span",f:[{t:2,r:"readableFrequency",p:[41,13,1405]}]}],n:50,r:"data.freqlock",p:[40,5,1371]},{t:4,n:51,f:[{p:[43,7,1453],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.frequency","data.minFrequency"],s:'_0==_1?"disabled":null'},p:[43,46,1492]}],action:"frequency",params:'{"adjust": -1}'}}," ",{p:[44,7,1603],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.frequency","data.minFrequency"],s:'_0==_1?"disabled":null'},p:[44,41,1637]}],action:"frequency",params:'{"adjust": -.2}'}}," ",{p:[45,7,1749],t:7,e:"ui-button",a:{icon:"pencil",action:"frequency",params:'{"tune": "input"}'},f:[{t:2,r:"readableFrequency",p:[45,78,1820]}]}," ",{p:[46,7,1860],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.frequency","data.maxFrequency"],s:'_0==_1?"disabled":null'},p:[46,40,1893]}],action:"frequency",params:'{"adjust": .2}'}}," ",{p:[47,7,2004],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.frequency","data.maxFrequency"],s:'_0==_1?"disabled":null'},p:[47,45,2042]}],action:"frequency",params:'{"adjust": 1}'}}],r:"data.freqlock"}]}," ",{t:4,f:[{p:[51,5,2212],t:7,e:"ui-section",a:{label:"Subspace Transmission"},f:[{p:[52,7,2261],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.subspace"],s:'_0?"power-off":"close"'},p:[52,24,2278]}],style:[{t:2,x:{r:["data.subspace"],s:'_0?"selected":null'},p:[52,74,2328]}],action:"subspace"},f:[{t:2,x:{r:["data.subspace"],s:'_0?"Active":"Inactive"'},p:[53,29,2395]}]}]}],n:50,r:"data.subspaceSwitchable",p:[50,3,2176]}," ",{t:4,f:[{p:[57,5,2522],t:7,e:"ui-section",a:{label:"Channels"},f:[{t:4,f:[{p:[59,9,2598],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["."],s:'_0?"check-square-o":"square-o"'},p:[59,26,2615]}],style:[{t:2,x:{r:["."],s:'_0?"selected":null'},p:[60,18,2671]}],action:"channel",params:['{"channel": "',{t:2,r:"channel",p:[61,49,2746]},'"}']},f:[{t:2,r:"channel",p:[62,11,2772]}]},{p:[62,34,2795],t:7,e:"br"}],n:52,i:"channel",r:"data.channels",p:[58,7,2558]}]}],n:50,x:{r:["data.subspace","data.channels"],s:"_0&&_1"},p:[56,3,2479]}]}]},e.exports=a.extend(r.exports)},{205:205}],280:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[2,1,1],t:7,e:"div",a:{style:"float: left"},f:[{p:[3,2,28],t:7,e:"div",a:{"class":"item"},f:[{p:[4,3,49],t:7,e:"table",f:[{p:[4,10,56],t:7,e:"tr",f:[{t:4,f:[{p:[6,4,121],t:7,e:"td",f:[{p:[6,8,125],t:7,e:"img",a:{src:[{t:2,r:"data.PC_batteryicon",p:[6,18,135]}]}}]}],n:50,x:{r:["data.PC_batteryicon","data.PC_showbatteryicon"],s:"_0&&_1"},p:[5,3,63]}," ",{t:4,f:[{p:[9,4,234],t:7,e:"td",f:[{p:[9,8,238],t:7,e:"b",f:[{t:2,r:"data.PC_batterypercent",p:[9,11,241]}]}]}],n:50,x:{r:["data.PC_batterypercent","data.PC_showbatteryicon"],
s:"_0&&_1"},p:[8,3,173]}," ",{t:4,f:[{p:[12,4,313],t:7,e:"td",f:[{p:[12,8,317],t:7,e:"img",a:{src:[{t:2,r:"data.PC_ntneticon",p:[12,18,327]}]}}]}],n:50,r:"data.PC_ntneticon",p:[11,3,284]}," ",{t:4,f:[{p:[15,4,394],t:7,e:"td",f:[{p:[15,8,398],t:7,e:"img",a:{src:[{t:2,r:"data.PC_apclinkicon",p:[15,18,408]}]}}]}],n:50,r:"data.PC_apclinkicon",p:[14,3,363]}," ",{t:4,f:[{p:[18,4,477],t:7,e:"td",f:[{p:[18,8,481],t:7,e:"b",f:[{t:2,r:"data.PC_stationtime",p:[18,11,484]},{p:[18,34,507],t:7,e:"b",f:[]}]}]}],n:50,r:"data.PC_stationtime",p:[17,3,446]}," ",{t:4,f:[{p:[21,4,559],t:7,e:"td",f:[{p:[21,8,563],t:7,e:"img",a:{src:[{t:2,r:"icon",p:[21,18,573]}]}}]}],n:52,r:"data.PC_programheaders",p:[20,3,523]}]}]}]}]}," ",{p:[26,1,622],t:7,e:"div",a:{style:"float: right"},f:[{p:[27,2,650],t:7,e:"table",f:[{p:[27,9,657],t:7,e:"tr",f:[{p:[28,3,664],t:7,e:"td",f:[{p:[28,7,668],t:7,e:"ui-button",a:{action:"PC_shutdown"},f:["Shutdown"]}," ",{t:4,f:[{p:[30,4,758],t:7,e:"td",f:[{p:[30,8,762],t:7,e:"ui-button",a:{action:"PC_exit"},f:["EXIT PROGRAM"]}]},{p:[31,4,818],t:7,e:"td",f:[{p:[31,8,822],t:7,e:"ui-button",a:{action:"PC_minimize"},f:["Minimize Program"]}]}],n:50,r:"data.PC_showexitprogram",p:[29,3,723]}]}]}]}]}," ",{p:[35,1,910],t:7,e:"div",a:{style:"clear: both"},f:[{p:[37,1,937],t:7,e:"ui-display",f:[{p:[38,2,951],t:7,e:"div",a:{"class":"item"},f:[{p:[39,3,972],t:7,e:"div",a:{"class":"itemLabel"},f:["Payload status:"]}," ",{p:[42,3,1026],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:["ARMED"],n:50,r:"data.armed",p:[43,4,1055]},{t:4,n:51,f:["DISARMED"],r:"data.armed"}]}," ",{p:[49,3,1131],t:7,e:"div",a:{"class":"itemLabel"},f:["Controls:"]}," ",{p:[52,3,1179],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[53,4,1208],t:7,e:"table",f:[{p:[54,4,1219],t:7,e:"tr",f:[{p:[54,8,1223],t:7,e:"td",f:[{p:[54,12,1227],t:7,e:"ui-button",a:{action:"PRG_obfuscate"},f:["OBFUSCATE PROGRAM NAME"]}]}]},{p:[55,4,1299],t:7,e:"tr",f:[{p:[55,8,1303],t:7,e:"td",f:[{p:[55,12,1307],t:7,e:"ui-button",a:{action:"PRG_arm",state:[{t:2,x:{r:["data.armed"],s:'_0?"danger":null'},p:[55,47,1342]}]},f:[{t:2,x:{r:["data.armed"],s:'_0?"DISARM":"ARM"'},p:[55,81,1376]}]}," ",{p:[56,4,1425],t:7,e:"ui-button",a:{icon:"radiation",state:[{t:2,x:{r:["data.armed"],s:'_0?null:"disabled"'},p:[56,39,1460]}],action:"PRG_activate"},f:["ACTIVATE"]}]}]}]}]}]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],281:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,22],t:7,e:"ui-notice",f:[{t:2,r:"data.notice",p:[3,5,38]}]}],n:50,r:"data.notice",p:[1,1,0]},{p:[6,1,77],t:7,e:"ui-display",a:{title:"Satellite Network Control",button:0},f:[{t:4,f:[{p:[8,4,161],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:[{p:[9,9,201],t:7,e:"div",a:{"class":"content"},f:["#",{t:2,r:"id",p:[9,31,223]}]}," ",{p:[10,9,244],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"mode",p:[10,30,265]}]}," ",{p:[11,9,288],t:7,e:"div",a:{"class":"content"},f:[{p:[12,11,320],t:7,e:"ui-button",a:{action:"toggle",params:['{"id": "',{t:2,r:"id",p:[12,54,363]},'"}']},f:[{t:2,x:{r:["active"],s:'_0?"Deactivate":"Activate"'},p:[12,64,373]}]}]}]}],n:52,r:"data.satellites",p:[7,2,132]}]}," ",{t:4,f:[{p:[18,1,511],t:7,e:"ui-display",a:{title:"Station Shield Coverage"},f:[{p:[19,3,558],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.meteor_shield_coverage_max",p:[19,24,579]}],value:[{t:2,r:"data.meteor_shield_coverage",p:[19,68,623]}]},f:[{t:2,x:{r:["data.meteor_shield_coverage","data.meteor_shield_coverage_max"],s:"100*_0/_1"},p:[19,101,656]}," %"]}," ",{p:[20,1,739],t:7,e:"ui-display",f:[]}]}],n:50,r:"data.meteor_shield",p:[17,1,484]}]},e.exports=a.extend(r.exports)},{205:205}],282:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" "," "," ",{p:[5,1,196],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"data.tabs",p:[5,16,211]}]},f:[{p:[6,2,228],t:7,e:"tab",a:{name:"Status"},f:[{p:[7,3,250],t:7,e:"status"}]}," ",{p:[9,2,269],t:7,e:"tab",a:{name:"Templates"},f:[{p:[10,3,294],t:7,e:"templates"}]}," ",{p:[12,2,316],t:7,e:"tab",a:{name:"Modification"},f:[{t:4,f:[{p:[14,3,368],t:7,e:"modification"}],n:50,r:"data.selected",p:[13,3,344]}," ",{t:4,f:[{p:[17,3,421],t:7,e:"span",a:{"class":"bad"},f:["No shuttle selected."]}],n:50,x:{r:["data.selected"],s:"!_0"},p:[16,3,396]}]}]}]},r.exports.components=r.exports.components||{};var i={modification:t(283),templates:t(285),status:t(284)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,283:283,284:284,285:285}],283:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:["Selected: ",{t:2,r:"data.selected.name",p:[1,30,29]}]},f:[{t:4,f:[{p:[3,5,94],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"data.selected.description",p:[3,37,126]}]}],n:50,r:"data.selected.description",p:[2,3,56]}," ",{t:4,f:[{p:[6,5,219],t:7,e:"ui-section",a:{label:"Admin Notes"},f:[{t:2,r:"data.selected.admin_notes",p:[6,37,251]}]}],n:50,r:"data.selected.admin_notes",p:[5,3,181]}]}," ",{t:4,f:[{p:[11,3,351],t:7,e:"ui-display",a:{title:["Existing Shuttle: ",{t:2,r:"data.existing_shuttle.name",p:[11,40,388]}]},f:["Status: ",{t:2,r:"data.existing_shuttle.status",p:[12,13,433]}," ",{t:4,f:["(",{t:2,r:"data.existing_shuttle.timeleft",p:[14,8,513]},")"],n:50,r:"data.existing_shuttle.timer",p:[13,5,470]}," ",{p:[16,5,565],t:7,e:"ui-button",a:{action:"jump_to",params:['{"type": "mobile", "id": "',{t:2,r:"data.existing_shuttle.id",p:[17,41,633]},'"}']},f:["Jump To"]}]}],n:50,r:"data.existing_shuttle",p:[10,1,319]},{t:4,f:[{p:[24,3,755],t:7,e:"ui-display",a:{title:"Existing Shuttle: None"}}],n:50,x:{r:["data.existing_shuttle"],s:"!_0"},p:[23,1,722]},{p:[27,1,821],t:7,e:"ui-button",a:{action:"preview",params:['{"shuttle_id": "',{t:2,r:"data.selected.shuttle_id",p:[28,27,875]},'"}']},f:["Preview"]}," ",{p:[31,1,931],t:7,e:"ui-button",a:{action:"load",params:['{"shuttle_id": "',{t:2,r:"data.selected.shuttle_id",p:[32,27,982]},'"}'],style:"danger"},f:["Load"]}," ",{p:[37,1,1053],t:7,e:"ui-display",a:{title:"Status"},f:[]}]},e.exports=a.extend(r.exports)},{205:205}],284:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,26],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[2,22,45]}," (",{t:2,r:"id",p:[2,32,55]},")"]},f:[{t:2,r:"status",p:[3,5,69]}," ",{t:4,f:["(",{t:2,r:"timeleft",p:[5,8,105]},")"],n:50,r:"timer",p:[4,5,84]}," ",{p:[7,5,135],t:7,e:"ui-button",a:{action:"jump_to",params:['{"type": "mobile", "id": "',{t:2,r:"id",p:[7,67,197]},'"}']},f:["Jump To"]}," ",{p:[10,5,243],t:7,e:"ui-button",a:{action:"fast_travel",params:['{"id": "',{t:2,r:"id",p:[10,53,291]},'"}'],state:[{t:2,x:{r:["can_fast_travel"],s:'_0?null:"disabled"'},p:[10,70,308]}]},f:["Fast Travel"]}]}],n:52,r:"data.shuttles",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{205:205}],285:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"data.templates_tabs",p:[1,16,15]}]},f:[{t:4,f:[{p:[3,5,72],t:7,e:"tab",a:{name:[{t:2,r:"port_id",p:[3,16,83]}]},f:[{t:4,f:[{p:[5,9,131],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[5,28,150]}]},f:[{t:4,f:[{p:[7,13,203],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"description",p:[7,45,235]}]}],n:50,r:"description",p:[6,11,171]}," ",{t:4,f:[{p:[10,13,324],t:7,e:"ui-section",a:{label:"Admin Notes"},f:[{t:2,r:"admin_notes",p:[10,45,356]}]}],n:50,r:"admin_notes",p:[9,11,292]}," ",{p:[13,11,414],t:7,e:"ui-button",a:{action:"select_template",params:['{"shuttle_id": "',{t:2,r:"shuttle_id",p:[14,37,486]},'"}'],state:[{t:2,x:{r:["data.selected.shuttle_id","shuttle_id"],s:'_0==_1?"selected":null'},p:[15,20,523]}]},f:[{t:2,x:{r:["data.selected.shuttle_id","shuttle_id"],s:'_0==_1?"Selected":"Select"'},p:[17,13,614]}]}]}],n:52,r:"templates",p:[4,7,103]}]}],n:52,r:"data.templates",p:[2,3,43]}]}]},e.exports=a.extend(r.exports)},{205:205}],286:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={computed:{occupantStatState:function(){switch(this.get("data.occupant.stat")){case 0:return"good";case 1:return"average";default:return"bad"}}}}}(r),r.exports.template={v:3,t:[" ",{p:[15,1,280],t:7,e:"ui-display",a:{title:"Occupant"},f:[{p:[16,3,313],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[17,3,346],t:7,e:"span",f:[{t:2,x:{r:["data.occupant.name"],s:'_0?_0:"No Occupant"'},p:[17,9,352]}]}]}," ",{t:4,f:[{p:[20,5,466],t:7,e:"ui-section",a:{label:"State"},f:[{p:[21,7,500],t:7,e:"span",a:{"class":[{t:2,r:"occupantStatState",p:[21,20,513]}]},f:[{t:2,x:{r:["data.occupant.stat"],s:'_0==0?"Conscious":_0==1?"Unconcious":"Dead"'},p:[21,43,536]}]}]}," ",{p:[23,5,658],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[24,7,693],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.occupant.minHealth",p:[24,20,706]}],max:[{t:2,r:"data.occupant.maxHealth",p:[24,54,740]}],value:[{t:2,r:"data.occupant.health",p:[24,90,776]}],state:[{t:2,x:{r:["data.occupant.health"],s:'_0>=0?"good":"average"'},p:[25,16,818]}]},f:[{t:2,x:{r:["adata.occupant.health"],s:"Math.round(_0)"},p:[25,68,870]}]}]}," ",{t:4,f:[{p:[28,7,1107],t:7,e:"ui-section",a:{label:[{t:2,r:"label",p:[28,26,1126]}]},f:[{p:[29,9,1147],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.occupant.maxHealth",p:[29,30,1168]}],value:[{t:2,rx:{r:"data.occupant",m:[{t:30,n:"type"}]},p:[29,66,1204]}],state:"bad"},f:[{t:2,x:{r:["type","adata.occupant"],s:"Math.round(_1[_0])"},p:[29,103,1241]}]}]}],n:52,x:{r:[],s:'[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}]'},p:[27,5,941]}," ",{p:[32,5,1328],t:7,e:"ui-section",a:{label:"Cells"},f:[{p:[33,9,1364],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.occupant.cloneLoss"],s:'_0?"bad":"good"'},p:[33,22,1377]}]},f:[{t:2,x:{r:["data.occupant.cloneLoss"],s:'_0?"Damaged":"Healthy"'},p:[33,68,1423]}]}]}," ",{p:[35,5,1506],t:7,e:"ui-section",a:{label:"Brain"},f:[{p:[36,9,1542],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.occupant.brainLoss"],s:'_0?"bad":"good"'},p:[36,22,1555]}]},f:[{t:2,x:{r:["data.occupant.brainLoss"],s:'_0?"Abnormal":"Healthy"'},p:[36,68,1601]}]}]}," ",{p:[38,5,1685],t:7,e:"ui-section",a:{label:"Bloodstream"},f:[{t:4,f:[{p:[40,11,1772],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,1)"},p:[40,54,1815]}," units of ",{t:2,r:"name",p:[40,89,1850]}]},{p:[40,104,1865],t:7,e:"br"}],n:52,r:"adata.occupant.reagents",p:[39,9,1727]},{t:4,n:51,f:[{p:[42,11,1900],t:7,e:"span",a:{"class":"good"},f:["Pure"]}],r:"adata.occupant.reagents"}]}],n:50,r:"data.occupied",p:[19,3,439]}]}," ",{p:[47,1,1996],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[48,2,2028],t:7,e:"ui-section",a:{label:"Door"},f:[{p:[49,5,2059],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.open"],s:'_0?"unlock":"lock"'},p:[49,22,2076]}],action:"door"},f:[{t:2,x:{r:["data.open"],s:'_0?"Open":"Closed"'},p:[49,71,2125]}]}]}," ",{p:[51,3,2190],t:7,e:"ui-section",a:{label:"Inject"},f:[{t:4,f:[{p:[53,7,2251],t:7,e:"ui-button",a:{icon:"flask",state:[{t:2,x:{r:["data.occupied","allowed"],s:'_0&&_1?null:"disabled"'},p:[53,38,2282]}],action:"inject",params:['{"chem": "',{t:2,r:"id",p:[53,122,2366]},'"}']},f:[{t:2,r:"name",p:[53,132,2376]}]},{p:[53,152,2396],t:7,e:"br"}],n:52,r:"data.chems",p:[52,5,2223]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],287:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,24],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[2,22,43]}],labelcolor:[{t:2,r:"htmlcolor",p:[2,44,65]}],candystripe:0,right:0},f:[{p:[3,5,103],t:7,e:"ui-section",a:{label:"Status"},f:[{p:[3,32,130],t:7,e:"span",a:{"class":[{t:2,x:{r:["status"],s:'_0=="Dead"?"bad bold":_0=="Unconscious"?"average bold":"good"'},p:[3,45,143]}]},f:[{t:2,r:"status",p:[3,132,230]}]}]}," ",{p:[4,5,265],t:7,e:"ui-section",a:{label:"Jelly"},f:[{t:2,r:"exoticblood",p:[4,31,291]}]}," ",{p:[5,5,324],t:7,e:"ui-section",a:{label:"Location"},f:[{t:2,r:"area",p:[5,34,353]}]}," ",{p:[7,5,380],t:7,e:"ui-button",a:{state:[{t:2,r:"swap_button_state",p:[8,14,404]}],action:"swap",params:['{"ref": "',{t:2,r:"ref",p:[9,38,464]},'"}']},f:[{t:2,x:{r:["is_current"],s:'_0?"You Are Here":"Swap"'},p:[10,7,482]}]}]}],n:52,r:"data.bodies",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{205:205}],288:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={computed:{capacityPercentState:function(){var t=this.get("data.capacityPercent");return t>50?"good":t>15?"average":"bad"},inputState:function(){return this.get("data.capacityPercent")>=100?"good":this.get("data.inputting")?"average":"bad"},outputState:function(){return this.get("data.outputting")?"good":this.get("data.charge")>0?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[24,1,640],t:7,e:"ui-display",a:{title:"Storage"},f:[{p:[25,3,671],t:7,e:"ui-section",a:{label:"Stored Energy"},f:[{p:[26,5,710],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.capacityPercent",p:[26,38,743]}],state:[{t:2,r:"capacityPercentState",p:[26,71,776]}]},f:[{t:2,x:{r:["adata.capacityPercent"],s:"Math.fixed(_0)"},p:[26,97,802]},"%"]}]}]}," ",{p:[29,1,880],t:7,e:"ui-display",a:{title:"Input"},f:[{p:[30,3,909],t:7,e:"ui-section",a:{label:"Charge Mode"},f:[{p:[31,5,946],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"refresh":"close"'},p:[31,22,963]}],style:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"selected":null'},p:[31,74,1015]}],action:"tryinput"},f:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"Auto":"Off"'},p:[32,25,1082]}]}," [",{p:[34,6,1149],t:7,e:"span",a:{"class":[{t:2,r:"inputState",p:[34,19,1162]}]},f:[{t:2,x:{r:["data.capacityPercent","data.inputting"],s:'_0>=100?"Fully Charged":_1?"Charging":"Not Charging"'},p:[34,35,1178]}]},"]"]}," ",{p:[36,3,1300],t:7,e:"ui-section",a:{label:"Target Input"},f:[{p:[37,5,1338],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.inputLevelMax",p:[37,26,1359]}],value:[{t:2,r:"data.inputLevel",p:[37,57,1390]}]},f:[{t:2,x:{r:["adata.inputLevel"],s:"Math.round(_0)"},p:[37,78,1411]},"W"]}]}," ",{p:[39,3,1471],t:7,e:"ui-section",a:{label:"Adjust Input"},f:[{p:[40,5,1509],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.inputLevel"],s:'_0==0?"disabled":null'},p:[40,44,1548]}],action:"input",params:'{"target": "min"}'}}," ",{p:[41,5,1642],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.inputLevel"],s:'_0==0?"disabled":null'},p:[41,39,1676]}],action:"input",params:'{"adjust": -10000}'}}," ",{p:[42,5,1771],t:7,e:"ui-button",a:{icon:"pencil",action:"input",params:'{"target": "input"}'},f:["Set"]}," ",{p:[43,5,1860],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.inputLevel","data.inputLevelMax"],s:'_0==_1?"disabled":null'},p:[43,38,1893]}],action:"input",params:'{"adjust": 10000}'}}," ",{p:[44,5,2004],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.inputLevel","data.inputLevelMax"],s:'_0==_1?"disabled":null'},p:[44,43,2042]}],action:"input",params:'{"target": "max"}'}}]}," ",{p:[46,3,2167],t:7,e:"ui-section",a:{label:"Available"},f:[{p:[47,3,2200],t:7,e:"span",f:[{t:2,x:{r:["adata.inputAvailable"],s:"Math.round(_0)"},p:[47,9,2206]},"W"]}]}]}," ",{p:[50,1,2280],t:7,e:"ui-display",a:{title:"Output"},f:[{p:[51,3,2310],t:7,e:"ui-section",a:{label:"Output Mode"},f:[{p:[52,5,2347],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"power-off":"close"'},p:[52,22,2364]}],style:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"selected":null'},p:[52,77,2419]}],action:"tryoutput"},f:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"On":"Off"'},p:[53,26,2488]}]}," [",{p:[55,6,2554],t:7,e:"span",a:{"class":[{t:2,r:"outputState",p:[55,19,2567]}]},f:[{t:2,x:{r:["data.outputting","data.charge"],s:'_0?"Sending":_1>0?"Not Sending":"No Charge"'},p:[55,36,2584]}]},"]"]}," ",{p:[57,3,2689],t:7,e:"ui-section",a:{label:"Target Output"},f:[{p:[58,5,2728],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.outputLevelMax",p:[58,26,2749]}],value:[{t:2,r:"data.outputLevel",p:[58,58,2781]}]},f:[{t:2,x:{r:["adata.outputLevel"],s:"Math.round(_0)"},p:[58,80,2803]},"W"]}]}," ",{p:[60,3,2864],t:7,e:"ui-section",a:{label:"Adjust Output"},f:[{p:[61,5,2903],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.outputLevel"],s:'_0==0?"disabled":null'},p:[61,44,2942]}],action:"output",params:'{"target": "min"}'}}," ",{p:[62,5,3038],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.outputLevel"],s:'_0==0?"disabled":null'},p:[62,39,3072]}],action:"output",params:'{"adjust": -10000}'}}," ",{p:[63,5,3169],t:7,e:"ui-button",a:{icon:"pencil",action:"output",params:'{"target": "input"}'},f:["Set"]}," ",{p:[64,5,3259],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.outputLevel","data.outputLevelMax"],s:'_0==_1?"disabled":null'},p:[64,38,3292]}],action:"output",params:'{"adjust": 10000}'}}," ",{p:[65,5,3406],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.outputLevel","data.outputLevelMax"],s:'_0==_1?"disabled":null'},p:[65,43,3444]}],action:"output",params:'{"target": "max"}'}}]}," ",{p:[67,3,3572],t:7,e:"ui-section",a:{label:"Outputting"},f:[{p:[68,3,3606],t:7,e:"span",f:[{t:2,x:{r:["adata.outputUsed"],s:"Math.round(_0)"},p:[68,9,3612]},"W"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],289:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,3,30],t:7,e:"ui-section",a:{label:"Generated Power"},f:[{t:2,x:{r:["adata.generated"],s:"Math.round(_0)"},p:[3,5,71]},"W"]}," ",{p:[5,3,122],t:7,e:"ui-section",a:{label:"Orientation"},f:[{p:[6,5,159],t:7,e:"span",f:[{t:2,x:{r:["adata.angle"],s:"Math.round(_0)"},p:[6,11,165]},"° (",{t:2,r:"data.direction",p:[6,45,199]},")"]}]}," ",{p:[8,3,244],t:7,e:"ui-section",a:{label:"Adjust Angle"},f:[{p:[9,5,282],t:7,e:"ui-button",a:{icon:"step-backward",action:"angle",params:'{"adjust": -15}'},f:["15°"]}," ",{p:[10,5,378],t:7,e:"ui-button",a:{icon:"backward",action:"angle",params:'{"adjust": -5}'},f:["5°"]}," ",{p:[11,5,467],t:7,e:"ui-button",a:{icon:"forward",action:"angle",params:'{"adjust": 5}'},f:["5°"]}," ",{p:[12,5,554],t:7,e:"ui-button",a:{icon:"step-forward",action:"angle",params:'{"adjust": 15}'},f:["15°"]}]}]}," ",{p:[15,1,673],t:7,e:"ui-display",a:{title:"Tracking"},f:[{p:[16,3,705],t:7,e:"ui-section",a:{label:"Tracker Mode"},f:[{p:[17,5,743],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["data.tracking_state"],s:'_0==0?"selected":null'},p:[17,36,774]}],action:"tracking",params:'{"mode": 0}'},f:["Off"]}," ",{p:[19,5,889],t:7,e:"ui-button",a:{icon:"clock-o",state:[{t:2,x:{r:["data.tracking_state"],s:'_0==1?"selected":null'},p:[19,38,922]}],action:"tracking",params:'{"mode": 1}'},f:["Timed"]}," ",{p:[21,5,1039],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.connected_tracker","data.tracking_state"],s:'_0?_1==2?"selected":null:"disabled"'},p:[21,38,1072]}],action:"tracking",params:'{"mode": 2}'},f:["Auto"]}]}," ",{p:[24,3,1239],t:7,e:"ui-section",a:{label:"Tracking Rate"},f:[{p:[25,3,1276],t:7,e:"span",f:[{t:2,x:{r:["adata.tracking_rate"],s:"Math.round(_0)"},p:[25,9,1282]},"°/h (",{t:2,r:"data.rotating_way",p:[25,53,1326]},")"]}]}," ",{p:[27,3,1373],t:7,e:"ui-section",a:{label:"Adjust Rate"},f:[{p:[28,5,1410],t:7,e:"ui-button",a:{icon:"fast-backward",action:"rate",params:'{"adjust": -180}'},f:["180°"]}," ",{p:[29,5,1507],t:7,e:"ui-button",a:{icon:"step-backward",action:"rate",params:'{"adjust": -30}'},f:["30°"]}," ",{p:[30,5,1602],t:7,e:"ui-button",a:{icon:"backward",action:"rate",params:'{"adjust": -5}'},f:["5°"]}," ",{p:[31,5,1690],t:7,e:"ui-button",a:{icon:"forward",action:"rate",params:'{"adjust": 5}'},f:["5°"]}," ",{p:[32,5,1776],t:7,e:"ui-button",a:{icon:"step-forward",action:"rate",params:'{"adjust": 30}'},f:["30°"]}," ",{p:[33,5,1869],t:7,e:"ui-button",a:{icon:"fast-forward",action:"rate",params:'{"adjust": 180}'},f:["180°"]}]}]}," ",{p:{button:[{p:[38,5,2051],t:7,e:"ui-button",a:{icon:"refresh",action:"refresh"},f:["Refresh"]}]},t:7,e:"ui-display",a:{title:"Devices",button:0},f:[" ",{p:[40,2,2130],t:7,e:"ui-section",a:{label:"Solar Tracker"},f:[{p:[41,5,2169],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected_tracker"],s:'_0?"good":"bad"'},p:[41,18,2182]}]},f:[{t:2,x:{r:["data.connected_tracker"],s:'_0?"":"Not "'},p:[41,63,2227]},"Found"]}]}," ",{p:[43,2,2296],t:7,e:"ui-section",a:{label:"Solar Panels"},f:[{p:[44,3,2332],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected_panels"],s:'_0?"good":"bad"'},p:[44,16,2345]}]},f:[{t:2,x:{r:["adata.connected_panels"],s:"Math.round(_0)"},p:[44,60,2389]}," Panels Connected"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],290:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:{button:[{t:4,f:[{p:[4,7,84],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.hasPowercell"],s:'_0?null:"disabled"'},p:[4,38,115]}],action:"eject"},f:["Eject"]}],n:50,r:"data.open",p:[3,5,60]}]},t:7,e:"ui-display",a:{title:"Power",button:0},f:[" ",{p:[7,3,220],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[8,5,251],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[8,22,268]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[9,14,318]}],state:[{t:2,x:{r:["data.hasPowercell"],s:'_0?null:"disabled"'},p:[9,54,358]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[10,22,422]}]}]}," ",{p:[12,3,479],t:7,e:"ui-section",a:{label:"Cell"},f:[{t:4,f:[{p:[14,7,541],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.powerLevel",p:[14,40,574]}]},f:[{t:2,x:{r:["adata.powerLevel"],s:"Math.fixed(_0)"},p:[14,61,595]},"%"]}],n:50,r:"data.hasPowercell",p:[13,5,509]},{t:4,n:51,f:[{p:[16,4,652],t:7,e:"span",a:{"class":"bad"},f:["No Cell"]}],r:"data.hasPowercell"}]}]}," ",{p:[20,1,725],t:7,e:"ui-display",a:{title:"Thermostat"},f:[{p:[21,3,759],t:7,e:"ui-section",a:{label:"Current Temperature"},f:[{p:[22,3,802],t:7,e:"span",f:[{t:2,x:{r:["adata.currentTemp"],s:"Math.round(_0)"},p:[22,9,808]},"°C"]}]}," ",{p:[24,2,871],t:7,e:"ui-section",a:{label:"Target Temperature"},f:[{p:[25,3,913],t:7,e:"span",f:[{t:2,x:{r:["adata.targetTemp"],s:"Math.round(_0)"},p:[25,9,919]},"°C"]}]}," ",{t:4,f:[{p:[28,5,1004],t:7,e:"ui-section",a:{label:"Adjust Target"},f:[{p:[29,7,1045],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.targetTemp","data.minTemp"],s:'_0>_1?null:"disabled"'},p:[29,46,1084]}],action:"target",params:'{"adjust": -20}'}}," ",{p:[30,7,1189],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.targetTemp","data.minTemp"],s:'_0>_1?null:"disabled"'},p:[30,41,1223]}],action:"target",params:'{"adjust": -5}'}}," ",{p:[31,7,1327],t:7,e:"ui-button",a:{icon:"pencil",action:"target",params:'{"target": "input"}'},f:["Set"]}," ",{p:[32,7,1419],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.targetTemp","data.maxTemp"],s:'_0<_1?null:"disabled"'},p:[32,40,1452]}],action:"target",params:'{"adjust": 5}'}}," ",{p:[33,7,1555],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.targetTemp","data.maxTemp"],s:'_0<_1?null:"disabled"'},p:[33,45,1593]}],action:"target",params:'{"adjust": 20}'}}]}],n:50,r:"data.open",p:[27,3,982]}," ",{p:[36,3,1719],t:7,e:"ui-section",a:{label:"Mode"},f:[{t:4,f:[{p:[38,7,1771],t:7,e:"ui-button",a:{icon:"long-arrow-up",state:[{t:2,x:{r:["data.mode"],s:'_0=="heat"?"selected":null'},p:[38,46,1810]}],action:"mode",params:'{"mode": "heat"}'},f:["Heat"]}," ",{p:[39,7,1918],t:7,e:"ui-button",a:{icon:"long-arrow-down",state:[{t:2,x:{r:["data.mode"],s:'_0=="cool"?"selected":null'},p:[39,48,1959]}],action:"mode",params:'{"mode": "cool"}'},f:["Cool"]}," ",{p:[40,7,2067],t:7,e:"ui-button",a:{icon:"arrows-v",state:[{t:2,x:{r:["data.mode"],s:'_0=="auto"?"selected":null'},p:[40,41,2101]}],action:"mode",params:'{"mode": "auto"}'},f:["Auto"]}],n:50,r:"data.open",p:[37,3,1747]},{t:4,n:51,f:[{p:[42,4,2217],t:7,e:"span",f:[{t:2,x:{r:["text","data.mode"],s:"_0.titleCase(_1)"},p:[42,10,2223]}]}],r:"data.open"}]}]}]},e.exports=a.extend(r.exports)},{205:205}],291:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,31],t:7,e:"ui-display",a:{title:[{t:2,r:"class",p:[2,22,50]}," Alarms"]},f:[{p:[3,5,74],t:7,e:"ul",f:[{t:4,f:[{p:[5,9,107],t:7,e:"li",f:[{t:2,r:".",p:[5,13,111]}]}],n:52,r:".",p:[4,7,86]},{t:4,n:51,f:[{p:[7,9,147],t:7,e:"li",f:["System Nominal"]}],r:"."}]}]}],n:52,i:"class",r:"data.alarms",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{205:205}],292:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[2,1,1],t:7,e:"div",a:{style:"float: left"},f:[{p:[3,2,28],t:7,e:"div",a:{"class":"item"},f:[{p:[4,3,49],t:7,e:"table",f:[{p:[4,10,56],t:7,e:"tr",f:[{t:4,f:[{p:[6,4,121],t:7,e:"td",f:[{p:[6,8,125],t:7,e:"img",a:{src:[{t:2,r:"data.PC_batteryicon",p:[6,18,135]}]}}]}],n:50,x:{r:["data.PC_batteryicon","data.PC_showbatteryicon"],s:"_0&&_1"},p:[5,3,63]}," ",{t:4,f:[{p:[9,4,234],t:7,e:"td",f:[{p:[9,8,238],t:7,e:"b",f:[{t:2,r:"data.PC_batterypercent",p:[9,11,241]}]}]}],n:50,x:{r:["data.PC_batterypercent","data.PC_showbatteryicon"],s:"_0&&_1"},p:[8,3,173]}," ",{t:4,f:[{p:[12,4,313],t:7,e:"td",f:[{p:[12,8,317],t:7,e:"img",a:{src:[{t:2,r:"data.PC_ntneticon",p:[12,18,327]}]}}]}],n:50,r:"data.PC_ntneticon",p:[11,3,284]}," ",{t:4,f:[{p:[15,4,394],t:7,e:"td",f:[{p:[15,8,398],t:7,e:"img",a:{src:[{t:2,r:"data.PC_apclinkicon",p:[15,18,408]}]}}]}],n:50,r:"data.PC_apclinkicon",p:[14,3,363]}," ",{t:4,f:[{p:[18,4,477],t:7,e:"td",f:[{p:[18,8,481],t:7,e:"b",f:[{t:2,r:"data.PC_stationtime",p:[18,11,484]},{p:[18,34,507],t:7,e:"b",f:[]}]}]}],n:50,r:"data.PC_stationtime",p:[17,3,446]}," ",{t:4,f:[{p:[21,4,559],t:7,e:"td",f:[{p:[21,8,563],t:7,e:"img",a:{src:[{t:2,r:"icon",p:[21,18,573]}]}}]}],n:52,r:"data.PC_programheaders",p:[20,3,523]}]}]}]}]}," ",{p:[26,1,622],t:7,e:"div",a:{style:"float: right"},f:[{p:[27,2,650],t:7,e:"table",f:[{p:[27,9,657],t:7,e:"tr",f:[{p:[28,3,664],t:7,e:"td",f:[{p:[28,7,668],t:7,e:"ui-button",a:{action:"PC_shutdown"},f:["Shutdown"]}," ",{t:4,f:[{p:[30,4,758],t:7,e:"td",f:[{p:[30,8,762],t:7,e:"ui-button",a:{action:"PC_exit"},f:["EXIT PROGRAM"]}]},{p:[31,4,818],t:7,e:"td",f:[{p:[31,8,822],t:7,e:"ui-button",a:{action:"PC_minimize"},f:["Minimize Program"]}]}],n:50,r:"data.PC_showexitprogram",p:[29,3,723]}]}]}]}]}," ",{p:[35,1,910],t:7,e:"div",a:{style:"clear: both"},f:[{t:4,f:[{p:[38,3,967],t:7,e:"ui-display",a:{title:[{t:2,r:"class",p:[38,22,986]}," Alarms"]},f:[{p:[39,5,1009],t:7,e:"ul",f:[{t:4,f:[{p:[41,9,1040],t:7,e:"li",f:[{t:2,r:".",p:[41,13,1044]}]}],n:52,r:".",p:[40,7,1020]},{t:4,n:51,f:[{p:[43,9,1078],t:7,e:"li",f:["System Nominal"]}],r:"."}]}]}],n:52,i:"class",r:"data.alarms",p:[37,1,937]}]}]},e.exports=a.extend(r.exports)},{205:205}],293:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,41],t:7,e:"ui-notice",f:[{p:[3,5,57],t:7,e:"span",f:["Biological entity detected in contents. Please remove."]}]}],n:50,x:{r:["data.occupied","data.safeties"],s:"_0&&_1"},p:[1,1,0]},{t:4,f:[{p:[7,3,173],t:7,e:"ui-notice",f:[{p:[8,5,189],t:7,e:"span",f:["Contents are being disinfected. Please wait."]}]}],n:50,r:"data.uv_active",p:[6,1,148]},{t:4,n:51,f:[{p:{button:[{t:4,f:[{p:[13,25,357],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[13,42,374]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Unlock":"Lock"'},p:[13,93,425]}]}],n:50,x:{r:["data.open"],s:"!_0"},p:[13,7,339]}," ",{t:4,f:[{p:[14,27,506],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.open"],s:'_0?"sign-out":"sign-in"'},p:[14,44,523]}],action:"door"},f:[{t:2,x:{r:["data.open"],s:'_0?"Close":"Open"'},p:[14,98,577]}]}],n:50,x:{r:["data.locked"],s:"!_0"},p:[14,7,486]}]},t:7,e:"ui-display",a:{title:"Storage",button:0},f:[" ",{t:4,f:[{p:[17,7,676],t:7,e:"ui-notice",f:[{p:[18,9,696],t:7,e:"span",f:["Unit Locked"]}]}],n:50,r:"data.locked",p:[16,5,650]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.open"],s:"_0"},f:[{p:[21,9,773],t:7,e:"ui-section",a:{label:"Helmet"},f:[{p:[22,11,811],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.helmet"],s:'_0?"square":"square-o"'},p:[22,28,828]}],state:[{t:2,x:{r:["data.helmet"],s:'_0?null:"disabled"'},p:[22,75,875]}],action:"dispense",params:'{"item": "helmet"}'},f:[{t:2,x:{r:["data.helmet"],s:'_0||"Empty"'},p:[23,59,970]}]}]}," ",{p:[25,9,1039],t:7,e:"ui-section",a:{label:"Suit"},f:[{p:[26,11,1075],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.suit"],s:'_0?"square":"square-o"'},p:[26,28,1092]}],state:[{t:2,x:{r:["data.suit"],s:'_0?null:"disabled"'},p:[26,74,1138]}],action:"dispense",params:'{"item": "suit"}'},f:[{t:2,x:{r:["data.suit"],s:'_0||"Empty"'},p:[27,57,1229]}]}]}," ",{p:[29,9,1296],t:7,e:"ui-section",a:{label:"Mask"},f:[{p:[30,11,1332],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mask"],s:'_0?"square":"square-o"'},p:[30,28,1349]}],state:[{t:2,x:{r:["data.mask"],s:'_0?null:"disabled"'},p:[30,74,1395]}],action:"dispense",params:'{"item": "mask"}'},f:[{t:2,x:{r:["data.mask"],s:'_0||"Empty"'},p:[31,57,1486]}]}]}," ",{p:[33,9,1553],t:7,e:"ui-section",a:{label:"Storage"},f:[{p:[34,11,1592],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.storage"],s:'_0?"square":"square-o"'},p:[34,28,1609]}],state:[{t:2,x:{r:["data.storage"],s:'_0?null:"disabled"'},p:[34,77,1658]}],action:"dispense",params:'{"item": "storage"}'},f:[{t:2,x:{r:["data.storage"],s:'_0||"Empty"'},p:[35,60,1755]}]}]}]},{t:4,n:50,x:{r:["data.open"],s:"!(_0)"},f:[" ",{p:[38,7,1836],t:7,e:"ui-button",a:{icon:"recycle",state:[{t:2,x:{r:["data.occupied","data.safeties"],s:'_0&&_1?"disabled":null'},p:[38,40,1869]}],action:"uv"},f:["Disinfect"]}]}],r:"data.locked"}]}],r:"data.uv_active"}]},e.exports=a.extend(r.exports)},{205:205}],294:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,5,18],t:7,e:"ui-section",a:{label:"Dispense"},f:[{p:[3,9,57],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.plasma"],s:'_0?"square":"square-o"'},p:[3,26,74]}],state:[{t:2,x:{r:["data.plasma"],s:'_0?null:"disabled"'},p:[3,74,122]}],action:"plasma"},f:["Plasma (",{t:2,x:{r:["adata.plasma"],s:"Math.round(_0)"},p:[4,37,196]},")"]}," ",{p:[5,9,247],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.oxygen"],s:'_0?"square":"square-o"'},p:[5,26,264]}],state:[{t:2,x:{r:["data.oxygen"],s:'_0?null:"disabled"'},p:[5,74,312]}],action:"oxygen"},f:["Oxygen (",{t:2,x:{r:["adata.oxygen"],s:"Math.round(_0)"},p:[6,37,386]},")"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],295:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={computed:{tankPressureState:function(){var t=this.get("data.tankPressure");return t>=200?"good":t>=100?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[14,1,282],t:7,e:"ui-notice",f:[{p:[15,3,296],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.connected"],s:'_0?"is":"is not"'},p:[15,23,316]}," connected to a mask."]}]}," ",{p:[17,1,393],t:7,e:"ui-display",f:[{p:[18,3,408],t:7,e:"ui-section",a:{label:"Tank Pressure"},f:[{p:[19,7,449],t:7,e:"ui-bar",a:{min:"0",max:"1013",value:[{t:2,r:"data.tankPressure",p:[19,41,483]}],state:[{t:2,r:"tankPressureState",p:[20,16,521]}]},f:[{t:2,x:{r:["adata.tankPressure"],s:"Math.round(_0)"},p:[20,39,544]}," kPa"]}]}," ",{p:[22,3,610],t:7,e:"ui-section",a:{label:"Release Pressure"},f:[{p:[23,5,652],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.minReleasePressure",p:[23,18,665]}],max:[{t:2,r:"data.maxReleasePressure",p:[23,52,699]}],value:[{t:2,r:"data.releasePressure",p:[24,14,741]}]},f:[{t:2,x:{r:["adata.releasePressure"],s:"Math.round(_0)"},p:[24,40,767]}," kPa"]}]}," ",{p:[26,3,836],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[27,5,880],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.releasePressure","data.defaultReleasePressure"],s:'_0!=_1?null:"disabled"'},p:[27,38,913]}],action:"pressure",params:'{"pressure": "reset"}'},f:["Reset"]}," ",{p:[29,5,1067],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.releasePressure","data.minReleasePressure"],s:'_0>_1?null:"disabled"'},p:[29,36,1098]}],action:"pressure",params:'{"pressure": "min"}'},f:["Min"]}," ",{
-p:[31,5,1243],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[32,5,1337],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.releasePressure","data.maxReleasePressure"],s:'_0<_1?null:"disabled"'},p:[32,35,1367]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],296:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,5,33],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[3,9,75],t:7,e:"span",f:[{t:2,x:{r:["adata.temperature"],s:"Math.fixed(_0,2)"},p:[3,15,81]}," K"]}]}," ",{p:[5,5,151],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[6,9,190],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.fixed(_0,2)"},p:[6,15,196]}," kPa"]}]}]}," ",{p:[9,1,276],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[10,5,311],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[11,9,347],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[11,26,364]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[11,70,408]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[12,28,469]}]}]}," ",{p:[14,5,531],t:7,e:"ui-section",a:{label:"Target Temperature"},f:[{p:[15,9,580],t:7,e:"ui-button",a:{icon:"fast-backward",style:[{t:2,x:{r:["data.target","data.min"],s:'_0==_1?"disabled":null'},p:[15,48,619]}],action:"target",params:'{"adjust": -20}'}}," ",{p:[17,9,733],t:7,e:"ui-button",a:{icon:"backward",style:[{t:2,x:{r:["data.target","data.min"],s:'_0==_1?"disabled":null'},p:[17,43,767]}],action:"target",params:'{"adjust": -5}'}}," ",{p:[19,9,880],t:7,e:"ui-button",a:{icon:"pencil",action:"target",params:'{"target": "input"}'},f:[{t:2,x:{r:["adata.target"],s:"Math.fixed(_0,2)"},p:[19,79,950]}]}," ",{p:[20,9,1003],t:7,e:"ui-button",a:{icon:"forward",style:[{t:2,x:{r:["data.target","data.max"],s:'_0==_1?"disabled":null'},p:[20,42,1036]}],action:"target",params:'{"adjust": 5}'}}," ",{p:[22,9,1148],t:7,e:"ui-button",a:{icon:"fast-forward",style:[{t:2,x:{r:["data.target","data.max"],s:'_0==_1?"disabled":null'},p:[22,47,1186]}],action:"target",params:'{"adjust": 20}'}}]}]}]},e.exports=a.extend(r.exports)},{205:205}],297:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{},oninit:function(){this.on({hover:function(t){var e=this.get("data.telecrystals");e>=t.context.params.cost&&this.set("hovered",t.context.params)},unhover:function(t){this.set("hovered")}})}}}(r),r.exports.template={v:3,t:[" ",{p:{button:[{t:4,f:[{p:[23,7,482],t:7,e:"ui-button",a:{icon:"lock",action:"lock"},f:["Lock"]}],n:50,r:"data.lockable",p:[22,5,453]}]},t:7,e:"ui-display",a:{title:"Uplink",button:0},f:[" ",{p:[26,3,568],t:7,e:"ui-section",a:{label:"Telecrystals",right:0},f:[{p:[27,5,613],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.telecrystals"],s:'_0>0?"good":"bad"'},p:[27,18,626]}]},f:[{t:2,r:"data.telecrystals",p:[27,62,670]}," TC"]}]}]}," ",{t:4,f:[{p:[31,3,764],t:7,e:"ui-display",f:[{p:[32,2,779],t:7,e:"ui-button",a:{action:"select",params:['{"category": "',{t:2,r:"name",p:[32,51,828]},'"}']},f:[{t:2,r:"name",p:[32,63,840]}]}," ",{t:4,f:[{p:[34,4,883],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[34,23,902]}],candystripe:0,right:0},f:[{p:[35,3,934],t:7,e:"ui-button",a:{tooltip:[{t:2,r:"name",p:[35,23,954]},": ",{t:2,r:"desc",p:[35,33,964]}],"tooltip-side":"left",state:[{t:2,x:{r:["data.telecrystals","hovered.cost","cost","hovered.item","name"],s:'_0<_2||(_0-_1<_2&&_3!=_4)?"disabled":null'},p:[36,12,1006]}],action:"buy",params:['{"category": "',{t:2,r:"category",p:[37,40,1165]},'", "item": ',{t:2,r:"name",p:[37,63,1188]},', "cost": ',{t:2,r:"cost",p:[37,81,1206]},"}"]},v:{hover:"hover",unhover:"unhover"},f:[{t:2,r:"cost",p:[38,43,1260]}," TC"]}]}],n:52,r:"items",p:[33,2,863]}]}],n:52,r:"data.categories",p:[30,1,735]}]},e.exports=a.extend(r.exports)},{205:205}],298:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{healthState:function(t){var e=this.get("data.vr_avatar.maxhealth");return t>e/1.5?"good":t>e/3?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[14,1,279],t:7,e:"ui-display",f:[{t:4,f:[{p:[16,3,318],t:7,e:"ui-display",a:{title:"Virtual Avatar"},f:[{p:[17,4,357],t:7,e:"ui-section",a:{label:"Name"},f:[{t:2,r:"data.vr_avatar.name",p:[18,5,387]}]}," ",{p:[20,4,431],t:7,e:"ui-section",a:{label:"Status"},f:[{t:2,r:"data.vr_avatar.status",p:[21,5,463]}]}," ",{p:[23,4,509],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[24,5,541],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.vr_avatar.maxhealth",p:[24,26,562]}],value:[{t:2,r:"adata.vr_avatar.health",p:[24,64,600]}],state:[{t:2,x:{r:["healthState","adata.vr_avatar.health"],s:"_0(_1)"},p:[24,99,635]}]},f:[{t:2,x:{r:["adata.vr_avatar.health"],s:"Math.round(_0)"},p:[24,140,676]},"/",{t:2,r:"adata.vr_avatar.maxhealth",p:[24,179,715]}]}]}]}],n:50,r:"data.vr_avatar",p:[15,2,293]},{t:4,n:51,f:[{p:[28,3,799],t:7,e:"ui-display",a:{title:"Virtual Avatar"},f:["No Virtual Avatar detected"]}],r:"data.vr_avatar"}," ",{p:[32,2,891],t:7,e:"ui-display",a:{title:"VR Commands"},f:[{p:[33,3,926],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.toggle_open"],s:'_0?"times":"plus"'},p:[33,20,943]}],action:"toggle_open"},f:[{t:2,x:{r:["data.toggle_open"],s:'_0?"Close":"Open"'},p:[34,4,1009]}," the VR Sleeper"]}," ",{t:4,f:[{p:[37,4,1108],t:7,e:"ui-button",a:{icon:"signal",action:"vr_connect"},f:["Connect to VR"]}],n:50,r:"data.isoccupant",p:[36,3,1081]}," ",{t:4,f:[{p:[42,4,1226],t:7,e:"ui-button",a:{icon:"ban",action:"delete_avatar"},f:["Delete Virtual Avatar"]}],n:50,r:"data.vr_avatar",p:[41,3,1200]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],299:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{t:4,f:[{p:[3,5,40],t:7,e:"ui-section",a:{label:[{t:2,r:"color",p:[3,24,59]},{t:2,x:{r:["wire"],s:'_0?" ("+_0+")":""'},p:[3,33,68]}],labelcolor:[{t:2,r:"color",p:[3,80,115]}],candystripe:0,right:0},f:[{p:[4,7,151],t:7,e:"ui-button",a:{action:"cut",params:['{"wire":"',{t:2,r:"color",p:[4,48,192]},'"}']},f:[{t:2,x:{r:["cut"],s:'_0?"Mend":"Cut"'},p:[4,61,205]}]}," ",{p:[5,7,248],t:7,e:"ui-button",a:{action:"pulse",params:['{"wire":"',{t:2,r:"color",p:[5,50,291]},'"}']},f:["Pulse"]}," ",{p:[6,7,328],t:7,e:"ui-button",a:{action:"attach",params:['{"wire":"',{t:2,r:"color",p:[6,51,372]},'"}']},f:[{t:2,x:{r:["attached"],s:'_0?"Detach":"Attach"'},p:[6,64,385]}]}]}],n:52,r:"data.wires",p:[2,3,15]}]}," ",{t:4,f:[{p:[11,3,498],t:7,e:"ui-display",f:[{t:4,f:[{p:[13,7,543],t:7,e:"ui-section",f:[{t:2,r:".",p:[13,19,555]}]}],n:52,r:"data.status",p:[12,5,515]}]}],n:50,r:"data.status",p:[10,1,476]}]},e.exports=a.extend(r.exports)},{205:205}],300:[function(t,e,n){(function(e){"use strict";var n=t(205),a=e.interopRequireDefault(n);t(195),t(1),t(191),t(194);var r=t(301),i=e.interopRequireDefault(r),o=t(302),s=t(192),p=t(193),u=e.interopRequireDefault(p);a["default"].DEBUG=/minified/.test(function(){}),Object.assign(Math,t(306)),window.initialize=function(e){window.tgui||(window.tgui=new i["default"]({el:"#container",data:function(){var n=JSON.parse(e);return{constants:t(303),text:t(307),config:n.config,data:n.data,adata:n.data}}}))};var c=document.getElementById("data"),l=c.textContent,f=c.getAttribute("data-ref");"{}"!==l&&(window.initialize(l),c.remove()),(0,o.act)(f,"tgui:initialize"),(0,s.loadCSS)("font-awesome.min.css");var d=new u["default"]("FontAwesome");d.check("").then(function(){return document.body.classList.add("icons")})["catch"](function(){return document.body.classList.add("no-icons")})}).call(this,t("babel/external-helpers"))},{1:1,191:191,192:192,193:193,194:194,195:195,205:205,301:301,302:302,303:303,306:306,307:307,"babel/external-helpers":"babel/external-helpers"}],301:[function(t,e,n){var a=t(205),r={exports:{}};!function(e){"use strict";var n=t(302),a=t(304);e.exports={components:{"ui-bar":t(206),"ui-button":t(207),"ui-display":t(208),"ui-input":t(209),"ui-linegraph":t(210),"ui-notice":t(211),"ui-section":t(213),"ui-subdisplay":t(214),"ui-tabs":t(215)},events:{enter:t(203).enter,space:t(203).space},transitions:{fade:t(204)},onconfig:function(){var e=this.get("config.interface"),n={ai_restorer:t(219),airalarm:t(220),"airalarm/back":t(221),"airalarm/modes":t(222),"airalarm/scrubbers":t(223),"airalarm/status":t(224),"airalarm/thresholds":t(225),"airalarm/vents":t(226),airlock_electronics:t(227),apc:t(228),atmos_alert:t(229),atmos_control:t(230),atmos_filter:t(231),atmos_mixer:t(232),atmos_pump:t(233),brig_timer:t(234),bsa:t(235),canister:t(236),cargo:t(237),cellular_emporium:t(238),chem_dispenser:t(239),chem_heater:t(240),chem_master:t(241),clockwork_slab:t(242),computer_fabricator:t(243),computer_main:t(244),crayon:t(245),cryo:t(246),disposal_unit:t(247),dna_vault:t(248),eightball:t(249),emergency_shuttle_console:t(250),engraved_message:t(251),error:t(252),file_manager:t(253),firealarm:t(254),gps:t(255),gulag_console:t(256),gulag_item_reclaimer:t(257),identification_computer:t(258),implantchair:t(259),intellicard:t(260),keycard_auth:t(261),labor_claim_console:t(262),language_menu:t(263),laptop_configuration:t(264),mech_bay_power_console:t(265),mulebot:t(266),ntnet_chat:t(267),ntnet_dos:t(268),ntnet_downloader:t(269),ntnet_monitor:t(270),ntnet_relay:t(271),ntnet_transfer:t(272),nuclear_bomb:t(273),personal_crafting:t(274),portable_pump:t(275),portable_scrubber:t(276),power_monitor:t(277),power_monitor_prog:t(278),radio:t(279),revelation:t(280),sat_control:t(281),shuttle_manipulator:t(282),"shuttle_manipulator/modification":t(283),"shuttle_manipulator/status":t(284),"shuttle_manipulator/templates":t(285),sleeper:t(286),slime_swap_body:t(287),smes:t(288),solar_control:t(289),space_heater:t(290),station_alert:t(291),station_alert_prog:t(292),suit_storage_unit:t(293),tank_dispenser:t(294),tanks:t(295),thermomachine:t(296),uplink:t(297),vr_sleeper:t(298),wires:t(299)};e in n?this.components["interface"]=n[e]:this.components["interface"]=n.error},oninit:function(){this.observe("config.style",function(t,e,n){t&&document.body.classList.add(t),e&&document.body.classList.remove(e)})},oncomplete:function(){if(this.get("config.locked")){var t=(0,a.lock)(window.screenLeft,window.screenTop),e=t.x,r=t.y;(0,n.winset)(this.get("config.window"),"pos",e+","+r)}(0,n.winset)("mapwindow.map","focus",!0)}}}(r),r.exports.template={v:3,t:[" "," "," "," ",{p:[56,1,1819],t:7,e:"titlebar",f:[{t:3,r:"config.title",p:[56,11,1829]}]}," ",{p:[57,1,1859],t:7,e:"main",f:[{p:[58,3,1868],t:7,e:"warnings"}," ",{p:[59,3,1882],t:7,e:"interface"}]}," ",{t:4,f:[{p:[62,3,1929],t:7,e:"resize"}],n:50,r:"config.titlebar",p:[61,1,1903]}]},r.exports.components=r.exports.components||{};var i={warnings:t(218),titlebar:t(217),resize:t(212)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{203:203,204:204,205:205,206:206,207:207,208:208,209:209,210:210,211:211,212:212,213:213,214:214,215:215,217:217,218:218,219:219,220:220,221:221,222:222,223:223,224:224,225:225,226:226,227:227,228:228,229:229,230:230,231:231,232:232,233:233,234:234,235:235,236:236,237:237,238:238,239:239,240:240,241:241,242:242,243:243,244:244,245:245,246:246,247:247,248:248,249:249,250:250,251:251,252:252,253:253,254:254,255:255,256:256,257:257,258:258,259:259,260:260,261:261,262:262,263:263,264:264,265:265,266:266,267:267,268:268,269:269,270:270,271:271,272:272,273:273,274:274,275:275,276:276,277:277,278:278,279:279,280:280,281:281,282:282,283:283,284:284,285:285,286:286,287:287,288:288,289:289,290:290,291:291,292:292,293:293,294:294,295:295,296:296,297:297,298:298,299:299,302:302,304:304}],302:[function(t,e,n){"use strict";function a(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=arguments.length<=1||void 0===arguments[1]?"":arguments[1];return"byond://"+e+"?"+Object.keys(t).map(function(e){return o(e)+"="+o(t[e])}).join("&")}function r(t,e){var n=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];window.location.href=a(Object.assign({src:t,action:e},n))}function i(t,e,n){var r;window.location.href=a((r={},r[t+"."+e]=n,r),"winset")}n.__esModule=!0,n.href=a,n.act=r,n.winset=i;var o=encodeURIComponent},{}],303:[function(t,e,n){"use strict";n.__esModule=!0;n.UI_INTERACTIVE=2,n.UI_UPDATE=1,n.UI_DISABLED=0,n.UI_CLOSE=-1},{}],304:[function(t,e,n){"use strict";function a(t,e){return 0>t?t=0:t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth),0>e?e=0:e+window.innerHeight>window.screen.availHeight&&(e=window.screen.availHeight-window.innerHeight),{x:t,y:e}}function r(t){if(t.preventDefault(),this.get("drag")){if(this.get("x")){var e=t.screenX-this.get("x")+window.screenLeft,n=t.screenY-this.get("y")+window.screenTop;if(this.get("config.locked")){var r=a(e,n);e=r.x,n=r.y}(0,s.winset)(this.get("config.window"),"pos",e+","+n)}this.set({x:t.screenX,y:t.screenY})}}function i(t,e){return t=Math.clamp(100,window.screen.width,t),e=Math.clamp(100,window.screen.height,e),{x:t,y:e}}function o(t){if(t.preventDefault(),this.get("resize")){if(this.get("x")){var e=t.screenX-this.get("x")+window.innerWidth,n=t.screenY-this.get("y")+window.innerHeight,a=i(e,n);e=a.x,n=a.y,(0,s.winset)(this.get("config.window"),"size",e+","+n)}this.set({x:t.screenX,y:t.screenY})}}n.__esModule=!0,n.lock=a,n.drag=r,n.sane=i,n.resize=o;var s=t(302)},{302:302}],305:[function(t,e,n){"use strict";function a(t,e){for(var n=t,a=Array.isArray(n),i=0,n=a?n:n[Symbol.iterator]();;){var o;if(a){if(i>=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}var s=o;s.textContent.toLowerCase().includes(e)?(s.style.display="",r(s,e)):s.style.display="none"}}function r(t,e){for(var n=t.queryAll("section"),a=t.query("header").textContent.toLowerCase().includes(e),r=n,i=Array.isArray(r),o=0,r=i?r:r[Symbol.iterator]();;){var s;if(i){if(o>=r.length)break;s=r[o++]}else{if(o=r.next(),o.done)break;s=o.value}var p=s;a||p.textContent.toLowerCase().includes(e)?p.style.display="":p.style.display="none"}}n.__esModule=!0,n.filterMulti=a,n.filter=r},{}],306:[function(t,e,n){"use strict";function a(t,e,n){return Math.max(t,Math.min(n,e))}function r(t){var e=arguments.length<=1||void 0===arguments[1]?1:arguments[1];return+(Math.round(t+"e"+e)+"e-"+e)}n.__esModule=!0,n.clamp=a,n.fixed=r},{}],307:[function(t,e,n){"use strict";function a(t){return t[0].toUpperCase()+t.slice(1).toLowerCase()}function r(t){return t.replace(/\w\S*/g,a)}function i(t,e){for(t=""+t;t.length1){for(var p=Array(o),u=0;o>u;u++)p[u]=arguments[u+3];n.children=p}return{$$typeof:t,type:e,key:void 0===a?null:""+a,ref:null,props:n,_owner:null}}}(),e.asyncToGenerator=function(t){return function(){var e=t.apply(this,arguments);return new Promise(function(t,n){function a(r,i){try{var o=e[r](i),s=o.value}catch(p){return void n(p)}return o.done?void t(s):Promise.resolve(s).then(function(t){return a("next",t)},function(t){return a("throw",t)})}return a("next")})}},e.classCallCheck=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},e.createClass=function(){function t(t,e){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(t,a)&&(n[a]=t[a]);return n},e.possibleConstructorReturn=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e},e.selfGlobal=void 0===t?self:t,e.set=function a(t,e,n,r){var i=Object.getOwnPropertyDescriptor(t,e);if(void 0===i){var o=Object.getPrototypeOf(t);null!==o&&a(o,e,n,r)}else if("value"in i&&i.writable)i.value=n;else{var s=i.set;void 0!==s&&s.call(r,n)}return n},e.slicedToArray=function(){function t(t,e){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);a=!0);}catch(p){r=!0,i=p}finally{try{!a&&s["return"]&&s["return"]()}finally{if(r)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),e.slicedToArrayLoose=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){for(var n,a=[],r=t[Symbol.iterator]();!(n=r.next()).done&&(a.push(n.value),!e||a.length!==e););return a}throw new TypeError("Invalid attempt to destructure non-iterable instance")},e.taggedTemplateLiteral=function(t,e){return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))},e.taggedTemplateLiteralLoose=function(t,e){return t.raw=e,t},e.temporalRef=function(t,e,n){if(t===n)throw new ReferenceError(e+" is not defined - temporal dead zone");return t},e.temporalUndefined={},e.toArray=function(t){return Array.isArray(t)?t:Array.from(t)},e.toConsumableArray=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e=t.context.params.cost&&this.set("hovered",t.context.params)},unhover:function(t){this.set("hovered")}})}}}(r),r.exports.template={v:3,t:[" ",{p:{button:[{t:4,f:[{p:[23,7,482],t:7,e:"ui-button",a:{icon:"lock",action:"lock"},f:["Lock"]}],n:50,r:"data.lockable",p:[22,5,453]}]},t:7,e:"ui-display",a:{title:"Uplink",button:0},f:[" ",{p:[26,3,568],t:7,e:"ui-section",a:{label:"Telecrystals",right:0},f:[{p:[27,5,613],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.telecrystals"],s:'_0>0?"good":"bad"'},p:[27,18,626]}]},f:[{t:2,r:"data.telecrystals",p:[27,62,670]}," TC"]}]}]}," ",{t:4,f:[{p:[31,3,764],t:7,e:"ui-display",f:[{p:[32,2,779],t:7,e:"ui-button",a:{action:"select",params:['{"category": "',{t:2,r:"name",p:[32,51,828]},'"}']},f:[{t:2,r:"name",p:[32,63,840]}]}," ",{t:4,f:[{p:[34,4,883],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[34,23,902]}],candystripe:0,right:0},f:[{p:[35,3,934],t:7,e:"ui-button",a:{tooltip:[{t:2,r:"name",p:[35,23,954]},": ",{t:2,r:"desc",p:[35,33,964]}],"tooltip-side":"left",state:[{t:2,x:{r:["data.telecrystals","hovered.cost","cost","hovered.item","name"],s:'_0<_2||(_0-_1<_2&&_3!=_4)?"disabled":null'},p:[36,12,1006]}],action:"buy",params:['{"category": "',{t:2,r:"category",p:[37,40,1165]},'", "item": ',{t:2,r:"name",p:[37,63,1188]},', "cost": ',{t:2,r:"cost",p:[37,81,1206]},"}"]},v:{hover:"hover",unhover:"unhover"},f:[{t:2,r:"cost",p:[38,43,1260]}," TC"]}]}],n:52,r:"items",p:[33,2,863]}]}],n:52,r:"data.categories",p:[30,1,735]}]},e.exports=a.extend(r.exports)},{205:205}],298:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{healthState:function(t){var e=this.get("data.vr_avatar.maxhealth");return t>e/1.5?"good":t>e/3?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[14,1,279],t:7,e:"ui-display",f:[{t:4,f:[{p:[16,3,318],t:7,e:"ui-display",a:{title:"Virtual Avatar"},f:[{p:[17,4,357],t:7,e:"ui-section",a:{label:"Name"},f:[{t:2,r:"data.vr_avatar.name",p:[18,5,387]}]}," ",{p:[20,4,431],t:7,e:"ui-section",a:{label:"Status"},f:[{t:2,r:"data.vr_avatar.status",p:[21,5,463]}]}," ",{p:[23,4,509],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[24,5,541],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.vr_avatar.maxhealth",p:[24,26,562]}],value:[{t:2,r:"adata.vr_avatar.health",p:[24,64,600]}],state:[{t:2,x:{r:["healthState","adata.vr_avatar.health"],s:"_0(_1)"},p:[24,99,635]}]},f:[{t:2,x:{r:["adata.vr_avatar.health"],s:"Math.round(_0)"},p:[24,140,676]},"/",{t:2,r:"adata.vr_avatar.maxhealth",p:[24,179,715]}]}]}]}],n:50,r:"data.vr_avatar",p:[15,2,293]},{t:4,n:51,f:[{p:[28,3,799],t:7,e:"ui-display",a:{title:"Virtual Avatar"},f:["No Virtual Avatar detected"]}],r:"data.vr_avatar"}," ",{p:[32,2,891],t:7,e:"ui-display",a:{title:"VR Commands"},f:[{p:[33,3,926],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.toggle_open"],s:'_0?"times":"plus"'},p:[33,20,943]}],action:"toggle_open"},f:[{t:2,x:{r:["data.toggle_open"],s:'_0?"Close":"Open"'},p:[34,4,1009]}," the VR Sleeper"]}," ",{t:4,f:[{p:[37,4,1108],t:7,e:"ui-button",a:{icon:"signal",action:"vr_connect"},f:["Connect to VR"]}],n:50,r:"data.isoccupant",p:[36,3,1081]}," ",{t:4,f:[{p:[42,4,1226],t:7,e:"ui-button",a:{icon:"ban",action:"delete_avatar"},f:["Delete Virtual Avatar"]}],n:50,r:"data.vr_avatar",p:[41,3,1200]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],299:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{t:4,f:[{p:[3,5,40],t:7,e:"ui-section",a:{label:[{t:2,r:"color",p:[3,24,59]},{t:2,x:{r:["wire"],s:'_0?" ("+_0+")":""'},p:[3,33,68]}],labelcolor:[{t:2,r:"color",p:[3,80,115]}],candystripe:0,right:0},f:[{p:[4,7,151],t:7,e:"ui-button",a:{action:"cut",params:['{"wire":"',{t:2,r:"color",p:[4,48,192]},'"}']},f:[{t:2,x:{r:["cut"],s:'_0?"Mend":"Cut"'},p:[4,61,205]}]}," ",{p:[5,7,248],t:7,e:"ui-button",a:{action:"pulse",params:['{"wire":"',{t:2,r:"color",p:[5,50,291]},'"}']},f:["Pulse"]}," ",{p:[6,7,328],t:7,e:"ui-button",a:{action:"attach",params:['{"wire":"',{t:2,r:"color",p:[6,51,372]},'"}']},f:[{t:2,x:{r:["attached"],s:'_0?"Detach":"Attach"'},p:[6,64,385]}]}]}],n:52,r:"data.wires",p:[2,3,15]}]}," ",{t:4,f:[{p:[11,3,498],t:7,e:"ui-display",f:[{t:4,f:[{p:[13,7,543],t:7,e:"ui-section",f:[{t:2,r:".",p:[13,19,555]}]}],n:52,r:"data.status",p:[12,5,515]}]}],n:50,r:"data.status",p:[10,1,476]}]},e.exports=a.extend(r.exports)},{205:205}],300:[function(t,e,n){(function(e){"use strict";var n=t(205),a=e.interopRequireDefault(n);t(195),t(1),t(191),t(194);var r=t(301),i=e.interopRequireDefault(r),o=t(302),s=t(192),p=t(193),u=e.interopRequireDefault(p);a["default"].DEBUG=/minified/.test(function(){}),Object.assign(Math,t(306)),window.initialize=function(e){window.tgui||(window.tgui=new i["default"]({el:"#container",data:function(){var n=JSON.parse(e);return{constants:t(303),text:t(307),config:n.config,data:n.data,adata:n.data}}}))};var c=document.getElementById("data"),l=c.textContent,f=c.getAttribute("data-ref");"{}"!==l&&(window.initialize(l),c.remove()),(0,o.act)(f,"tgui:initialize"),(0,s.loadCSS)("font-awesome.min.css");var d=new u["default"]("FontAwesome");d.check("").then(function(){return document.body.classList.add("icons")})["catch"](function(){return document.body.classList.add("no-icons")})}).call(this,t("babel/external-helpers"))},{1:1,191:191,192:192,193:193,194:194,195:195,205:205,301:301,302:302,303:303,306:306,307:307,"babel/external-helpers":"babel/external-helpers"}],301:[function(t,e,n){var a=t(205),r={exports:{}};!function(e){"use strict";var n=t(302),a=t(304);e.exports={components:{"ui-bar":t(206),"ui-button":t(207),"ui-display":t(208),"ui-input":t(209),"ui-linegraph":t(210),"ui-notice":t(211),"ui-section":t(213),"ui-subdisplay":t(214),"ui-tabs":t(215)},events:{enter:t(203).enter,space:t(203).space},transitions:{fade:t(204)},onconfig:function(){var e=this.get("config.interface"),n={ai_restorer:t(219),airalarm:t(220),"airalarm/back":t(221),"airalarm/modes":t(222),"airalarm/scrubbers":t(223),"airalarm/status":t(224),"airalarm/thresholds":t(225),"airalarm/vents":t(226),airlock_electronics:t(227),apc:t(228),atmos_alert:t(229),atmos_control:t(230),atmos_filter:t(231),atmos_mixer:t(232),atmos_pump:t(233),brig_timer:t(234),bsa:t(235),canister:t(236),cargo:t(237),cellular_emporium:t(238),chem_dispenser:t(239),chem_heater:t(240),chem_master:t(241),clockwork_slab:t(242),computer_fabricator:t(243),computer_main:t(244),crayon:t(245),cryo:t(246),disposal_unit:t(247),dna_vault:t(248),eightball:t(249),emergency_shuttle_console:t(250),engraved_message:t(251),error:t(252),file_manager:t(253),firealarm:t(254),gps:t(255),gulag_console:t(256),gulag_item_reclaimer:t(257),identification_computer:t(258),implantchair:t(259),intellicard:t(260),keycard_auth:t(261),labor_claim_console:t(262),language_menu:t(263),laptop_configuration:t(264),mech_bay_power_console:t(265),mulebot:t(266),ntnet_chat:t(267),ntnet_dos:t(268),ntnet_downloader:t(269),ntnet_monitor:t(270),ntnet_relay:t(271),ntnet_transfer:t(272),nuclear_bomb:t(273),personal_crafting:t(274),portable_pump:t(275),portable_scrubber:t(276),power_monitor:t(277),power_monitor_prog:t(278),radio:t(279),revelation:t(280),sat_control:t(281),shuttle_manipulator:t(282),"shuttle_manipulator/modification":t(283),"shuttle_manipulator/status":t(284),"shuttle_manipulator/templates":t(285),sleeper:t(286),slime_swap_body:t(287),smes:t(288),solar_control:t(289),space_heater:t(290),station_alert:t(291),station_alert_prog:t(292),suit_storage_unit:t(293),tank_dispenser:t(294),tanks:t(295),thermomachine:t(296),uplink:t(297),vr_sleeper:t(298),wires:t(299)};e in n?this.components["interface"]=n[e]:this.components["interface"]=n.error},oninit:function(){this.observe("config.style",function(t,e,n){t&&document.body.classList.add(t),e&&document.body.classList.remove(e)})},oncomplete:function(){if(this.get("config.locked")){var t=(0,a.lock)(window.screenLeft,window.screenTop),e=t.x,r=t.y;(0,n.winset)(this.get("config.window"),"pos",e+","+r)}(0,n.winset)("mapwindow.map","focus",!0)}}}(r),r.exports.template={v:3,t:[" "," "," "," ",{p:[56,1,1819],t:7,e:"titlebar",f:[{t:3,r:"config.title",p:[56,11,1829]}]}," ",{p:[57,1,1859],t:7,e:"main",f:[{p:[58,3,1868],t:7,e:"warnings"}," ",{p:[59,3,1882],t:7,e:"interface"}]}," ",{t:4,f:[{p:[62,3,1929],t:7,e:"resize"}],n:50,r:"config.titlebar",p:[61,1,1903]}]},r.exports.components=r.exports.components||{};var i={warnings:t(218),titlebar:t(217),resize:t(212)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{203:203,204:204,205:205,206:206,207:207,208:208,209:209,210:210,211:211,212:212,213:213,214:214,215:215,217:217,218:218,219:219,220:220,221:221,222:222,223:223,224:224,225:225,226:226,227:227,228:228,229:229,230:230,231:231,232:232,233:233,234:234,235:235,236:236,237:237,238:238,239:239,240:240,241:241,242:242,243:243,244:244,245:245,246:246,247:247,248:248,249:249,250:250,251:251,252:252,253:253,254:254,255:255,256:256,257:257,258:258,259:259,260:260,261:261,262:262,263:263,264:264,265:265,266:266,267:267,268:268,269:269,270:270,271:271,272:272,273:273,274:274,275:275,276:276,277:277,278:278,279:279,280:280,281:281,282:282,283:283,284:284,285:285,286:286,287:287,288:288,289:289,290:290,291:291,292:292,293:293,294:294,295:295,296:296,297:297,298:298,299:299,302:302,304:304}],302:[function(t,e,n){"use strict";function a(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],e=arguments.length<=1||void 0===arguments[1]?"":arguments[1];return"byond://"+e+"?"+Object.keys(t).map(function(e){return o(e)+"="+o(t[e])}).join("&")}function r(t,e){var n=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];window.location.href=a(Object.assign({src:t,action:e},n))}function i(t,e,n){var r;window.location.href=a((r={},r[t+"."+e]=n,r),"winset")}n.__esModule=!0,n.href=a,n.act=r,n.winset=i;var o=encodeURIComponent},{}],303:[function(t,e,n){"use strict";n.__esModule=!0;n.UI_INTERACTIVE=2,n.UI_UPDATE=1,n.UI_DISABLED=0,n.UI_CLOSE=-1},{}],304:[function(t,e,n){"use strict";function a(t,e){return 0>t?t=0:t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth),0>e?e=0:e+window.innerHeight>window.screen.availHeight&&(e=window.screen.availHeight-window.innerHeight),{x:t,y:e}}function r(t){if(t.preventDefault(),this.get("drag")){if(this.get("x")){var e=t.screenX-this.get("x")+window.screenLeft,n=t.screenY-this.get("y")+window.screenTop;if(this.get("config.locked")){var r=a(e,n);e=r.x,n=r.y}(0,s.winset)(this.get("config.window"),"pos",e+","+n)}this.set({x:t.screenX,y:t.screenY})}}function i(t,e){return t=Math.clamp(100,window.screen.width,t),e=Math.clamp(100,window.screen.height,e),{x:t,y:e}}function o(t){if(t.preventDefault(),this.get("resize")){if(this.get("x")){var e=t.screenX-this.get("x")+window.innerWidth,n=t.screenY-this.get("y")+window.innerHeight,a=i(e,n);e=a.x,n=a.y,(0,s.winset)(this.get("config.window"),"size",e+","+n)}this.set({x:t.screenX,y:t.screenY})}}n.__esModule=!0,n.lock=a,n.drag=r,n.sane=i,n.resize=o;var s=t(302)},{302:302}],305:[function(t,e,n){"use strict";function a(t,e){for(var n=t,a=Array.isArray(n),i=0,n=a?n:n[Symbol.iterator]();;){var o;if(a){if(i>=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}var s=o;s.textContent.toLowerCase().includes(e)?(s.style.display="",r(s,e)):s.style.display="none"}}function r(t,e){for(var n=t.queryAll("section"),a=t.query("header").textContent.toLowerCase().includes(e),r=n,i=Array.isArray(r),o=0,r=i?r:r[Symbol.iterator]();;){var s;if(i){if(o>=r.length)break;s=r[o++]}else{if(o=r.next(),o.done)break;s=o.value}var p=s;a||p.textContent.toLowerCase().includes(e)?p.style.display="":p.style.display="none"}}n.__esModule=!0,n.filterMulti=a,n.filter=r},{}],306:[function(t,e,n){"use strict";function a(t,e,n){return Math.max(t,Math.min(n,e))}function r(t){var e=arguments.length<=1||void 0===arguments[1]?1:arguments[1];return+(Math.round(t+"e"+e)+"e-"+e)}n.__esModule=!0,n.clamp=a,n.fixed=r},{}],307:[function(t,e,n){"use strict";function a(t){return t[0].toUpperCase()+t.slice(1).toLowerCase()}function r(t){return t.replace(/\w\S*/g,a)}function i(t,e){for(t=""+t;t.length1){for(var p=Array(o),u=0;o>u;u++)p[u]=arguments[u+3];n.children=p}return{$$typeof:t,type:e,key:void 0===a?null:""+a,ref:null,props:n,_owner:null}}}(),e.asyncToGenerator=function(t){return function(){var e=t.apply(this,arguments);return new Promise(function(t,n){function a(r,i){try{var o=e[r](i),s=o.value}catch(p){return void n(p)}return o.done?void t(s):Promise.resolve(s).then(function(t){return a("next",t)},function(t){return a("throw",t)})}return a("next")})}},e.classCallCheck=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},e.createClass=function(){function t(t,e){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(t,a)&&(n[a]=t[a]);return n},e.possibleConstructorReturn=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e},e.selfGlobal=void 0===t?self:t,e.set=function a(t,e,n,r){var i=Object.getOwnPropertyDescriptor(t,e);if(void 0===i){var o=Object.getPrototypeOf(t);null!==o&&a(o,e,n,r)}else if("value"in i&&i.writable)i.value=n;else{var s=i.set;void 0!==s&&s.call(r,n)}return n},e.slicedToArray=function(){function t(t,e){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);a=!0);}catch(p){r=!0,i=p}finally{try{!a&&s["return"]&&s["return"]()}finally{if(r)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),e.slicedToArrayLoose=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){for(var n,a=[],r=t[Symbol.iterator]();!(n=r.next()).done&&(a.push(n.value),!e||a.length!==e););return a}throw new TypeError("Invalid attempt to destructure non-iterable instance")},e.taggedTemplateLiteral=function(t,e){return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))},e.taggedTemplateLiteralLoose=function(t,e){return t.raw=e,t},e.temporalRef=function(t,e,n){if(t===n)throw new ReferenceError(e+" is not defined - temporal dead zone");return t},e.temporalUndefined={},e.toArray=function(t){return Array.isArray(t)?t:Array.from(t)},e.toConsumableArray=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e
+
+ {{data.power ? "Enabled" : "Disabled"}}
+
+
+ {{data.tag}}
+
+
+ {{data.updating ? "AUTO" : "MANUAL"}}
+
+
+ {{data.globalmode ? "MAXIMUM" : "LOCAL"}}
+
+
+{{#if data.power}}
+
+ {{data.current}}
+
+
+
+ {{#each data.signals}}
+
+ {{area}} ({{coord}})
+ {{#if direction}}
+ Dist: {{dist}}m Dir: {{degrees}}° ({{direction}})
+ {{/if}}
+
+ {{/each}}
+
+{{/if}}
\ No newline at end of file
diff --git a/tools/travis/build_byond.sh b/tools/travis/build_byond.sh
index 54add5c78d..a26fb14509 100755
--- a/tools/travis/build_byond.sh
+++ b/tools/travis/build_byond.sh
@@ -9,7 +9,7 @@ if [ "$BUILD_TOOLS" = false ]; then
echo "step_[xy] variables detected in maps, please remove them."
exit 1
fi;
- if grep '/turf\s*[,\){]' _maps/**/*.dmm; then
+ if grep '\W\/turf\s*[,\){]' _maps/**/*.dmm; then
echo "base /turf path use detected in maps, please replace with proper paths."
exit 1
fi;
diff --git a/useless.txt b/useless.txt
deleted file mode 100644
index a266fc16c1..0000000000
--- a/useless.txt
+++ /dev/null
@@ -1 +0,0 @@
-no, really
\ No newline at end of file