From a8406f018be65a71f55696346b9c6e2883dea1ee Mon Sep 17 00:00:00 2001
From: Kearel Crew Management: Hire a new Crewmember (-10FU,-10FO) Cant afford a new Crewmember Sell crew for Fuel and Food (+7FU,+7FO) Cant afford to sell a Crewmember Spare Parts: Cant afford to buy Engine Parts"
+
+ //Hull plates
+ if(fuel > 5)
+ eventdat += " Cant afford to buy Hull Plates"
+
+ //Electronics
+ if(fuel > 5)
+ eventdat += " Cant afford to buy Spare Electronics"
+
+ //Trade
+ if(fuel > 5)
+ eventdat += " Trade Fuel for Food (-5FU,+5FO) Cant afford to Trade Fuel for Food Trade Food for Fuel (+5FU,-5FO) Cant afford to Trade Food for FuelGame Over
Forever."
+ if(settlers.len == 0)
+ dat += "
Your entire crew died, your ship joins the fleet of ghost-ships littering the galaxy."
+ else
+ if(food <= 0)
+ dat += "
You ran out of food and starved."
+ if(emagged)
+ user.nutrition = 0 //yeah you pretty hongry
+ user << "Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor."
+ if(fuel <= 0)
+ dat += "
You ran out of fuel, and drift, slowly, into a star."
+ if(emagged)
+ var/mob/living/M = user
+ M.adjust_fire_stacks(5)
+ M.IgniteMob() //flew into a star, so you're on fire
+ user << "You feel an immense wave of heat emanate from \the [src]. Your skin bursts into flames."
+ dat += "
"
+
+ if(emagged)
+ user << "You're never going to make it to Orion..."
+ user.death()
+ emagged = 0 //removes the emagged status after you lose
+ gameStatus = ORION_STATUS_START
+ name = "The Orion Trail"
+ desc = "Learn how our ancestors got to Orion, and have fun in the process!"
+
+ else if(event)
+ dat = eventdat
+ else if(gameStatus == ORION_STATUS_NORMAL)
+ var/title = stops[turns]
+ var/subtext = stopblurbs[turns]
+ dat = "[title]
Crew:
"
+ dat += english_list(settlers)
+ dat += "
Food: [food] | Fuel: [fuel]"
+ dat += "
Engine Parts: [engine] | Hull Panels: [hull] | Electronics: [electronics]"
+ if(turns == 7)
+ dat += ""
+ else
+ dat += ""
+ dat += ""
+ dat += ""
+ else
+ dat = "The Orion Trail
Experience the journey of your ancestors!
"
+ dat += "[event]
They have stolen [sfood] Food and [sfuel] Fuel."
+ else if(prob(10))
+ var/deadname = remove_crewmember()
+ eventdat += "
[deadname] tried to fight back but was killed."
+ else
+ eventdat += "
Fortunately you fended them off without any trouble."
+ eventdat += ""
+ eventdat += ""
+ canContinueEvent = 1
+
+ if(ORION_TRAIL_FLUX)
+ eventdat += "This region of space is highly turbulent.
If we go slowly we may avoid more damage, but if we keep our speed we won't waste supplies."
+ eventdat += "
What will you do?"
+ eventdat += ""
+ eventdat += ""
+
+ if(ORION_TRAIL_ILLNESS)
+ eventdat += "A deadly illness has been contracted!"
+ var/deadname = remove_crewmember()
+ eventdat += "
[deadname] was killed by the disease."
+ eventdat += ""
+ eventdat += ""
+ canContinueEvent = 1
+
+ if(ORION_TRAIL_BREAKDOWN)
+ eventdat += "Oh no! The engine has broken down!"
+ eventdat += "
You can repair it with an engine part, or you can make repairs for 3 days."
+ if(engine >= 1)
+ eventdat += ""
+ else
+ eventdat += ""
+ eventdat += ""
+
+ if(ORION_TRAIL_MALFUNCTION)
+ eventdat += "The ship's systems are malfunctioning!"
+ eventdat += "
You can replace the broken electronics with spares, or you can spend 3 days troubleshooting the AI."
+ if(electronics >= 1)
+ eventdat += ""
+ else
+ eventdat += ""
+ eventdat += ""
+
+ if(ORION_TRAIL_COLLISION)
+ eventdat += "Something hit us! Looks like there's some hull damage."
+ if(prob(25))
+ var/sfood = rand(5,15)
+ var/sfuel = rand(5,15)
+ food -= sfood
+ fuel -= sfuel
+ eventdat += "
[sfood] Food and [sfuel] Fuel was vented out into space."
+ if(prob(10))
+ var/deadname = remove_crewmember()
+ eventdat += "
[deadname] was killed by rapid depressurization."
+ eventdat += "
You can repair the damage with hull plates, or you can spend the next 3 days welding scrap together."
+ if(hull >= 1)
+ eventdat += ""
+ else
+ eventdat += ""
+ eventdat += ""
+
+ if(ORION_TRAIL_BLACKHOLE)
+ eventdat += "You were swept away into the black hole."
+ eventdat += ""
+ eventdat += ""
+ settlers = list()
+
+ if(ORION_TRAIL_MUTINY)
+ eventdat += "You've been hearing rumors of dissenting opinions amoungst your men."
+ if(settlers.len <= 2)
+ eventdat += "
Your crew's so tiny you don't think anybody would risk an uprising."
+ eventdat += ""
+ eventdat += ""
+ if(prob(10))
+ traitors_aboard = min(++traitors_aboard,2)
+ else
+ if(traitors_aboard) //less likely to stack traitors
+ if(prob(20))
+ traitors_aboard = min(++traitors_aboard,2)
+ else if(prob(70))
+ traitors_aboard = min(++traitors_aboard,2)
+
+ eventdat += ""
+ eventdat += ""
+ eventdat += ""
+ canContinueEvent = 1
+
+ if(ORION_TRAIL_MUTINY_ATTACK)
+ if(traitors_aboard <= 0) //shouldn't trigger, but hey.
+ eventdat += "Haha, fooled you, there isn't a mutiny on board!"
+ eventdat += "
(You should report this to a coder :S)"
+ else
+ var/trait1 = remove_crewmember()
+ var/trait2 = ""
+ if(traitors_aboard >= 2)
+ trait2 = remove_crewmember()
+
+ eventdat += "Oh no, some of your crew are attempting to mutiny!!"
+ if(trait2)
+ eventdat += "
[trait1] and [trait2]'s have armed themselves with weapons!"
+ else
+ eventdat += "
[trait1]'s armed with a weapon!"
+
+ var/chance2attack = alive*20
+ if(prob(chance2attack))
+ var/chancetokill = 30*traitors_aboard-(5*alive) //eg: 30*2-(10) = 50%, 2 traitorss, 2 crew is 50% chance
+ if(prob(chancetokill))
+ var/deadguy = remove_crewmember()
+ eventdat += "
The traitor[trait2 ? "s":""] run[trait2 ? "":"s"] up to [deadguy] and murder them!"
+ else
+ eventdat += "
You valiantly fight off the traitor[trait2 ? "s":""]!"
+ eventdat += "
You cut the traitor[trait2 ? "s":""] up into meat... Eww"
+ if(trait2)
+ food += 30
+ traitors_aboard = max(0,traitors_aboard-2)
+ else
+ food += 15
+ traitors_aboard = max(0,--traitors_aboard)
+ else
+ eventdat += "
The traitor[trait2 ? "s":""] run[trait2 ? "":"s"] away, What wimps!"
+ if(trait2)
+ traitors_aboard = max(0,traitors_aboard-2)
+ else
+ traitors_aboard = max(0,--traitors_aboard)
+
+ eventdat += ""
+ eventdat += ""
+ canContinueEvent = 1
+
+
+ if(ORION_TRAIL_SPACEPORT)
+ gameStatus = ORION_STATUS_MARKET
+ if(spaceport_raided)
+ eventdat += "The Spaceport is on high alert! they wont let you dock since you tried to attack them!"
+ if(last_spaceport_action)
+ eventdat += "
Last Spaceport Action: [last_spaceport_action]"
+ eventdat += ""
+ eventdat += ""
+ else
+ eventdat += "You pull the ship up to dock at a nearby Spaceport, lucky find!"
+ eventdat += "
This Spaceport is home to travellers who failed to reach Orion, but managed to find a different home..."
+ eventdat += "
Trading terms: FU = Fuel, FO = Food"
+ if(last_spaceport_action)
+ eventdat += "
Last Spaceport Action: [last_spaceport_action]"
+ eventdat += "Crew:
"
+ eventdat += english_list(settlers)
+ eventdat += "
Food: [food] | Fuel: [fuel]"
+ eventdat += "
Engine Parts: [engine] | Hull Panels: [hull] | Electronics: [electronics]"
+
+
+ //If your crew is pathetic you can get freebies (provided you haven't already gotten one from this port)
+ if(!spaceport_freebie && (fuel < 20 || food < 20))
+ spaceport_freebie++
+ var/FU = 10
+ var/FO = 10
+ var/freecrew = 0
+ if(prob(30))
+ FU = 25
+ FO = 25
+
+ if(prob(10))
+ add_crewmember()
+ freecrew++
+
+ eventdat += "
The traders of the spaceport take pitty on you, and give you some food and fuel (+[FU]FU,+[FO]FO)"
+ if(freecrew)
+ eventdat += "
You also gain a new crewmember!"
+
+ fuel += FU
+ food += FO
+
+ //CREW INTERACTIONS
+ eventdat += "
| "
+ else if(i%2 == 0)
+ dat += "'#66CCFF'>"
+ else
+ dat += "'#252536'>"
+ dat += " | "
+
+ dat += "
_cD5EouT(<{E {si@bad{C(GZOz97)cb
zdl91nQz3 ==M+8
zd!CB3s6_92=xqmnQW=!BvmB(Gtu(nNPo-2a>{cPYb3dbn7IOA&t7UkU View: Crew Management: Hire a new Crewmember (-10FU,-10FO) Cant afford a new Crewmember Sell crew for Fuel and Food (+7FU,+7FO) Cant afford to sell a Crewmember Spare Parts: Cant afford to buy Engine Parts Cant afford to buy Hull Plates2FS_Mn7XcJ<#7}uA(wHBcR8-D
zW|CaeeRLufcN~Rg10MoE)IjaeMfW2ve^GY>bcMYy#@pW=VQ{?J#88wQGKl8Doa?_a
z7e8U0ZzD_Ut!b#XOMtQ!|N4qS;%Io{d(fp^?((u8RAtpt2&IA=cTR&CLKyGx^gm;0
zADfLNbskI?Xg8aoA
You ran out of food and starved."
if(emagged)
user.nutrition = 0 //yeah you pretty hongry
- user << "Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor."
+ user << "Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor."
if(fuel <= 0)
dat += "
You ran out of fuel, and drift, slowly, into a star."
if(emagged)
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index f56488e3e54..439266936e1 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -968,7 +968,7 @@
//FOR ACTORS GUILD - mainly props that cannot be spawned otherwise
/obj/machinery/vending/props
- name = "Prop Dispenser"
+ name = "prop dispenser"
desc = "All the props an actor could need. Probably."
icon_state = "Theater"
products = list(/obj/structure/flora/pottedplant = 2, /obj/item/device/flashlight/lamp = 2, /obj/item/device/flashlight/lamp/green = 2, /obj/item/weapon/reagent_containers/food/drinks/jar = 1,
@@ -976,7 +976,7 @@
//FOR ACTORS GUILD - Containers
/obj/machinery/vending/containers
- name = "Container Dispenser"
+ name = "container dispenser"
desc = "A container that dispenses containers."
icon_state = "robotics"
products = list(/obj/structure/closet/crate/freezer = 2, /obj/structure/closet = 3, /obj/structure/closet/crate = 3)
diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm
index 7282bf3e11c..2bab5e7d5d0 100644
--- a/code/game/objects/items/devices/radio/encryptionkey.dm
+++ b/code/game/objects/items/devices/radio/encryptionkey.dm
@@ -126,5 +126,5 @@
channels = list("Response Team" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1, "Service" = 1)
/obj/item/device/encryptionkey/entertainment
- name = "\improper entertainment radio key"
+ name = "entertainment radio key"
channels = list("Entertainment" = 1)
From 474aea6add6550b8eb26cbb2b1d5db080f00ef2f Mon Sep 17 00:00:00 2001
From: Kearel
"
if(emagged)
- user << "You're never going to make it to Orion..."
+ user << "You're never going to make it to Orion..."
user.death()
emagged = 0 //removes the emagged status after you lose
gameStatus = ORION_STATUS_START
diff --git a/code/modules/acting/acting_items.dm b/code/modules/acting/acting_items.dm
index 1863497ed35..fb229de764e 100644
--- a/code/modules/acting/acting_items.dm
+++ b/code/modules/acting/acting_items.dm
@@ -1,5 +1,5 @@
/obj/machinery/acting/wardrobe
- name = "Wardrobe Dispenser"
+ name = "wardrobe dispenser"
desc = "A machine that dispenses holo-clothing for those in need."
icon = 'icons/obj/vending.dmi'
icon_state = "cart"
From 4f241fd22c62f311e57c8d96ce09d664125ca2ed Mon Sep 17 00:00:00 2001
From: Kearel Game Over
Forever."
- if(settlers.len == 0)
- dat += "
Your entire crew died, your ship joins the fleet of ghost-ships littering the galaxy."
- else
- if(food <= 0)
- dat += "
You ran out of food and starved."
- if(emagged)
- user.nutrition = 0 //yeah you pretty hongry
- user << "Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor."
- if(fuel <= 0)
- dat += "
You ran out of fuel, and drift, slowly, into a star."
- if(emagged)
- var/mob/living/M = user
- M.adjust_fire_stacks(5)
- M.IgniteMob() //flew into a star, so you're on fire
- user << "You feel an immense wave of heat emanate from \the [src]. Your skin bursts into flames."
- dat += "
"
-
- if(emagged)
- user << "You're never going to make it to Orion..."
- user.death()
- emagged = 0 //removes the emagged status after you lose
- gameStatus = ORION_STATUS_START
- name = "The Orion Trail"
- desc = "Learn how our ancestors got to Orion, and have fun in the process!"
-
- else if(event)
- dat = eventdat
- else if(gameStatus == ORION_STATUS_NORMAL)
- var/title = stops[turns]
- var/subtext = stopblurbs[turns]
- dat = "[title]
Crew:
"
- dat += english_list(settlers)
- dat += "
Food: [food] | Fuel: [fuel]"
- dat += "
Engine Parts: [engine] | Hull Panels: [hull] | Electronics: [electronics]"
- if(turns == 7)
- dat += ""
- else
- dat += ""
- dat += ""
- dat += ""
- else
- dat = "The Orion Trail
Experience the journey of your ancestors!
"
- dat += "Orion Trail[emagged ? ": Realism Edition" : ""]
Learn how our ancestors got to Orion, and have fun in the process!
"
+ user << browse(dat, "window=arcade")
return
- if(settlers.len == 0 || alive == 0)
- src.visible_message("\The [src] states, 'EVERYONE HAS DIED, GAMEOVER.'", "You hear something state, 'EVERYONE HAS DIED, GAMEOVER.'")
- if(emagged)
- src.visible_message("\The [src] produces a loud, gunlike sound.")
- L.adjustBruteLoss(30)
- emagged = 0
- gameStatus = ORION_STATUS_GAMEOVER
+ else
+ event_title = event
+ event_actions = "Continue your journey
"
+ switch(event)
+ if(ORION_TRAIL_GAMEOVER)
+ event_info = ""
+ event_actions = "Start New Game
"
+ if(ORION_TRAIL_SPACEPORT)
+ event_title += ": [stops[port]]"
+ event_desc = "[stopblurbs[port]]"
+ event_info = ""
+ if(port == 9)
+ event_actions = "Return to the title screen!
"
+ else
+ event_actions = "Shove off
"
+ event_actions += "Raid Spaceport"
+ if(ORION_TRAIL_SPACEPORT_RAIDED)
+ event_title += ": [stops[port]]"
+ event_actions = "Shove off"
+ if(ORION_TRAIL_RAIDERS)
+ event_desc = "You arm yourselves as you prepare to fight off the vox menace!"
+ if(ORION_TRAIL_DERELICT)
+ event_desc = "You come across an unpowered ship drifting slowly in the vastness of space. Sensors indicate there are no lifeforms aboard."
+ if(ORION_TRAIL_ILLNESS)
+ event_desc = "A disease has spread amoungst your crew!"
+ if(ORION_TRAIL_FLUX)
+ event_desc = "You've entered a turbulent region. Slowing down would be better for your ship but would cost more fuel."
+ event_actions = "Continue as normal
"
+ event_actions += "Take it slow
"
+ if(ORION_TRAIL_MALFUNCTION)
+ event_info = ""
+ event_desc = "The ship's computers are malfunctioning! You can choose to fix it with a part or risk something going awry."
+ event_actions = "Continue as normal
"
+ if(supplies["3"] != 0)
+ event_actions += "Fix using a part.
"
+ if(ORION_TRAIL_COLLISION)
+ event_info = ""
+ event_desc = "Something has hit your ship and breached the hull! You can choose to fix it with a part or risk something going awry."
+ event_actions = "Continue as normal
"
+ if(supplies["2"] != 0)
+ event_actions += "Fix using a part.
"
+ if(ORION_TRAIL_BREAKDOWN)
+ event_info = ""
+ event_desc = "The ship's engines broke down! You can choose to fix it with a part or risk something going awry."
+ event_actions = "Continue as normal
"
+ if(supplies["1"] != 0)
+ event_actions += "Fix using a part.
"
+ if(ORION_TRAIL_STUCK)
+ event_desc = "You've ran out of fuel. Your only hope to survive is to get refueled by a passing ship, if there are any."
+ if(supplies["5"] == 0)
+ event_actions = "Wait"
+ if(ORION_TRAIL_CARP)
+ event_desc = "You've chanced upon a large carp migration! Known both for their delicious meat as well as their bite, you and your crew arm yourselves for a small hunting trip."
+ if(ORION_TRAIL_MUTINY)
+ event_desc = "You've been hearing rumors of dissenting opinions and missing items from the armory..."
+ if(ORION_TRAIL_MUTINY_ATTACK)
+ event_desc = "Oh no, some of your crew are attempting to mutiny!!"
+
+ dat = "[event_title]
[event_desc]
Distance to next port: [distance]
[event_info]
[event_actions]"
+ if(ORION_VIEW_SUPPLIES)
+ dat = "Supplies
View your supplies or buy more when at a spaceport.
"
+ dat += "
"
+ if(supplies["[i]"] >= amm && event == ORION_TRAIL_SPACEPORT)
+ dat += "sell [amm] for [supply_cost["[i]"]]T
"
+ if(ORION_VIEW_CREW)
+ dat = "Crew
View the status of your crew.
"
+
+ dat += "
"
+ dat += "[view==ORION_VIEW_MAIN ? "" : ""]Main[view==ORION_VIEW_MAIN ? "" : ""]
"
+ dat += "[view==ORION_VIEW_SUPPLIES ? "" : ""]Supplies[view==ORION_VIEW_SUPPLIES ? "" : ""]
"
+ dat += "[view==ORION_VIEW_CREW ? "" : ""]Crew[view==ORION_VIEW_CREW ? "" : ""]
"
+ next_event = ORION_TRAIL_STUCK
- else if(href_list["trade"])
- if(gameStatus == ORION_STATUS_MARKET)
- if(!spaceport_raided)
- switch(text2num(href_list["trade"]))
- if(1) //Fuel
- if(fuel > 5)
- fuel -= 5
- food += 5
- last_spaceport_action = "Traded Fuel for Food"
- event()
- if(2) //Food
- if(food > 5)
- fuel += 5
- food -= 5
- last_spaceport_action = "Traded Food for Fuel"
- event()
+ if(supplies["4"] <= 0)
+ next_event = ORION_TRAIL_GAMEOVER
+ event_desc = "You and your crew starved to death, never to reach Orion."
+ supplies["4"] = 0
- src.add_fingerprint(usr)
- src.updateUsrDialog()
- busy = 0
- return
+ if(distance == 0 && next_event == null) //POOORT!
+ port++
+ event = ORION_TRAIL_SPACEPORT
+ distance = stop_distance[port]
+ //gotta set supply costs. The further out the more expensive it'll generally be
+ supply_cost = list("1" = rand(500+100*port,1200+100*port), "2" = rand(700+100*port,1000+100*port), "3" = rand(900+50*port,1500+75*port), "4" = rand(10+50*port,125+50*port), "5" = rand(75+25*port,200+100*port))
+ else //Event? Event.
+ generate_event(next_event)
+ else
+ view = ORION_VIEW_MAIN
+ if(href_list["supplies"])
+ view = ORION_VIEW_SUPPLIES
-/obj/machinery/computer/arcade/orion_trail/proc/event()
- eventdat = "[event]
"
+ change_resource(null)
+ change_resource(null)
+ else
+ event_desc = "The local police mobilized too quickly, sirens blare as you barely make it away with your ship intact."
+ change_resource(null,-1)
+ change_resource(null,-1)
if(prob(50))
- var/sfood = rand(1,10)
- var/sfuel = rand(1,10)
- food -= sfood
- fuel -= sfuel
- eventdat += "
They have stolen [sfood] Food and [sfuel] Fuel."
- else if(prob(10))
- var/deadname = remove_crewmember()
- eventdat += "
[deadname] tried to fight back but was killed."
+ remove_settler(null, "died while you were escaping!")
+ if(prob(10))
+ remove_settler(null, "died while you were escaping!")
+ event = ORION_TRAIL_SPACEPORT_RAIDED
+ src.updateUsrDialog()
+
+/obj/machinery/computer/arcade/orion_trail/proc/change_resource(var/specific = null, var/add = 1)
+ if(!specific)
+ specific = rand(1,6)
+ var/cost = (specific < 4 ? rand(1,5) : rand(5,100)) * add
+ cost = round(cost)
+ if(cost < 0)
+ cost = max(cost,supplies["[specific]"] * -1)
+ else
+ cost = max(cost,1)
+ supplies["[specific]"] += cost
+ event_info += "You've [add > 0 ? "gained" : "lost"] [abs(cost)] [supply_name["[specific]"]]
"
+
+/obj/machinery/computer/arcade/orion_trail/proc/remove_settler(var/specific = null, var/desc = null)
+ if(!settlers.len)
+ return
+ if(!specific)
+ specific = rand(1,settlers.len)
+
+ event_info += "The crewmember, [settlers[specific]] [desc == null ? "has died!":"[desc]"]
"
+ settlers -= settlers[specific]
+ if(num_traitors > 0 && prob(100/max(1,settlers.len-1)))
+ num_traitors--
+
+/obj/machinery/computer/arcade/orion_trail/proc/generate_event(var/specific = null)
+ if(!specific)
+ if(prob(20*num_traitors))
+ specific = ORION_TRAIL_MUTINY_ATTACK
+ else
+ specific = pickweight(events)
+
+ switch(specific)
+ if(ORION_TRAIL_RAIDERS)
+ if(prob(17 * settlers.len))
+ event_info = "You managed to fight them off!
"
+ if(prob(5))
+ remove_settler(null,"died in the firefight!")
+ change_resource(rand(4,5))
+ change_resource(rand(1,3))
+ if(prob(50))
+ change_resource(6,1.1)
else
- eventdat += "
Fortunately you fended them off without any trouble."
- eventdat += ""
- eventdat += ""
- canContinueEvent = 1
-
- if(ORION_TRAIL_FLUX)
- eventdat += "This region of space is highly turbulent.
If we go slowly we may avoid more damage, but if we keep our speed we won't waste supplies."
- eventdat += "
What will you do?"
- eventdat += ""
- eventdat += ""
-
- if(ORION_TRAIL_ILLNESS)
- eventdat += "A deadly illness has been contracted!"
- var/deadname = remove_crewmember()
- eventdat += "
[deadname] was killed by the disease."
- eventdat += ""
- eventdat += ""
- canContinueEvent = 1
-
- if(ORION_TRAIL_BREAKDOWN)
- eventdat += "Oh no! The engine has broken down!"
- eventdat += "
You can repair it with an engine part, or you can make repairs for 3 days."
- if(engine >= 1)
- eventdat += ""
+ event_info = "You couldn't fight them off!
"
+ if(prob(10*settlers.len))
+ remove_settler(null, "was kidnapped by the Vox!")
+ change_resource(null,-1)
+ change_resource(null,-0.5)
+ if(ORION_TRAIL_DERELICT)
+ if(prob(60))
+ event_info = "You find resources onboard!"
+ change_resource(rand(1,3))
+ change_resource(rand(4,5))
else
- eventdat += ""
- eventdat += ""
-
- if(ORION_TRAIL_MALFUNCTION)
- eventdat += "The ship's systems are malfunctioning!"
- eventdat += "
You can replace the broken electronics with spares, or you can spend 3 days troubleshooting the AI."
- if(electronics >= 1)
- eventdat += ""
- else
- eventdat += ""
- eventdat += ""
-
+ event_info = "You don't find anything onboard..."
if(ORION_TRAIL_COLLISION)
- eventdat += "Something hit us! Looks like there's some hull damage."
- if(prob(25))
- var/sfood = rand(5,15)
- var/sfuel = rand(5,15)
- food -= sfood
- fuel -= sfuel
- eventdat += "
[sfood] Food and [sfuel] Fuel was vented out into space."
+ event_info = ""
+ event_desc = "You've collided with a passing meteor, breaching your hull!"
if(prob(10))
- var/deadname = remove_crewmember()
- eventdat += "
[deadname] was killed by rapid depressurization."
- eventdat += "
You can repair the damage with hull plates, or you can spend the next 3 days welding scrap together."
- if(hull >= 1)
- eventdat += ""
+ event_info = "Your cargo hold was breached!
"
+ change_resource(rand(4,5),-1)
+ if(prob(5*settlers.len))
+ remove_settler(null,"was sucked out into the void!")
+ if(ORION_TRAIL_ILLNESS)
+ if(prob(15))
+ event_info = ""
+ var/num = 1
+ if(prob(15))
+ num++
+ for(var/i=0;i
Your crew's so tiny you don't think anybody would risk an uprising."
- eventdat += ""
- eventdat += ""
- if(prob(10))
- traitors_aboard = min(++traitors_aboard,2)
- else
- if(traitors_aboard) //less likely to stack traitors
- if(prob(20))
- traitors_aboard = min(++traitors_aboard,2)
- else if(prob(70))
- traitors_aboard = min(++traitors_aboard,2)
-
- eventdat += ""
- eventdat += ""
- eventdat += ""
- canContinueEvent = 1
-
+ event_info = ""
+ if(num_traitors < settlers.len - 1 && prob(55)) //gotta have at LEAST one non-traitor.
+ num_traitors++
if(ORION_TRAIL_MUTINY_ATTACK)
- if(traitors_aboard <= 0) //shouldn't trigger, but hey.
- eventdat += "Haha, fooled you, there isn't a mutiny on board!"
- eventdat += "
(You should report this to a coder :S)"
- else
- var/trait1 = remove_crewmember()
- var/trait2 = ""
- if(traitors_aboard >= 2)
- trait2 = remove_crewmember()
-
- eventdat += "Oh no, some of your crew are attempting to mutiny!!"
- if(trait2)
- eventdat += "
[trait1] and [trait2]'s have armed themselves with weapons!"
- else
- eventdat += "
[trait1]'s armed with a weapon!"
-
- var/chance2attack = alive*20
- if(prob(chance2attack))
- var/chancetokill = 30*traitors_aboard-(5*alive) //eg: 30*2-(10) = 50%, 2 traitorss, 2 crew is 50% chance
- if(prob(chancetokill))
- var/deadguy = remove_crewmember()
- eventdat += "
The traitor[trait2 ? "s":""] run[trait2 ? "":"s"] up to [deadguy] and murder them!"
+ //check to see if they just jump ship
+ if(prob(30+(settlers.len-num_traitors)*20))
+ event_info = "The traitors decided to jump ship along with some of your supplies!
"
+ change_resource(4,-1 - (0.2 * num_traitors))
+ change_resource(5,-1 - (0.1 * num_traitors))
+ for(var/i=0;i
You cut the traitor[trait2 ? "s":""] up into meat... Eww"
- if(trait2)
- food += 30
- traitors_aboard = max(0,traitors_aboard-2)
- else
- food += 15
- traitors_aboard = max(0,--traitors_aboard)
+ var/n = rand(1,nontraitors.len)
+ remove_settler(n,"was slain in defense of the ship!")
+ nontraitors -= nontraitors[n]
+ settlers = nontraitors
+ num_traitors = 0
+ if(ORION_TRAIL_DISASTER)
+ event_desc = "The [event] proved too difficult for you and your crew!"
+ change_resource(4,-1)
+ change_resource(pick(1,3),-1)
+ change_resource(5,-1)
+ if(ORION_TRAIL_STUCK)
+ event_info = "You have [supplies["4"]] food left.
"
+ if(prob(10))
+ event_info += "A passing ship has kindly donated fuel to you and wishes you luck on your journey.
"
+ change_resource(5,0.3)
+ if(emagged)
+ emag_effect(specific)
+ event = specific
+
+/obj/machinery/computer/arcade/orion_trail/proc/emag_effect(var/event)
+ switch(event)
+ if(ORION_TRAIL_RAIDERS)
+ if(istype(usr,/mob/living/carbon))
+ var/mob/living/carbon/M = usr
+ if(prob(50))
+ usr << "You hear battle shouts. The tramping of boots on cold metal. Screams of agony. The rush of venting air. Are you going insane?"
+ M.hallucination += 50
else
- eventdat += "
The traitor[trait2 ? "s":""] run[trait2 ? "":"s"] away, What wimps!"
- if(trait2)
- traitors_aboard = max(0,traitors_aboard-2)
- else
- traitors_aboard = max(0,--traitors_aboard)
-
- eventdat += ""
- eventdat += ""
- canContinueEvent = 1
-
-
- if(ORION_TRAIL_SPACEPORT)
- gameStatus = ORION_STATUS_MARKET
- if(spaceport_raided)
- eventdat += "The Spaceport is on high alert! they wont let you dock since you tried to attack them!"
- if(last_spaceport_action)
- eventdat += "
Last Spaceport Action: [last_spaceport_action]"
- eventdat += ""
- eventdat += ""
+ usr << "Something strikes you from behind! It hurts like hell and feel like a blunt weapon, but nothing is there..."
+ M.take_organ_damage(10)
else
- eventdat += "You pull the ship up to dock at a nearby Spaceport, lucky find!"
- eventdat += "
This Spaceport is home to travellers who failed to reach Orion, but managed to find a different home..."
- eventdat += "
Trading terms: FU = Fuel, FO = Food"
- if(last_spaceport_action)
- eventdat += "
Last Spaceport Action: [last_spaceport_action]"
- eventdat += "Crew:
"
- eventdat += english_list(settlers)
- eventdat += "
Food: [food] | Fuel: [fuel]"
- eventdat += "
Engine Parts: [engine] | Hull Panels: [hull] | Electronics: [electronics]"
+ usr << "The sounds of battle fill your ears..."
+ if(ORION_TRAIL_ILLNESS)
+ if(istype(usr,/mob/living/carbon/human))
+ var/mob/living/carbon/human/M = usr
+ M << "An overpowering wave of nausea consumes over you. You hunch over, your stomach's contents preparing for a spectacular exit."
+ M.vomit()
+ else
+ usr << "You feel ill."
+ if(ORION_TRAIL_CARP)
+ usr << " Something bit you!"
+ var/mob/living/M = usr
+ M.adjustBruteLoss(10)
+ if(ORION_TRAIL_FLUX)
+ if(istype(usr,/mob/living/carbon) && prob(75))
+ var/mob/living/carbon/M = usr
+ M.Weaken(3)
+ src.visible_message("A sudden gust of powerful wind slams \the [M] into the floor!", "You hear a large fwooshing sound, followed by a bang.")
+ M.take_organ_damage(10)
+ else
+ usr << "A violent gale blows past you, and you barely manage to stay standing!"
+ if(ORION_TRAIL_MALFUNCTION)
+ if(supplies["3"])
+ return
+ src.visible_message("\The [src]'s screen glitches out and smoke comes out of the back.")
+ for(var/i=1;i<7;i++)
+ supplies["[i]"] = max(0,supplies["[i]"] + rand(-10,10))
+ if(ORION_TRAIL_COLLISION)
+ if(prob(90) && !supplies["2"])
+ var/turf/simulated/floor/F = src.loc
+ F.ChangeTurf(/turf/space)
+ src.visible_message("Something slams into the floor around \the [src], exposing it to space!", "You hear something crack and break.")
+ else
+ src.visible_message("Something slams into the floor around \the [src] - luckily, it didn't get through!", "You hear something crack.")
+ if(ORION_TRAIL_GAMEOVER)
+ usr << "You're never going to make it to Orion..."
+ var/mob/living/M = usr
+ M.visible_message("\The [M] starts rapidly deteriorating.")
+ M << browse (null,"window=arcade")
+ for(var/i=0;i<10;i++)
+ sleep(10)
+ M.Stun(5)
+ M.adjustBruteLoss(10)
+ M.adjustFireLoss(10)
+ usr.gib() //So that people can't cheese it and inject a lot of kelo/bicard before losing
- //If your crew is pathetic you can get freebies (provided you haven't already gotten one from this port)
- if(!spaceport_freebie && (fuel < 20 || food < 20))
- spaceport_freebie++
- var/FU = 10
- var/FO = 10
- var/freecrew = 0
- if(prob(30))
- FU = 25
- FO = 25
-
- if(prob(10))
- add_crewmember()
- freecrew++
-
- eventdat += "
The traders of the spaceport take pitty on you, and give you some food and fuel (+[FU]FU,+[FO]FO)"
- if(freecrew)
- eventdat += "
You also gain a new crewmember!"
-
- fuel += FU
- food += FO
-
- //CREW INTERACTIONS
- eventdat += "
Cant afford to buy Spare Electronics" - - //Trade - if(fuel > 5) - eventdat += "
Trade Fuel for Food (-5FU,+5FO)
" - else - eventdat += "Cant afford to Trade Fuel for Food
5) - eventdat += "Trade Food for Fuel (+5FU,-5FO)
" - else - eventdat += "Cant afford to Trade Food for Fuel
!! Raid Spaceport !!" - - eventdat += "" - - -/obj/machinery/computer/arcade/orion_trail/proc/add_crewmember(var/specific = "") - var/newcrew = "" - if(specific) - newcrew = specific - else - if(prob(50)) - newcrew = pick(first_names_male) - else - newcrew = pick(first_names_female) - if(newcrew) - settlers += newcrew - alive++ - return newcrew - -/obj/machinery/computer/arcade/orion_trail/proc/remove_crewmember(var/specific = "", var/dont_remove = "") - var/list/safe2remove = settlers - var/removed = "" - if(dont_remove) - safe2remove -= dont_remove - if(specific && specific != dont_remove) - safe2remove = list(specific) - else - removed = pick(safe2remove) - - if(removed) - if(traitors_aboard && prob(40*traitors_aboard)) //if there are 2 traitors you're twice as likely to get one, obviously - traitors_aboard = max(0,--traitors_aboard) - settlers -= removed - alive-- - return removed +/obj/machinery/computer/arcade/orion_trail/emag_act(mob/user) + if(!emagged) + newgame(1) + src.updateUsrDialog() /obj/machinery/computer/arcade/orion_trail/proc/win() - gameStatus = ORION_STATUS_START src.visible_message("\The [src] plays a triumpant tune, stating 'CONGRATULATIONS, YOU HAVE MADE IT TO ORION.'") if(emagged) new /obj/item/weapon/orion_ship(src.loc) @@ -989,18 +744,8 @@ log_game("[key_name(usr)] made it to Orion on an emagged machine and got an explosive toy ship.") else prizevend() - emagged = 0 - name = "The Orion Trail" - desc = "Learn how our ancestors got to Orion, and have fun in the process!" - -/obj/machinery/computer/arcade/orion_trail/emag_act(mob/user) - if(!emagged) - user << "You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode." - name = "The Orion Trail: Realism Edition" - desc = "Learn how our ancestors got to Orion, and try not to die in the process!" - newgame() - emagged = 1 - + event = null + src.updateUsrDialog() /obj/item/weapon/orion_ship name = "model settler ship" @@ -1009,7 +754,6 @@ icon_state = "ship" w_class = 2 var/active = 0 //if the ship is on - /obj/item/weapon/orion_ship/examine(mob/user) ..() if(!(in_range(user, src))) @@ -1018,14 +762,11 @@ user << "There's a little switch on the bottom. It's flipped down." else user << "There's a little switch on the bottom. It's flipped up." - /obj/item/weapon/orion_ship/attack_self(mob/user) if(active) return - message_admins("[key_name_admin(usr)] primed an explosive Orion ship for detonation.") log_game("[key_name(usr)] primed an explosive Orion ship for detonation.") - user << "You flip the switch on the underside of [src]." active = 1 src.visible_message("[src] softly beeps and whirs to life!") @@ -1040,7 +781,6 @@ explosion(src.loc, 1,2,4) qdel(src) -#undef ORION_TRAIL_WINTURN #undef ORION_TRAIL_RAIDERS #undef ORION_TRAIL_FLUX #undef ORION_TRAIL_ILLNESS @@ -1050,9 +790,13 @@ #undef ORION_TRAIL_MALFUNCTION #undef ORION_TRAIL_COLLISION #undef ORION_TRAIL_SPACEPORT -#undef ORION_TRAIL_BLACKHOLE +#undef ORION_TRAIL_DISASTER +#undef ORION_TRAIL_CARP +#undef ORION_TRAIL_STUCK +#undef ORION_TRAIL_START +#undef ORION_TRAIL_GAMEOVER -#undef ORION_STATUS_START -#undef ORION_STATUS_NORMAL -#undef ORION_STATUS_GAMEOVER -#undef ORION_STATUS_MARKET \ No newline at end of file + +#undef ORION_VIEW_MAIN +#undef ORION_VIEW_SUPPLIES +#undef ORION_VIEW_CREW \ No newline at end of file diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index 579a329b7fc..8d269c664ef 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -1135,13 +1135,13 @@ var/global/list/gear_datums = list() cost = 1 /datum/gear/cardemon_pack - display_name = "Cardemon booster pack" + display_name = "\improper Cardemon booster pack" path = /obj/item/weapon/pack/cardemon sort_category = "misc" cost = 1 /datum/gear/spaceball_pack - display_name = "Spaceball booster pack" + display_name = "\improper Spaceball booster pack" path = /obj/item/weapon/pack/spaceball sort_category = "misc" cost = 1 diff --git a/code/modules/games/cardemon.dm b/code/modules/games/cardemon.dm index 769e090380f..0c35379fec2 100644 --- a/code/modules/games/cardemon.dm +++ b/code/modules/games/cardemon.dm @@ -1,5 +1,5 @@ /obj/item/weapon/pack/cardemon - name = "cardemon booster pack" + name = "\improper Cardemon booster pack" desc = "Finally! A children's card game in space!" icon_state = "card_pack_cardemon" diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm index 368bfdd9a5f..781d4313584 100644 --- a/code/modules/games/cards.dm +++ b/code/modules/games/cards.dm @@ -169,7 +169,7 @@ deal_at(usr, over) /obj/item/weapon/pack/ - name = "Card Pack" + name = "card pack" desc = "For those with disposible income." icon_state = "card_pack" diff --git a/code/modules/games/spaceball_cards.dm b/code/modules/games/spaceball_cards.dm index d54638d8d29..f076f8d9d70 100644 --- a/code/modules/games/spaceball_cards.dm +++ b/code/modules/games/spaceball_cards.dm @@ -1,5 +1,5 @@ /obj/item/weapon/pack/spaceball - name = "spaceball booster pack" + name = "\improper Spaceball booster pack" desc = "Officially licensed to take your money." icon_state = "card_pack_spaceball" diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index b606d2559ef..2395708dd9d 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -755,7 +755,7 @@ CIRCUITS BELOW id = "oriontrail" req_tech = list(TECH_DATA = 1) build_path = /obj/item/weapon/circuitboard/arcade/orion_trail - sort_string = "MAAAA" + sort_string = "MABAA" /datum/design/circuit/seccamera name = "security camera monitor" diff --git a/html/changelogs/TheWelp-fluff2.yml b/html/changelogs/TheWelp-fluff2.yml new file mode 100644 index 00000000000..b4a96c500e1 --- /dev/null +++ b/html/changelogs/TheWelp-fluff2.yml @@ -0,0 +1,9 @@ +author: TheWelp + +delete-after: True + +changes: + - rscadd: "Added boardgame item for use with table-top board games." + - rscadd: "Added Actors Guild, an alternate spawn that allows players to control actors." + - rscadd: "Added differing card decks, including a Tarot deck and two trading card games." + - rscadd: "Remade /TG/Station's Orion Trail arcade machine with bay-specific modifications." From 1861134aac6fc097366e0b48dd30991c1fd5e8b4 Mon Sep 17 00:00:00 2001 From: KearelView:
"
- dat += "[view==ORION_VIEW_MAIN ? "" : ""]Main[view==ORION_VIEW_MAIN ? "" : ""]
"
- dat += "[view==ORION_VIEW_SUPPLIES ? "" : ""]Supplies[view==ORION_VIEW_SUPPLIES ? "" : ""]
"
- dat += "[view==ORION_VIEW_CREW ? "" : ""]Crew[view==ORION_VIEW_CREW ? "" : ""]
View:
"
+ dat += "[view==ORION_VIEW_MAIN ? "" : ""]Main[view==ORION_VIEW_MAIN ? "" : ""]
"
+ dat += "[view==ORION_VIEW_SUPPLIES ? "" : ""]Supplies[view==ORION_VIEW_SUPPLIES ? "" : ""]
"
+ dat += "[view==ORION_VIEW_CREW ? "" : ""]Crew[view==ORION_VIEW_CREW ? "" : ""]
| [cable_color] | Select |
| [cable_color] | Select | |
| [cable_color] | " + if(cable_coil.color == possible_cable_coil_colours[cable_color]) + . += "Selected | " + else + . += "Select | " + . += "
S48h)MRv%I_vg@es-6rq@!NF3Dy#3i0 z&obX!xI~>lTs9FZg1J*!>W$(qsAD2=$6JxOhkk7=Qu2%d5Hv zUQ<&81T+dYq~|wIqMbZ2y0Ck+&^lW6e{lzfqKp#45^~Mf-01+Q!uGqhDnvmEj9P zSQqzM@b*6{&Se#I4w7F6CJ%yT#7iagxm4gim-=bM^OPre7Et~+RSE6l@2-?&lQHjw z0;I; 9NtE%!YO_Hq&VMst8T4#h_Qr0J1A3PZ znFC-S5SZ=4;zvokcCDdqSX9p(RP=|7+DmUumSw$W9inPyBy(A8yVh#%rm3gbe4!VN z!jJefC37HN@*t0iJY#BcE~d&@eD25HKRXja9J0O<1oC&1QGu-T_Z12ECW1U4%?9|& z&%GNw*#t`xm_GfO@O?;nzpk sKIJ$`cAc8SmHnt|ms}|Fp7=`YDa9? MsN$r=K>}#AKVIMJ>c_K~ik7`w ztGzyy$Fn_CGt8|8W^4EuB|%m>d9t u&$P#w z`Y9biv$7X+nMj<%?Mb8#GDN31?KB5rji^~Wqv#I(6aLLXPbrI$0eBR^YGHnnZjLEl zd;D-HlFa$n5LH;A;4_qHia_`Nf<(mSrRc )!*&}0J>1V7pC&EKhvoGyk14evD{q-9jO@%SHaei-uCr`qmO?8-Sz4b|!7J_xw zv$5Z;{ R)6^Mr^i|zK*)QomM6PqQZ{d)%sRs5B}?UQC@WuMy+Cbj2V z>wc$^e3{gMvm58(?zaF2AEW;~rKLk)#w;0B4n8XR9p{ 5fF2Vi&wT|IIK<~&zKfg$VL!$M+D6szYEa~q)kUz z77v2ug0 ?J&!32|G8baLxZXl76~m6sZQ`UnCj{mOv_%efs*p*u5qG$` zTUvCfudwgPn~ga0|7=sm&9)kUk!+vWh#)#pc`Drck#2$+L564Ai$edafuU)IFe&^W zM*iX|LlhK;FfxZ~yBcvZuEgNP>7bH-qouDH_PD-x@%vYn)sI>ER(@8`{D-6u_?5Q^ znoc_(MYbWB%*R9)rM#R`RCpmX?y$z3#h XyENEQ8qIOnddt`7>_mbM7s;sPxQl3iaX<3APgTwY#YSjqNdl4*{ItQ bG&MW`qfu4%N+Mc@<8;z4CJLbMwa 7gl%WU215Ch*!Fj@R;93=n3x+5rMZK0Owd;{Oe@ywgfrVH zY|+d;RCy8anYucIjl9|?T#$}jBI~&NwEuDa{d>U^rQTrP`Fz7l*sc`)cb>*h4D~+= zH+-lF*46cx_WJdVS$~&Fjn9~S#+6Usz_jEpet$+^w#9)XmFCsX&BZi}AKw_bq|>i! z11aQ0iv*VcT~l7GUVkRZQ>PB|+Ed~52xVxG_HrxN?}GbdY =(<}to7c9F6)EYc!~d})!q0j^uNrVo0;&Lw?FPK%MsL?13rG9`k^$Qv+m!Z zYN3j=^L-#aBLg3pUt0?mebvYGaHC ;%0soa9OS6*~Lj6AnuO;vV jMv3@cF^gA3JvpOb z(?jkXgR-HEAr4BEATv(3ll-&yqVI%9X3Kvgk`L!|iw <@$x(nC!?f~jvgF6-RA1V4KPNMWyhJoK ze?BljIg>q|&)j(^d1j?TTH?Dw@y)X_RKUyl&Fs~d^E>S3`8qY{P7>w4*3gJ5)nagO zu*BI4xu2wOGCf9DVv95|ik?`ri^d*(>Ix#7?`idS^oVGoa(q`fsIE?S?*@4=%~WS~ zH7L2fy2>pfVfchJy-0`$>+kPx1l)GW%cZU+rvCZ!CzHfGw#s+25%u*l0`WTR3T^G} zT=(u#c+PqAh &Rkn$(DBd$NpFi=BFRGSn@wMoV)6-tI~IZJxO`a8B5H&<7_# zAkCg3sD-U+r$=;`$*a`=7e1-?RQtbc3!s++ys#B65`2G?eSghP%B)cd8JA0Ag $DR|mM{ z+*uZSESp2db>$CJy$)lpp1Y6A#T$N_p;A6)?4@^o_4e&dXb|kh(OSh0cv!iKIxLTb z()%T-Oip#yP16Dupes#tsHRV@#xYB@V<<`^Y$3*nm)RR|vW1sw1;BO+#R&(-`_UzK zb@c_cjWRn{t|O}TX`>wra!^uNfxpNsIW~Uwo9}9)lUZ lUNI7#5OwfPRIgNsg!WeJR<43CpT#HXRY*yn{Sn{2jPwClm zce@|v!Y_R=ogu+AebWy;cPW4?0?@~&_7Ku;SXn`|KQSQrel@DcI!cbHwF~o2Hqo2H ze`b|M?lFOrA*+(!Hj+Eyuyh}j;~KidqqVm1hhqmEl bG04j7zk%d40OY~JpEX#W`$2W6~@Nn8Xjc&Lsjd8F_g*7 zxH}DCF=T|6Ryg>U?6bg|r|m8q#+X_f@s3uZiWKe61I(xCI#tgM%Q4)ZMZI@r;E1Ya z3kaTY+R`G?eg>1Pt}B?r;(rJ}Jq0r~o^LA)#DxCcdj1ylD`$c&5(G~aN#g lC&I<6Ou?Oc6X_J4VaT_n?*?y2%5Cfdj)LnhaB%#B2@#FHw zYmO@?LjDmSESK;AdF=jOfD?UqpzUo+<_n14nDhn?8}R`OHY;!y^SMe<^$7{}jD*>Y z>(U8n>P2Y}JO@n6nm<8zM4rjbq}w3(YPSSKhv$AD9=h&WKYmQASExXG?OHQL?Ug(3 zqI67=-*wPMd(HXQ#hzOcMy({?xOwTdyU77pq5k=CySmGJB_T&+9kUxD9-j<+SVB^~ z %v`5TDF7a#MuVwe@dp@Z?40FMaGCwEW8iWONb4sUuk>sHHB+WQ z>terL{eR)_Ddi4(c4R-6zqu5Cy-#*!OttU>;|3Zipf&Zq$K5}^O#8y_e^aE)b$|c* z*_rP{!bz-Gud2jaM@1kaMu9()NM9+vek#!Lx&3p1fzBC@nf9&29>h9!+81{JtZhs+ z`EsyR4zfPPB7Dwna2dj@mo}`6ZNVc0N8Ab@;gdqS&w5XrPEI-@3^$7j86A)7T&&w` z6m`3Vq%49dF?Fd~G0o(|_GUOU`D@37+7D<*v9ywS=uLtr?Sv-gpx@(w9t^8sJQSU@ z3cDt7jMhRe?wBQm|GSb!+NCC21t*AbG O2Ix-(2* zp-y30jPA=d;kVjC*%X|=FNF*u=8Ny{c)YVq8gfvOECPUeXG+q@b~B%*0K6%8W-MwP z;gg@%$>IBS9V|N2W@I?QJL_yR-6?8Bsc(>l4gPvG?#-rG=$|Oj%vVb|=8xNWKEHCZ z=}-M7PiW>D7L+UUX9$rwQ6Bpy_9KUaGo@-Hrn7&I6?~{3C#duUDj|+M?_!_{8pHLh zG{WiLwIdLd)cTO3az6ARe6e!9@BB7DE4vUb!&Igj 8L&7$EA92(AzU{ zf2|c%R-HX}2xM;(kV;MVBQ6_<({OLLSrz)9mWI;)zz5b+S?Cn18xyW-oGM9==#=*7 z9bLf3UJe{;evMNLOF>ob3xkB?E9a@)t)UcI-5%2?;u@ Mf8_SLIJtP5M{RJ*`+|TznALNl96N!+qS0&TRt#>ETJg@Rlcw^fN8Y P4i3pVZqRlu}ue; zS}3Bq??)8e2$Lr-H?yI!Hjr1bp@5TG+MHW>%xkB;y7N-iT8WgH=4!dkHlatK!4-!N zkt^gqS#hTZB%fAe?w!(r_}X>&88#W1*-A1?#A)!~;!NR`Am%bdTbeIExwy@cW9ZJi zgpRQLiavI+`fg;eUjWSx|D|)@IU$;x`h^Og8B^l3 g`&D_gz}X`ZjbKty0S!s6>ZIl&`?qRPKWnZX zSDcw4m;RS8elb=Se_Q33>aAvsM>{L_-1x-#a^wx5Af%B{3bgfSh?^Y5bFo$$r)cSL zaogvwx@~@(gG{c>hF<($@c#*nDq_LIp^Fi6X7y|nJeO>v+40lz)e(MLvAN3%@yN|B zQ2uhk6s^)I^^rQ3f@@QnGHCq2$C2@{+d;7_Qs^(jf6%3&H)9h;r=sF^vOq?9mC@!V zP%s@cW^6Ms m*|d7}{M
h5L`XQ z5kEq>O<9UqT)~I0nv8q!>Siks*okn4mXpj4yJNQzdj`}r{H^%PNpJSXCt0S^N4B<^ z)esp0?CYwN`N8211%rv5;@?n|JI|iK9AEc2d3mr+6}pFz>i-n?B~TcQZt$R>$cG$= z!0?qI2IAbx)5IK7i!N%;=5;%86uAYB@6-4oEsL4SV@#gMbQFe!E#|`@oUOvBT^1Mu zZnaK4IoHY4zXh!0S;RG0G-Q(8j7FsFW8-7-Az5o(^1k?LNpGgVvJb($w(i`io9VBu z(O2zd(rsZ|b^w6yfr(QN;sRxOiASDBoy5T>@=vMngwPly>vzcsI%#u|zV2+Y`^c>L zFUeMG9L46h-`)Nf4b_buWo6Ent$HdQr`w=HMPWI~%U_iodSk@@ MX)0x z-Qf)>$8y+Cd51I1O6DtoNffWJsBsgp>OC@`y^dzGn;D&SgzLNi0DXaxm}Y1i)yWfo zyQ@-lpsJ<^^@uE9Q2}msNEzN~KBmTgQWWg}d=FBAx-`yCbc$7>+&9LniU2kq9N$(g zdJ3hzxc}uQ2eO}`f0t%AkO+RxDJB;D`j{-NRtXU0!KsZQ4mwz8=gxX1kW8icE&ou0 zn04h3uZZ?jRKdyL6Q%=rUY&fvR)#9Rv`16r`>d%0nAG!mDbs5N1Yu%5sW-kH+_Z0y zM>h#(#-(3 }G!WBVzFsKUQ5o1}@Jof_G#qlp&2zjzM z$`BT@vE~XIpe!$4)pu_BL5rqij`=*%na&sR`Q#{&LpjESq+(|W<4QRR(LFlC80SWA zlW8-*DPn+Qr`bCk;TAKz^8irBUTEc~K6vtm)CDqEYTQxUx#iHU KdfY6P%`lxJ|XEO?!TJRivaF_zSEQK(XEpW+Qos52`{t=~3H_%D+DZ35}}4Ri_2N zgl#ehWf%S^L2n5#c?`d>`SCF5h+$!!h}8_dP(4_$=aHFf-4a6FP1! ! zQgdYZbj)A&Z%BH8#Y~KF>GbtQcBUJKWJsm)v`^1QJMGH4p4 bX;=dO zi4VHv7Ch*T9@swL7QA#$Jtq*$1C}Fz$z+~8OV2j&ibL^I*MG+J+Py50#>%e;lCGgr z<*>j!v}-PSZ?{_pZb9#){FcL7m#AP;RtG011xGlsP7sp76>&``IW$0isWjiqBedFc zgd1r3Ud9Xr^s(2~$ejM0q=>41M{FR2uIxE8H~py+WT5b1d4%LuY6<|=IybWrf_UlY z^b|spn3j7e2Mfty_6S3zu2JeLq<@|5bfu$U|DzhyQ9jbOZiMJf1H3K{8_Z#3!c^UE zEbSf`(9^#X0j&A!Z6orHk>@@A`lB)1EFlfkavn9{{*I@EVnD9&M5SZ0bIS4b1_9~K zPDG`d-U%lUA`Oec3YvreaBSCCE^^e7A0f43H<#aM8&VyQh4MobsvA*<(Pzf5Mo&?0 zbkkiu#}ahto=eZC@ueYLzQPuy*K7neY;9j-aI5o3 _GMkVx>01D_P$X%c)`ETKXNiND6F@VjK=j%t!rrvoVit) zk*8Mz3eTl33JV%Hljep%Ez^ad-y*?Rnt*QrzBWvWNo>%G?52+|W`$AJ;eedD^O03k zMIk>Y6*eWhfuz)>dr0FY@UsZF(3w>ZEH>8F@f8UXgkj-)CDONPnjQHn7-%5J &PCGvfr>+N)96n%H8SyYB#q5NnMhwpD-e-B3V<>j O=|)=*go3xcYI3snJT55{TI3NYSdg z55L@! w3IOnYDp-~d^q`QoYq8KbNmQaokdS7s*`N-KC zq0sVjo1^ %2lBi8U z!ehV(btZv!>A?(tKnfjuVQTMG@bT35nNP=MF+b>pV#PB(!|Z_(MBrfd6-NBN(aghW zJa*65NHUblweE>y1?h>Yc~cky-|{pVnLkw_T$=^WNci=wT6h9CFyUY?)2{*zZCXSyy2BNO4w3YBrZ%+$( zGu~j~`zxfs_}y1}zMob1r$})1L5TM8o^CiE+T7I?Z!qh+EyK^h_R=GWu@e>= ehf=%Pf; eyTXbT+rue53|cSanJx9@>KS>%uKVA(ddpHrJL 9!E9#Z~*bBSaYq9{nYP>sc?etS0<08m{fzP(2E zh9^Rho^OLo^7jwPed|(NZKc34SR$w9D;w^W0WLNvS3+>kOY;pRKSgfyD!}r{0I-YFR8zld98;OAVGVIon$s3wMo z$>a=zA#q{Zw}(S%?982-lYM^XnL{9Au?a0YDDco|`s %&yM}JsC3|aQhA5 zHZ+(+WZpZG9PdmsR?YddLid%SQT4k1l+iuw_XK47Ao@Vcr~snUOvqt2S||?v G*C*ys4z4&p9v=)Bfe=qtCAEG|+_kiq-@m@0KWg zAyFqsODo1saFtfr$45Oqq1y$gx@cNhvGji^xS|#*7a*c_Fkzk-%9T_`?usWrbLKWt zPL2M_&8dA+5gry6)xq#zhG(cy7_3c8lYKb_{ZMV`e|ZWt=<{g)|Lef$+R`^Lh(N(q z=c4|XqtMcNS3vDvE~X|amRu_D$)uBXizqn5)UNowu&%rd6w1h7{mF--qM}2G#jfIC zHTOjlYo6B=|Civ<(tgo|(u@1t+xx*#LS^{>7`}}M->%6H)ce@Rxfs0#jU-OxuOj#W zGWBTYZsgk30T$I)UjTz{?CNl`fmZnwR*OG%mP^e D`;di?cMSn8GW5drmQ3n4}be`StglPzD}XQG=)@XOx9y=P** z*$$@%5CJ1G`rudLWG5sZn$sJOs FJ5k=jZgN8^a_yonSL;4h} HHtu2%l)38dh}GP$%y`-?vvzravT zKmG>K%cIsB9hE-Sz8;VS^XpsoxRBJ^nyK&&+U)6MZjMTN4)1Iomc-8K=q{eu74;t& z1}*Kei`|Y!piyj~SO^@vunpRLaO^U2dDSKW$u(QgCV0AV{d_xVdnH=;A>|Hqo|hdR z3iE&AwlT#}1L;%_&$gSxWqqCfk#Z)I&Vc0)Y3sw~ZuKn^5+a6Z4q29rS{D6L{5`ot zn&&uSYUnX%X{D)ITK+uMW>~>XhZ=gI&mrwriktGQ3*hV{4ki7Hfb7B!NFhzjMz8k* z$yj^+$&)87_7zqWMgEzXGNXdOopUu K`O45Qc>OHeh!CP2#DDd5PAi91nff4x%q|y~D$E6a zkP>F=aYAQTVR;$ue{f*<{Eq?DOXfZ&1agj_Nosk|Hy$XBU9Lt;7f*lA6>F?nqMA96 z%ZlX$;YYoK70dA44rDSV`cPwGH_^mV4387)s)V{PAvPfdddRtXc`m2hFA3M@z8LUA zMCCU@(?A45J~ua48!`~6d~H(gjHi_SgMcw1e!kAMjwbDMKzbBK{5NwIs2xa2S=kcL z8EPTW)7RHWKxR}RV~U0{(Q+B6;S JYIw$v)L)4(18~10>X`xqCC@+GS}c zCtTiqq<8^eYHF-rd3hC>=QW~>+8`}45g=1zp;%y!;EFl;4M~zCAVrYh>3ooO1+sz} zYUA2{QAX_T?H%$1*Ky$4cHlIFF$`SV3tK{#cY0m#M7W%pUyDZk`YMi{`xk`~-+IxX zB$hY!5}OO^=f$6vz1?{3A|pTv)!J#4prU)%0@lIjSQ|B?rLJD9_wwarF4S0B#t-Sh zD=?bs>h=|`D}VX)PkuOD_1u(GQjF|Mo4+76H%I0s@EeMwVx%AZZ_jhcI *P>o1{czV63!O49nVbh!TNOipkZOZ=Jxq`9BqOSSmeG1071ZZogWhX^Hg!V zNnr&qII9!!1SD#GyQ|rMAKm{UX%LDk(D8*2+6o!Ip=k$MYmPSnFNjGR0R0bVDnd*t zTp-m8ciu8%0b^PHe!RX4(Me1EMhG4VquzuPpvgaB~mznX`LYW%I|9QQ=4FzCcfl{EKIZd3&8}_gB16 zpa80;KiMx>vJIB?q4jlyvArSzoZz0tvd|0Pvpqx87VFbpWK8q8xswNL$V43|54G&^ z>-keZ$SV1!=SRIgi-19d@Wk8IKiIzIt$+v@`@a6n)pPi?wp#tE#9GO>!qq*zn-9im zvT9DB=_T`$BVDDt nGc8;OD(49!WuleibZ^xLw3zE-f#Q1lMDMktlfr zQhSk$o`k=!%Bx`2d+<&2=KsgkcYxFJ#9glvB}9pc-XcnfPKe$G2_agP5G}fhUY8Id zYKY#2=v{QKE_(0eir!0H#O2=mt^fPJ&+|P`qU?^nyEC&hXMVqP&aiJ<8$nhH_e-X^ z3_IIWhmB&&(3d-o9Rx+LA|W_aUVq=Uc8fACt(^v!E0@O)6>SQCnE#l6PL{iZU3q=S zA^?+&3DXS;owKLY8cp-^x%MyL246*3*UUq7kzw<0K7wJ}50mMjPpdYMt!a@*aU1FS z>`%jCQ>Xct)w3n2MwVa|T~kxEgVt*WN}3^)C^!yOOS9-A`m{~tX7H3T%riVS{+7Dq z{qLRl?Tl{8 YS{LFVlLd%j(QpkpLiFrTm!vI^(&CZ1^`xHieSr{(*a!3BSyZCc zC3l6vIvr`C0JsLHS4iKS6C(E(rI8oI*hl}tX@A8JA&SDU4o~PbJM22d(29z^cI9t_ zC7?*TqGD99XIuCYqRxRHgfP(Un~UpcD6Thi4WG~-Cmu(~?y7D>DyJ&qHZ;;&6b+G{ z+LR(Ozfo5LX6-=DVs?p+t7PkuT^kze(_cA2{=jVRT-eKR#f18 ox-tK0t7ewe#KIH_FkV z>+L286DcZMzXjx8SnK>7OaD!18-C>X{@T8_`$WI&X-4RDoCZvA_Y4O8IDS_X_L9A^ z;_pxJ2#p%vyo7mT0*>DS plfZ)J<_rwV^m6R(8ZUNB zJb7{-^edBaxLDBn=KeJ`_4d39jQ3(KXVDsLw>#j~`ONJ51j W%Kr1Ci=qk=pa$nTM5FY`X)7IGt5bv%m#4?BjC z5UQ5E+OLuIcrx }JE8_ofBb(gNO9GmH4$~tFw`E}Zjj`blsdoHA)_ie*4qJx4sIXPdx zfq1u6baWA)ovuVZP>3hs4ft{n2p|GhAeGMcSWa-9=c+vs6GHpdtDjKdslu@uUNMOJ z=e6ZZvM4zod`e13b1fF{Pg8Z rD%lx*UcSdY;h?thu?YFG?z8@Ls3P z&oynlf>Z@965|{H;8!Q-_f6noZ-$DA<~T4$=o4~llnd_zuuGi9sU7IfI{1tO<;*r# z _)5Vd wm)TfVVxBp_DpAnPd{?i865??!)IqvTXe9| uJo)+XX+5XIS)w30OG0&7*e` zorzO$;ZHpx8+fI$AS%*A-Ip)7uicpED^>qN#Ry8=Z$lISF^1P15qBy;6F= G68*{FT^!s3!lLX?&YPXR zTkt*4*jRUQ&X46np_~$CUgGqav$*yEPDwD&90I)M$d*$fBa;hq5iWax6wGet#2$FS z6_LBbEl$+JIuiK(dvta~-~cakZgyc7vt8dfmNHo y?|YvjB=kt@hzPXHTGnSt&m=9?UK2cH15m#^*Q^D%MR&1Ctzj% z9q? 6VG+;aR!s`>g<5_K;`jG-2D15bN4^3zE g(;rj&+tNKtb*cf12X1-T-rL{t`{@dw8 QG!2n dKTdLe&Y5VQRWp&Zk9owNIxg)zyr0~ zKAH2vfLE)-zilmEBbbhTP3j2EX1q40H^hOZZ(c&Z&}rTpw$NuG7gk%oTL)cOKp;0# z%}?;y!{i5{SwdI=6_dgs7^|m-h$1+Bi~1CiIEcA;b+t;}vPpMfda?BOH4OQr@N=%v zRSSE_<4ryvO$i@C1@IWnBF4ZF@dS0$&GefNZ^eKA%8y|rW3+pMR6qAj>O&mJ?H_d8 zzkRZ4<&P%pg7I@X#|5^j&)rc!0PfdDA`sS7kkvmPbLsy$kfosAMjK60Eo*sT{U~ zs#?oCfc5)5qdfII`pp1`bo;NXrIE5bI85!Q{JjI;UdlN+@j?SLmKitD-Ph-tluyaT z1U1G~8BhuR#o@`xN!a5?e4QwPai_V;oH%<})mbn m02Hx*Vj# z@=T8>H;4H>qbiL+wC_ %7SI$il^ISQSIw$|f5A*IYay7&dZt#wo;x`qm zstq3M)E|E~+0@4v+VPM4-u1Eb*!oOTOY)=j9Bv&ugG%^lgI?R=1CQ^z#uO$GyEd7; z*97HM|C$`ccOQ7zcY2G`(V~BR@^Bx<&vE_ Czt(`E_6YOVXgB~|c z+2n3-y8yg2Fd)b-y=4AD_rzh_q#S!3*#VkK=ixjvthLc1eVrO{pJ&3DcXkrEt6tk| z>N+g)YiI~j_c1nV@nGihfT?TqazGz@!%`vDt|}e$#_#jQK!Ad6L3vH(+a;x=p_her z$4&D(rRHP3^w=k5k}Omk;Oq3`PwI)|qk3MCRz3@FtD#dy_!bVG-?X?J$O8&KJASoe zNJmK?1WlG+GF$5#-o_PWZ1)>1>zsI^6l|aa3B4?YUy1eIQW*MSG;i_3))(OKntu*o zy|a22_Rn(9$YgyuG&r)FN>O>LtEHZ5*McMRe0SK_H;0i%i*Ib!VLB#qH}JGE)LV<; z<;zO-aP)Ys8z9@6a00BnGP=)|a&a!taBS?QP0D!Ot4F8GC;j93-uD=3?89bK1DJA( zHFKQLMVAVbe+Y-gt{B6BRg4TpyDELyj!r-3URR43W#{I4eaoewm=B_`aYIfz@F9?P z?-x;&Ts(K45|h&sbq3^)amW^b$9~z&A}s$N=I^8P>%WhH?5jJXX7Mq3TwsyP#Tt~- z+p!?~wtFQ1eNG!^+hLQJ4f(M*YBl!5iqS)3Z@Q7K&_4&>n6a22);DE~g0 z+f{7CiF&F259;LZDA3f0_-loXi}*cliDy{Ht+tu9P=@}4dQ&s)oj_v+Dud6za4Y){ zJTRO_zo4%Mf&?bH4rOM2s;mzrpAX|CeIaAi8&$=@K7P0|an$N$XA;Jw?)St(-}URo z(v+bS5vN5oCDgtpyIEZ_ebVBndG8|)sy%x2vBZkT)3QlY5d6n5cEoao`0s2na_fC5 zCpMj^6QY+>Dg9Z_1YU?(dvE*+VrTNVR?5ZxyoG(BGK8*h1PC^ECi7Jb1lVm?Njd}k zJGvyCTT9NMp%`_OAO-hT7+zl8$IF2?y$JQpR72goi{Wz2qt-r#Ch5btBk990&4F*z z$KbXoRA-iCLml>Q*b`JpPxrIC_K9?HEBL~Jn@D&Zhw*f)MU$y<`x$I&+*p+W4V3}5A#@j zEaYd3H0=F)tV_+GTLgo-+#fLFrI_yb1QoqP&LIBB|B9ul>ki{EbyZ)On>f?p#1Deg zTO_ajr+)2V>TOOCaj$v)?D&MhVrVbZ_niPz4S&t9Ar%CEK_bJ}7DWD-Ni-Zv3KHlu z6h9^R-=a~8WV#dh28v?+C}TaDngX8&Fvb;Yl|{em4EZ%WtmJof?$M(IvS^bsXrs|a z@_^=DX~;6kSuhVt`As7x*o+bPFVqvQ*u(f`X+^&%e4n!y*w}fiHfVmF>Rj6sLA7^> zR# G`qn0n Z~rpuX`A zm@riW9}y>-2|d;6`{@jq_Ma^`X*gf7cbV4Jzoq-S&>E7FBOy6C0gx;MwoO%23t2~! z03dQQ%g(>ilw@uq3EZEndNZqE$C9lbK_*YYqR0< )=QC zQwS(J9mK {+ E z-A*>LH)le~?yeg|3CW!Xk!eq6W69kd`S0*fh!_L#f4|7{g7GUeBJt%j@1Xx|;FP;K z@Lwr;u8-WiDV8Vm8K)m+7fO#5i8c0&v@ko03`Ri?o^jTD9wy=9O*r!v3(d>B-PpLQ zl5qp+QzTrDvJYp CcZv&M!;}05)c{9EK`(Q<`^1^p< 7c`Wvqi-Tv-^9+z zQ5(#D*Pt#sx`=8ZaY*27nvQpP2TRRMITPJ#p5Bx-3erdu29A4k#6vUx@S6Cf7_Io2 zHIG(NHOMq*_|Png?^c?kj_&`AFF&HK>C%Qv!6MuaM1OlJTzP>;=2aQU)Ww7HDJt=1 zW1rH)N5NZJ;BRuA)th%!=K5IS2!XnQ-&p@}MtrZ^lVIoyWl`|sdYhHN4e5>@XFbJ3 zt$5*dv45Q0sm$s>wW;T{O`~yk2ik2>w`^I@D7j}JRGl(BTeuVnC7}uYyzp305AE5u z@a$-=lqj_q6zM98jGuG;fIlPUuU8}u5Hkq2OC0_C?RTADk&3+NM6&oq*mt&0a_g1f z0`je18d1+V7h0JZoo;-|=CapyY0Ax1Ro+kDARr717;cbTsGBb#r@WP(F7aFmd;g0M zJIx*C$E3D%WROy%P``o^8UlbkSiXjg$Iyq6& 5 zulcTfd;CA&pUpUPx7R(F?QDU65wNCj^I*6DE*JRya?Ia}6o&Lz6=8bdi?!wa*n|va z%IpbJ0FCS+{7khiX@RRA`9$(03Nio41C1# liEYAf|4Hy HREW>nSgWpL$|Vz{c)<`b z$8Q-H0A7V!Z8}ONe*P9gmETu6v@y|)V`G=>c{`A +hIH7j4Dqy)kJ}ilfQFJ_+731P;zf0wuXlk$V=*gt|Ja8x}RR7 z9n#N;fOZjaEaz54xQ@^-(>QxYYx8nL& &q<^~Qhmb2+dwmFZ1=>1ALUBTnul`wP(S?vl__{^yJR!^W|2 zGPStl>++cwSo_fhf&w8I`_b3Kx}ta?dg#sSMIH-jhn+u{lJ}=4iV4c`>-NN+(AaET zEpluQK4C^ojgPHTAs +196(zp4Jy6m%_&YxIFe>>V6yYEf~)twGc`_z!f*rlG^CzhKse0cw- zS {Q8r~_$$zlD~MO~){I2%}Ye%lD%!oZ}n zA}_P 8a-kf|8OZ^aO0-@EUg o;))N8vc&LmHxBXDkjWg#y?czA$8}HTgGE{QoGqF|?e3MTN zIA7|Bh7Mmkm2FuoT#j pe-tP25|AqS-* zLNh_e?u(LKx^DtufB7C+L<%L7_EJOg|Euq(&+BJ)gAT-brC$3qR$Mj3oiG6_&6IX- zrN@qc-t&FHY6vZx5TKWhCtF4-SAF|utQoTX%X^uk@0! ?E&KDS!-y8hS`w6#&%wM3arCH$q-4>?z1+k> k~IM )Ay^#8I{0L ^Mof$n)%QpNwVBaq)iCg((!faM_>xT`YC3c*!7{s)bEZ;7XbPqAXDT;tjC zvA!`x LX}w!?>t{Kak2?-DC)X>_)$w|L}Hf zw)JolckLrhSg9$T!Dga+j-li92LUDF`v5)0P76P{__wV5!zft|cBC*3gwN-&!2jwc z1Xt>jZ+$NGab8;)0yj2c(8CJ^T>Itiqn =y-`k2i%y@V*nauV+C&7QG$|Wd7fE zfqa;oJV`o9;7y7D4kgLNR~1FY$J7~u8q39gw&jEQX Ada@so6u3nV z**#T `3HfByTT#`?h{)RSx#}2*}rx?VRx$ zAbM&qsl{Gnf~x!AAbm-Om $F*}|#)|5PbhDz*`b-UK1i$qE*52X4Yt+(K-{(P{F@Vz0N{`1!d zt<>|6WF9@mJEL&otic2>(N%UU&a#gdWJ+N%!{(xnW8Y_;S!M)xeCKn+I~ShqxL)-m zmf(Nhe_|T2@gWPvR11>nc^cHri;X%_bnYOxYTKTYuqL^pMD2`Bd~vHQ EPqfst)3T=-^z;kk^b)$e zy8{>WMjDorozYm?(f2<-Xf>#Fd%1np3}O|2|CAljc}F`Y2)2#`(0Xh?(v^7BzidAi z5OYAoxEjYsF@?+|@)^x6k)XeL&B%B+dPAQ#=?$jLNg8OUcr}`t?=sMF^OymSr5I}* z4Uvw#qa!5WE^L482!>8-MK5Yucjz2; z1%@}vs`wCd@IxC<@uAu 8!D l2cj(uL>`n3QO_W&g<7b)}aoHMub>sgvv4gMF&>FW4 zX7#QK9}xkWhwSWsu^x6@jOgH{snz}+3=bCz+-G8z*SY&I+@~T=##_esrwLppjTqVX z%ZAWpw9PsoDIC|pnuxgI498J_n{)v#KQNqCbt_f|N3oPc;ii`NCQCGObFH&7l%G{@ z6Hz?-8K6|pHpJJwC#!p*1a`k%t}cv1u1e@iMeiELh%Fef*&wW>ae0>OCa>(6bVZo8 z0YB$|>Qy|ssjBROFP!SHROaQ`Xw%e$6SUuK?AF#yT9uiSPhA6F%@mb{-s`>?E+ZJ1 zk2OtqPTgyy-lW=6_eIh@M$S-g_~hggs_7m(EPBZld*~}*ySY>6fbfG!?6nV*q}?{e z-2^D79dTAfvj8nl{+@xBVcW)*qF^Lh!I^r!Z7bxA5}$$Wb-YBQ34P|vx$E>Z9Q8yq z7fMZ+k7m9VtcZl01rSgVRb74`IPks+$JG6+5z3aOSDEi% e&hG+J{5MD^-P#9+W0cq(t z7xXqXZDnE|gnoFY=A(+UF6HlH$aFj MQvBvRqJJS9#S?3~fBxE91V~>#Yq#}}0i%DmQF8UY{l(|8=+vIl4211f zPzsjAI)0c=R
}@o9gVs%`H`AF8oHH1y zz30SvDdBX&k=Wn+FEQNM3on!&kN73CN$A`5z)((m=|ZnN@2=L*(}p<=AtO }bhezE9U@BF(YKe3T$t|Z^-cV@GH&Hi6c=y9`f zi>Pmz+8CwW;kwJOg-*k?Hb#zYg3dFFmxF%0tF_WAMVKxU;?op9Cm@9Ify!cyV@VoW z4A%D_=nL6d!LthdCghY1jp(7q9!|dMdoZPef2;sKX!Fsz6tk&E7JOd+QWwK2byiWE z3K uor{dn#5&`YkmZDzT|`d@v^J+%+3WiHH-#hFv~FZYPhYML!fq*;0`> zKA|;hhBoy18uCLX{IBSdt1cKH{DO&7M6Q%r_U*^H9A~tKd9HoD430I+i~%h_=u!KT z-$`LgrsV4ApmCAa>Ut9|UfQe_W7W?$qT&^%jzpPyg$*8^!3%jxZbkn3IgqBW#dSuj z(SFMHYm`p-pC!ai1j$Yz`|o2H3=tI`hC^C9U_4hzrTFeMrGKUCBHuiX9xenW_M0n( z|Ja|6F=TlYe%lMb;M>5>UEc?-c^+SclyCcpynwYF49>WVhmH$;7Zo{Ns9!o8d06qe zbnPfFz}w~5&6&R=JmVL0MMyp)Sc{lt%lQBky7prcdeMYYV=sy7bK~KBk@Igo{uyx1 z=W`Pyo|&^JP;fRF(Ip0JLR}0e*K=GUo!t-h^3aYQlGJN0>Cl`2u08+j^Gotb(HIz$ zZe-vx!jxS3t|L(OlgN&|y(#H|> Hldz+ji*O^rW(LV?y^Kno`c=u}0Q0 zG|?E*2gQ dG^A3fMn+lG(#R&uDo6x<_f*xFH*Eq6k<^GORXpP-j ;e9_LtwRPd6cj8tn!x 9r__L*Yq9R()s?bK# z194T~gr+s3rO|Rn>E|CoxiF*#v&8+9J-!t%R$*LftQ`NX#@ eQFDdU4f zQb+>F9^1B0N9Gc2 R3P z>9>FS1tM{i&^(7bK^nrK9NLJ+|1ww(4;e592Ze6i=LR_TIBX|)5)XyK81TNuBNLQn za7g8};}*|97i;{tLI@+(6P?l%ZS0lqrKF)R`>}20ubB{#y$RQ|kkk?WT^t8tWwz+g zCq-$+92gLS6SoDnGsj~Igr6De3Y<$^h}Jz*>Mba=Glo(IQTQzCuom}7lkw8tPeqY> z%#qgbtSa}Gi11LUOSL9ueF0(_2=OvLfm_a7mva4iIad3R0ZOsU2VLR*6vOC&y *T4CmApWZhSg+NP} zlwQ!}%COCI0p6697T~C~1Q?!437bD}*e?a4fsHnDB&&^!i#DD?b>RLGcfEI`tg6gWYFTfp z-otN}{z`g>K$|7qDQKlOz 8A7wSqaiZjT zGH3KIti=ovWr->H?ZUk_eJinOyanMsohOII&|q!SSdn6%wWP7oxC31euRUe`Y~W27 zl?{_s+wF;DAZ7H0tAD%zqg*A_jN{sr{vc1v5RXG?0F&jzBJ)V{f;eC3Nx%str$IT! zqpnks6ri!8zkiDKSgCD;9T@FMcw?L+3w}rimhHI#54{AQJSuh|!j(uRdRk`sS_cIb zfAFBP=Ghk!Z>+uM&b3EtyqKwYoV0Ngb7G3_ts)(QKMmQ1BcS%fZi6Gb1rYb6@hH*D=d=@ zIK88*srIwOm6J&2xPfu!EMuQ*EB6j^pYImR&W2&tFjDzRY8CgBhfAj|iwHL?PK>V+ zF}$cBxv6KlvEz#<#+-kZt@`H4Wa-YR$8rDkOh1_)-9(_bktqcxpA9dP<{eF;vKmNL zpSw9$*Pu%R@o)*BDJf_EH0&!^gBnYzzNmVlB(e*B4$a6a&|J}qvFd?p$=l*>pXvYQ zk( 6%It0wJpl9!OW`aB&KJE(9cz5jaU23S zK2ikl^0v7)ZsUZeVIJ1Qkw-Mw;~Kh{f4+CQcVQXJ&esW6(5z`du;)55vOZ|*4>uU# zGip8?T+AFN_<04%13p|B+6Z8vIsC}mX8-R)^Qy^fS3^_3C#IMv=MI6r#T*9C``rG} z#wXDR*V8-})qFDon0lOov*D^jWK_lD-=K>Pef0P0N+P@>L5+*54{GooR9$Cya(cjW z0tJ$?SPWgZ0EyF!amsT3qq1efoa_$%wK{*?x_WLyN^W#LD~IU(7S#wP7XBD~dx) zYIn_Tx<0P2_hkutIhK2=BhO6FS3-Ip$|h>?@1->_6goND>SC 4w|8`)Sc3)K3_ z-&xXLb`6d0bvFnYf{o_xlji#tCgTN;x-Wix)P+?$Kd5A7DcgP$X=QPiQT#g$IZ0*3 z90#1X$9S- scIN%)nT#-ol zw7r5W1`0L=7LcS4GrjIJ^}ElWyc~RxsN&cP=ZjhJI&!2EW+o_N*Jy|lnLc?aLg6yW z>Qr0m6ga5<(Y~qeWT#~M+=`85!*O ^2mhn|uAMWq+aH76ZFz>LDa0o57tzvk*L7C@}TmRNhN7 z8>=tY*Ms2{8|I|^w5mr|*`4!Ub?Ec&Tt%=_H<=mqWH+%r)BP_{m`ALK8o`lrPh4Jl zN{z63;$KcoX?y$4_}Snjxu$N^BI2TZ86Lk RTx%uXk-s0iLx5;FfZGUv6RCpm~YAYLiTWeg6 zy+lyF%sKCeShmNi+a)xv(UFT*Z7h#{AzIEU|12PGUF#?c6H$U+-^WeymyH@8$0@Vd ze+*G~c6F6fzw0NNjn{X=CpC?5INvRz@v>{V69+P7Ko1OhMi^z*IWnizm^v&|BKmPI zpXNF8 8Hda3(*P~ne5g2cp7$@(IjH9 zx#~0$?0xg$n!7T 5(OhFRBZf&^;|h z6(6_M+I?pI_UYai|N2wpJ!0fWnS~!uCba9%IMO+Zy#f>D&R4$&dtLM3itRi47BsKB z1s9=bA3`thZ5FPdy0`d8;&m^fl`&PsG-%UOEpXKQ1$F L$4Mx$Z#D;NH&aV`RlfNxp5^y9{F^JZu^8ClGx_7i zpo#P0Qscy)eD;UfpO}v97dJ7~4^P|glZnI*@BJQg-km4ElUCc;IQjW_tx41^K^2;c zH2TPhuQctbpiO6HSRXv7H1D~+ Ff47{J7{<0RW&Q396P 2an3R`Jq+e!EYttd44>S=Rq% ztKlg^vDHx}&PR{JWn@D*nS}>8USV!qEDh{J6@xZ^|A2&&;1ml8C1K!-3>EzE^Qpz% zI3dNWgJ$P&_yu$me$NTsN{6}Y{={pz`0Y#1zz_v(q3Mg^10k RnvewfEXw}C?O**uIx8ul?rI=(WP8>e+#r;DHVNF#Y2){xN$OJ zKf33Mu#46!OY_=V9xr)%^DHKx2%#BrW&e`NFIx5cHvG}Jr#2lh!`BK|fgJ@i&Di-T z2;hEi11C33bx~@b9hHJixLhv?I9`x({EX6s-`dh(>WoRd;M} {cGaj7mY2os4l{_E*n__y;1|Lc8h1F236P!pGnSm z2L}ghrh&qNcU5Zd5fC3I>SG*T^BOd zrNOnh)K`IN^DtwlkeWAsQCxx++aN;M-ZWK2E{3oK2k>e@KWfQZzW3s9HP$s%*Mkc) zZzmOD;QiH!g_l=93VAi3$r1nhmQta_<$+zF>t>ck>(y0X?4(!iX<5Lm|9V0PQoSdC z#B1%{mZ}U@Z@?ve;+BVE$B9J)LuD&*=>QWxs1$s^jQ{Zm(# E2g QFVe3b#_bGsR!WErxj4k4G1v cM9a*p7*Lmzt z2ifE^tNON^Q8d%!@6_-Y$hb@W013UKVJwhacOS6 Hr7?$l2 xq zo=XXM8JPj?J8OMvMg;9`_o;(cK_HNw$MDZ_yNtw#Nx0Ln3}Uh`=Ca%JqK)XmUL&HD zcyvqr#RDxj@!2aTKz?l{3=7LE?tKDY$XGpB%(c4dn?yX^6XrN@`bV(LM;=CbUX@7p zK;rnE;=(U``Lmg`pYQBMeI;!H>KDrzjd@M3O|LslEB!W ?+27pJkM>h$_MmX<;-AvvC+A@1LWb(RM_*tZ=2 zlCl5Lr6$`b``#Hy5XGHQ2Xc|VW|#F^4rof)!SQ-d00CJtdCTLQDP^|yjzZ_pSpZ<9 zyP*A@dUX$AwwisjFQv`A9N6%~k=i`>yB~2_>FLvnGpraam-k0}Hp|soG!*j8Lj*Jn zoo-~*!=JzJymRRhfoYk`l6`1wpM8H<8%H&w{TA@amb`&r#=^oITo+EtgQ}OxmYmbZ zReaVS8D_=8(#RQ?rw(BN=)(ZBirEkV$``pKZ#8Vx=i_zvnxvp%%;C_b$D6EJ{aSZ$ zD|c|qZRtXPlr27+MOis>X)wGvO}t=eO BM9sRJ7iX(SRjMuFNbpgCH^ zu`6%y1|Imv+%r4+iXC$qI3cL@sj3C`+pUvslxi<7p-1-DhHSoR*CT!pm6wi^VwYTF zX5M!m75P&)n*j~D*<`YuflXXZW+Af&1vtkZG9dqhUgcO3^vCw4TR5Btp;#;0r~IC^ zj}Itrl?y!}1`N|Ar$jyR-%=4nd1b-*hD)4Q&ry8g6ZnqTM=VOKj=${P(!~z4xOByD zu!;>M$bzVYnR)2>v;4|VS=<5T98!ZcVkr16AE~O9jFtDvH`TT0)1U~Taj#*d%j_R@ zj`sgjTc4Tn(%q!DEnNlS`Fp^^dJ>83Bj1%5|C7z;rLse --B9nIgG0tFw9hQA` z70`6}MtJ7LpW|m*tCGyNy65#^)oJAoFH}Keh*0GMR=0<*PJEM2FQSLAclM75ahO|t z(uFdJf_y{ADQ9|y&_2et`vOsGWYbTuK9l&Bzq^M>y030Lx8*bXww`qhe0IBfM7Z0? zS*kSasVR_fg_#Qp4{-K?`}js9#6G?@Rf34Q6c5Bcuzy05P!J2mE-0;f@-hHzn0cXA zR*G%O$+G<>Rz%dp 0}`Qam! z`p-W2y{^$iW8((3@e@$g2D3k+`v%=DEnL57vcp$q>I1X7J9g1QnvjmGvCHRmBG+ni z`b<)?j_P+tGvUSZJav}Cgo_Pai!HqJ71CJ~d`U`*Ppk6z&nnxUt(pk_7SKZ2j`4G% z 4SA@EQ&!J8b%WWVOY6Lngq 4(a#|L_eDBCGL|sdt zwbol@8(+`DV$w5j76TDL-H0`gK>poXdmrqc&!f{{)<^-PdZ%epda;#^w!Z`1 YG^y!9al_2F>$TF33Aq?;Bv_Me3_U{wKCx{Tbxjo4vOFm Q>(uEqG!;r&WnBb1b6;LGL zaAjRa0>rDdm{_A%Z#52_%kWvmkO1T^3?ggqC>Nk8A}9f-&opE5%ulZ^xS5Dllef#= z)VtN_$o7(cSIBs2vSwW_dThP*RBLmiFuQ?k8iaqgXC8IFo4-MD)1G{^B~+9+85Pl; zCKt<*7Ah0u;Mw$C)fxXx+5DI7Lh)^nqqJQFDWhBj_rh9|6pb1}#&_?nzpVKyhvf_~ z#`UQZCl{W0ZBYdK3lT&EFXJ5vx1R9YNipsB6(~H#Ij&akG i`$jxx!c zqd_pnUrf^EdAn~R?^VN9)rI4%N275QBuhe{UlXIc!zlu0?SHpCMI)DlUzCE4+e9Jg z%+}_ylT>@0UbFf-E% %gnBgJM zOtzk)XX`GWABp2y&iFTh&r^u$pX#X*+ut8OWdyZ;_lg0RS6N9_Dlw4ujz%SV<)A*v ztTTk1Y?A9a@EtvrQX}BL`)~uPY$B(7R 1@ M5-{R0nm+gxt zw1N6Z8wzy7IYf2I4pLjPAcjkkUU!_Df0CM8?5R&ug^&6N!`r>3m`q!>Y5PoGX_J*P z^r&P>2K~nG-4ndaoKs;cc8eh+sFW$tM<73(3OE>$8#wzMY53<+Ob;x+*g5*o$X6rs zvV-0MCA$Gx8}NM0xI4x Mb9?E#DeX~kQ(I3u+1s)#t z%k4_Q&D-~O2V@_@`z1VA%P$lrd#)iuy~9&f1=xdtp d@RGtZjXF)GJ*dX(b)|9E@rs5pXWZFm-fdkF3j2LgoP8VHaO zf`kNuyR*34ERX;}Lm;?IfCP76Bv^2FcPF^+zQga{`+fJE_y2bfXSR2`XL^^edAh2) ztDYAu#)cy}z%^kHM5~rDGU5pX1ZEI{_buqUz3&xo?YEaAa_EhtJaz<4O Xh`DurGJsuMAZeYJVUMG4K_VBYp=p~~=iSe*~&s01lg}ZgFXNBMZ zW9X_lblE#pR0)UZYMNhX01ps;o~)KF0m)hRrR-6<&ib=XvDl9pMCIG`{;eXe8=h*A zcVch3@z8>0F#?}Ns>ZsH>Da^(m9{^T8kn7$(zX}vm5OZVISh<8r&k?+e>JH-WG}q^ zT|iNUFO^0@8FabUZ&2@e*eR+Geon^eU!Eli&(NJE^}5j!*1hf!*8bb~3U|w(IfTu* z4kz%%HrnirC$y&E$=>!Lwb2!SYY@(S PhG2Wam(RB_AD~Oo3*;O?~!p;@Co8(pFNJntRBf0scCea$2#_uQcLj)q=tsN64HYRH{PBBtF?6^yK#BY8*l5b^O0s5=RR z%zvld8Jg0QFii{t@hm-ug0T9@qqFlVDT~X9BF>R7ikA<@r@HihR5o&VJoMiOpS|(B zI)>R)Hy^3D+{({KYCtXbITN7tUBb*ihvStMVde#h5H}5Mk$qJ|$G7-Z`pd;ZnaFt5 z9oKpy^Z8lmvixNCvtQgmzOsopka8b{gz9>y@5BYkoj|hTmMChkvM2k_Ej$GO$Y3hV z{t^PG!Fu<}K>gmtNBV0$lX3hONh9;RCEn>0j%(J`IVRf#rhQ3aCDKgoS@udsJH>$w zAkRjd@KYmk;D>5-1-GN#azMv!W^#2-AAL|G`% zPT-@juGP(lb78Ek($?ceAj Bpji z)x5#O^Mje&fvh5z1{Ukv@T$|2YwbkRho2)M@$r|`d9?!x&zB440h0W7uy(XxQlgmF zHB39GNcYWwB9)8|C-_0Hb$AZHS3M0qx-=-+PEu_pFCQPn@|@J<*^BOwUYldg-zq^b z0X3temZHHjy*v2BHu<9+=%tiXsIeWFFwS^x!28u%E)WJ4s)OcXf@(I_F04I)0mz%( zF-`+4b2k>kb=rGri=Zu7cT#wU_Ag?bn|z<(_O%gtUn`EZ^vzsNnZkHr!;_OCx=Kt) zhh) 0LH}V-trDAVhL7oN&cCv&kAMkepD>aecKuw0?lP@NEN7~tM1}h!u6q{B z-?P=VyfJ1S|6 PZr!Yp|&%RxgK#nJ|Ij22kx+@P=yc zypa7^1ZbFlJ##dAx8b=C&pB-${^6mBRk??=?^27@i?DxAXXoCw|L#1zGhSH~QLajL zaG*!|R_L4yStc7|^?}5{j_*%?1PNQZDmh3mk@Cf~Ad| XVYLZm{a=ufmGfRE*_HTx&h)`GBgbjMme#6DtNPAQm zBmD$%+iX7L8FbMLTgI<_$%z@m&b!uDz6ST%w>eJtmD=KY&FmmznACm^4YOS^rhMe= zEJsssr^;T_ln^?_$@lSx?^xQCLeLB8dilF8vmvzz^pcQDbo~>*jI$bKb`9(rsx6#9 zGkr2H5Yth6hW&S#>#M=6XEu>&*c3**NgAJda0T!4`e8A-`Nf-h7g^Z?QB?b3we!%s zp$K$AluhXf*jOB!nSo%3US8kSa}Z9Ul(22?R?(fPoK3G5t^Y3u?1ZTYvQ`S$61tU zf*hzyx>gn tJIbuwj|&PX# }h a^kCxLeSa@yBTemqed3pq)`Q*vOEi9g8% z?JB9u=5*Lj7C-?T>fq!@_y;pPd{a9$%g#U?$jYSDfBstQ{Lt9Kqa{MWgD<> rRHB5KjW3c7djr@HIZIYm8CXCpNkDwSb> zAgmZ&<+FIN())y?cJ@T+kBs@JDi6{<`gp%k$jLCR-oG@|)gZq#@XYjO)j7C1^kDT; z0yzmApRWS!$!Hth)&(G)GT}Sa`sVzimsq}A5^0Bjqg#(Pf8)$TJ2QtXR%ji}DG|8P zlJN!HI9uYZI6Nnbqr^Gu)?1L$gk3h|%7VM0gfGmGu&@ ~bW7~MvRAXP z-TxMc{W^8DCOeoC7x?CW%3(;ycPLU2{Q2{p{KUAS!@e&$>1`f8Q*r0k|FiO*r&h3X zgQ~I|#b T8oKDq49Sn57DC4GU^0>Lcqfj?D=rP;WZt^RbK2$hVrcELhZ};lcV|J zQ*Ph)KP{a9Tc-Y2#@M8nwaN9VSdvOu$Iy5GEp}71@WD&q;px9}KWcxOiAcQsu&od* z0?Lh2?B<;@YnpFjYzGdZKUj!>T&7Aw^yCx{!i>4+T#d87>#T&FW@FwN69DH0$|u?q z+K!yk9pRn}X0Dt1(Td!MEK2O($Qoh{##t7QR>VJ*xurZaBJH6mTelp37&dIXpBR+1 zJ>R ouVv>M^#Gc%T 1Y{%xWY#II{y|E z$b!yv3j2^=)#k@Kpy1Y*;bT`L=ZFH2(o=9V2vtdf{jz`R3kx~_Lf#jLV;RDtu)QMi zL>{9&&MMt(_Yl;OQ= f8UImS0K* z!JdEsn|1Kavfja8ZttdY!PO4*1dozy1Y~yZfX~uRKD^pY8y9kSpYx?@^LTzj@J#pB z+T>7-E*2G+{P x$IEs%|I&nh;4RpFFj7&33G&F^fjU>b9PQETgA%)bss}(G}8! z2WMao%0EXp^r+H>6pemi=YMR^EdP!;+Wo5C%2lUiE3b(7sTitg*17HJKaCw%bRpe= zduhF?5Hv-O4!L?2%+Gq^6%%bZcj#MBo#GAL5%gS&J08Qitv-Byx?!e7-`cEK1pve; z(|(X6j4CXl>N|=u6rOs+c~5fjGtU{gv_ YgJ*_~glxI9{`GC-2>lu_$Nt`JA3o zz2+yRMa|lD5S^4=>^05`67)OzLZv%^K8!`0vtl>Ld{!}smYd_9uZ}m3tT>>&Fpo3i zV`2h$;zRxtHcq<#)FS7Z%7bS$i^o1|_v2>0qDaE{N88gMb>&8GV}Rc|1|FsI9(SZB z|NKgQ=T=Gb`b}vvwhMWpw2UTCd#9c! gVjjC={ZyG3Rr-OdI_mgxyeE DcE^m>{rL5@;|oPrwty%OvvigVO7;3`*pVcv90HiAUA1{ri-HU zChI1pKhrO6CO@J~kj#J{e5pni1mULJNhqe`uV+^y&d+r2&*pWA{!gR-w2`I4Z5oDh zo%0h5ZoZnNdk6ejljbhooNaan(r{0XdpCFObrKbh_s}26fF124>jt_GAGJ?|@WKC% zfXc$4j@q9x7pGRyplp7>*S=E6pFko@^&tkU`{vN^cAv_BM@D6}LdyVAzPt8O1C{Th zlqz{aMV%Z>=B%d*^t>`usp~yZ6zjW7SvcFTB|CX^_BuKX{jY|qqJN%#J#!u^%18L} zV5f5~MWvg~RF0zPmcMna+lCJV_p~^Mt|Y_-?tD`xZr@d;ISQ&G)Qv}{97EgY=Tj@m z$O09_LC2)EIZb2d>mLj_x1Q}0>tDu_pmnmR`s &7BZ9VbSAH%}U!>3-Ot<%p zhNgZr7b!sRdTrlHgYOlw;E~V92>f&@bKcWoS(jS&4oCia9w%rTJoi(>^F`tO9kWs; zqouefwenEPoSUykKR3p8+%fx%Q)O-DuwKc&005}bt2gwr-oPC7hfRV)rJ$GHV6}Oc zSyD&;6OE_$8@y0!g0s2ki^OFo6YS2)_{$SK9uw1w(2iZ07JK6cSDVyzUpYO)4^& z?qPLG)RZd~{~7B3%62|qC}AX`WpjsK0s85MtQW-CH&2Wh2W_hl<>`fg_+pc(RDX;0 zKYh1sxA7t1yWosgNO0mSfdflg&`9|saY(!PPfW?Bn=_Wp)(8N|Tx-bQIR|-tGKc}O zfSC|Zc6AtF1Db_D_bx%-R(|a_)XZ)a!v4{*aIyZ=!^my#BK~i0q5hCMLtxa@NY$7+ zjsNhaO>DQ^{HhB(JKBWuvX$ZX 7`)C;v@NC(>s?!;X0n-kqeabepV3L* zzr00?fAK9s%X(ZCxgS#LY|s&XyFH~x$Mw1A(L!=UQX4dA=lfJ77aYicX9R%TU#S?p zMIK#Ri~)H=ZtcJqN`w;o66*C=PMM?{oXnu67n 7MN+Zbbngx&- zJ(i0N?PZWLLQ8nMGOB+}Mw47SH+`AKf>BA%-2Grzqxqdyz3fF!n*~jx(^JkiEuvxd z#MFczLKdqZ!i@-mGk>H{@*9oCJ$YjOEN>j^j*QAZ(#emcFfwtZ1o67v%i`iIq1g8E zqkjv{4eKr5-h1mwbzXC4j(zU3`SS0;cC9kKKZ9tmupqpMwB(Ehh^mx3+f{GVJ8jiA zPJn6si)4$L9`ni>$wHBBqs?paG-5<8)&=XpJPD0P&1;EdvvZ(WJwlP1lrmKMYlq#^ zicsJRrsTTf);g(PD)IS}#B^4b5vsmsDRMsIm2TrD)~i#YlPVQ&Zg5VUY>W%U1qKQW z9`)%dr-po$Q>2Sw;t{>qC|;3@K0GA&c3||~;DV^Y69^~-0pdyQrCw7qY~}$|4Q#|K zYSqu5toRAY0j5Ng3t$QMiZ)t;(wPbQ5c@EM)T-B%r@(iW2H>BS^oa_G8R&?Q<#BMy z-1!pFT<}h-x wW{B_i0+33b6V$s*Yr|roI%5} zwS+CxjJGG3wGPFT{O%5Uk-|Xdi%&TPzggREtF<9=t9&Z#JNFiqO+CF`f(QxruV0CZ z+TaT(Z${vu9Jy}_3gQ+daFY9uJ6e~2>MtgzzMeg`KGJ#sg{+7E1ydzVvp2|wFgxC! z8J_(sm~giyc FdJIj+zKaV+&ge`mYaxo66LcI6^740V%Myy zDidDr ole0p6Bxr5N9-HAYvkR# z!9-T$hNd{`N!Ls4`FdwU-vf!p(6XkD$S88C*na7py1YWAX8^UZ{!~X<^!c;lN6XR? zFEGvKU-NhlCdSRp0B2{_psk6?id7p9a4XNcV!|{jBqPL