From 805159a4b2ef1b04ec801237dc552658e7cf0bb1 Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Wed, 5 Nov 2014 10:35:17 +0100 Subject: [PATCH 1/9] Powernet Update Fix - Fixes issues caused when makepowernets() was somehow called. - Substations (or read, breakerboxes) work properly now. Tested. - Powernets no longer decide to randomly stop working when stuff is being modified. - Mostly temporary fix until next devmerge which will (hopefully) add /tg/ powernet code. --- code/modules/power/breaker_box.dm | 1 + code/modules/power/power.dm | 12 ++++++++---- code/modules/power/smes.dm | 1 + code/modules/power/terminal.dm | 4 ++++ 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/code/modules/power/breaker_box.dm b/code/modules/power/breaker_box.dm index adfd8203d0..f01b736c33 100644 --- a/code/modules/power/breaker_box.dm +++ b/code/modules/power/breaker_box.dm @@ -8,6 +8,7 @@ name = "Breaker Box" icon = 'icons/obj/power.dmi' icon_state = "bbox_off" + directwired = 0 var/icon_state_on = "bbox_on" var/icon_state_off = "bbox_off" flags = FPRINT diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index 82936a1dc8..b87073ce5f 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -112,8 +112,7 @@ C.powernet.cables += C for(var/obj/machinery/power/M in machines) - if(!M.powernet) continue // APCs have powernet=0 so they don't count as network nodes directly - M.powernet.nodes[M] = M + M.connect_to_network() return 1 @@ -232,12 +231,17 @@ return . /obj/machinery/power/proc/connect_to_network() + // First disconnect us from the old powernet + if(powernet) + powernet.nodes -= src + powernet = null + // Then find any cables on our location var/turf/T = src.loc var/obj/structure/cable/C = T.get_cable_node() if(!C || !C.powernet) return 0 -// makepowernets() //TODO: find fast way //EWWWW what are you doing!? + // And connect us to their powernet powernet = C.powernet - powernet.nodes[src] = src + powernet.nodes += src return 1 /obj/machinery/power/proc/disconnect_from_network() diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 80ad06248e..67474664d8 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -11,6 +11,7 @@ density = 1 anchored = 1 use_power = 0 + directwired = 0 var/output = 50000 //Amount of power it tries to output var/lastout = 0 //Amount of power it actually outputs to the powernet var/loaddemand = 0 //For use in restore() diff --git a/code/modules/power/terminal.dm b/code/modules/power/terminal.dm index f739ba93fd..3f19ef8da0 100644 --- a/code/modules/power/terminal.dm +++ b/code/modules/power/terminal.dm @@ -30,3 +30,7 @@ invisibility = 0 icon_state = "term" +// Needed so terminals are not removed from machines list. +// Powernet rebuilds need this to work properly. +/obj/machinery/power/terminal/process() + return 1 \ No newline at end of file From 7a42102eb8629f50aee819d8362330ae52dd1da5 Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Wed, 5 Nov 2014 10:47:56 +0100 Subject: [PATCH 2/9] SMES interaction fixes - Removing/adding terminals no longer shows the wrong warning messages. --- code/modules/power/smes.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 67474664d8..1ef92f53e0 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -223,6 +223,7 @@ "You added cables to the [src].") terminal.connect_to_network() stat = 0 + return 0 else if(istype(W, /obj/item/weapon/wirecutters) && terminal && !building_terminal) building_terminal = 1 @@ -246,6 +247,7 @@ "You cut the cables and dismantle the power terminal.") del(terminal) building_terminal = 0 + return 0 return 1 /obj/machinery/power/smes/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) From 6db4b04dc0bf3ec7f3b79167fb75d02177ad1f4c Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Wed, 5 Nov 2014 11:12:39 +0100 Subject: [PATCH 3/9] Colored Cable Fix - Cables are now properly colored when placing them with colored cable coil (instead of always making red cable) - Removed duplicate definition of color (color and item_color), only var color is now used. That probably caused this issue in first place. --- code/modules/power/cable.dm | 38 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 73a3eca3c4..b607a32c55 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -207,7 +207,8 @@ icon_state = "coil" amount = MAXCOIL max_amount = MAXCOIL - item_color = COLOR_RED + color = COLOR_RED + //item_color = COLOR_RED Use regular "color" var instead. No need to have it duplicate in two vars. Causes confusion. desc = "A coil of power cable." throwforce = 10 w_class = 2.0 @@ -227,10 +228,8 @@ /obj/item/stack/cable_coil/New(loc, length = MAXCOIL, var/param_color = null) ..() src.amount = length - if (param_color) + if (param_color) // It should be red by default, so only recolor it if parameter was specified. color = param_color - else - color = item_color pixel_x = rand(-2,2) pixel_y = rand(-2,2) updateicon() @@ -239,7 +238,6 @@ /obj/item/stack/cable_coil/proc/updateicon() if (!color) color = pick(COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_ORANGE, COLOR_WHITE, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN) - item_color = color if(amount == 1) icon_state = "coil1" name = "cable piece" @@ -277,7 +275,7 @@ usr << "You need at least 15 lengths to make restraints!" return var/obj/item/weapon/handcuffs/cable/B = new /obj/item/weapon/handcuffs/cable(usr.loc) - B.color = item_color + B.color = color usr << "You wind some cable together to make some restraints." src.use(15) else @@ -287,7 +285,7 @@ /obj/item/stack/cable_coil/attackby(obj/item/weapon/W, mob/user) if( istype(W, /obj/item/weapon/wirecutters) && src.amount > 1) src.amount-- - new/obj/item/stack/cable_coil(user.loc, 1,item_color) + new/obj/item/stack/cable_coil(user.loc, 1,color) user << "You cut a piece off the cable coil." src.updateicon() src.update_wclass() @@ -375,7 +373,7 @@ var/obj/structure/cable/C = new(F) var/obj/structure/cable/D = new(temp.floorbelow) - C.cableColor(item_color) + C.cableColor(color) C.d1 = 11 C.d2 = dirn @@ -389,7 +387,7 @@ C.mergeConnectedNetworks(C.d2) C.mergeConnectedNetworksOnTurf() - D.cableColor(item_color) + D.cableColor(color) D.d1 = 12 D.d2 = 0 @@ -412,7 +410,7 @@ var/obj/structure/cable/C = new(F) - C.cableColor(item_color) + C.cableColor(color) C.d1 = 0 C.d2 = dirn @@ -475,7 +473,7 @@ return var/obj/structure/cable/NC = new(U) - NC.cableColor(item_color) + NC.cableColor(color) NC.d1 = 0 NC.d2 = fdirn @@ -513,7 +511,7 @@ return - C.cableColor(item_color) + C.cableColor(color) C.d1 = nd1 C.d2 = nd2 @@ -619,28 +617,28 @@ obj/structure/cable/proc/cableColor(var/colorC) update_wclass() /obj/item/stack/cable_coil/yellow - item_color = COLOR_YELLOW + color = COLOR_YELLOW /obj/item/stack/cable_coil/blue - item_color = COLOR_BLUE + color = COLOR_BLUE /obj/item/stack/cable_coil/green - item_color = COLOR_GREEN + color = COLOR_GREEN /obj/item/stack/cable_coil/pink - item_color = COLOR_PINK + color = COLOR_PINK /obj/item/stack/cable_coil/orange - item_color = COLOR_ORANGE + color = COLOR_ORANGE /obj/item/stack/cable_coil/cyan - item_color = COLOR_CYAN + color = COLOR_CYAN /obj/item/stack/cable_coil/white - item_color = COLOR_WHITE + color = COLOR_WHITE /obj/item/stack/cable_coil/random/New() - item_color = pick(COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_WHITE, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN) + color = pick(COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_WHITE, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN) ..() /obj/item/stack/cable_coil/attack(mob/M as mob, mob/user as mob) From a93b6313e0db64af45d84b68cb62e6c4d08b228e Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Wed, 5 Nov 2014 11:21:35 +0100 Subject: [PATCH 4/9] Buildable SMES overload EM pulse now won't now slow other effects from happening (which was not intended and can be noticed, espicially with larger overloads.) --- code/modules/power/smes_construction.dm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/code/modules/power/smes_construction.dm b/code/modules/power/smes_construction.dm index 891f231f8f..5e12da5459 100644 --- a/code/modules/power/smes_construction.dm +++ b/code/modules/power/smes_construction.dm @@ -113,7 +113,8 @@ h_user << "Medium electrical sparks as you touch the [src], severely burning your hand!" h_user.adjustFireLoss(rand(10,25)) h_user.Paralyse(5) - empulse(src.loc, 2, 4) + spawn(0) + empulse(src.loc, 2, 4) charge = 0 if (36 to 60) @@ -129,7 +130,8 @@ h_user << "Strong electrical arc sparks between you and [src], knocking you out for a while!" h_user.adjustFireLoss(rand(35,75)) h_user.Paralyse(12) - empulse(src.loc, 8, 16) + spawn(0) + empulse(src.loc, 8, 16) charge = 0 apcs_overload(1, 10) src.visible_message("\icon[src] [src] beeps: \"Caution. Output regulators malfunction. Uncontrolled discharge detected.\"") @@ -143,7 +145,8 @@ // Remember, we have few gigajoules of electricity here.. Turn them into crispy toast. h_user.adjustFireLoss(rand(150,195)) h_user.Paralyse(25) - empulse(src.loc, 32, 64) + spawn(0) + empulse(src.loc, 32, 64) charge = 0 apcs_overload(5, 25) src.visible_message("\icon[src] [src] beeps: \"Caution. Output regulators malfunction. Significant uncontrolled discharge detected.\"") From 1a274475d17495b697fe329a00890efb314e8f19 Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Wed, 5 Nov 2014 11:33:14 +0100 Subject: [PATCH 5/9] Fixes SMES deconstructing yielding no parts. - Damn you indentation. --- code/modules/power/smes_construction.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/power/smes_construction.dm b/code/modules/power/smes_construction.dm index 5e12da5459..6b6fb17908 100644 --- a/code/modules/power/smes_construction.dm +++ b/code/modules/power/smes_construction.dm @@ -231,7 +231,7 @@ for(var/obj/I in component_parts) if(I.reliability != 100 && crit_fail) I.crit_fail = 1 - I.loc = src.loc + I.loc = src.loc del(src) return From 4560b7cc616b47c2a2c2384cda1a32735d08ef8b Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Wed, 5 Nov 2014 11:43:13 +0100 Subject: [PATCH 6/9] Buildable SMESs now work properly with power restore secret. - Instead of setting SMES to output hardcoded amount, maximal value deducted from that SMESs variables is used. - For example, the engineering SMES is quadcoil type, giving it maximal output of 1MW. However, hardcoded 200kW would be barely enough to run the station. --- code/game/gamemodes/events/power_failure.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/events/power_failure.dm b/code/game/gamemodes/events/power_failure.dm index 87dd5f335c..a2c7f24e49 100644 --- a/code/game/gamemodes/events/power_failure.dm +++ b/code/game/gamemodes/events/power_failure.dm @@ -49,7 +49,7 @@ if(S.z != 1) continue S.charge = S.capacity - S.output = 200000 + S.output = output_level_max // Most new SMESs on map are of buildable type, and may actually have higher output limit than 200kW. Use max output of that SMES instead. S.online = 1 S.updateicon() S.power_change() From 8a736f1c42c1e052933a006fae4b8a9f2aa7f5a8 Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Wed, 5 Nov 2014 11:45:24 +0100 Subject: [PATCH 7/9] Typo fix from previous commit. --- code/game/gamemodes/events/power_failure.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/events/power_failure.dm b/code/game/gamemodes/events/power_failure.dm index a2c7f24e49..3e212577d1 100644 --- a/code/game/gamemodes/events/power_failure.dm +++ b/code/game/gamemodes/events/power_failure.dm @@ -49,7 +49,7 @@ if(S.z != 1) continue S.charge = S.capacity - S.output = output_level_max // Most new SMESs on map are of buildable type, and may actually have higher output limit than 200kW. Use max output of that SMES instead. + S.output = S.output_level_max // Most new SMESs on map are of buildable type, and may actually have higher output limit than 200kW. Use max output of that SMES instead. S.online = 1 S.updateicon() S.power_change() From 8165c5db7ef9d08317c3d654cfc644a33543deb6 Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Wed, 5 Nov 2014 12:11:36 +0100 Subject: [PATCH 8/9] Magnetic gripper can now pick up magnetic coil (SMES construction part) --- code/modules/mob/living/silicon/robot/drone/drone_items.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index 30b3824fb4..aa033cde55 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -22,7 +22,8 @@ /obj/item/weapon/rack_parts, /obj/item/weapon/camera_assembly, /obj/item/weapon/tank, - /obj/item/weapon/circuitboard + /obj/item/weapon/circuitboard, + /obj/item/weapon/smes_coil ) //Item currently being held. From e0dd1fbfcf78ac01dbd10ac24c88e3684c9479c8 Mon Sep 17 00:00:00 2001 From: Atlantiscze Date: Wed, 5 Nov 2014 12:55:58 +0100 Subject: [PATCH 9/9] SMES UI fixes - SMES now shows "Partially Charging" in UI when it has at least some input, but not enough to charge at set rate. - Added yellowish-orange overlay which is used instead of the normal one if the SMES is partially charging, so you can visually see it without having to open the UI. - UI input/output rate fields are now 20px wider. This fixes issues with values that exceed 1 000 000 W. Such values are possible with multi-coiled SMESs. --- code/modules/power/smes.dm | 10 +++++++--- icons/obj/power.dmi | Bin 25056 -> 24557 bytes nano/templates/smes.tmpl | 10 ++++++---- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 1ef92f53e0..a4ade0b8db 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -61,7 +61,9 @@ overlays += image('icons/obj/power.dmi', "smes-op[online]") - if(charging) + if(charging == 2) + overlays += image('icons/obj/power.dmi', "smes-oc2") + else if (charging == 1) overlays += image('icons/obj/power.dmi', "smes-oc1") else if(chargemode) @@ -96,9 +98,11 @@ var/actual_load = add_load(target_load) // add the load to the terminal side network charge += actual_load * SMESRATE // increase the charge - if (actual_load >= target_load) // did the powernet have enough power available for us? + if (actual_load >= target_load) // Did we charge at full rate? + charging = 2 + else if (actual_load) // If not, did we charge at least partially? charging = 1 - else + else // Or not at all? charging = 0 if(online) // if outputting diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index 4d2282bbcfea36624253f598c705e23abaf9c97c..e10f708f41d679426d8d5e7138f763bd50b35bb7 100644 GIT binary patch literal 24557 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 literal 25056 zcmbTebyQqW5H2{l1eZV{xJ!b2(BPWjP6)w+Tadv*2<~o!ySux)6Wl%c0AaAb{C3~& z+jHLj@%9|<9qyf(+g;sN)m7hDJ;9%pWiZi6&_N&&rkt##DhLFZ`EsBl19$%N*64sh z@Xa3T+Rl=uP9~0)_Rf}ewjj`twD`mc+igmm{)r2<%o{7sKw6vIsFC71=HEAj)QUmj zR-^%PEA5Zue{1j5T-yf|C1GQH>z(ZVw|^%_)~`uDy$#G!@I8(N>%WE?N%4~Y<(>cD zx5t?}*RSdF_8IzFsz>v0d6foPp8@ak(qs)G{^EBcb?g51eQiJEmDse)C9u7&-HwIl zu(g)22U016xGk0gJd{Dq=f4vkltJ7FIKlZWabu#*;mn!nl6SL8TF!8RNZ`*G${=O_KVJ?4+N{<8{FqCQm4L`5B-U21#}yZp zOf_p}ar%iE$>1Ht2k*SkVy;=7=RS%p`@?DUM1aa5?s2L2nt#mbFZ{tZy2W*fkV+z# zBHl? zYXsRJ+D}1!DZbD0tS4ZuH~Wd$Fg#?mBT^ia#^KJ*LveZykXk>;;Aj`)=KkJ8oK|y! zKdch)&#;X`lPsBsR*87lD1VmCktSS4ZWdz3MrE#8{on#N@?Ivq`^OqO@<*~La-oWv z=uYEE(kHDnj?vK}BmUO#S8vjfe;j8zjc>k#1P$D6bTwA%V}}cFp7eFjW89Qm5ZLkK z7q(s#!+yjxyoqY)>_pObUu9mF!Yj=zQok-c<$$78?2dC0bSHK0e!p%AL zv&VZ4=Q0V?7RjH6468C7k+^7#3b$1b!CE6*N4^G#r?c&He~spe!GZ!<9yO!*hB^hzK7QbQl?|9EVfsjIF_d?3CnOZ8YUqoUdA=v^43 zy_?OjC7$^sYk*a}#Cl5A1Z@*FVC(hD)eMs0BD`YEoM>B4x;1xP-VW?ncc- zE8IIo6Qc=qkf{Q2Vk`xJfZ+phB$gPsDJ4*;GQ<$518}y`{x>hIe#VU_5~`?(-DpE_ zV(=$@QKzWFqnRU@mjwv1m`QgWpZ z!I5xGuEi*P-hNCMjEwuy+Pb3l=oop8Mn#(_SA;L2p%Fi`FAkPKwKUJ2#Y~L~yKGsP zYHoWz|DAkxx~9ihdE=Yr0G8vc)YjSXd+NW#eRO!$N@2Tk_uM1B`rO0+B%15QN`eE7 z6WbRy{{R2O^ZyKK0_t$JDpiToRG+6E%70H*$%Mm|K)pcx-@1q*(7A!V1qPWm^R5fU zW{h+4I+%f$586^Lg55=Fe^))@u)aKXcCaIdCxPnln@KHSd&zdLSmXUsV(72Nvy+1v z-yrZe9Y5BAl}#wxsMgIr5x>X26!<6>H9kHbO|+u8c$f)Hf>YH8vF$K8^ja{mu(S-8 zL;K!#jQ>!y>xu*_hdrJd6a{5pcaVG_1lgaWOng&+-pOns%wicgLEzm|X%O9Re$u*> z7F#P!yYJ!(ytIo_z>Uj#`Tz6~J1)Lt?KoKUQNVR;=^Xi2bk!6~Q=Jj%b$!d#xKI_KF#9SS&Bt*iSZ{+^*Dr%$Fj$VS?PGYP z$Wgg>t?g`e3Cy^s>o^kLVQu}#^W*73q`Q0*x-c9_3tUrhNDrJD`X7#|T0KIqE^|-B z5vUW~kBSOD>FcN2r+#AGN%8J`*RYY#V@=I6|Dmv*T)4Q*18CO|mu6)ya(?cexulWB z@dVAo)0m#EgVOU;-*5X^whLZ6WP@mW8-kZH8;)mz1I^?s^`yJ4p@E2nJ!w{zE$D~PYEM1fv%R5TV71X6h$I;$;zQ~f_ql4umV2dR_XFpVS zF%f@?#rTf8JW|rM*8-}dcW~C(m(F&*9N8`ce<@)UsTCdR8?6Gfr(~`geW)>ihZ(3h zne~%JRPo5O#OL|kkZvpY-Y85#j06M4?q*jF(h3+t|y}&xOId+m^=X% z@w|WB#*yvwMZf<#?=G4mznbz&RK#-oA?S(!w%@o>qw2FLAJmd{ZTp5FqIk>&PaP1& zI#5<*|My7mm)Zr6gez z-H2oB?OFyERe<(S+!tf~-!U24@)^%E|Ngvs^3-(97r%7K;nU7}HJO!G^00)_w!np{NkP-eK+AfuCBo4|^B{A-_U~%z^EaB;|FcE46xqes=c{b715a?;Q~a=4Q;^fa z_Z7G84w2Nidr{z8*txdmB92Lo)uzE}t~gFP5T*$o>62KwwP|@+JG35!P5JB5ZGflh z*|iZ?wB6{A9^afS!-2Xeab)+yl+IDgj$1IVmp5-IlzHITmH5We1k~VIiKia!9_yoE`DWTfl!^~Pql{k^km8q zx%ja0v)X*!2k#2^SnA`$XfhX#G@|4vqpGoxhb_l3r?I_ZQY1V13~C``wa6bF4rJAg7+4d8mUY1QgbNm5!2Mr6;PQ2Mj??O1aaD@&#>%T~NY^@#= zjVF9nl+9FG)d_!%CnfJX?I-Y60=`Y4@w&aVl!S+e5R~Lk^M2Ay)t-6`x)a;!kHkbl zAI}~CJ|!eoPBsn;QJuzdEZ{Y3)XQXchu9VlJ_O<`^I5#5#9)7QKBBMVQ4w zzfOs9)a*}Ed87Sjq}~`(DKf5^Yu-)_$qp9rV&T3CzSZPsmy^hOpTbEq<&Gw76x~9< zgA=09DChVqJ5tfA8xkL{kt0nkGh4EF6ZmMwy!BTNU5Y%>gRODF&~psx(i?;eEU!+& zNU@6RHihf`9nXcxt|Re{uQ0C;$rZS$7=%PXr>+w0*0)vDp6@a&^S&Cw;xgU@D}F9r zC_s#@6IkpUBe!oZ%%lIbY2mD{re+mYZ6l`HuLI1dlV_R&XQAEQePa47AycDb_|=qF zDaTz3rpS|i0O=~ytj4ux!<)tgU9XD1-9Pt;6$ql!c7+kau9HS8pd91PLSbV20E4 z*Z4etk7ta{PB=9^hwIRQ>3JJj2y!8>k?z$jotlc$X;D;^LHIq+v^u;RUL}A+FUKgk zbRtrPScghiST^ND(&jQbU-Bkl-=BtATqgkmRBWmfal5w6MQdxqdtuhXPTnx(W)o4a zP3m%3`3>_~fR{qovp-%LHK5kig7-ZY$@3V7Bm_%g_BwelR_(z*?j;CvFj`m<*p~x;_-re2(X>wu!eK}oe;urC(A2646 zj85aqWSJ*npk`$$K?cb>7QuJA(BSpw_`F8OaW5AP55kcsjdnuLl>xUm!T=k1&BK!y zwG&=W9PObGG5f)j$nWk9gjqg2&J2i;HT~9B%%3zhkBc*cJglskYkzaj!P32zKntTa;vTE$bL{tRc=5h@OksDw|>2PrD`Wap_D@VPVWX6v~L^p5+K!?^#6B&*qskPVUP(D=+%Gs z(`FN)=|#86BucXaWp_IZ!B3CMti*pTOS_KN$qy#Fiwg`aa@&Hd`x!`^$UNkMBJY@! z&6aaus;&Q!kd-#&wxnF`c4l~>Ci~38nw$PRa9!7Zg}&L17Bn01%*Kr{hO>3w`1M40 zH%BfuSI@RcY=3;xR${uz5QT*~PW&gb&XVg!r{8cn8b1G9Kia-8V#&=V&c)M{sgXgl zUgu3#61pXG=@rPr5{6m@uwsV*id zVVE2xa+2TC4tqvxuvKgZhIM+{kxtOEhqc@5^*h~fmiO^2 zT3-iY*W6Swag9v;(ZkiS;(SW4P19}93uX_lrofIRjjIdsg*(c$<6BOo#KJKY-!8Gz z@z+^{+qo$zsxIP*H_Vv->O#g&oYUBOz`JBK^t9s>InHTRmuTw5OUPrR1DH9l_g>a6 z-N=D2Ii&`n7uzj`%VkIY>gKOFxFDC8j_)4xpYat_c`^OOKt!xO?#}f}BF~%HgpWqe z15WBbrKMj=-+C%v%*PUQBjAZ{RafhF8io2-TbS8op{$Ud-=lf@n-nRw%4?x34Ni@k9FIdgTn?Z%{m4(2 zD1gr?DZ;a7BVwDP(pnA7vMR}Wj?=yd$9k|%?zdlofyh0M?(PC4BqWti`^r6#^|JvW zj8&Tsl5zgk0ls&YiG)OWe@Y;XgNLMb$mlUNuin0?AfAu?N33eEo2Uii*>vFvs;#gP z{jq8djpLrWpOZY>rqo40wKF#G;qmuV9dLmj)Jf*W9ulO*^FmOIR_~ZE`G+POv3hIK zf}Q@fxK*$mHgaK$vbwnc<)E`ojS4#DOp2J15#fO|(fdMAO(C~dh{`qP^PH%EiTl0@ z@lSJIXni?ge`#q9pY24ZUWS)NtGsum$?09eQ4B8nFZ=y;H+ax|sm}HwNBSi8aJ8e? z$m>=#5GJMtv50=t-5yb;>Bw!5UTbh5a;EV=d%9IQT`2;0ubb~G)5*5SZiv)B_ql1N z+&nRf2e@bT@yY}Gtkb~M;p_DG@fsgvSO}!vJLi6y!j1B@Y%ILNEu<%26+5F3Uh={S zJgY#4&$HAJ=??hXEOERP(A)HFI^ZjH7CR6+l&3_|+Np0;@T@6Htp@xs76BYh-&)(} zev^xPA19z2qN3|D-XE@TUnFwcALl7mm}MD1yQR?)no1LJVogug>z!F|2MdLS&YeAs z3$6F2@bG076%AD?F%onukxd_4lpZ$J=ewkRpTm|B`)tV)TS#XZhwlbCx1N5S7K8ea zs3Y#Y!sZN%fN}oH8_(23|ud|xgkO{bJP2rMBgHoK+BD?;j zgFpPTzz;d~#v&FH{xMIF*eIyXxJIc4PK|t8;WQP=nq*&b422o6>b*8R?7lst147~p zZuF3X4*N~kzh zm^kj@;hz7DmW1sW%`EHaNOF{E+l!!x07M-^G$|=RWl4#^+EfwrfGH4{v51F6mhr)g zJE5*_{+C5g4wcR1xc29R+T@IPdi8%qEkg(9Q!PJ0aR=j=?6y%Hsc4&~s-SHKkGh5F zn0sT#c~Zj4QbNJdWh=y4+)pw}1wsyat2dF(-i6ul)5zH*r^8@h1sgFd#9U2j-K7ar z=pK!CCC9cG;``*t&PjUO!D?PAFm0S|>L%u{quJZpxN zq`vV@b^RNKC#+chntk>aU<_e;n<>dk&EX5MmNShKTVL*7o81ggWouze>#Q}ncP;zm z3IlrJMbr9m23-m@_{RN=84&g1&?iQM*kX)dv!k6mDxy649dXyouB1@{h7qR?{=CQx z%*+n2YETEq4DHSKa_p`+usFvQm!v`iva|h5Ljo{z=Y__PFi>ohu`^xM*D5zLKwsud zSwNEQ&$>P!zS5(x1Sa#@D`uw-qGpQ;4lXKV5#?)N`~#XOmVCu7VdEU!ezg#Lvhz|H z^=MZZK7(>@8C#g`c7J%n4G|gP^xQ2oyocn9`d~H7zyihruraF+j-@9*fSNzOK0St>Gf(?EnygDc#iu3Q8ZEJ;Rg4AG7q z8t2m$DeHUub)S5}zMu?Sv#E%gJp^K!DAU`OpE?sFC2c4m(*!HY*u6uHJb_YEGQI3h%(B1#Aks7J6?{GyrlB` zqKtO^D1Sc+d&Ctk6BFN(bYQ7b1!#U*Fc6C@B-O56-~_7Y3}e<%EqiF2x5M6ne#;FU z;P{qlKp&KOGpq4=syW#|G{WoajQHA(Ylz&yA$w@R3b2lf<=RY^D#`XOf%T!3YHZXL z4i7BzR}2XzosS^Vrx zO3SAf+uox_yPrW1u^K$P1cZD1W{9U9{Q0*7R=P(6pf(a)K0Weu?}pVhHB&EmDY!&Z zxaGoaALcd%R(+#sCbZv2s{Ku27jNF!OMNGWs2rYh+q`w7+aVk^Gl76-Vh@ePwzp$e z<$<3T6qFQB8kdvYrSHEZrWnl6kmF5?>~v0xTL1Tfs$rRUjJ%sZj3)jjS~22EE`Xf^ zw=evyJH6U8$6JW79-a>n33X*lh1R-KJep^uQw|9LvF2B^Y%KLgfdyW#b1Ac)dEp50 zjU9t_*{Vk2!C58@{G|S5sb!mNC5yAQwxvccp(+2yc0*|qe;_eq{Pl|Vb3{rC`e@3o z?QnRMV)P6$?W7D{a)j@S$J?KUUwT1$b&m`}V=|e1S%aAyU!++^EPnD|o%g6R!+<<2 zxNwZ+3eNYLyjg7KyJZs|u&6KnMG4pu6j(+^Od3TZviIRdY)e=U3Q>z;iTln+A^xqh zxaH?p{LS3Y-$u?6Kj)7vh!+j@qFP9BiUC0{FVPBJw2XA4FnM-<{_Odm5XBD>;yl?B zT0CjAL}8p-O}h!Bt|FAZN`TaeumOoi4V_SVjg{5V(?5A|jUq&Eso+zvEfsds;DXfy zyg^^-TXLnt2LD|1>#6bp5HZWniXv(N&KYhE4QhJDzXG{rm7Gdv0eoWv0g&k6S+sp zMw<_ds#rx2!j!*6cK0@10 zfgPUOCRxiUT(_#zt0fni+kE`(wUV`UN&E9JmWt%l9~z%9pBq^7WP&yIjXa+uS94>?WIH;z#Se8%71imDpq2q>7bT9te)VH1wq4Ig%!?dnhz`hprzS<|xZ_PbbkBx0;)tuuf8E;dwU`;=<~pvxpNtfWgHS2BUtZS(d4 z<)N){K8GR7-cTVk2|lKvFkr7K>B}9`9Dyg5UgTqu78w^F_mIvIC^iL zr=`~VxJVO%BhlLBgg_$d{h>dSqT-#x?V2?^dYc2QQTyB9*c8YheXol?j(f?}#3%kp z5m=!y1e27PUjq@KF_<>o83NE+T$#FkZ~iWtSVB%$TSyZk$%R80GJbSdo_3*7aId;e zW{QKTk!!sNab7yK1(zWsHWe2a_h+fSsp*YOBzd3Hgz)dZJ+rqWUc`^EYp&J$@^UPL z7FQ`JCoa%N54I>`Acov+92!+XuCFyRtxcHK@*DHEGSl%if%@9h)+^} zmB-K)%w<-eAMT^xT88d<@5qF5)x3`y;2!Tj!(NphD}-O!C}HOkytl9YK3m|O4|U2W zTG_)StractYAt_%$V=h<&seZPsycb8P*g&8KH7zepG*2!kO`I7?$4KILwk33G!a9s z-y;$Q#!LGfm|kw|gBR z&}#~f#C>NU#xa_ukC(p{Hlo`XcJ0n!$*`vyL3liR8VrUEs=Sa?+{uy(>9Q|~V$)w% zn_Y;5T$acj=+6R+RKN{T11?GimJR1o216)9CDGd_9BySv(6PzP3#l;oDpn{tX+ z|F3rjQxiw1vR?|W#JNin2UNPMFoV9aOfeB3nI{|&sOMXj|zC;V-BuSa7GRzU*kUM)uF44*FfHL0|w>RV@N9&jVXj*ZN&WN4He+Cd^ls z*JPg14d|ja3W%>|9aRZ@)KUhSLnfH;Dou)ECo`6?Low;0tcQ#K-d{^bi9m>bT?Aoz zOiK%!4U37vJ~-xi~kF%MOi|f34jDy)(hotgpdKlL%oP7 z<)j2HDb6MHBQFC0S+7v_xbHNb4!ZIOY*fHTQK<}LG>~b@@fel@{=P?;SG5P60l+n? zXug^Jcd^ZLWnpVu--hubXp}xx2}aNhVNgp^J?u*i&}_2zz%A6ElP)v2117TwFh+ zgy*oQ#!q-vXbmZFO1wvR0 z9w#Q(u7m$w5W!n0R_8T`&j3(bqy}h1Z~c;PSlE{;UIdv9*vw%!KtMBwc z4^_5rJ0Ql*t0xVj;g9#`nORgpz`Os@)9=>8ch`}0co!0P3##n1u3)gsiPT$X32;Y; zwvc&2`SZ&_!$}tp%z+1{5a9=EC(_tDFs@+~3fU9_`$h(yDyrc84Lr)BYEIh~{y1b_ zRS0nq5uu<>{ZV>>?j1Y==r3nk0KA{crW*nXLeQ)_s)Tp?jAhTvFchcvDd2 z*-(YozL!z}2Qr_4my!~RL$-nwljFnVVCi6WYke;IAGH7jDZZ>Nc@%n2lCW{3=WydI zrT`Djh+ixo+iw&6I^X~FwiH8tJ7qUJ%5eFdC~L&CkyjDXJFUgXJVc$YQmYcKLaM$M3YZcVrSi``8#_##z{% z?*k;L)HO*OFn{@OZG9zp4V(O9@j<%SZ3`y!Tm$f6;9r`k`x!#7M&7T7=}<&!8hy<9 ztgj!|4)z1ztK-Y^;mN5#$;Fx(J30|+x|OLLeT!&L9#JRcrieRd2UzHMS0}1)~%D%noEfU)?)C9vYfCk#=H)zIc5OCP~t)`=FjuX+&mRkgBjviJRIVk z4Lmz6Yyy!dzjD4#BK2N@WQ-Tp1eM(th4-SxUf z&4ct+vhd!ERwyYXUyu)vj9i>*bZ{J0oa&baO?FZezi zGb~ik`U-JAB!h?YhBkJpz|T`U?ONr9Al~ z{Q7ieuMU<=h*v!D41e-qsh(St)4ap#C1cBc3Z{6jkEWpm6(V7XT2wvtm+2A4VJy_i zfxMr!B~N9`&b2@Y>~@Ab#5YhD4sf%fXuP>C4>b;>q}49pQH3@K!u{>C+VgyaSD;C* z+hgptewZ{5Mcu+^AU5!J|5+&PdcVBhq2{cLz)@?7jdzRfs=chY( ziSco%hZ(490i3_CAZjI1x_gvZTD6i-QS0XhB|ddcc;U!L zHs-_+<_bpZYIf^v+Z`|}-qaZ!j(%;5sB zA?ayfzI0@KJk`4sQw^VMLQ?zP3Ka{8LS$*D=h<~bZbh0Wey&VCJjna;_zf|SRl+;) z;h}XEN&M!ZR(PvCf_Lk!;rBbId0)^*mdo*ZV|ikRUJ$y=N~43rGKIXnJjSxkO5@Zg zCN)T}$^LkH;I8iTV>T%V=!?sOJjjJ(84ZB`39c4*_LxiiIBlA^D_?gs4SPL*pCQ7H z$^d)~hG@8#IPsr%^N_KpWsr@e>yn5T9l#jeSC3d@li5pqnS-P>KBE!HqT3k9Pw znP*Px-44+WK2{amatSi&Kg~}ySSoz1ERo6sc5Wh8a?eXLn#2i-2CeXXUxQ2^T|A{J zkDdtXo?i!=*XhKvND~?53+g*U&8*d~iRN1aJOSaU>^@o%G2E5e^Sp)i{rA2gw z0{ZwHOG-@*zdzim-XOE>xPf7o$$(nXw!9jQF~?0k3uD*~Yfn;@jbxiJWLDq_N4@uU z__Yh}i<9s-O|+}eBl|!oWYYPUgF&<SiGsDyTg{Q`@y_N-~#GO)lWFaH=(XjP*?i zNv*J%fn{6~I-ayx{)rf$`Ghv5QCi@;0$j_2tdGCH0;5U{loG7ixSg&9t2e8tbv$yq zo$B{EmOTepBI32J0%(fjEgKUPN4VJK)fvxshW3H)GZ5kY0!zf&mB4l#MCYwuqy%WB z=tZ0*;<*+CUM5)#tClMT(2D+-@UIqO2FoJ*TCm`(f(;2ANIVWVAe z##zD(U$V{WD{Ggt#9=}JUfTZmcTtxuH#?iUOsL%AchR+q|DkU$nNSoM7X7}(il!C( zs6&yskz$?EZ}ePzbavlI*y*>J0KI>5Y^PrGEpO`gzQcB5k$?+Rn;9i{g70XaPXUS` zH6=+uQD)wVu`pXzYj}hH4XIEs7EiUf2``GI%`^b?!W7U*d z;rdZo<@sh=qdo8W zHn!krNMm>RFD{In^Utb9;WgTvW?{y9RqeUCv}U}ZI#MV|n*s$Y`f0$9*qlmi$bJOY zzX+OrlU+8J&x&)knwL)@OzKY@Wfd>_#1Zs(uh#L@e_3L(`!}1dgB^hd_7Ve7oEQdn zJQ4DH5Y*R&hMa;xrP`YxZ%;dY;i8+KN)G@7>HeW3O8W8PrX`I#^Lu7d5!(8?1bFL1 z$lDlNcVBAeaqzt_h4>V*G%pX&rXLFVWc`a8DfV6F5X$SSO))xVJb)=gUoB#nZ?U0FD^V7wM9ax0F=9sOy zCnuLP%iF=Bs>|!P6jM8@XPfj|zS;@C4?$ z|8$iLV=t#3tR#POyWm+ieVa&;r9weWoh1pI+O4=AL8}m@p$yed_hI!A;&7#3m2U)` zfK0cjeos0-=;S?-@BEBHu59+%!;Cw9SciR@I^1@8<7DJ5f6#%@x^qTwtgMgMzjZ}u zE&fz=?EmP8x5j$wL&wuKhW?xRcD#}ESV$qv;|eaS`A+hNM^a)zKUQ0``C+JBlqQq* z513Mq`*1vJ1&H}Cl)ctkd$9xXvA-$okBgFkX|r$s%HN2!LQfxJ5B1zB(_?od+kv%O zcHisnI{H)fWvKhvbck2>l$69wfgX!b^`MLxLbdNgWUlQQj5d`#_+*ZzYx$n0sVv^e zxxR8{&-B;JoKP1lhP7SJ_@WNs_L{)oJZ_;wA9rOqD&PxPDEx>aIm+>|6j#iZGaI%l z9iQRa@iSOmY(}jm*T1!f(!fjzH!9?y&jSuu!3Q$^=1h^wS_3zdZLbMeH@9vf`V^IJ zkCrca8L-R)blMy;yeb6NlnaSP_zXZ3J0kzD+nZ`{@bK#MH2`1xxqM8BaYT%RKq3nbaU#;y-yh&htcVj& z0M%E!qZfggY9Nx&yxjzEsc2b(cr(-rlr15`59dAg5!ZiAA}!DQE-WM$Q2<17i|Hav z#!gTaHWm4uOs%7WordJ|4S*m8{OFImJ|+YgpUf7irMM?0j{`0mkG#TsB7@^TWLx;= zkICT32p2J~(xBe=H&IC;;_l9Z#ctc z*PBcjh<2Z$2Z4H~bYLKT2!uv8&h_olBQHN6S*%yR-fkU>5^v1;__aH<2UsES$nAg{ z6OLm5WI_OO>;Wu5KX=-Ic8ITkcs2asrvij^Q%ga6s9_1e02x0!1sDdp+M}D-qM#|w zs8O4#!oOr2Nnip^*2Th5FO|~;v+C*y$HvA$zVq{%pw5eVO>TrA@io4B(hzC{YH6yl zgUPIqDQ}YBguUr@h7NF9>rt=8%=*p_$^`ykrl@>X{lM-0Xq|%=go5XCR{s9C`M$<< zc);wSdHapJ2ng+Z&IxgL-<+EnApTZMidD%Y?Q5%JU^Y=eYh%t(ZcqF7P2;WZSD;=# z>P`!3&B-&Cu>GvxrB zdBhLFUo=$4k|#qy@>z9rolj=vLgDrF^c-622-)(9uhG6IfmagUQ{2Py*oeF_wu4313p6|2%lx^XJhV;}dC#?6HBr?mNLy20kt0 z2YR}_smdZriR{a=;^OKS7Lb^c15l8-SRMf2)VvO79nUS(OG_cjo2JHMz${oGQGNw_ zW+Q;aXF5flhyR5=(~Qy-fu!2IjniV1ax{hKm00eH`DXX8h_niJUgHl6iSPS>`n~QO z2y5r8@93yG5SjwnNj3l)f-1ia;q@pY($Ud@d;!3SfQZQC_Vf)?YShxQEvWta9mGuJ z+2NWn>H5NA1Xlfl<{kdDRy*B-J^)=dueM;ump0xL5mu$k^Xqol-k#>}Z|1iXrp@y8 z9L4IadZ3rkjtsY)wTA)|>2<%n&g+$Lv~HLI-*T0p7YE$K@VOd`8xaE3cy~9^2stx< z5O#YOxoq2l2|6EUso2;TeRkK~|7Z7nW4Cl+2qdwy3k%y90~9Ek`5P7zYccFdM5u2O zDqnTJFU2a_s{!hh(Lh#kA5AIe*Bf0*;0vch3L74ts6K^vlFt-~mbF0$No*915@_y^ z_Qq-?q3J%Wr>hA!q#|DY%~~2v*)fC_t~1&f(Af0f%djDP`E?8+K>~U+R=X;t0@y8p zM{L!i9b5xyz+pB@+_V4n(WYT_FQonH10MLa{_gPl*?vaJ!o~(D9FQ`Sr0*s!E-8Tn zLBKc3_2IGwbjKp^Jf?#eCPeNrDq1hmK^yJ&r(A%}0DOqI58n$8Qk$rel9Gah{;O6N z5mf^4CFgT0HtA`s6YRNJ<4?qu1M**$oZZI=5gCxTaHoAUl z*IMA7HXpxN81Qg@^$H{hO%^0BwtZc<|~OUh22*X&an9$gAcI z0P0p)b*gFUFDGx_a7n}Y(wX!FnGJd85ex6eun}ZZB#~Ul?{@9j?$5&6t;tXfUC_MN zcpKU@jUF86Wjzcd;TfraD!s~(D(ZMmeF;?hT&#JTe1(oZp+#zH%DZ}cYiMd(5xP3l zu|${`NHi>;ZsmIO#)*=!>>)@lnWae|9Jd(C_^hq0{7vzOy7%6X+CX91qcGDJTKO(C zkL#mfEvL<|exhL4d#xC@d03wPx(Fgz0jef6PJ;0T@cjpz5i{%ZP*1UY_e#BaEQHp= zmy|0lrm~YvfPi7Ovh;%>S;y*K;o;NNz2W^Jde3EbsMdxwM)2bM=%=Id{^4=}#%mF( z;9M0=In~e@ji{6uA*{b2UOnoZ7gI_}6iAI%Oq zw~+!j-T+k>Q)|c9ISVaAdt<3^#LMZR#&XiK3N|M}n5L?|Z;GbS+48>SNWrr`$-2nd zhaO%Ze(+M|UuSe>4{6N}1RTV;qGY>cYin4(iloMjhO~F{fFa+YDG{lXWC&-xBx5AW z7|YUVDSOi*v3Oick`-rp%aaEqh(M~#Wx)UibTC)Lz-#1;yT-`a*~DgG`RB>PG*4Ya z<5xvH3>{<-)M5oPN|dVfPYugkY8jBZ{u0tZn4rUlfzHQ;&VaoG6)2gS&RgJo=r%4J zd?g80Ug%TA`mhJzkb3g=rew04QW5~Wu7kDfzrVpE6AS=yvaIZEctS$LgY^!d(HlT4 z-TNAU*)9!rb&CO`W@n~Tz`w+)+7GMis3MQV5XJlG&7Pt5M!Xks=zhs*Y}1X?lU~z! zJOj>c2KB(dso&|f%5>=3^Ar9a?kA{gFm#MMGj)$d4IG@Y!(cTI>^HzJ=)r{S@9u6w zi_~7ky&M;%7%Nc8$;yHga{b#0NOm|(WTXzN%Wk_}^Q`i^bM(5p+m9DrcS)q3*Au7k zJ1H&+6(DN3{*`ce-}(U>Lkoa_FU07Lp(KUb@#E%JZnUIGa%TaVCna|NnXk8KBl$9(iXyW0%-@}nq30j|@?o;kw&K4qIl9=*K zGIo1PWQ?~#N8J+tNq>2H3GCYl+Z{4@)%ie$(c0(|f2^VDIhSehixe6kD!ko7dW!BlY!wT!42gZ^nUN zk?p24siGjv43g(RNANZ?C4wwXxyv&C6qAX9`rT4WyCoZcbh&DaaS0bjfJ9bO7vzGG zkx|T{N{}H{P;?nbkAZI5C7Z=X5a!p(vAkMY#@p>vW~~Jhlj8p(=yF8xboTs&Ew*DT z%EqR0ENI05&rYfm%k+3~8Cs=e$#UC{*)_adCw;xP!1oRNh~a zCcl+7gQaL{*tO?g(9Cl!r9f|-V#ZjFY|_bXB_=KrVs+3q^c;wQrkR(=(}k?v_KGw+ zJw6V`wNJjGz+fiz68YIaxw3I3m&_=NQ}obF*3mwVnIn~R51ikw025}+_F zkAYP+Nq7$}E-p+Qh;zt)Y`~q=02XG$oVK;K#dw8VgVT9QR5nN@mmV&jSM`|;zt*@E zF;3kI2H+oLqN`l+c5CkNBg!(+u~C`mfjnV~l^dI7jJB5cyN9b`zV-`DP$!@*!7o~+ zE5&*`IU#(jFB|hsJCOy*o^WAb4d_R(3u`{FyLBP`5p-b&eNjGJ3#?scX;{YsF`}?b zClK=GcMm1J!OGtM>RDH(A!q)cx1uT*sL1gx$99VdUSR4vBv`q1=A&YBcW5JZ!3`p+ zc@!$8aHA}yj*Rt&tr_2?QsE2c*=XX2#0Z-{O*csK z@WOBNF)ek@`uoF|N~6ik`_3_ni)#g-WQ6DtsRMAX8H=~eiLhldHt2gCX|xZ`C&w|K zB|#2zLeLBHB$lht)VOSCY1t+Ebb;N|tPb5>f5f7>zaB~QcHW^G=_7XE=1miH=girS zl<|aw>#m<}o2oQASEarPB8h(5_t^^FcG1#J%|0V3B11x_8}5(X-nTmM?qr;ocBcWF zqCb~RQp)Jp5XhHVQJS*y73eE9#Mvxc^Oi?i!UHTUAu4z&x8T+L5)0K4H`>IZ$L zfrv=tZU-OWm;Y2w48=0QNir{Q4@7QXj<5|xkO_U)>Xd$5{iADCF^oWda9`z;n)3T( zehh;9Xu(ffH(cE0dVj9G;IQ$SrszGO3oCuK!CY(`X~zbH*X`m z#UPYGzxDKwa>0gV-myY`mO?ELSV2W{PDa8ivRZoPgc_1ZbSDX9Z866P%2FbvyVC#Q z5bKLh-cnyqHTZ!#rHBl2rQnH-yf`9&eQ9J0&Xm9)HS!wv7q>sOtQ+r{U;p6zK&~Pw z(&l*!6z9?V#u7bliR4MaH{*TJ_`i~9BxqR*|n+rrNe zSH$dJ#JZa{L>{4P454DGy)kfbun06}0LGL@cuLZ8S%yL+NJ@+>4w7(;L?5wGK$YNS z-ktTrl!-N4s~s9BV2oCkdZ#9o|2xMJG@Ga3~q6 zLxJ7}9>e%-d*(Y8osah>wD08ZKVr}t)qmGnY1-)RIV>Fw6#j9(kz|-GMvLS&K;{Mt z!uZCpX1wSNB4)k;;A*ChCM$-uKD#K0C{eqFj_S982{!qTNq_I7G85P^C+toLCgcOA z!+@xSB92z--7!pydi`TBZ--gEtR^7ep5NFez&00M+MW9L0ikgxyFHzUYc;)fgBj$?1+YSG}1#^M{Ps#D+NTeb;%-Vle$ z#L&K!%rU#~5*D4-FMk(y4B*GcWK?9H=&W*7Ji`Bqi5q_qE}J_7Nb;S`dMaCLNu;9V zsoC`*M$0f7vDc&Qg3gJBFqQdYCza5bK^AO<>c*SYR z0!Z`!#okl_>0hiYgs&+gWMp}J8~|(uhp@Wzk5~5xDjlHwD(Y=Fwu}737k>2O2oL(u zWN{>rq#f`{pvZ+*250XQ*or?)S!f1*dDZeMA813coSBJf zlNFJcDhxo8zDk<^#GNsJ`R=*YW5K`dC$%wW<>xlEbU5G{okL)wjeLiOt)`>7;Z^WG zF|#*>RpE&MBd@)k9ANL6((i#E2uPdu&V798^DEp#-ZEkHz8U_eEz30Tzvducjm?R9 z;fJ&Hk388=Jrx77SFgY9)Gcf!r!>SDnN~%AVg`b%p3C~{>+6Gs3W}GUks()(^f$7k zYy#D&%zDHXAiI2r9T?%*`LNzX1iSqwOQ=WAM=d0>_dFs=97$$^WdOJ%*MO@+?(#DM z2Fu-FZ!!{HmR+IUFml1!T5IVMQ!k%i)LuS^-EzJJq%Xb}yeY+9*+)r|yhw-FR8%C0+fByUg zaaiqmDw)0u=X)#sd-^Q0>$x0^yWn+YrGX$e!UvR~1Y#Z`ufHv|@$_B~wRc=6;xCwK z0#SdC#5bq}!lyE4>`nB=Zx}W@Mv{V49)}0Zyp&_k$P9~0y5A4PZdiIFXYKB$Q2b+6t} zVhj#di2@Nqn%Zy2IId@%y&|+)qQ@U3FU@57+^@wB2UR>1FN;3E^M0Bh4U?e+${%UC zPNBT$ZT1sACr}t32t+>g^1A>Thi=~6m_??GoOB-PGlJ%+bj}CGFKwbVcsj1ZW3-vE zx6c=GwSTwi`W;))xxe9FTU*QjgL~hC4OdogwgD(4&+~cR!@*@b<$SIyN_w|ELC+$S z+XM0?AMR`1S=X9L;tC)Q#P=2Sgaf_(w?+(=U>ge<=N(AI-*YOyqiz4-{g%SV0n}LA zL9@SOhRw&)xY!d4TRU7n3&^zo=|^P4Zg@N(Zl%tGk;i_u?<^@8W@_N=A9+rm0C7i2 z{02h|%26MwrbW)YK{+?Ie)axwzK;KV{}vAPq9woz&i9u_kTT6mB-lwXJ#-!$8(}p~ z074@ZvC$ih4~nw?bOh{HO~<7@LB2=c`LA^H0yWU+6~65*3B{)H_1p4uX$XI)Ma$hP zsT~W^`ZNkKB`@}u4HytZJO8iNvWgd5+BeYljlFN54BH>s9)JUlB|Ik&a4{-j$B@7Ab-t zT|}jXA_7X0t{|a^6p@Y~H6T(0h87Y+$=$r)`{T~sxpRM9hD;`NPWIXC^6aOqwZQm< zGNZHPP4~RpobjPa@#z(?v~d;_rUhFG#P(^=Xi`oM4=^{>F5O(WUgV82bYzrWCU&w} z2~=SBAmp~BM9WhQS*BcKHKD@7^GRL*CNnuEROAix;BS{4x16_Xy!-0vDuYF7+GXZc zT3z*3$VvG5y#|SlC)t@^j(fM3tHOLb5)9tD%FcUD{>jS@*FSFROFYm)DMC9dE8#AH zv7&>_{s{h9+RVe~?vszvGoYqZX6Jd$FqL-ltUh4ooJA59ir2o3CiV37rbuVe1c>Tf zYnfMRz6`6`X1ZNp(5XMt#I+@PNpbiI_4+mw*J%inlt=WR-KKypW`6U+f$XIa0VzI}d z!cx=fr=;^AT@^3m@mgOi`wmH;cOQ`0$^%79jtKq;-B5toq6(91zFBf4b^b-2>0u5m zSa^C7rF$=v(NM$IB|g2>y`aG`qesz%(#Lv0~Be*KPj+P=M~$OeL#iP*eD*P zKJ_TmcU9%y3SnOk6sYeeoUl2g)USBJC@-eC@y25<|@T2gX2L4IJl^=@Z!o%D>8||uch=UnWBg8upbdl2auoinfl%mT*;ZR zsnS_TCcaewBYfsn9b+oFY`#8+-&>MWGC(f{oJ?IO#r=*H;u)H0-e`-2QezZBwS`uI zPBvhJA7DZ$Avzid_sKd&h&xHqaPU6MBe5$*J4`$$MoY&XV_W>zS0M?_5Z7a!3?W6t z86$?8J2h*CXw6X51jVdTKKUA6WP^fzm+9J@Wa6*X3q6ThLIC=A5unc7jioO%eEbTs zZo@h8Wo7@-E|9&GC7VK$Yy%K&fKT5D{O_3C|M$}UKN`4`Vs8q5y|6?&zV7UDPc1F2 ziGHCXIKFAX|F=d)&jP^=HHHY@0V`Pmk9FFAP`V7{Sp;SZwb>dcAS5n~(72kp$Hgka zo-q{dsfu8%QbK^A!cY(Np5tl}@+ijY*oSp~`0xb8!otE{mr&0O?f#w4OhxDH7WZRO zFj52)oCv9@sZDqT*e~#SbLzqjfnWg0QJTW^K!Ur#syWQ0+EK^eA#QR06`Eg7@bMjl zTF}n2jX4=)$#?INv4^BN0QAh3AcMf40@~-~-004MU47@by9RfiCOxYQ1NE51Wpyn5 z@5AD6LG?RLk_dd$U`0hmCn%Nxg(pTv2nmYwz(BTdG_ow(-^YM}LlOAQY3@GD0|Ms1 z{XXW0Z&;s&lNDO2UD)#kNiMT^e5Z_r>MZK5FDiwV^!sn)+qWlueSIfLXf-vYmg>(u z6|3r>Zi#o&F>9m>v)WT0ClpmE@0FRc)^=t(JL}iKzUC0;Ba&YLTh*>AUG4>In#!&- zkqY{<*}(-N!4c#Zq0B|rYpj1=Sd^|H6iQKIqgsMS^nwjIS z-(iwkN}}HhZ540^4)61geuXnfcK59eLWl=Gvsf!KuVuiT5)_}ETw5v?`*!wx(a)pw zM0A>%ENm$E&*Y!?=%c@x_BpC!;Q)UHAzg;wx!|aPPKnRq)I{SENZNaXVc%IBX9k|4 z8mJDcCvX;q9(8be!^a~zCk@E&4izBiQkIf;mRF_^($-xW*B%n z`z^oH-Ai5l{m08985B{$ESRjGv=`Udo$~27ozQ)opCz1f)EcSw)IrA3`rZzLd~mVT zw`|$zgp2;$d^Q{&JJA5&Oaw&Vj;TE(43FwQQ|>#=@yOyrrM&IRWKcSpH#v6KfhP_M zl`RPI~ z%gOKi!S8U?uP-&vgg`fHg$>=>Tz3rme^uInRpa5Ta&he)`Z8B?Ht)T--(Tsae#tXw z;O#tHLLRK!yrd+R?|SxlA3mX^F`MY?_F@}J%Jr}&MC=w<@CAzmHLWCQdMFpDC$#aA zi5ffDF(xF8xyoLVhKaZR^>rtRe=hfj+hiR@?88Vee$vMeIB84leh7SoI#LwBSL557 zR=bgH_5Si0oU0vgRNeq*fTCPrVjPX;?KWmK~A*hqRULqV|p)_Y~ zL~XBpx^kg~onvLJ`CzNZlLkQ%I_pvh0F+2Lt<6xxcUpsXRZ5)yil zx7OXEfhG;6$4t#+1%&|?;hy@|Y{_3F-W!$=$iCRoyz`ZaH8!gQhEx_%kdy<7$ryl8 z{35%09ctn6kj*%8&cduf{N`a$9-qhLV|66*pFubUqI z6Nn4z8rQjw+s4`-8yt4R@W6oel^o;X9J54Z`}85OH;e@bX_s#)1&^`CrgUw-q{uBV z@7t6d&`9Ebrpo5)TRhB%u^)Fi6qE-E)r;nS5uh&$?o~&Lw@3vFS&!IQ6Vq5xmWc77 z&6(~vy>M5l9zI+mxO%~C!M|o2i(1(N#1JJ;@9o}+E?nUD;v6t}H>YS%U4Q88e8v8v z>W*DHVCZ=LR_&qjpTGn86%vlz)wFM z%Z1~sP5)E+0>ymA8>}|Uwol`DVL{G47f5G)ld^qYvY7f6LhW)pY1f6dmBgynygZ&v zT@2!6x9s`RhD9~eUO)FEQ>K5w()j-UB97#2j!$mBUxjC^MW~_)nEsuWv&s{)gYT}{ z&nZ*sCpiCZe`dyGPuOGv0Wn=cl5`*;J22qThyE-ppzkozvq|1r8CL<<1fqVavnR$r zH3UACCd-%o-Sd{@sSDXf#hJ7yeb>`sdz&6aOJ}{YT>KfB&F-uP@5eLMP#7 zZRGfMkF4C{Vp?d!-IPPaf>}A1#y*>ZG3c+HL;tkD_Snx6QTI10n1voNB7hZeP48ae zEJ@O;eC_kTJDsQ0)>--ezfJeOjUs`@kZn~5GD@t5l?Qa}*|W@uVMM0jU4RIb=zS3c zo@Qul9MyBLVpO{E@rtd9ZbrOh11+SuEfAHw25Qbbi$?$BSo}zE-B{k`mASwgxZaZFJJ)3vbO8Mj;7q6!gK^f%Em`9q!f;tU~@tj@^=*Z$T7s_*kdf?<<>=*uV ztdcc8Hh`o@5TVc$+v$kuuwb(kZB$E$Ivg47%uo@zOoo7TD4Lh!!ME6 z8~lHp$wx1e#zd}Im6YrmwMW^@xv2<(@4%n3Jh-Wf(1YPw00!6V=WHu+n1(O6bnVi} z$N_amx}H|Ibi-m<=OJN9ko`du6 zZK?58|IJaG!ONKX&@X8sdK9wJ2*Te4jtt8<3Zr+BW?30v6vg_0se$1~jLbS?z%nWL zsNd?4F-Q1eOFj-@}+Zqt&q-{Dte4o;DsKtb#YA;!0iKl ziM~}Lq-_TTWc`GDLwN>^#nqyhFwK$ny^6-rr>(*S3@oR#!!#PY<+kT8v?y5f1nrO z=1atz5RZYVvL2&>5Ry_5L{VtjEmou;bwUw&i%lU63oG6$>KR&{u*eQ!zQ1XR_+_4B zg^gi=T9FDEe?`k=t;1F5cF5dADRxCV3_P;hT8=~fYoiJC90tS@0up8HDu!84v!`(;XTL~ie}0L&Vj`~?2c`L@8Ej89 zE*llkzDLXZFwz{cA$+c)iNEPxr#_v15x~^6E8+McNDQts9I``V&)7{_t2U4% zxX^pcb##~b%iW={g7^fGY!odtQzK)NcTt%N+(@-PA zK3X-ge&=p|xHHIM&4+pNV>Q^V#c_l;`F;kq{d!Y&=w&sGxWpVd{0uTEeg-qD0fS~z5C__ZO z) z;SdhxRvNf*lSc8|6fB&Hf%7815RzWXa113Mc+%<3bpuXd^BiAsCf^@qf*$ydCzzl^ zxE6ck57&}#638ejef_vH(Qi>-Vafh8m`&G$s9-6s=N=XqnZI83D>KK91TGO;HVgK- z5#gYv(XRKj%il9B?{D?to}dpqZ1=Wwp7wKcMVhtyh*48QBf6OT^D{lvc6&v95GpLU zHvnSSS<1t9LNNsAMatuVL^2&1FU@Or7`x(^H5gQ3zJ@#s6NhbBMwEZ^8K^J5k(^Y~ zAX%wM{L~f#&aMFMQB_3@`=1$xDXXxOJ~~1MOlP8@z$zpT=8pj?RABJWQd4fdpYCLg zT6tAT_P|9>SI`Nxn^#>p(XgB!FX55dWm38F z%Cz058LkW1(`S^Lq*S)%hiAfJ9m&Odhr6YE6HKX{_;ApH2<>~N`hB1}IOdBct%@H< zz(R!AQcM((M6!Qih;Uu^B_QmA_UV(OS<3QB6z8-G#j_sYxwA4%vroW*(62;q&8Dag zCB@{`%idn;GZ1jnbX(Q9n$HRpSAn3PPf;;>Gh5E*DQTn#UYV4A8zbg(=G{_9B}_=1 zL3AdG3F^y%VPn;Ik}3)dqrpvKlGgY38uC);vW;CR9qpbjQUAdwC6Puv`blCbD{&L< z3z@5XE523Z&kY5%8ArD*JzuYG+U?HY^1Xz=ss_GqKHy)&mX*2AW4SCFdfN1tX$#iU z6L3HwPmnOUASJ~FaA*1~YQf>)V?NL@nUGgA7^t+?SO~L+u78deAY_=BkK)PzC6{^TP^b35^ZFTr2n|oa3tO&o$m&Shy0WBJB6Mtry5%oEb z#<7@A{kcT+f{&*GW=QT+DQbsXVl|1h21r)l5oT6X3z=Oa?GXUjzG|C$;ZO0Alg;6y z)Mdi54bJNV2q`OTo1Q$zjZT_4Ft)swwli-Oc1dOxligGq#spHfP_aEgf}C2raa4Zl zhv@zd%aC{BxEl1)uX}y1Wm~rbPnW#Je3$zLs-3*gzT>3Du=m+Cj@kjn0PB!@dE#V$psY6NJ?stf$u<&dpV`j#8ZhA#|9pF?u64QItMGa40 z+i7|7?lViLvVPQTTS_oO$#8_1#MlrMhU8Ub(Uuzy77Ch$M7^21ZW=HdPf>KIKU*zb zSnKeukC}FYHO^Szde-7Mk3jZ*cR{AwImc-+(9uy1N;{)pF&6p$y<_P<&@duJyFFrR zOsrdY)mPaW=4yQgy)X{{-jdnR8HjL*tv(9-ekMv!;EG6?iQrl%74_oqvJ-Co4{8`g zxs_yF94?yjYn+oEJ7`#R?_c=ng$X~oDk$+ES5#KR0i1HC;a_L@yvoBx2XB)l*qds4lBqurOMFXd4gJIjEXcZe$~(L9Rh@nv=Cr=6q(5u+T>l1)0@dgH0I&+0HfxqWk9}1B)sELafkBjjB?7G5{%A$4^ zCw@M@19rq|-KUp9p16Y6J?O43J@Ed_aQAL6UNSB}*F-}3%*h_ub_-eF0nPXG^xG4s zk(>~oSGrMca`CpEJ^R)hAyz1o$(hHT;vF%IM{$&{TwPsF7zA=Sm zx6by<7DB}SI;+Vj>ME1@@{InU!KBQuSB^Rop@%f0u9(bLCfktE=PW0FBI34vKKsWZ zJ{)nd)khacC#6zD6KY}u^q;;oSGc^PRyy+|hv(2Hmj%^>Ri`Wj5& z+tiUymXuqvP}^+j&H7fV*+n;G>C$hkM;A{ywl+D>4#rdSs)e5BvdpDsb>KR;dU5dp z+*|NLP>WMY3#(~(4aHdB%OBsKbd6KsC{*jKUh3%Q{tf1-g5DI|JBBiX7jwp$DQ&Hw z05;-`Y=?ywNucYHi;HXVYV>*IyWgxjMnwP&RW$v!qn+LSOe%{|0z@mFM~Tf1W|h|8e^> z_>0TR%XKf-tTR626uao+vYTYF=E@(mSb9dYuYWK8I}>L_^`iB2&&CYqSlh=uIWFB# zG_SWEDvdvG(g@|o_G`nxW4oC)%ZE?5I@n$}jC)cIlS_r==p^W!IjJ2o6~-ste3f`S zUJ0mfZvCf4jE!-fu@_daD}Sl4;n5d%Y^{8M;Jha5TDq2o(iwfLPiyPrGwd3*`&!X8 zf7IoTr~c6_LAzvYxIBC)WWwvsc|Z6E$@3WW{Eb`JuhJb!e3L)HKh7v>XQHw#7o9bc z`gXm==48iLQ&IqRJwXp=to&XV&Me43kr=kuI=JK48QemwMML^`?~2CRx>&O;)%CO3 z;#Y=?N_b}j6gpN`#E{*7#C8vg;^AmU>jPO+cy0#8y2Z$3!eb(M^XGhqCSx@;0#1C` zy)rJe_Y*?K*)V-q?#n1{Ih)61v%8R3-_vs%{< zXij%vTIO2~B0~Jwup(9$JN&)j$fLbz_j)dIjKTJDNPd_^Vi9;?-~o9f?~W|LA$?1> z$E0(ue*(r||MNSP(Op&?rddYi^vHa{r%w_+FVp8n6kWub@6B(r&u<2-;@%Cr=smTO zK6g7#uLBc8)6p-4wW>eNVZmrW+a%2B-aPNH``G*y$w|qEM{P=7{`=!c&4kUPHRX;X zTc__7DRUr62J&$#b5!RVhcbgAMkei;>qo>Nn3=T=4W*6~`}+F0_Z*k$?rFSWL50$+ z^}i(=dz?}kx}_O`D{LqJ3Fta|u~)D0NZ0$itrus#Yz~ioL(Syj7X))3*0RXS!9l}^ z$>9Qxaf$KAs;YbET0#4~|H8M-fYPSE&?a2H0uX3M;p_B+Y+1YaLHin`spd-J35g+WSUs}bX zq-tF5gy+57Bzs?kq$?QqwLVk3lisbqp4heU^v zj47>M>_>95{`gIM%C@hrzIS*OB+tu0E$ja`%Wl4BPcA%V&qoZQ{%T26=)F-DijuhW zL3z}Fj^_*>N=r8S_m0nSqsl!Yrp_02lq5b$P0hdlCv=#=e{O)Z)O1zLm8~QG3$rb% AO8@`> diff --git a/nano/templates/smes.tmpl b/nano/templates/smes.tmpl index 04b93b4148..8b72cefedd 100644 --- a/nano/templates/smes.tmpl +++ b/nano/templates/smes.tmpl @@ -18,10 +18,12 @@
{{:helper.link('Auto', 'refresh', {'cmode' : 1}, data.chargeMode ? 'selected' : null)}}{{:helper.link('Off', 'close', {'cmode' : 1}, data.chargeMode ? null : 'selected')}}   - {{if data.charging}} + {{if data.charging == 2}} [Charging] + {{else data.charging == 1}} + [Partially Charging] {{else}} - [Not Charging] + [Not Charging] {{/if}}
@@ -36,7 +38,7 @@ {{:helper.link('MIN', null, {'input' : 'min'}, (data.chargeLevel > 0) ? null : 'disabled')}} {{:helper.link('SET', null, {'input' : 'set'}, null)}} {{:helper.link('MAX', null, {'input' : 'max'}, (data.chargeLevel < data.chargeMax) ? null : 'disabled')}} -
 {{:data.chargeLevel}} W 
+
 {{:data.chargeLevel}} W 
@@ -61,7 +63,7 @@ {{:helper.link('MIN', null, {'output' : 'min'}, (data.outputLevel > 0) ? null : 'disabled')}} {{:helper.link('SET', null, {'output' : 'set'}, null)}} {{:helper.link('MAX', null, {'output' : 'max'}, (data.outputLevel < data.outputMax) ? null : 'disabled')}} -
 {{:data.outputLevel}} W 
+
 {{:data.outputLevel}} W