From 9ca37e91694d565ee969214f87d7242fd568934a Mon Sep 17 00:00:00 2001
From: Akrilla
Good luck agent.
"} +Good luck agent. You can burn this document with the supplied lighter.
"} return ..() diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 2263bd6fedf..baef462f732 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -13,11 +13,6 @@ var/should_give_codewords = TRUE var/should_equip = TRUE var/traitor_kind = TRAITOR_HUMAN //Set on initial assignment - var/datum/syndicate_contract/current_contract - var/list/datum/syndicate_contract/assigned_contracts = list() - var/list/assigned_targets = list() - var/contract_TC_payed_out = 0 - var/contract_TC_to_redeem = 0 var/datum/contractor_hub/contractor_hub can_hijack = HIJACK_HIJACKER @@ -33,53 +28,6 @@ RegisterSignal(owner.current, COMSIG_MOVABLE_HEAR, .proc/handle_hearing) ..() -/datum/antagonist/traitor/proc/create_contracts() - // 6 contracts - var/list/to_generate = list( - CONTRACT_PAYOUT_LARGE, - CONTRACT_PAYOUT_MEDIUM, - CONTRACT_PAYOUT_SMALL, - CONTRACT_PAYOUT_SMALL, - CONTRACT_PAYOUT_SMALL, - CONTRACT_PAYOUT_SMALL - ) - - // We don't want the sum of all the payouts to be under this amount - var/lowest_TC_threshold = 30 - - var/total = 0 - var/lowest_paying_sum = 0 - var/datum/syndicate_contract/lowest_paying_contract - - // Randomise order, so we don't have contracts always in payout order. - to_generate = shuffle(to_generate) - - // Support contract generation happening multiple times - var/start_index = 1 - if (assigned_contracts.len != 0) - start_index = assigned_contracts.len + 1 - - // Generate contracts, and find the lowest paying. - for (var/i = 1; i <= to_generate.len; i++) - var/datum/syndicate_contract/contract_to_add = new(owner, to_generate[i], assigned_targets) - var/contract_payout_total = contract_to_add.contract.payout + contract_to_add.contract.payout_bonus - - assigned_targets.Add(contract_to_add.contract.target) - - if (!lowest_paying_contract || (contract_payout_total < lowest_paying_sum)) - lowest_paying_sum = contract_payout_total - lowest_paying_contract = contract_to_add - - total += contract_payout_total - contract_to_add.id = start_index - assigned_contracts.Add(contract_to_add) - - start_index++ - - // If the threshold for TC payouts isn't reached, boost the lowest paying contract - if (total < lowest_TC_threshold) - lowest_paying_contract.contract.payout_bonus += (lowest_TC_threshold - total) - /datum/antagonist/traitor/apply_innate_effects() if(owner.assigned_role == "Clown") var/mob/living/carbon/human/traitor_mob = owner.current @@ -409,7 +357,8 @@ var/special_role_text = lowertext(name) - result += contractor_round_end() + if (contractor_hub) + result += contractor_round_end() if(traitorwin) result += "The [special_role_text] was successful!" @@ -425,8 +374,8 @@ var total_spent_rep = 0 var/completed_contracts = 0 - var/tc_total = contract_TC_payed_out + contract_TC_to_redeem - for (var/datum/syndicate_contract/contract in assigned_contracts) + var/tc_total = contractor_hub.contract_TC_payed_out + contractor_hub.contract_TC_to_redeem + for (var/datum/syndicate_contract/contract in contractor_hub.assigned_contracts) if (contract.status == CONTRACT_STATUS_COMPLETE) completed_contracts++ diff --git a/code/modules/antagonists/traitor/equipment/contractor.dm b/code/modules/antagonists/traitor/equipment/contractor.dm index c6b5a149618..a7becd8617e 100644 --- a/code/modules/antagonists/traitor/equipment/contractor.dm +++ b/code/modules/antagonists/traitor/equipment/contractor.dm @@ -28,15 +28,70 @@ var/contract_rep = 0 var/list/hub_items = list() var/list/purchased_items = list() - var/static/list/contractor_items = typecacheof(/datum/contractor_item/, TRUE) + var/datum/syndicate_contract/current_contract + var/list/datum/syndicate_contract/assigned_contracts = list() + + var/list/assigned_targets = list() // used as a blacklist to make sure we're not assigning targets already assigned + + var/contract_TC_payed_out = 0 // Keeping track for roundend reporting + var/contract_TC_to_redeem = 0 // Used internally and roundend reporting - what TC we have available to cashout. + /datum/contractor_hub/proc/create_hub_items() for(var/path in contractor_items) var/datum/contractor_item/contractor_item = new path hub_items.Add(contractor_item) +/datum/contractor_hub/proc/create_contracts(datum/mind/owner) + + // 6 initial contracts + var/list/to_generate = list( + CONTRACT_PAYOUT_LARGE, + CONTRACT_PAYOUT_MEDIUM, + CONTRACT_PAYOUT_SMALL, + CONTRACT_PAYOUT_SMALL, + CONTRACT_PAYOUT_SMALL, + CONTRACT_PAYOUT_SMALL + ) + + // We don't want the sum of all the payouts to be under this amount + var/lowest_TC_threshold = 30 + + var/total = 0 + var/lowest_paying_sum = 0 + var/datum/syndicate_contract/lowest_paying_contract + + // Randomise order, so we don't have contracts always in payout order. + to_generate = shuffle(to_generate) + + // Support contract generation happening multiple times + var/start_index = 1 + if (assigned_contracts.len != 0) + start_index = assigned_contracts.len + 1 + + // Generate contracts, and find the lowest paying. + for (var/i = 1; i <= to_generate.len; i++) + var/datum/syndicate_contract/contract_to_add = new(owner, assigned_targets, to_generate[i]) + var/contract_payout_total = contract_to_add.contract.payout + contract_to_add.contract.payout_bonus + + assigned_targets.Add(contract_to_add.contract.target) + + if (!lowest_paying_contract || (contract_payout_total < lowest_paying_sum)) + lowest_paying_sum = contract_payout_total + lowest_paying_contract = contract_to_add + + total += contract_payout_total + contract_to_add.id = start_index + assigned_contracts.Add(contract_to_add) + + start_index++ + + // If the threshold for TC payouts isn't reached, boost the lowest paying contract + if (total < lowest_TC_threshold) + lowest_paying_contract.contract.payout_bonus += (lowest_TC_threshold - total) + /datum/contractor_item var/name // Name of item var/desc // description of item @@ -45,6 +100,36 @@ var/limited = -1 // Any number above 0 for how many times it can be bought in a round for a single traitor. -1 is unlimited. var/cost // Cost of the item in contract rep. +/datum/contractor_item/contract_reroll + name = "Contract Reroll" + desc = "Request a reroll of your current contract list. Will generate a new target, payment, and dropoff for the contracts you currently have available." + item_icon = "fa-dice" + limited = 2 + cost = 0 + +/datum/contractor_item/contract_reroll/handle_purchase(var/datum/contractor_hub/hub) + . = ..() + + if (.) + /// We're not regenerating already completed/aborted/extracting contracts, but we don't want to repeat their targets. + var/list/new_target_list = list() + for(var/datum/syndicate_contract/contract_check in hub.assigned_contracts) + if (contract_check.status != CONTRACT_STATUS_ACTIVE && contract_check.status != CONTRACT_STATUS_INACTIVE) + if (contract_check.contract.target) + new_target_list.Add(contract_check.contract.target) + continue + + /// Reroll contracts without duplicates + for(var/datum/syndicate_contract/rerolling_contract in hub.assigned_contracts) + if (rerolling_contract.status != CONTRACT_STATUS_ACTIVE && rerolling_contract.status != CONTRACT_STATUS_INACTIVE) + continue + + rerolling_contract.generate(new_target_list) + new_target_list.Add(rerolling_contract.contract.target) + + /// Set our target list with the new set we've generated. + hub.assigned_targets = new_target_list + /datum/contractor_item/contractor_pinpointer name = "Contractor Pinpointer" desc = "A pinpointer that finds targets even without active suit sensors. Due to taking advantage of an exploit within the system, it can't pinpoint to the same accuracy as the traditional models. Becomes permanently locked to the user that first activates it." @@ -170,6 +255,8 @@ hub.purchased_items.Add(src) + user.playsound_local(user, 'sound/machines/uplinkpurchase.ogg', 100) + if (item && ispath(item)) var/atom/item_to_create = new item(get_turf(user)) diff --git a/code/modules/antagonists/traitor/syndicate_contract.dm b/code/modules/antagonists/traitor/syndicate_contract.dm index f16566b1f36..ed62a991f3a 100644 --- a/code/modules/antagonists/traitor/syndicate_contract.dm +++ b/code/modules/antagonists/traitor/syndicate_contract.dm @@ -3,19 +3,22 @@ var/status = CONTRACT_STATUS_INACTIVE var/datum/objective/contract/contract = new() var/ransom = 0 + var/payout_type = null var/list/victim_belongings = list() -/datum/syndicate_contract/New(owner, type, blacklist) - generate(owner, type, blacklist) +/datum/syndicate_contract/New(contract_owner, blacklist, type=CONTRACT_PAYOUT_SMALL) + contract.owner = contract_owner + payout_type = type -/datum/syndicate_contract/proc/generate(owner, type, blacklist) - contract.owner = owner + generate(blacklist) + +/datum/syndicate_contract/proc/generate(blacklist) contract.find_target(null, blacklist) - if (type == CONTRACT_PAYOUT_LARGE) + if (payout_type == CONTRACT_PAYOUT_LARGE) contract.payout_bonus = rand(9,13) - else if (type == CONTRACT_PAYOUT_MEDIUM) + else if (payout_type == CONTRACT_PAYOUT_MEDIUM) contract.payout_bonus = rand(6,8) else contract.payout_bonus = rand(2,4) @@ -57,22 +60,22 @@ var/datum/antagonist/traitor/traitor_data = contract.owner.has_antag_datum(/datum/antagonist/traitor) if (M == contract.target.current) - traitor_data.contract_TC_to_redeem += contract.payout + traitor_data.contractor_hub.contract_TC_to_redeem += contract.payout if (M.stat != DEAD) - traitor_data.contract_TC_to_redeem += contract.payout_bonus + traitor_data.contractor_hub.contract_TC_to_redeem += contract.payout_bonus status = CONTRACT_STATUS_COMPLETE - if (traitor_data.current_contract == src) - traitor_data.current_contract = null + if (traitor_data.contractor_hub.current_contract == src) + traitor_data.contractor_hub.current_contract = null traitor_data.contractor_hub.contract_rep += 2 else status = CONTRACT_STATUS_ABORTED // Sending a target that wasn't even yours is as good as just aborting it - if (traitor_data.current_contract == src) - traitor_data.current_contract = null + if (traitor_data.contractor_hub.current_contract == src) + traitor_data.contractor_hub.current_contract = null if (iscarbon(M)) for(var/obj/item/W in M) @@ -133,12 +136,13 @@ // They're off to holding - handle the return timer and give some text about what's going on. /datum/syndicate_contract/proc/handleVictimExperience(var/mob/living/M) - // Ship 'em back - dead or alive, it depends on if the Syndicate get paid... 4 minutes wait. + // Ship 'em back - dead or alive, 4 minutes wait. // Even if they weren't the target, we're still treating them the same. addtimer(CALLBACK(src, .proc/returnVictim, M), (60 * 10) * 4) if (M.stat != DEAD) - // Heal them up - gets them out of crit/soft crit. + // Heal them up - gets them out of crit/soft crit. If omnizine is removed in the future, this needs to be replaced with a + // method of healing them, consequence free, to a reasonable amount of health. M.reagents.add_reagent(/datum/reagent/medicine/omnizine, 20) M.flash_act() diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index d88e4a1b9db..0b885118aa9 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -137,7 +137,7 @@ //Black-red syndicate contract varient /obj/item/clothing/head/helmet/space/syndicate/contract name = "contractor helmet" - desc = "A specialised black and gold helmet that's quicker, and more compact than its standard Syndicate counterpart. Can be ultra-compressed into even the tightest of spaces." + desc = "A specialised black and gold helmet that's more compact than its standard Syndicate counterpart. Can be ultra-compressed into even the tightest of spaces." slowdown = 0.55 w_class = WEIGHT_CLASS_SMALL icon_state = "syndicate-contract-helm" diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm index eddd1cd8525..45a69aed9d3 100644 --- a/code/modules/modular_computers/computers/item/tablet.dm +++ b/code/modules/modular_computers/computers/item/tablet.dm @@ -12,24 +12,26 @@ slot_flags = ITEM_SLOT_ID | ITEM_SLOT_BELT has_light = TRUE //LED flashlight! comp_light_luminosity = 2.3 //Same as the PDA + var/has_variants = TRUE var/finish_color = null /obj/item/modular_computer/tablet/update_icon() ..() - if(!finish_color) - finish_color = pick("red","blue","brown","green","black") - icon_state = "tablet-[finish_color]" - icon_state_unpowered = "tablet-[finish_color]" - icon_state_powered = "tablet-[finish_color]" + if (has_variants) + if(!finish_color) + finish_color = pick("red","blue","brown","green","black") + icon_state = "tablet-[finish_color]" + icon_state_unpowered = "tablet-[finish_color]" + icon_state_powered = "tablet-[finish_color]" /obj/item/modular_computer/tablet/syndicate_contract_uplink - name = "tablet computer" - icon = 'icons/obj/modular_tablet.dmi' - icon_state = "tablet-red" + name = "contractor tablet" + icon = 'icons/obj/contractor_tablet.dmi' + icon_state = "tablet" icon_state_unpowered = "tablet" icon_state_powered = "tablet" - icon_state_menu = "hostile" + icon_state_menu = "assign" w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_ID | ITEM_SLOT_BELT - comp_light_luminosity = 4.3 - finish_color = "red" + comp_light_luminosity = 6.3 + has_variants = FALSE diff --git a/code/modules/modular_computers/computers/item/tablet_presets.dm b/code/modules/modular_computers/computers/item/tablet_presets.dm index 14b4b524f52..3e3d7d02eac 100644 --- a/code/modules/modular_computers/computers/item/tablet_presets.dm +++ b/code/modules/modular_computers/computers/item/tablet_presets.dm @@ -28,11 +28,17 @@ install_component(new /obj/item/computer_hardware/network_card) install_component(new /obj/item/computer_hardware/printer/mini) -// Given by the syndicate as part of the contract uplink bundle +/// Given by the syndicate as part of the contract uplink bundle - loads in the Contractor Uplink. /obj/item/modular_computer/tablet/syndicate_contract_uplink/preset/uplink/Initialize() . = ..() var/obj/item/computer_hardware/hard_drive/small/syndicate/hard_drive = new - hard_drive.store_file(new /datum/computer_file/program/contract_uplink) + var/datum/computer_file/program/contract_uplink/uplink = new + + active_program = uplink + uplink.program_state = PROGRAM_STATE_ACTIVE + uplink.computer = src + + hard_drive.store_file(uplink) install_component(new /obj/item/computer_hardware/processor_unit/small) install_component(new /obj/item/computer_hardware/battery(src, /obj/item/stock_parts/cell/computer)) diff --git a/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm b/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm index 1a7b0933667..387921eac6f 100644 --- a/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm +++ b/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm @@ -1,7 +1,7 @@ /datum/computer_file/program/contract_uplink - filename = "contract uplink" - filedesc = "Syndicate Contract Uplink" - program_icon_state = "hostile" + filename = "contractor uplink" + filedesc = "Syndicate Contractor Uplink" + program_icon_state = "assign" extended_desc = "A standard, Syndicate issued system for handling important contracts while on the field." size = 10 requires_ntnet = 0 @@ -14,6 +14,7 @@ ui_y = 600 var/error = "" var/page = CONTRACT_UPLINK_PAGE_CONTRACTS + var/assigned = FALSE /datum/computer_file/program/contract_uplink/run_program(var/mob/living/user) . = ..(user) @@ -30,31 +31,40 @@ var/contract_id = text2num(params["contract_id"]) // Set as the active contract - hard_drive.traitor_data.assigned_contracts[contract_id].status = CONTRACT_STATUS_ACTIVE - hard_drive.traitor_data.current_contract = hard_drive.traitor_data.assigned_contracts[contract_id] + hard_drive.traitor_data.contractor_hub.assigned_contracts[contract_id].status = CONTRACT_STATUS_ACTIVE + hard_drive.traitor_data.contractor_hub.current_contract = hard_drive.traitor_data.contractor_hub.assigned_contracts[contract_id] + + program_icon_state = "single_contract" return 1 if("PRG_login") var/datum/antagonist/traitor/traitor_data = user.mind.has_antag_datum(/datum/antagonist/traitor) - // Bake their data right into the hard drive, or we don't allow non-antags gaining access to unused + // Bake their data right into the hard drive, or we don't allow non-antags gaining access to an unused // contract system. // We also create their contracts at this point. if (traitor_data) // Only play greet sound, and handle contractor hub when assigning for the first time. - if (!traitor_data.assigned_contracts.len) + if (!traitor_data.contractor_hub) user.playsound_local(user, 'sound/effects/contractstartup.ogg', 100, 0) traitor_data.contractor_hub = new traitor_data.contractor_hub.create_hub_items() - traitor_data.create_contracts() + // Stops any topic exploits such as logging in multiple times on a single system. + if (!assigned) + traitor_data.contractor_hub.create_contracts(traitor_data.owner) - hard_drive.traitor_data = traitor_data + hard_drive.traitor_data = traitor_data + + program_icon_state = "contracts" + assigned = TRUE return 1 if("PRG_call_extraction") - if (hard_drive.traitor_data.current_contract.status != CONTRACT_STATUS_EXTRACTING) - if (hard_drive.traitor_data.current_contract.handle_extraction(user)) + if (hard_drive.traitor_data.contractor_hub.current_contract.status != CONTRACT_STATUS_EXTRACTING) + if (hard_drive.traitor_data.contractor_hub.current_contract.handle_extraction(user)) user.playsound_local(user, 'sound/effects/confirmdropoff.ogg', 100, 1) - hard_drive.traitor_data.current_contract.status = CONTRACT_STATUS_EXTRACTING + hard_drive.traitor_data.contractor_hub.current_contract.status = CONTRACT_STATUS_EXTRACTING + + program_icon_state = "extracted" else user.playsound_local(user, 'sound/machines/uplinkerror.ogg', 50) error = "Either both you or your target aren't at the dropoff location, or the pod hasn't got a valid place to land. Clear space, or make sure you're both inside." @@ -64,16 +74,18 @@ return 1 if("PRG_contract_abort") - var/contract_id = hard_drive.traitor_data.current_contract.id + var/contract_id = hard_drive.traitor_data.contractor_hub.current_contract.id - hard_drive.traitor_data.current_contract = null - hard_drive.traitor_data.assigned_contracts[contract_id].status = CONTRACT_STATUS_ABORTED + hard_drive.traitor_data.contractor_hub.current_contract = null + hard_drive.traitor_data.contractor_hub.assigned_contracts[contract_id].status = CONTRACT_STATUS_ABORTED + + program_icon_state = "contracts" return 1 if("PRG_redeem_TC") - if (hard_drive.traitor_data.contract_TC_to_redeem) + if (hard_drive.traitor_data.contractor_hub.contract_TC_to_redeem) var/obj/item/stack/telecrystal/crystals = new /obj/item/stack/telecrystal(get_turf(user), - hard_drive.traitor_data.contract_TC_to_redeem) + hard_drive.traitor_data.contractor_hub.contract_TC_to_redeem) if(ishuman(user)) var/mob/living/carbon/human/H = user if(H.put_in_hands(crystals)) @@ -81,8 +93,8 @@ else to_chat(user, "Your payment materializes onto the floor.") - hard_drive.traitor_data.contract_TC_payed_out += hard_drive.traitor_data.contract_TC_to_redeem - hard_drive.traitor_data.contract_TC_to_redeem = 0 + hard_drive.traitor_data.contractor_hub.contract_TC_payed_out += hard_drive.traitor_data.contractor_hub.contract_TC_to_redeem + hard_drive.traitor_data.contractor_hub.contract_TC_to_redeem = 0 return 1 else user.playsound_local(user, 'sound/machines/uplinkerror.ogg', 50) @@ -91,8 +103,10 @@ error = "" if("PRG_contractor_hub") page = CONTRACT_UPLINK_PAGE_HUB + program_icon_state = "store" if ("PRG_hub_back") page = CONTRACT_UPLINK_PAGE_CONTRACTS + program_icon_state = "contracts" if ("buy_hub") if (hard_drive.traitor_data.owner.current == user) var/item = params["item"] @@ -106,19 +120,22 @@ /datum/computer_file/program/contract_uplink/ui_data(mob/user) var/list/data = list() var/obj/item/computer_hardware/hard_drive/small/syndicate/hard_drive = computer.all_components[MC_HDD] + var/screen_to_be = null if (hard_drive && hard_drive.traitor_data != null) var/datum/antagonist/traitor/traitor_data = hard_drive.traitor_data data = get_header_data() - if (traitor_data.current_contract) + if (traitor_data.contractor_hub.current_contract) data["ongoing_contract"] = TRUE - if (traitor_data.current_contract.status == CONTRACT_STATUS_EXTRACTING) + screen_to_be = "single_contract" + if (traitor_data.contractor_hub.current_contract.status == CONTRACT_STATUS_EXTRACTING) data["extraction_enroute"] = TRUE + screen_to_be = "extracted" data["logged_in"] = TRUE data["station_name"] = GLOB.station_name - data["redeemable_tc"] = traitor_data.contract_TC_to_redeem + data["redeemable_tc"] = traitor_data.contractor_hub.contract_TC_to_redeem data["contract_rep"] = traitor_data.contractor_hub.contract_rep data["page"] = page @@ -134,9 +151,15 @@ "item_icon" = hub_item.item_icon )) - for (var/datum/syndicate_contract/contract in traitor_data.assigned_contracts) + for (var/datum/syndicate_contract/contract in traitor_data.contractor_hub.assigned_contracts) + var/target_rank = "" + if (contract.contract.target) + var/datum/data/record/record = find_record("name", contract.contract.target.current.real_name, GLOB.data_core.general) + target_rank = record.fields["rank"] + data["contracts"] += list(list( "target" = contract.contract.target, + "target_rank" = target_rank, "payout" = contract.contract.payout, "payout_bonus" = contract.contract.payout_bonus, "dropoff" = contract.contract.dropoff, @@ -145,24 +168,36 @@ )) var/direction - if (traitor_data.current_contract) + if (traitor_data.contractor_hub.current_contract) var/turf/curr = get_turf(user) var/turf/dropoff_turf data["current_location"] = "[get_area_name(curr, TRUE)]" - for (var/turf/content in traitor_data.current_contract.contract.dropoff.contents) + for (var/turf/content in traitor_data.contractor_hub.current_contract.contract.dropoff.contents) if (isturf(content)) dropoff_turf = content break if(curr.z == dropoff_turf.z) //Direction calculations for same z-level only direction = uppertext(dir2text(get_dir(curr, dropoff_turf))) //Direction text (East, etc). Not as precise, but still helpful. - if(get_area(user) == traitor_data.current_contract.contract.dropoff) + if(get_area(user) == traitor_data.contractor_hub.current_contract.contract.dropoff) direction = "LOCATION CONFIRMED" else direction = "???" data["dropoff_direction"] = direction + + if (page == CONTRACT_UPLINK_PAGE_HUB) + screen_to_be = "store" + + if (!screen_to_be) + screen_to_be = "contracts" else data["logged_in"] = FALSE + + if (!screen_to_be) + screen_to_be = "assign" + + program_icon_state = screen_to_be + update_computer_icon() return data diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 4d7b43cb7db5c6710465269e6361eed94df9a9ce..d9610d69c2fd03eaa50e82e633833156b68a520e 100644 GIT binary patch literal 198465 zcmeFY^+QxqyEeS(22r{ZL6q)p0Ywmy&Y`=z2LuFZML-%wxAw0M^rit75rOGGcX6I`>xJ7eej}K!YH{X1ki^WJ zuIlFP^IoZJEkNlNxR-qi^aRO+n1BVwxD~(o!E8-!4`mMQ#|^G5U1HZac^9#R1y~~5 zHeZ^!_ugktA@GNo*Vost(=IDSO`ri?wZ+9$mEd1U`O=ngkQ`Frfdy#m?yVkH$opJU z^HI9GlD{XS{mB(&-mRoB$XHu9*12F5`AdZ!kS*}o635m?WmX}xbAw9JvYv64Q(2E) zFh2CYVh6l|$q99*I{~E5v`pa{!KdRH`CBSJa65$zi3muDu*^b!Kkc~2e852Sd3_FUUhl&K3w2sGI; zlV9Gbm8e_KIn 6f?qefT;uxjb_n{E&erCZ?7@LRra>Q}1~S`*U_#KRb4hq;9T`vO0l> zQ6y1sOEAq`g77!oB&FK-aRhF9paF n~G&`-S9Uo`j`WrQcu z^3YVgum9N=yx@rdcWFjF%w^&>ii|=xE+$%IW2g!l>Ta2~;EbrBFUYU0lPTFGzk9yV zIDNCx+jV@grKPd^l`=b`zi#f5hyD4pu%Bj~d2-=B))f^M#i{0uoOG9(+8UuJ125sd zwwiKby#YDz!oz=0PqT&G1|JNN9`P0U1S9Hu5g%W@0)}~BgolS~8XEp$tptsanArA= z?xi7=Pd(udH8C;aV#(RRlHI9vL3xFOKoQSVm#$)#req`q$rM>x7q3uy22htfsF5@3 z9mgRm9bNV3`0+ySd9}(KGp@qEzgd9_C2r|^u-pZrYgqpj0tv$`*pvE z=aM2M%HU1OuT}R&U-|P8Qqm;kCnq=e{LnQhQCQuNlEwnQ&bt6!j!zdklo65Gq27Nq z6GT?96$Fe;mhxt3&3FZ4ha%yBANI0#SRkg=3s}mHB-TvV8h9@!+WhiveWxIL250~k z^7x*%9Z3;>C!+!7h7wL+thB%rsbm~Qm4dddbx;BIn{W8UN%H?%imv?` &oyWo6C%sp5Vod43B4lKiVftlOVp z$Mw-?YweGY$xmOV?xJL-RwSo)cXwaDdDAB&f_zkEt-JE~qH#8N^lnIR;tqn|PzBX| z_2Ha*h7v;_fkNJj$K?vq(S{H=&NIX`9iUK@4bTcD47V&y3z7vH**oa|mWUR@H5CB^ z?L8qiAFx+2w1e0xli$w`wp^~pHJZ-7M4dXJu-h3pP^Y>XQx?5Qwanbs)c*ZH%(F|& zi$Nhf(L ^g3QOq%*~&QaE1 z={g?kk4vP b$G`I@IOM>#0`YqL?^D?8ki1fCHVCZ_6s1IV=HL~cNU6En&3 znAB4VWjIU&DmJR%(M$~$F+`BRoX3|XC;jRITAR+MnxVjveull=Y{V-9K*x4@@f1|N zh?4e-g%;WhWZK#FONh%@{Zq97sf_agZ9P2}ShdD|X=NqF%pkLr6g_-izsJ$?_vEBi zO~TF>eHkAut>iDtE$6s|#2&StWHj;HwKpd|1-AtLztSItZ)qxnH&AhfYFt5n7i82q zhRvb4jZmY98VLwkUJ(KnuZ!x~#5h?%{=4`Gsxj!`Ad5~=Na$-x$)F1e@^YE6>-L&0 zBqZV1_ei;&$r7)B%d60=jH-0mHjOdAOj`z5;F|QNbLyw`E~r4uyYoyzW@`o&BNs zgxUf;uIfN4^lw+q&V@J8YIZm;xu4xP|I~w@jESLFA5ejhKo7|Fh6V=^%}!w*N=b4u zfHJ>v-QSEk-rIXm%JKskj(Ra)i=2=od~b8~&zg$uk0rU2%4UnZRl?e*Ve*an_@N@9 z$@pFjnVrnYl)bSeI1exd{4z&k3Q{)RmaQ3Nhl&%*J^*B}J{=_^7e^WpIM}7>tx^7k zwnxpCe2E`~a<6JjKBCSjO&xJ_MUNL6NvsR3h3Amr3h(CPs09GoAhZA$6soc4_Vpm5 zP>;zLacGW$Hs8_`Vt-C`+2}yQGH!?J|3wi8Hp?i2#>lyT(7`yOcow%!zyKu(nA_`Y z_B^OTitHmHO ?t^Km}$X zqX^X29#20K9C;5pYeL2Td-W}kdDIzV!cLHrpa0WRodeO`_3GChX=%T|h(r>GfTJ88 zM|~@+Cx7e&gGckn1emZU%ADsNu#==nD? g#_A{7=}LDQ$w4`F{gg@XFhFG)ez2qK$aqQjGTMe}qA~wfF!3>3`edg8g5i zzMgXa6mRn2q;vDzk{54$61uRTk LV_o;*l )AS%UBqQ7{mzhPgsY3ScbbZh6A)k{D^y`i2MWr^O z*F&Er{2wN5(Z{G(au6zma9=Z5DAb#XXep$S36=*r`w$mnH9gcOCDps&5g!Id3sX~5 z0Fa`B)ow}xk%4UQ>^yxP gIUS>fc`Qhfl-geV{ 4^18?WDu u&L zlE$`hy zRrDrZ&yIN^bLE*< zp?)95KvMYm4MC5wRa|aT5)*eaM}wfW>;>gXC2V{a!%Z8E_ Oliz4HC1W@%M9JA3otMg?HfstJvnj1#Jr9jDl07wZGG#0x`1etk3Dd| zBcX9vrih7&;Wb}w69ld;Cxgpj8A%^CKOW3MksL$-vGYm}1p@;yz%JvQz@vwV+_v=d z6Wum#3jO=-@g^3gS^w%!_UF&nmqVxf9Me?_ %!!drq4g2cw z(!bFSl>RX6w0mK1|Llh$7nl)gq h+A5EVhP)Sl@n1vk8 z&CQ*_;c_Xuv1Hc5Gi;kI9E|3#p->V+rTnJhsX6K!jVhL%yyvyQ_$a^BAwuSSjE3ZJ`4rv95q#Mq9^C0*(SncV`E1|QbPlYV^cY; zw2IWQfQZP*4?|lt;dhM2eMhEgF>He?u+|A`MG^`=F&ei^DyW;AEjq1C;4i^)1XdHgDzqc9`9pDr@bP_TD2?WqV|to!#7l_ag+^MGFzLAb^)3 zPp5O4EpbBq0B^&?iTX=pXob&i@xg&QKU%SWFX%8?XbD(jErCr_%K@rg-*{cmiPQxd zfY6I3)R_^Pzi`Uu*>oPrHG6lNn-xUx4+d<4%y$c44;TJ?N_LgAwod8wXx@W>@o0)l z >mlLL^b&qP$ItK?| zIZ4~t+A0*h{jeW$a)x2HN`u0Yk$FKAUtCgx2K>DU;7f~+#;vSjG`PWieTO)9Kb?H` z-3eM^tl#0g{723nhLXC%&JslO4&s z%yW@I7>LU8w& e?XUGa3v}kgs8EEcRVz|Y0tEYkghv&KOz#f51RC9$G$wdh%$yl{C9O? z`&L$0c@F}ae0c!X{_txmTK`BKK(#8s?YIMH*!8Jx5LNQy%?T_1^^`QzEotns)Od3e z88?#C(>IUB1HN3-4|Q(Z$zS^3OA9e|D=27c>b?h)!q_d9f`^J&Shyraio_nb8QnUb z-abm}Cu 6#aCR5_oMQ()?x{GN4?d{n-85EjGxnhcTU>K<0Rf zsPjGut8q~nM<%!~*~n>iZ*Qy)&%JI6^e^PwHp}T zCze` zp!hFCT_4ppZa)H^5UG8xz)KMn)O3=?8|nY{!CWGXWmp+Aq6&v&T^n_B(OC2APU#o` zEX~Pv4+0%4f8eEq!a28TTr07t%*U0PH@RDZSKx9Jrh7cu-nhWVAJ>&K#>2$zRW~3s zK;TlFQ(Pih+38}tNs8Qe5gl;j;OMH|NIXgrX7-<6X}J+qp?^|26l6iqFDAkq=qQce zIsTVwE+a`H-}2;u5rqrrw^{Mc=jhK!v$8k6(MOrkm1Xz{ufS$-nuu3=6?JYfpY`bD z y^001DRj>mHX8`M{85vaiBuTt}0x1HO+6_VaD3~;5x%~gxX zBYrTXA=#XfXw}!q6O1c2S9yFmTBm(pUGJ4+JXCEblq`d&;fWwbX)Ghs$Yv##jT5z* znfNC(x4FkFR}B5NYbzw~;!maPM8dJKNVw9|r=B04joS$kj)uxr_5Xsk=~&ep) z4ozhk#nIj{~^B+H+oNc@Cm%O{}Kt )4wL+;^ CF`T|IqV{qbUXiJe{uQs+sBf1umQDL(O#vOy z17981*SBWygita!h;Fy#pmJCI;t~4D{MjI{OtOS+fo8Wey6Elq!cA)U{lkplI^1|( zE%UdioA?>3sxxN%D5KbTY4d5z9lw)pUEK&!veT34c^ntTz8?~icpo6cU!)d^{NVi( z4_`?FgN|HQ0^{wwcQuW5c!OH%Bg$dp5p*{fA(eFx)OWVlhsw36czpz=Q#h-vmlE)| z & Pt7G4^ zu eYr7z7TZ>5(fOj;Fr4kSGQK+t=NZX>EYOf?1AO|s>$KH%v%gupUbCQ zt6sdHy%B1M&RwOn&B({umGY!i#YY$Zmx2PdGIJY9RL=*eMH%z1Ga%GSa!jCOe7248 z5ddfs@!7K|+4W}m%|NPVx@}ReY|{xLm$D3bam1JWTPaf MW9v?ME87Vz z1yrh;1<9D1nc2CxdRsm{q$Bd_0gbkcdv|P1(&kZuLbd==W=00t$9_i0=b5H$nG;-Z z%+SAPJX#7Qlu!0}h=_>X(3s-HXkO2=c&->uPEI~?@fE-)`1pIW=PP2ipuIDwI5;r* z_xjz4ia5iooh*&MXKyCNo;r~<&;@3)AKcTry42l=)P0Imwy0!@5siE`?EOMBdTMrP z_5SAUOLZmTU&$fGvq;0UtI;vq%&nV6c+9u_{2H^L=q`0YfqPES>8s7Ht*`e>r=JhQ zumaJ}M2GFYenLfivnT$(L+Qu2FDjLUw`4eXamd-2hKve78$3EGK(m`o#v0Bhk?q*d z|17xOAZ2jk)m+$YJoDYu)&;%c#}EA=n8B-l%e+r3Q4cUuFk0i=jdi(byS;R_2OCGZ zUB2*|6DEh?046&0|E8@ezCVB!i&CP6k-F)M|Fmmi58-(}+Fp1aJn!&pXo!@|3fZYX zZ#Q8lq^dur1*WIyhW}#N;>BS-Cbg9dAvT^Sg+*F2=UayBN4eLEnH@MTt&pan3E$v& zEBEc!cnJ(rzbequlC$$)(g@WyN>#|Ob)x9LU+SX3+=yvO^3mS=a^1mh(RlN9rE z{W*rm?+bV;dT1_JBNSA+&%(47$7dF<3oxm_zrs;S*x6%2xi#CBHd?@KryupuMhe8y zN!vr8%XBA2EA1x|TNF`rD`>dd&%ug!OlPNT(B@X;>ojij(BA`xDzkxV&N1KgT`6$S z%vZB_Otf(=-Qnwsn`(Z6f7r7Vj4+;S6e-vkwDVt&@AY>1^Ja>Vq0LQBV*2{}I$c~U zxp)&bI@g>w=3-$La$#pY*;({r#59>NWD>JsLYFlOmTGHn3uxy_V^(-?cHCAJZiBqS za+iD;uIwI5Nk>Ph7*Hq{ddGCoyzeVFG55uzIC#4*FKLIed)De Eb#T78Y9nn>h4gOXQRZjHp)n$rsAQthZ(y8WLyv zF=HaH0)H 5x%{zfAD2B5qEwW(#c_7S zwnSI+^gN%ec@K4V_y_J6gw8)xsj%>9e;j-D`aq0o#b3HBtjf8w_!`qC3V1CfEZo)I zo!@^avm#C3Nl^)>7Y-(L1(tbpqu`T|_IqSHy6bjC(Qk~`kki$OTTuY<(THQFQ*Mf)> 5S z=O{8GgG~~3?$CC%25aua0rCff&b2JHShEnrcN-_wREtoNYDW}YTFM5rn(;*O_ QVV@xW9B(p5#TH%I~5 zkPz;x9T#32_sO6f*vW1zB{|v&=6E$2BAn!}9FUF0_Yq9NVvR5Kn4X0)Z& 3(lGWTxdd2)6x zF7Jzqo_dMX-y;xT|Lm^r?ta+bwsDDqyx!W`Q7D`0>hH$^dV-fD$~nJum~>ocMqmO# zqup~kNujpjSbz5~`)ChHRpR2~zXJ zs)!SA$RRo z^xLW@y+|0_pS^Wg0E_M{)ClIZ3c%Z9*~6RFa&AFpazGqv!oHgM_`^ ee|iDz zC!V;7k$p~yiCTr-mfkr02$Yw3NFoKj0(NeBu8XK%SAtGYM~B?uT#br6H?;qKd}sUB za%>5}>-=0Aajw-ynj1 f5s#j!`6* T?D(nIm~X^#;6#VcvcWSS+1_6Yi@Jeaid<<;AwEfvw3d_j@>SWP@doU4 zCDNiihgf;%<~}yYlh5bi1rS zvnJO1 )oxdDKAc_|8`+kO~wAFT$sQ9&U5%;Vz9j| zItAr7Qbv~N4!>U+&E%dt%~q2V0&j98f7Y{k^zO!kl|t-rG%ZI*czvCKiwF(8J&^>& ziuD|_9&X5%MetUo;H`Tmf}Q*kZTE2Qy^l!yS2WZlZPWG%M+(Qn@!VMvqO!7bK&rop z6fy8iS>M2bTDQUw3!vDMlY}BAK@y5fRFtZXTi$Z$`rVE1ux*)cMHg5dbOXzTv62kI z=bBD;4zx43V=znUz_SsN-aC0>upOcQAMUu2U_q(+^wgu=xcOn|R UQTTFn*{q4!EsUrOMNP z$F7PU|M#P&odxD#$QwNF&*YYFZeJ7`V8PqIvxpIf$^}&Uf=w+Y>inG_WWe0bjq2!b z>a7c0%Qe Z+zq`F zLlXTC#T-_{1r{^WJ$jjg6)s@S1~ZBQtot3pj95}q*i*UxArl6i@4ve{A@6V4+1X`5 zTBN~wVcK=10cE}MG~N;q4^Py4PaBqqGuF?x=}>MctaLDq7cUFUUfa)D=lYpqNnA8g z`Jk2rNFPw40mYN#hKtDSI;minkY!$?m;cjXv#BH)G9e1jmJsS`iOUtNTp@v_Zq(rI z#_A09@j_+JbQ+ 4)z!18f$`~oF(h3?|KB_Pvg$~sJ$6nUrv%i*# =1nE<*QZ>F1{nP~gyhA4 z6GS30I%Rq_zRMxX%!|2Fj)m83PBTYRF*(rK+~swnooBv5Vt8UdzD`lB4XO=`*uTHN zf+W|dU&2tCQXPw8s_owRcgO_{i@3?i5{rWhqlRC|`@mQk-(}+l%RA!Ao8l>l;dBY* zIGAVusAGciKP2qN*1R5S<&wC4HLmt(g~6lR{Qj9%kymW+>K#U{l&?{LV-%ee^@_Wi zapUZvYj( vV0v*Jim=$H#U zQCsLAwL%3MrE{Wz9!z*da0#ynr}}VJiF2xB3{S%knQ>_Qj!WRIN%?3t``4FA;anRM zl^-}$=-St-eRfgLfu4g&nFwpb39rcB0Uss=Hm_B;-x-eTmBVOPd?{$q(o>-UrR zM=9w; 4j=X+DkN?^6U8_EQsL zlWp&KI){$r2qh~jD(APi(*qC4$RbWX&ML=$|0cch_m7TAz^ zDwI5pGbckdMUFvfAO|dEuX3HxM1FAV&on&-E4%6>FVg7^_PWswQ84p<`h5BB1}( zd56{6hML*+!X+f!Y(V{k%Gt$*VsNmOho|SqjEtC!jLI1Z4l$kV8=p717FYh*n;`u$ zd;UtHl`AoU0h<$JV+qr^-ia{qIxH|L&A0YWg?b& n! zh&M1=#(TQW fd@jQSV@vcMYO(IU;w=72tClHa>nJaz@zU7Y1%F&YWNIEAeY~dJa zb6;9@j_rQ~)Tl2_xC6-JTGVq26)WsPchnfIL)&g*t6bz`r8oqzgVK23pt(n%CvkOf z<-#gFA7ntWxLoZ1cylp|Qu(bj>zVoUZ_Htmt?%qmT2xovh&2kMTMKpgxjJKBT?5rV zONN&N&M0|PExog`uYHu1JX1{8Sv<%#=d%>XP4Ug_rMUi`%ndOejEZ4NVt+NZ@^)td z> hnzxX#vB_8M=e^tcgI4mfKbe&M znp#@cCkkEz!z0SOqCs~Tx&|I!I?Skn9< 7{9ZmhFsL6m->huq{ zw*l@3Ha2Y2t_EX%BAu0FGPHAT-LYWHo%{8P`Ea^G|6`mS%W7oFQ}WPnECRJ 9 zZ{iqbko>SIs3Cm_CSkHhh9~;?Jp+sePG>3wZ=1b#@V@>SNX(o;I&gcV{*vw{u1U2i zH`6^j@Lqg_o2iI{axGAQ;f?C6jtF%S)TU}0E8nS|ez{(*$=(9m#0L)2soPl(JZU3d zNy=jYqgi6%vfcnOooHy?jz`Z{ONNs%{Q2__pcO`qk2UC-Dhaf4m~h0>ZVr!bC&3ynROydm>{d#P{3ci(JJ`){7DoH$ z)os)n 3i$>=XH}aL5t<= z-N6%Ylh_-RlTSp= 7aDk1TZ4X7%vHHeq@yl_MR>~G zqR&@p&I-tVt5=?l>CSea!QK+{R5XQ4A&`0qLsV4i)4Hb&9*S}VyjCoi=zln;b0P0P zUrqbCIijm%CW7|1DU^xOX8RD<&4YV$6Im @)8o4_mcxlg~Up&lpf^d58gvCLhDu}3e zU_>+mN5BT)6+wU#+SxMw`Djmj#%|{pH#tG${$K>R<|g&xEEmA(fSVYb{B}5Sl1DGT z^QXl2{z4nl{3S-c?pDIVmjoHCw8M4QWF!&{N;SuYy(v=269+(jAw(%8^(s+BGu@xw zoi>N<0X;l%wvsk-_)(^5si|FB`4O3|D#kO$Mal{#cwu2- P$vJj+RFuBuO_0G3-V=&t9{ijZC=Zzap8#5@4e; xlgnYRCHo7;t>+f z?`f3=GlE-?Wy`HAFRCUVLpdYU?BH)FUO4g>%qu&hJ4c=Be8BlI0G_$v&_fE5X-n2C z7G2-(zu^7LqC pSA#`l*m#Ii(8hPYDjtg=eRR|>A>Nm5KNP bC~t&P`wPpbPpAAvloOb%RIWLE{=hr{^c%D*2c z^nBsZBt2HVus^ah#c^D7JQ|#6nq&m#xr3sZX=_AoezR61X=+IW$8sb>ws4x2h~MP* zY;TyQvV!Ros7wQ6JO^8icVcOK9zzP_@f8%7q;1FsDam#0DwuPkV8ZM<=J>pyu_RqK z<; -9p@em91^}&=A1{cAnb;_&zrmWGg$GEs};;1DM@k!v}_k zd$gWfj2jz;4TDP59k&ozl|~|v3aZ(R?rO;+K2U(nRtA5A9}Lqw^j;)(RD5H*8F7I` zcf{Y})P;+)eISy_bKHig?{EIfw;AZB*jP2qg+{J)_#9o_R8w6slj!O1bZ6eF>bf{| z;O_HWrN`~>y8srR?kAyCqB?%jkZ_zH{qmjO-d@GF3aY8mUq-LZ5mS0#N4QwvtsN$& zQm4W06X83bLm6UQN)gpByzlW=Na)x9M11aZ^KtL4MD+6ow)mU)=@Z5k#(t4n%F==c zy7va@zO~_Y)AxJA%P_ny5&DUr-qe^ccZg7u8F`c3|KOn%S-7#bo%8S5m9bpOJ|Ssf zxaG`+uVMUP0nux_)VFbBE`7l$6B5_^ }6VI-! zMkq(3a?bTpr7D7uwg`7*j XQ^J5sIGR~oS|XK^-6efx zm7?F =rQN&76w4IR?0s%e17_K?RGvSQA&Ih=K?-4NN$Ij=Y^5clCk2(i2o%6 zO{?Z+=T=Ib*HJq);D8q@d38JyQ{y=-(e7zGhW;h2rn}JcYWJ-qG*L77+={}-GkQhM zk%f1_VOq!Xnc4Hca!msV2C-q9l!E1KJWrx>+n@$vkLX!zRV3O)P4P3mppRl~sL)#= z>bj&EXHpKs;zZX Wg$z#2JptHrnYqi-`es3;2!!IK=*1vj=F5nL~Eenr36YH{kCc*DUah>GvP9m*F__ z%CGGPrLVMvwD&gWz3f@-+W HvQ8i=kx8S2BE@W?P z;T4e}#X7pPlV4DPrIb$!vQfogSOd;+o3{CFfn2z|yZd(Ra%a#{Z=*!N+=GlWn?=?H zI8Ol#XXpG% -CRA~+!^^w)OlY71EXL{9a+tT-aE@z|Piqva;uZS5^L z4ZbRsfDK^+y#%&;{KFFgw5cGOP+ESg=q6antU*3tMyi1dFBv<&s|vvWF0^*Cvo^2M zgDsRFF4k$r8>$C(LlD!87xGdO{xu_xCUWR=b1qioZfn0y94Rg^nRFVBW!XJw5lWQ&9>VFLbz8IPzLzt7cB+3WS|8gN zguBl8_6Pu)>>e_Ygf|N1D__y |rx`WrOam5JZdjXQ5DP)q(2++Rc$+ z6}%%!%5AgM$XXh(Zy)-v_EV85V(G2AmL&FOr8jcBjk?im_iY6DF4Di-+5|S1IW4uN zFJNi-94_a(F$m&@e^&XT%GT7>)Cm$5pss-rOHqB-?(!dJs)RSX2*Y5{I0eUkn9yrc zHG*J!BhJwFs^2)8XXJw|5n$%;nbA9}49M>Cab6{DS*}!K%PL~k*41fhYMR$%7475% z5|fjYugAS!b8PN+$@`4b^!qjnPu U*m!g20c!csiXk; zTW7F0&LQoA3uV|x>B`14rah(YjWfCmwMt7QCGc{=#5hx3<2A9}X$+^&{J)WKXz1 z6bn)AL>!7K%7uiK;sn)* z!2e5<=RX3Gb#(&ovL3HG Dxs##DHpwnpL-~*$CiSd{OGRfRhqliOJ *F=s1uHkX9v>v>xsv(xe``6ueC$5!cr$zdZZl*cz>gzb@&*I#4(Hb z)V2I0>>~DA99=H6!F*)>X0I`U@z|T~$qb+0!E5gUT7u^pUIn7w=Msd}(iDKk-LQ+$ z82Av6%82qcRlL&Y6pF`Gp>^s&Tz$&+9rqE1Oh1P-P< N*bkeKqQn@LKLK>Q|TI%QbIsFhY;yzh=G}X?s?w#Ip_O3 z=g;%UiTR)mdv?t1ea(Ge*IMgZJ4HI<#X(58gU9HbT>T6FC*hY62*jDz^RjojS5o!J ze_3bO*Rz~+smWK&{zi?_+L-DvFL#=h5HPL3vm_z)8g0hJYqUJI;A_3F5^A#7 U6B*QdRBgQvj zn5k~bf);*KRlK7-5uDEE_PjgS$&e&}@}Bvtka(Z%(Mt(MlN8nSyh)KX+D)!@{)&F# ze?n@sCTqdYo=|3Z4qVN;CQ2;yIP@>iGa@tq|B -IV3k z#%|cH?(xRXW!IQ>&eF&;1}AkeGF@ZL;_H^XZhQ*rww|vdrc=R5JPGX#FJfIjDR-RO zTK6hSWzZmxrI}r1E#xm4KdUBEaA+pdF#8w_*aX0&2QRXU5Rv^Nx<0%Z^qbM6uykqp znE+W~_w!kk%l;%h(5x5Jc6C|xb=OY+gNAmpOs_+gau-VJ)1JDk9W@K3Dn;AqUev-x z } zFs`kmk?uclrX3p9EEYPVTia44UE?gLz9CM-DE0Yf>E)^J#jt(*#z}pHNBiTmx7|@I zH>D+9=G?A6b-B6r$G&;kYF+P$r*|2{_P)^uVbuA4!G6-<@~tN&ZgWzk#x;(Qa)dND zp2M6>Oh23sGClmCRM)uDuYdop^mu-2szOiHc9X5z!=aB(5HuoyiTZg}?>$I2gF4Sq zt4T2IEY>gb(A2aiU4q%@Lb6;yrT3;v+D$GZASl>5TVE*ch~s%bc|msWAY=``Dg<}( z_eIqBn7y)YPqnJ{#~9uJX{PY67GNiC;dkR8Lk+_F#G?@vkEW+F=uxxD{AMZ)P0OUX zYV~R{ESde0BDomEq`_jY`yh8gg7kM}%2e5=G}&|~y(zExq7QA-8DaXAMNTe`7par> zm9 TQWB `@zX*^`Z4aeUVs z)X@wa!vQ0<_XCAS|1K^1pLW8XkOJB;d>Dy; YSbcc DH3OM zyU&h3QJ^?>mP_3$uN(eRb?hT`Q;C=fs;sJ62!F#;Dy6A^@+J7wO|C^YFTm7F3TKY% z=a8gfYm3GY=Hl;d4|VPhjEzNn{K%3j?}5$5qAK~s-!>hm2zdJtV<=m)kveUEOCICo zNdZMoV0O)Mzk{y+L-GE(d(BCS{5y%03|$|GfV!5|%*?O+qMI+A$h+vn2_*07zhrM5 zzxOjAF_NG=D0izzym~jI2(RW)|DU?yI=+pZ{~z42lC#Ose~ CbfxBsl32|qJA>^*5LFDdOeIkPU9&ibh-x~6H-E&FTDPIZmHvpY*k zM`_38%x>Ml_~e?PU-!~oTbBhVm*c7Bb*ILS|8;}rG=EYPomnZjrDT#5^S*48Pumf$ z`VS3rXf_=ds^;T=$;X#0AJ-hM2nK38Ug(wsO+%cZ_a%9ZNmPEzyNTA#b&+#z#4dik z294vA?^B`Jx|9z86*T|x51s5X!&V(|qWuq@JSFc{$^@^m%Q!wjijpx`BMXs?g@|F; zrU?FV|H^pZ2Sj9_+iGRO{2q*N*s@0Ao7y=MPh@5MmqkYX{R09-1HXI!_n6y%IlHl# z^vabF@t>}o>}?6kH{lmr>+vL& GH_N4o4R<|E?^8JsIZ+OU%84pnNn zP_~aIpdk5DinwH_nLYk0HMJemh=-34FM>v60|Q=*3^B7}WQtvx)+$2x!*?iy1=8&h zPx8PGrs-I!YLNW?9e0p=irEruX2a;Hsw$lJlw!B0EmN?0J-0?VcN9KMVMbp%y(Eo% z8&c``!yGo7@4gS8JhFZk8)^u@|Me3-C7QM4CL0xNbdQdGu0^SuxwE{sHt96}i`{?5 z|M=u2` KmYSX2#-7wdY(+c$eUNjgNLjt*i_i}mJy{!#OROT5i~5+@p&^7Rj!$J z_>>y|%yX0!ODym~of|V75yG6a+d8g{mb)$fCRrhh8Fc6h4 <{)$=dD?d35L7EB8DFQ*AilE!2q_EtrDD@ki$unAsp| zYU+RXd!4Y~IZQf`GJ&Q?k;16|d^SSIBjK~%y>rK1aOmS&di*ElGWhl)5U~0_5{wdg z`Aq^N{Q8ITnajE_W$!p-TNj~>*SQ#S&V_u9{8}r3I1nKD<3M-=eD80MzbG$7QWk=F zndsqo4t|M^=gQ@I-c%V$=88| fa);GRpOf`Zj zGa6!U=#s#spN{?v3Lz2k`BJMH11_rOlhF1g3?s`wYkNO>^k_P1rz_JK_efmid&G?~ z8yF!q&lae3hG&88)`a2sD(o&W#-LK%j)zyq%$fevq`CQmIdEEP|Cq)RG}(|+b3}a$ zA!{8UXAU8wzU%8Nt)#3x2SPxc{~bx@F%xK?JUa5;;g^+V14m={deNudpx_~(@f1Nw zTp~XU_(^cVi4)b^ LNS?6(v=v;>D?o>COx8b?Z*LUVGiYNp+yy>jmYYHm&V7AHt_UfT`kzBa#dFXoOS zFxV)*W46=O)HDYqlrLWrgLiQ0(xsNcLAsflnW=@?bdj|4TBw`0zqq)#AW-lC{nz&4 z;XOldrbBFaXt*eM8jw#aC
iJJ>!T zXK;3Qo?1Y!m%%w0&P!Vn;A~%b<5j7K6V~@o$kd&E`Y7BH;}yx?_9{2M5?`^YOuHt3 zi3G=1H;T+izd|>!w#K>iHVA}U 8(}EBAd?_2{YFJ2E>UcQbmWLPcd*`9lJO z@cK1nC*`Hx{7>vD4eA)d_4U#~{PKMIko@UW%VZj`1klnCA3gHueex&mJ zv$L<<;0JP(jg1XBy-6lEwy<%MG_cpIPm|$`rc&}NHAA|0Gz^c=@axjw>92Pf)-S;f zB-!)p7d6UPxi~NuVVpQiN`@!&OY-v{(JBgTKTKf191JP`u;PC8;i}aKt1od=Tb%K3 zFL*w1bx$o__=63UUyARM;zs#xn)CFS)b%k}*3@W}Q9`t|v; foEmQoKJI3@}ia%!peyG+wX$_;~n=~)nEGzKfzA_#5uIWU3w=5*P z`B!wZAw^bJmhOWG#L)8ca!^glBVVVMnpKPLB*9fnp({;Wr=3ymtOtslY*smwr+)*L zON!77h@-rPKYtg={c%$(@Oq?8WOTZ7!tQAPuV31?#5u@ ?EK=2UI%hgoW(;HO7 zW5%C1O!EfdmpmIj59?P}S6>zrd(pCoK-&u(hwbhGS0%l*^|8n%)lhcrSiM91l?&XX zu&V=;^nhShV6C{oRV;dNkLO@>Ix;Oya?YKlANk4*{`v*V`-6S__!IX4EQ$7~TV5fW zxm60E`1wMwv|&vDI5P_l)g(mGVm1{c;C*z$3F+E;C>*#1i4~EYdkSmi#T(3QFAraa z9ehaA?8@K`+kvmPre~o1!a^leQ`3H(_FpM+yucA^cE@`*`Qwfvyzpy7JTh_kwU~Ch zzP_ZdEJqv9-77bwAIOai%)GAd@Wg~G-VInRLj!aG3hL@ok4j6E%U~3;HQnFrz4pND zl;Ia2jl{jKppWLx*JFQmbrD0iBqg&;N(7hl=BHe7;#tkj9O6|%{t{m3Abg)udc$oH z9Dn{;UC(=ZqbSAR-td+g33Nr$unmD zhCdoHzGPRpjzfR3rkJ0fhalr-#CChfs*`rA3l0(Z$D9~Sl09Vrk@6GY+5Tj8sKDD9 zn?z*pC4a!VT_W#jZ?6P`=YegYSIZXiFc&4Dt*w1mN$F*RUPa3DGoFHvf!_)oDZ;YRVeymLADKL{$u=c zdN!|i>baJ~oW_EJ>&tmhmq5IijTXI%Cc$p)crzH6=(n}CsY=mnJf7~Km>~Z;9tE&w zjG=)6qpz<&KQ|;bnsZ_QR9Hp^gx!07->tN!2Ur9*@@4tBBS<-g;A3+>3>;BM9?{RX zPJDOYN__+M1-oOi3};s36cO|?30U*T$5(^Adk1W+tmUp&!CkAJZkh1s&(#^}Z`jpw z$lag3w49u=uxTv~W0_GX5aG-2$4%k+i#Yp2@sp1KUCrF8^iJyEL!<^{`4?UddpL18 zc1Z~qcHx&_)T_|(J8PxohY1SEy*^F6O+RGDcsHz;R#cp~p0s&8hLu+D%EvhFuhpFk zM3CW?g@NIL&zm)OJF+P^R?X+F2jo|xHDhReKW`cZ+u!B6mya8bxgU0NZ@tLwT>01^ zJnf17%xbmT22!iUC3K_oevO5t1NsebWG`_-LOy?m)qs5UCMWP0iat-&yjnbCuv#P@ zC}lB<%T8&N@YmWqqQ>9gvv%I%te_6r=XCMt4v>t}T}FNB@>d+?6n%(A{h6zQpepg< zb(m%yl|FaVUfaF$>{RTpkOxS3bo6A?KtGGw%mp2wsTTDu6Wg4a{N>KQdqwG9#%?NZ zZeJ^nLe4+@I{C2(4|B4!3wqG!&}8N2c`d5JxS**eWJy!(aYDi+cMpsl92pT2)V-+W z;829Ue1~+yjsNSo0Pr-(8D`PU_-OO>am^AkvmaKwuIIi5yIOs^iQ|kBsLaq*$LTJ^ zLj^i#mk~J!=sDNRm$SCu6WvWz>s-PRu74TU)4?1d=kF8;{-MP@zy1~0&KunN*qu3r z%p1I363DlYbm$r)ibbm8aj- PF{yUShD zbftR%^1l1e9_s6-{i>0(=7=TJH@x|A*6(5}+uNl3Xpdr2=#HLYSm(l9j-Zd1iF9ml zPOwZqshPZQY8pM(_AL1_(ZKbpTkqbz8-mI+=WEX^Bpi4 H(EadJt&aE<8H$epj9&;u8kvDaZQBaU@$5e{w&g`Bzw5@;G&I|^Y0%3?~)`9oU z-0ezM_!)m2F!(9=*|YKI_mm9#wEPYEJ+c|gni>jZ>I+BD(JM97E 9Jnvy2S=;eUZuP~Dl&fthx-fD;wGo2>ec++xe z;0Ft&x+$A{-`srb@TzH8>5nJ*j_ZmB0hGIYdlj~Q9CxnTX7j&bx-1>5QQ}lHIm{ar zP0vbp3ZqwMu47 G3icyr9J-uEU=F!u~ `XM0D4yECi=I~47 K5$K-6b;W*dc7wM@mzVLq6@K zD&AUo+fRt KLzqmQ0i>m*^12!l@mW4YQq*y4Uzotn+*ch-5F&O|UqD{lrKls@Y> zv2UkTHxu8!N`bYH#g-C*5-_x A@4F9;jAVf`1;Y9Z z`n-(o! Vqvrgv`Ph;r(YhG5@kdcR9EXy$Z+4_et5T@(z0_YGe7?vkb{7n=?$2r ztWb2D*6&R(1AZYaf0?PRvopK4mI)+@ggxJDVC)3gStlp*atWS3k}>jU{F|Z9j|VJ4 zf+c1cBS(NyCW?`6EFgZ(pQxA*`cdAt)|Bz0*YM*tIY`IZ!r{(vqGYBT@NEN>fv8On z6Pv6z4ImNo%gVyny}mbFOq{(eBt-T0?b~ugf!p5OTpdx&A;4S1-P1D*C<7*|o#XY9 zBkPZ!0#@U;=Q gvjAqN{#E zi~W`c{|w~qNxd(nREM{Pmylf^3dg59GkYjJ&P5gRCTC)99f8Hdb}OWn23~5+%9V0T zCJB <+6N*au?J0?|BhEd+(HT;YdbdpjRq~70hA4qLf=U zq~dixNUL1E7OD-WYolL(u8JQ=?qd)o?t*3|Nqf#?H51%1i>53?`1D=!A9jOzuYqq% zWo4zs_!sNjuCow?e%Avsbi#Sy*Dnt0 ! z@N)<8{U9nX192NWJA3VNR^-s&fV8x9+}pRoz*{IGDM?-K?D_5KK2~Qe507SYkXDKW zAy7adcrPXz H5K`3E zrczf|7Xk4B22oPr4U=TVxa>y~6BTuV5HQ(yqrZa!8$?MksGL@cT!<_{x|}TO!ja&x z$!F_tWo`Wg#^ahPf|nG}oV@mSHY)|9kh?(0<&464Vg%k-S4#i|FGod1g<*{|JD3Ds zKK6vJq{HCDeOuT$ W!(j(?-}*k^Y-i6G&oHvH(&P)0)otKRq4wivo;#SJ)NTV#O!GH_}LycRZT zzipk^GPoiW>^@sP?OEUv?3NAtJ&1HIYBD?{^Qv)}s)D!b+>YWVY*!Za5Kqh!(Q6Z5 zjlKU?l3Ryw^r@zXhMvx0g;B`^0|aSd*=GY>#X`rMk&%|I+SHF9$!jJBF~YOz(Fy_# zk(H=Gz63o{qKxu#-GI5bZ=K`ovDbA21e;dPE4(XQ8;H~Ab7dv0OM|4x7ZAfqJWiPS zm*AT{4rflnb$frw7k~CG4`lBwzHfGTz{AU{VTxnQZ%#79*!HGfV_{(-=I92O!pEm> zh&~P+5S;s*lE9%DMIU^20N%F3FsC%|+(UDXGORN0INcLJ`J08-PvCw@FFx;SO#_qM zJN*_uZmax#RCA!vyZF(fs&V*XLc%LGQ=-SZ{p@16bQv$9kuqDDzM!Ds90f&uJ@J A`^Wv+9R{$5+;rN_xYWxlq9PEu6Oxe7|~Tw7XRm=)(X7?H0XaGIZuFf^S_VZ zBL8FOc1#Kv|J~&6tqWYQ|J_8D<^So!@JuZerAFQzyBBd~_@3t7SY=xK1u1msgn#&i z_b;zZ33R4J+TL{K%3#}wps}(|Glos4Q1B5*aj)?3km^UCO&ihoZZZRKLF>i~4bG4O z3=!AJMScKX5{d>;Q5y;}JbYxZrVj%4hS-Luw~_GxFl_==1Yu$+sS>mb Urm5SP>qdg`@C9NQsFv3IG!J`-EXUUGqgtZR?}_8gEp_2UQB4at z5x0(F)63IjnDknIxV5xM@wey@&K`DfN5LV(=8fKOk7h#>A9UUX0vMAD@3%&<@=pwD zcFZ@MJ06!U2@r;cW|VKk@LGHG?*M<=-0bq#hmpy1p){r&&&v1*1y5J;^M|>Fh06&Q zA}V)UWx)CH+GZfP6tTzKEo1Y}Kc#|fQ2{~C+{q7a-v26G;e|3=(EY0zd( ztSZg;=>=r>b$s>}U7b(e_YKe1P-$>sYN4E*+=!u}ho)&~{%ZZ8gG449IaAoEdS+0Z zK6D)v5Z|=1y}G8R?6Kr+jrS@lZ+6!m+n%LC<_wQ+K)9Ex*Sy^q7gr?0h;XP(s%>J| zl}Q-P^uTir-hs;LTiO+zXKoWgC+dekx8PIN`(^`W@Sfk2Sss`A`7{$DE%;h&Fz#^R z08T-l@({3??!PFvnL}hpDC1KZ&-vZ6d!b*yT-;=;@fDC1Hn{!ei~IS@iL=iK5)BSE zOlJL*4hB}mbKg>h4`B@i%&yXq=H%uaZG{9X<~->8A==+>Z3QKRdjD_FhY)~ldYG%J zosT2Sv^`hQ6P#Dl>jL8gPCmyx@!#}D(W{P(8QSe}N~o6SzH-Sb0-aT##27ZDLtWLK z+JD+pOW@tCFPMwNc@NV0m@4P8E#nq^Us=Gn6rZi}9>mxxZ{3sY7(hgLJUdvsZ(NW! zl%B2UBuJErM_9d712 zPv@#^eXUxW%~d*J?o|(Oun*ntt6_T;9UW?_{rwgzu{i}D>Zg{LPb5+T=5ikCdzf!8 zb#;?8ni1?`g@vh|oSdHV37mnVC?~IX)%)e(xuPg Mo!L|m{d04 zb2qnpmWJsHIQAb6Ewyhu3!N3#-3%sP(;oRnMaud%Jdi4UY+!HI`}3hoUQUih`y2XX zFvkGk%C&u7 x=~L z(k=>GANJ7jEpsS>*=*U%*uBbf{pdVjJlo4qtw!@Gb_7wPhbj2p6`dqP+WONs*_Ds- zi=Gp2r9EoOcaVsn3qM7LOZeYXxw9q#zc~pDJ)Z7Eux*WOz$y5uXr@+@>g6EIqfbSq z??ss&BT945V7iu`KmVaC?_x)!EAj(HPUUp;ciGF4YX3a x7=&XtZ{shByaFMSXMKM8%F;T0Ldvg;Flm*AijeXyu2hQ zCMQ3Sk_G`7N!(vRP%w13P)+vhmsym8+>!LxFS-T>c{2yzva5zb#_)MaQ%#HZ$I2)y z=@--l&Ackbxi~qgfHr8z0 AQsG%?&kJBGb8Ocy@JNKpv$I=WkoWF|3lU}P9<44fE2ycx#*&@0mi3jzlctbd z`S}sK_;6wSz5xkzd4fvOy(*jEb10~+q +kL((s&?AI{z$QC93gy?RQv>zLbq*i?c$R8H`j_#7T| zNJ&9wSuzm9=D_ItDvo+AOGW$PSVpH+c+lOEGU4kxewzh2Hc0&-A>!pJalxVa`O{Tn zBT^25IM$#WsZEoi+PuI#2S*)~VBCOgTAw*yKI6&_jT7Yu(frzdVP(6NA0Q-*5V%t< zPh`k9WFTL*V>I{U*Iiqu*UsEI68=$|!a-jf*_cH+Fv;uKEyP~HfSA*)c=`;|=3VXX zy}nPL8-ec=*iAr|4~pS!Z`pFA63%_Z=KsJg+3!eUCKh&P-*%~AeHJ55bo59+iG?&_ zQ;^aZ0KAs|jV>5HYwK$u*2r?wg#HU)2A<>jqeCN+;-t{KySuwwTr2=7xVhbQ{QOx_ zj$Y=PxQeDga**;Oy*f mpEax#qhN?U8zjs} z=?Q%<4jc@N2`1)z-+i|A#D$-7wV<{$_EZCE$r(pj!QmD#5qed*W-?m8jFD5Ejd}Y7 z-p!$n6ciN&lD5PbH>zK(dT2QC+f-FwR-uy^@@YEid8%mQ0$UFm=p$?nNcv+W^S60&q>vOX@Du!k z^Xt2D`aqwRxMfbryq0mM(tz@`k~>wx`^-zmdOH%sP+Cg}`}cO%Mx3uEbI7v2L5Plu zh>~IZ*AEQ$|JrpLI^0TnSVeV|*7f``_w3K__d?fcDv?KCwb_0xg~}heEi$$OZdj6s zAwP13m6^xZx&5WWHjTO%3Tu0wIwr1Pr)_DO)gwSGNiT_Sb8q=Zb=}b94J!LcEmw># zpV^WM?%6p*4qsYa3=h2`W4v0>a(9$0Xyo_d9mknOf=9*k0To7~Wf`2$;9o6b$mUn_ zb?XZ_6zbyL8 7?Jlp;Q+rKJU(5UKji zectx=SKHFi%gZV%(wOF?r6sC02?@LMZPxvETz|vvMX1N->$CIw224MRhi|3y5^v+a zM*~!La1PRC7^*i `_&$ulRXN6PsYZqn?k zsu2oiTON`{MMWeBO4WL+sKH>11LV(EmxA=KFreU#&|XQyL!H#A3tKYX_V^^3`vB}p zn!!ulx0%XeK-!=Z>psf%XvB#RSj4h_q;vCWW*Nzmtnh=)%ZSYqmf=Yn9S z5VbNdZ>nKzrU+^F8i{V1&(ZNxI_Tw4F%7+-K-q334R8%m{E@EfsH?v-W8J2PJsBB` z_9~F*z`>)boh;BuI9Z{mzOjBk8?bX(BM&+<*i$apM~Dy9m~dOq$|c|G(I!Oe$TCL280QXh5jTsfm<)P&`46&!yuRZv`N(&Ss!^75=$c<|rh zqTsU>7pOUjj@@R=Gq!cc(eTjnUP*Hh%?}a@ml*>8K^Wt2+Vtqgc9V1H9N=)BFFsd3 zinDe5)EO^T0{vdt;R1?#Wgptq{|gk_D`i!i{pI3HVj>uc7}h;yz)cT!RIRVs6E#jX zkgJl0556wg*%=#SRR9!L3UtQ~m7ATdyh?5Hzk{P$ryS3kEQuf!BeR%|-d@FM&ebUo zo<%GYpsoG;=B5`p7#Ydrun0GsYwzOuD_&Te!;FH3cLL W!qFCFdnw?!In+3C_tsaLn+;o78FvHtj^?fc@ox+kvOIp;;f7 z9#^*KTEiSj@hOQZFR>^#ms{>sND@Q;wezF*H}FeMqOE0vQ58zzdUJNmb{O9$(b4Un zyrx69rcdPPUT`05O}bzg_K=s50Xr&{_Cg`tA$cWE{gNg>d%Nj )R6pA(vZv;#Fy0AYn9e;3tBQ0fLx**y zxZQc+pOwk|P}wb;&m75wO!p(gyEabl2bCC~7EX|i6)RG38 e_DE13i zWIz%}r^HiYMma97)VmU9^o{CURB4&WH>-(CpZH`c%Um^uh~5-QvW7P152BV~=&>k{ zzLndHdgZ~*l9^y~Q&m&@HeYzdKkmb80DpPQa{LJ7odUS#Wl#$P9SGspJWfu6paFbf zU?7-|SG#2mGryhL`g=8&T~a?MFE6{Uj(KNiCvY@qeRWj{u<9%$C9N@ZFSJRLFLLm_ z``fz~FnAtquer$L+LdhY;BeoQ!0!;@%uPb6<@;-3uv>r}F!jR#z6T{YD;f^-7^^US z0Oy6h&bbP3UdddzE2ST#SgzmpSAdDO60qH=b{c;PrZs?OpZwMkrUe|mvb*Mm`Gtl1 zCMHq9W|_d%POr5S@^8-#-roeU>20#C-9;dViTm(j#fwta&AZlDumkvZs57?$B;eJ9 z?4`EzP{3%=!;VU~QK4o!2{lo9ug3C@j>5cS?N4HlpCJw_tJIK;%MC)Tf@Y^j-9+M~ zlfoevJwIyZ62WM@rK@Aa0bB9Wp?plz(mD~Gc`8qe#aRZ?(?OM$w?Hhsy_EjU{+aV7 z&^*K@<9WfjH0|ax`OmNP%M; wIHR@xOywWl-O5020HHl1ATA&p02%1A5MN8e_C?xtniuNc$>1*qU}P>-zkGRU z^kgQoI6IpJB(8*zv9l|v)YGL0m}u<+m9W^&l(+bL3d8kD__xOH3Amfo+1O6Ha+o9b z9yWkXI}@HhoBULmR;Dmy3h9@;tZfaCBP~zTQ&XcRof|0Wcr;sbwNi8+0?+KM%Z |;1os#}8rP)w-70Ix7kMFy57`eLh|_I?zv-K<{|0WdMtoQQ%5PXJy# z?ezvvfQ#b>b9Lwdb_`Czw=dS+uCpyfP_y1{9!OAXYi}1DRuC6d2Qx N(lnN o0jCvrJ>I6 z4O^ux!v^NzUT9OIsbvam0?ozk-qudelE6Q?tS(qg%>1XP>H}8SW82x=WmF#A&$2sa z?MD7~^~py6=KgF0SCDqsU94RZ{pDsY^z!GK`19ku@W=SjkR{)M_8#V&TAZa=U6YD! z^7w(dEB#)$pVS5cd^SR|HQ(>e-ZD@iZbsGK7=4;zY#xhg5^fV@h!oO!xy$qC{Gw5u zk$%ymu9UugNzW-m4F2#v=xZu}cd>w Bcs2I z@CFBn;ybJ4wVTd_uW~8;UN~7e!9kRPf#K=l<}?&^J5ptJwNn98wO@z?CGhu> COGlq>&ObP=Fta@^#bxt@?17vuu$ zt&L?!H>Tcm%10?YS+cOac9~pozNZEx=g%czy#HkGt5CIcYB~FI*mf-Cy7azzILkV6 z`G6+@i|{*Gk7L&0a~#aoikIi~9h&WkW|efF!n){8Ze)G=^5E7j@j_#3>(Aa3&XW7^ z=f&>#kufoJ^PpOLdc3<>A7kBF`YCXaI~%{d*p0JaAFGP*BdLA9;HmAB*F^kZ{56ar z8~utW4!mndD5pe0mU%;6mAQzks)&=!_*nIhyO7j|!+$~8f&N{PBQ1QV5N=yaM{*1~ zP^M9)d1~Hq-<&1?FV2fqZyd=$fv9Q!Mq>S-j7Z96%CI!>YStd{|3rd29QUDrk=%&o z)As+bW5HoWf27vI{r8x n$pOqXlj-0Ld*)c>JicKjaXC$n^k>bcOA-Zg8 z&KyGPp`0myLM>p5oqarN4fzOt+@eX|qCp~gHF5r`!_>E^J~8{CTgioJpPYRkfkM&c z2FfR_lCgx(L^W@1ux}`xJkK9Cu%}+c-m2u|&c05?vk|yhy-u^MgT%-4c_mR0(QYrK z<4^OrADfqn?w7f=u|dt-S6WH$Kc=u6%kYCN-EpYXn#Voq10>cY{tG`?uOZodvi%R) zp-RjCo39@HMfk1D9+(fp*J=b3 `Agqh_m9Df4GP>@3(|cue|p16pl?sxk@FED8BL*?q&D| z9Q~E=Ny~SjVb*tjEwY4UcM%5d#M=k&bS!?s();A#j&nk^f7gGC*y?n2<(Px5`?$2v z<16 xD2|$7Oz+fM+Cv0KAEcB`}V1ut%(2 z9MacpbkyMjZjDuxjKb#lWqR9fi Xj%xd(n^(9_D9?ni52DjJJJoHKD- zQIg#`T>}84K%I4__x$nb^WM)ClxwhMeDC~5E(fX;23M-S KY1Atcew50XTd8I-Q?l@T->a`gy&^eX)OGxeM3^nf=# zsVlV>55>gXaxE8Z)6;hBe{A18zK3h=>}(FmJUT`r-ecQ%b#eHUeHLXH+vOy;G`qF+ zYHo7W{X~C$aqUr6Z27AqPOTE&ef}xd7Gj7+W*As}vg5*_442J~AnCMY8pDO5McbA# zSk3q0dZ$?NmgU;>>8=~!vXwrBAEpmGor7j24_Cd(x#~6K-%h|zlQje#FDl^LwQJ9W zpD_;HANY+t0C_CCGQhtRVtq$kww^IgOaQChvFd=7T8q`Qzt_+yH`V>G$dO#P?94xT z(M3fpMbpPAf3=BlrA2Lju|c|9@X^i!(HiLvna-XM5{@o~+cpNDfAa?Izuow16;B^1 zXmDldGu2wSKJM&SE;GZw6tZ_s9z=Si7-UwQy}hd@U0CSw{7@ibI9+kVQo$HiSg$_~ zPp|D4l%0|NaNyop`~9pnuA^^LbRiG9`mMgVNO$3#0jlHdVEz4~JC>1UJQ=Tag{C}A zr6ETAF4|^i8lJpjeSyM8(SLu5EhCTeiqK=SSs~zxE6sL%m0hHBe)n;BxGQWxbT|`b zYi@k41pl?HL~IV+yjsS=fcZDv$&=Dfa`uV0fWU>AMAOv;bR8dY$uz{HeCnT{4=k0Jv_blev z58r1E#}ALZgx)CB&?q;+4w!&b)&cml2InPexl_wiv7Pf)li85wz2P}QzOqdPP&Srd znqSFFmoAyeV^?T~dk$5)Zy5*S;@c7tzS>y2?Qg4V;-syseO?hr(}gy0pZFtW`P}sB zb?=%B_D4spw8P1Jwh=Ck3qc7qn#SmPBpiCpBru?tsdV~d{-$rA82MHSQ4d3gZL@M9 zbQ{gxlcZ|$)keUANE7 q5(!_>;k*jq8I*wwNqqc@41#D5)^FG4r?70O^&F`7l>`o^{N z*@>4LFXhAPvC>2k=nQ@4==h2t-_!hf>wJ13_BxN&$1|~=Ax_sO3C_C^*EOkY&%jiI zx3DD00YI2S%SPz m;M@*158c^m-brA;(={fV&o6Th;){ws zEa{17dO2+y%?On0fPEwba-5;Mt>xtwU=&6K8m_r>1`g57Se+?(_VI$9{2~_!%DKv0 zkZzmTvG95_kHn>$nmh54_uVG}mTTsLE`sEKdxypD=nclC6$5it`Lp$clac%;wa?ow zK`oT<7%3F6$1QrsScHOjrCADjf^ODBqEAQ8Hd#(^XIm+#!`0FI l zG-(o9+~KuuqkIA{U+H$;bE3vN_tc+@mH%=9MBu_rtXZy}sfhm |tP2+<7AIhT3&V zETgbFXXB33V-G2w0PvDiZI#2Q5a9|pcy2t1)d5d}gt_7?F7_>B&BaNttnzy#R{SW1 z{Rgh@q&Myy8Li-nIume*3|sFQf^c>d7l ?uq zck$&;s6iL{oEHtH%|tb)b|ucXPx|{a<=Qc!)(SRBF4x$4D)I|uqZ-nePmGv}qN?%Y z=CRDKr=O619z|uJi+|jtA6doL(lrdKJn|?(H#(g4qZ)%Vr;!`iOQ|ot;+_zou@TEO zK392|yxs7w`I72gD7yrCoE-dQ^d6a?dr=uiL6J$|iNYWA2KNo*(kI%iD%QZgQu=i% z3pm^puF5k+>~F`uO&)t608GT^f1*$In*yYZxOAlc;rT6P&2On)>Prp-_WeYiQ_hla zBwU8C1<5jx6Xm=m1g1J91;3WmgvxEkqm@pi{*y+Md)T^D5>n3JIx5DjMg}FM3_=i8 zS!zTX`FHQl^0NXAXfS!3w%KqL=;Va9a|u59X+bz=fprbc*MEk9+loz13slJyqy+=x zPYLRSOY^I2)8#VR_nYj+q1oXs^1+hFMQ5S0?CkqXaekty)f7(oxG6?4`!bAo`mh&= z%4Dbnw5ueNy@eXUd=kX8;F}X;Cx&Au4`c#5|B)#uef)2_UK@(_9Q~Z#zOrtM+bfa> z2|UQb|H ^d$ 2;?A^gejlEMf=#3n=xC5L4A&ESBc2PmDm?21 zDWCO)yM!Ek9RUq~3OhjeW2MT-J#Ic_%asX5Gex!FsW !;q%_- zg4A~1Xvfj%%WUO;KYS*J^ksdsH)F$3U;4i_j}uPAPY)9FoNMBY2k<;({85WE?#%+Ilja!5s~8JM+5wz6IL8aUr2XRCA|io0jL1*0!XLEzW78AJ=aVZ zHGRlFLp(+LtW(#sTr-OOrv7^=-M^@fH=n|KkYGgpsKGctKB}+A-ucd$;f>cwsaPdU z!A8?C8C2+t#tB88)tAYfJY_Y7eT;Kzd!`F!0$p-k*jiVEo2FlMigI6=_ZAB>RFDZ< za(X*&W{_8k>uY|>A?CO?2EQeh#Z#^$G`-$L4WYh=Qd@jg9ID+q(`N3Gf^1z|YP_K< zulLoGUCfb2$m@poxtgKpuTma_3JyoJK!KJ&d>+kim((A?g_EDWV{zfXk#d|cIK9yM z*XJ(-(Hg*kAp(5~DF92}xN`$TV>y!nI;xs9c6N4nOQ`?%@5@dCneK4n&axaCq 70pnqqf+V8f)^aktY#Ryu`pjDtono?8C}WV#txM^x (w@os`g3vR;merObh%wg541e`emI|!LZ@TMWzyEmI2PejInGV79h zG~p`e5U%p0N6mdpGnF)J@5_iGE1Ok1;_Db>GH3SY3DU2ze%Ro9-jG_5ALI6O`>TO5 z+82rrd&4 dS$aIdczbw$@=$4bo#cGac&=*PWRyTf=&4*Kay%g>~ zr|?Spq=kk@b_ezbHde*=+^`IcZfa5pIE5Eot|>RecR^sSAcD+=e=u(s<9LgxHA+(A zlDR&zq-gRQKgqjy?(h*N@p%_0k`K+9yMK0YIZ!3cg03%001L0;fh>xEcLtq8J FGb?iPQ@OOXNvOV}Yo( z766PDFBa8nr=7)t8_YjrmG|--XHjsZQXTG(OCZ1as|VU1>{2hT-nen&H0C;Yju}6f zq`&^(8gm(*$J|4ND$5+ddLB}!mLmt%9rac~E!E<1Gw1hvoR4`t@XAfFZ)uQ779k}1 z9zg~1K|8}O<-W7tV&&*f3Wa9G1Lt!&C0jGYHRg4K4b3kK*8~r=8}->&yfn{qV~mK7 znNHUnI gi;g6jY~7n{B= z#I#4O`IiCgLXQ&$o72cWAM@Pa _uPgnlGS;Xb z8j*)2x{J-mf($@T_qi|F$hO=}wHVPOVe;paK+CS}`>cl6&~iRjXQSO)RPT#Bo{!#N z;ZAsfLNu+CG}Gud5a0h0xude@UVuV*f71PHIyZ6BEHt-p6T!?Re <%Z*pASVxexZB&?DgG#5>>iay*44>r+e{buZ@fybY1}`Jt{gn9(zq8Af-3A z)SJw|XlHm^bPOXZ;@#8Ja|W0pRDE-lupG!zA(-RLy{H3Hl!`%euD<0 M#pm$=WV@P8C`q&g zGa>I)7bytW-2@f8&x@0Eswsctv`ipZBjSrXOG9CGFcYZViJjQK-tRPSRut2w^#LHM zDQf|o6hvtM+dw2_0YdA?e($m0_NTxT-xtX)nvdS{9>4$gc^~DElfKk}bw=hGV?f`+ z`}C6U#6NNH#UfoM2S>Pu!;rk?&|sTIQg^|O9QajXShanPeR032MXzIwpqA1SG#NCs z|BFnM=C_i_;HUXB{%%x<(m--x*Nkp7o_5i=&K&U@UV=#>udI%yON>!Iik;ZZao83< zKb!8Qz5#!Qg8nz=-a0DEuZ aL0QcAiT zhLDZ{iGhKc`EGvktmk?E_`biswO-d!C+ Oa zy<|F87abOc{R0U ou}|+sBX9A=Ay~V%lmJB`el6_VgtQN6@>ZS zUd(JYoy|u3z%cqdHXzuw$W8 }{R#Q>34i8cu#A?Fon@YL;qzhZ_y_L~_>gjW}9u8Pb z+-KKo8h`Gq*W}0u43FGqgAe#4)Vn1pFX}r0KF1rmw2OL^rp-9v6XcDbxCb!GdLl07 zh-qod{YQXRJ+g#FLHK*$t#4@k;+_Eo@a7nhWtAY6n&$7 yihNPnPL+t XvDq*SsVnXsyB7uNdnox35@RBgOC_o1r?}5_AC4S)=-tMD#I>|*!O#I4M z$-HjD_ZCrBoALN=GX@M@Ss0fAmN0t1QhGG-do(-=IO~AAS1@Ut7Q_7lcrH&^cVwvX za4Pry5m58K?~ahoQ|Y3M5uK`tD{U#!Srj@i;Y}46L&={0uB{}TM~wrkGHpH`%zh#= zb6P@7dQa$doO$nxJ)o CRgy$9E4 zBhW;)gqquA&~gCGK*mPbrq)w%i6HLQ(BS0o#l)@vVFDF4c%Z^ntN_3;86ePvE* XWxU9}ymm8eFKD}obbU8&ose9Zqh9a@eanBr_qE+lcA_4Z@L9W@>El&v(W z?^}7Q6oy1%rCD9ov|!IQ`2`qir`=058|&OJF-bK%?j!qD(Qyw%zsPWT8S;t}0~FI> zu{N|%6?07cQ_5}SEfj_6BFH0anzJuQP-mjHEk$^DxQRmh3o#fyQ1i^7bMs4Qoq}7h z?MTG=LCOc`y#z#>F7O!|Xz**yuaOiUava$8s%4MYZx#@E??urW#^1TyHzKp&_vD`X zmX%d>ee*Y33KxKs;`;PCmVI}Z$Lq{e#3MaB5}P-Y{JqBU z+oz%l&uo@t_+AzIpV|Y?pNktz-!DqzFz+vY)`+KHjJwC6sDl7bMZw=qF2Y*Wra^mJ z?l0}81TB$!aY0{lAOJjmYZe`=uE&E(xWv+&6&1N)vGP6uqk`p~6V_j>b~RkyKl)Y4 z>H!#;_GM)W?8_RD?ZB !cAMGEUG)g1wcG#lkVqzNG}eYq?A@H*KK(er z!w>zJbpPPfXR-u@N}Hynyct$Lc(7F=8-KK*nuK^_yhpw2uk4ovC{m_ib7 EE3G`pm`oo#D}=dro?2f0qI<9s!?mcP*C> z2^)|S6RVy4)6T@9b>aIhN pz2v){_R-XPZt2|5B ofdYN`{w&W`)erC5!Nc0N(@dQPr=} zytGqRSPAHoz^{jCYT3&rbZHwK)TGBbKWPgvf)h=dB9iFH6K*K@0IYF)lsL5(ZJrC~ zeaEX+it`ee692-zeigTLAG7=CW#64l0<*gWU2mItTafIeA)=lBZGA+$NG*)3;Xt_e zs80@@1EfiLE?gNvA9L72?8h~@iFS;V1vTvQ;UEsg#iX~9K3XFWtnj#tBjv-*&V{5y z!t)M#@MuIGLE<->bwabhd+8xdPwY6`J!TXEf acl-yh>C&7U=s$c#97d9#`yO zEs;4Cs?BTB{pAz7mOic6QXQUJVqz1l0vfSn;48m>%L{rs3DKB?#8{k`dEYc#`=M~! zYh+L;6m}^j;46=w8)C#V9aWYKqd&>UP%P_bvp5kQwZt+7###wh$9`ImH3SR-6;9Zu zPB>(6o{)=ZifCWr(C-|)he&s<$N0uo0KGhZxu##_e?cA_lKN@C!y#O^;{{h4QY+LT za2ZHN;Da!FTN>{lMBFX@3@$t8u@5W8TEqu#dMiG!C{sD#!k49scX~Le9>rHAMu4vztx8HlBX^PUHQ~ zKYOt@ CTJKFmZ@b8B2iBOG**)ItDgyv$kjIBJg m!pUJF%X $>mEkR3N6jYu zGP!Y=yi@-uu*s YC9l&cqzI{tvpC0l>;Igw;;>s zf$91UsP7_ zc`k1rB{-v?Z3n`}23F5NhNE-sVL0{ynnx%ovH_DCc}D+!b2HJZQA!iH$+F9L-O64@ zHv{_GK-%;PP#O$kOt7uZ9XjY`2GmRh0Lq_RK{1f@Pdvm2kQFumT_OMvUc2yiI#3c^ zPhEhw`4`#^41YAKW z=ID+R17OBVcZnVu^c$+6<({DafcGGY4H|YTywjf_gSssATOAbf65F}oWCSOL7=WrK z>eL24pjo~58^Nyx$Rqw2b67q!GIR7XH6( HU zFKkMO$%?2D!SS8X1AZ?~wOZ*zZn)7p!4fGNmO+P8-<3_EvjKFb>hQ{tud#?Y=#0@Q zgovv?m4OwVh8oX6h)o!j<@gCyrDJZS6ibft;^Epec~uT@6 (WiZ0Nl#2y=)darO&79AY-EiPaA4j~7in@HeSX@7 z(A=w^5<@UQM6CuBLg?Z?W3m~W_~zQqMcTW%{mQ^eS@LME1gd3$GCBAK{q8%1U{(Wi zTiEIaZFOby^mAX#y8@1{yZe%DLs+`rE$12uc=GZ =HJ%M55U+hv6Ht z)tjJO97%ZJoYM@dZX>vHa{M>ep|&;vGsr0_h6u7c3ehQksT5~U;BgGN>A4A|L;HGR z)A3LaBpu>__4zxndayS0-G9F4=C$kKd|>~1Dn{NueW_5)$v}10{josNezcniK3n8D z#&DA*cS$^rlu0;2UNzdBL9^ 8E9MjD+c&Q_Qc%?krw{SXzN$r>2v8Zwh8`0$ p!n6ZjzEHaeDY@4CtSGG zDY6CAaafq^Rw3#SmZN@Ab^5tttnzLt3bo*KcEwt9gF^A+1+kkl8b#MUd4rCpFdn!T z_fXYFW8-7ad%X!jN(pf}w+K(P-0Q!bP${4EhpXxBf5du))uThU|M6SylQ)4?Sc(i1 z^CUHin3B%^0n0x2OfEaC%THX)nSNjRiX1;~w%8s$5VhD|7CuXdy|C~}4xlaGUf{5U zSP-7{JT_VMRSdE$-cIq?XLG>*I;&OPc3eo0o90(UpQ1|Ud{eV@R+Md3!A1Yn-PHKa zPc4UA^ubo+xo>ub*|cFv#JnSz4nEo2eg>tg0c~@>spc#Oc?J~}%=@&KqDWMbpNSG+ ziS+wTRhKWO2vhciXWiMAur|#5a9GHVnjY7Ze78bAMy8B)nQQiUpF?|BRjw2oFp1H> zADAcPd(Lv1oXp5`CCl;3L4<1P9d#nl4L8p>a_`XabypXB@7I^F_p8`%_n^d B^H8|@!q`H1p|+LZ9V9tJT+G#o-YX;0}8 z=#`)#KO^w|TQenD6j&~=dck%7^A5ez8GlquI+YnV%lP6ERU}~8vp@I-)Oiwve=;q} zAd*KOD44v5(K#El$D-#+^^-SnM7Qx wgFq)ccnQJEZXIFcftT6Xg5>-6(QFHk2MSpSd5t<|OeY60<^iygru za ~bBz}_)nTQKNu3`_-?m8~T=3U9t1+7^X8JDt_ z``>@bi=9>HK1F|Y$ )V|(Xwhe?AAj2@ure`5xL&boZV}*-PC<}- 5 -Sn73)Vb_A21$`fwLB@$yO;cUN-A53ws9_+N0JyZN#lHYH%vi^+nd~DLIVw{ z@iOf~;G@Y`MEz6`%tWd1E*|O5^j=Z=CkDtE%3`niHnAN{pxxW1++SegogEQebnn~V z_EwcwS#fwQ+Uxk_Xo_@ET1kWKQyzRx+LUJ&lk4G}?`5<5T@U)H#r t9GXpIb>^9*6d+7pZ-K;7f>hKjM!FF%n{99enF2_Te$^+hu ?teN8Ybpq?a01^jc||K z@h{$7)|5(eWb6S@47=U6C&cU+e}-boScK~o G z69k@dd)bOcxy$VGFpTx@6=l6<1TEi6f$}s$0>>Oa#Eqe?UDAJ>BaQdmL@U&v93!7f zf8Nnmx8Q;15Z<6fl|cI&=t+Mr8smV>BH_y%7N6n%uMZ-2ao0$HVhAt~%eFP}F`DW9 z+;|X=A^(>xsW&F@gHl_fSbksjz2qYiGuns_#)+ZViwzQzaW*SVRqdGeHsx=Z4^({y zr?y%gD$S=ek2kgbH!$yiNzpBN{)_EOCgZDLJ4>adg!5YwxD471KmVIL$=sGg>@ (jV%UKnsA;P|CD|nTJR4x9lpN92e&IJU%kk~hl~faQMdyEW%vsFGDD^8) z58aJ&9uAh D>NJ@0mj--Zf1=+5%oa-V2sN6Ujw0vEx#wSx3H~6k`R!43?6AdFUoooGfS= z*yOs}+;?jmb=+NhMf0)WFwJ=))L$y@mKkM3u$fy&U6p_Ojub9)(RaFt{k7`Z!C*}K zq7I*+K#qa!gF&_uwBld4uJ~QU{H?+h{7thfrq1|pR1Yi&&PEssTv9BB|r56rcKObO7C> mEJPHp$R+~TMh2=x7( zRSimiSw9jNV=D_T&T`ZJl(g}S$2H@cB0>S@)p ve3CC}$jyp27E7=rB#SD7B zVW0Zt0odpBckaUX`#wi=K0rL)SJj^j)aiLP;{OEmBqp@!dc?<%R1K}Oy@n^I74dXy zJ9|1lO2r=N5hJlM3(-Rt>va6=sqR|3hj+meL&bk@s t--P#FphDQd>Xee3{v$ zS4!Ncr|9CeL+m^)o`=aVhSiwjrI5Uy@G~-Tzu!LX;DHX28;4sLDZIh^8Z6?-xAY(; z^EnffpdF(meYl4n7BT6It| v6#;3^1IB!#R(n!9{I55Ot-tv~Y+G@6Qi;>9ul zFQaPL$EHmA_kvZo8sx`9lg9sBbo_G{_&=uDz;PpZ{t32!w)y<(fBdVzfvFPyJ^S4N zX*T{pisdZ9*#C6cUmHnN^8M%5?v6K@gZB5Z`nTn?8utI_oB#iN>fM=S!j7C*yAa6p z95)Uc59=0gY{8z>?kQ|UzpW7Rz9sO!b>n@ld+Y#}FyOn=WQJd;l=)CK@9}{ A7bS^h5 t%AN7o)>gUX)!_G)ep$=eC;3e(EUn1@9~M*V3MpBN83T54F*#38L2gSA@!dVbYc z;irPBntQPyj7GkK<+P8P?olS)drD=Qjtxp)YP3^%o3D??poSZi@9%_5&yS%4rJzCV zLy3x1&?P1>?UvXyEJ-J^2_A`xwkb_i=(kR17^1nNuEsyyZZxkq*eLk5DyeGqyu#g6 z6S*zzM}H|ZhCo_vK}3}gNDWUjqI&_Q&X}Lio>9EhiMlwLGZ{T{d8q+=)oMu1dw9OJ zxz61IGW1PwE0?iW_-Iuc^{awnu@t3x-ujXIr!tT26<78(7HFryXRvIR@WGT7${s!DeLQPz z_n0z`(pd8Hx;;g|f0Y9c7y3OEcc$_PrrmxxnLM1zV=&z0D+XfV^%CGove*O&<$zoo zRPv1!E+*G1P!@R_9r`o*7u7<&O$rn>{CnYQQ_2U8U?ZLos^QI!ygK>t*PEl)=6`Ib zJaHMNu?SK7+^5$#HYdQ}D(^jKh{6{vUYs#ZzsH;XN<={)R ZfySKo{?yPa{t%eztx-Y_DPeI!py4aSyp@WJ)$oV3?hQ6$e^IAO8(6Vnt zqp}8{ec|}|X!!6`*86rv_VfjJYVR{{GV24#@cf{c7d_K5Z<*4<>ISOoTam@R y0dR2-5C5Pl6JQ)-4a(PI3{7hTq z=)45t%5-rUF 3M5>j11+t(lC?fW5*P&NV-(*I-1)=< zx*Df5!gq?lY~q(PK%OJ)&fYK(E+(*duqpTEjiia6C}6n~a&qGMb--4YP6`+TQg7R$ z$CsC5VyOifcwSNgF|`lV_poc_@WVT9^(Fv~d5lKWD@%3wBYc^DbK0d;iI6@Iyk %177ivg;-qrBuX{yt;Z#-TL(QIE%Da^o7$Xrj1{<*(U`3Nh#>GO13kXqi< zt-p=O1G1&r%dfLIf$dJ*#slNEG*fePUC5f?;?fsJ8AvHaH)20v{dAkI+(DLIc@LfL z%;92k%X5u9exnQx!R-!c;gt^eZ1>pB*SN9WrxOj^L0y6A`b;EWGkr^I@44?6xq2dO zVM_&KD0F}b9Q-)#j{b7su=urd#R=tS7l(>$c{wJ&sT1&6z;0A)@xJrUj z6E3UH4ekUimiC@OF^?AACmk^Y^LQ=3VRmAz!n~2ZE=-*78^AKP;9WhKA+OZL@D+v* zFSj}x_@uAFa(kH5L*ZBvEMbFqPZnGT=vVL0DnbU~usv}CZs^YHW`{i!FoH+UUDKmt zOD&8y+=dMKh5|?32nBe>b`ZXl0u@=28T58G{`(_MXenL?NEP1JWsYWEZczD!i3Yd^ zDOh1&uFLDkc3?269X!NpGHiv&8jX2&)*Gw!8y$3C%X{?nRpigx*`%Ra^7f6!GTyNF zT${Y9?RuBTMa}yApJ+->t$SGgOxXKOh`^ 2bpWS C-p?6x<0=%9oark;Fw)n!3ZdzkGQ}^U@U;hmhu-b$hS$Yoq0>)A=7( zq#za8S^g81_ya)q1qi^#!^LJck$Lx*3h;sR?UR!euC}bhd(TbYF3=*6eU2Yy2- iFc ztSm12GPD$XkFqOXpLVGivk%~aB0LQGJqlVm;=2?LjKjs&xakY_a6zHLJa;>Qd{2K+ za+57SwQl$6O(AL&EXP_~umAx&%FeDIwY#-1y)9b~!3^{{Zj%*3UTwawG6W!@y)ET~ z(9eP_u}xktO-2SpNY!gfvA?eRCdr*uV%jM+p@q$t4Pv?~0Fg{fKQq%2(=|-d&<(=U zi3R48X=!@S+SCY6Do5`#r5dLTMT6OFF$^^a5%k&E$lWg#fwM2gS}N+1W?=KaDl%*q z#>to@rc`cfl@73_jg0#YCLb?t@ZOM_CWXECrV7abXqq}+bC22tO$S!nCiFy;Di_4X zYVxj=E$q&v4N=j&y 4@zg<;zNWTDv{q!y$_w82~;#{wm+YZz!zL=8merNG%@Bx$@H2&n$ z80z8k+1&We<3k{FZoeo+3TrjvQ4B=X0uIF3`F!-*-Zr&+-cSvGZL0nYJmSJReU;^X zZYe=~OEqf=^v(^lp`Ne07LUX@i6J*#8ts1qI#9$VHmucG !O9`3bT_bA5YT}^^UXu66&^A& zg+47Cv?8v!cMc-e-JVRQ+0Xa)51bY@dO?A d~%qlvAo(ykf|^B@glLs=|Q(T&ge(F*)KLf(Vv#^E_f z;}d>DA2jf1;1Z4)Z#lKh(9`Xf>@ohF>TeO^=(ID4UcX=l%XQwN91>qtT8TRjVYFG^ zHoPBL#SC@mF>t_omIcR&d9rjoY#o9}hdWtKZZt^8Tbd`8UURb*yQ0Ka=;-?~eQ_Io zsgea!DucmkI;{Qv=SvL&Q_zpn7wqE|QC( T~0CGRL(oPXn^lql9CLM zzqN7?t+CU+Q0mL58#+AO6QT%K|9rd@zK#eCmKA}xZE}W @fl<5J{ ziuu^gL9*bampK$t#xiRK`t>>-*2&hHmX;ELlB{2aNszrZ@B*+t1w{4;`o)=82OG1w z)zpM0#@D#f@fT;qS?}G`*-ThurlQi>RF&50OAQprS*YQQ;WlVy!?o;PYP@Gvfdz+H z+ifD#C_nLt&A{#Ynm?aXfMuV$L7%=X5wy>6E4u2R)bjIg9BENMjAhj =yFuII-ixJ$Rp{lF@j)cG_2t8pu_4uNpg=uH z*B;F<3t=f3Amo4l%X5RcaFWk4x00?+6KgIein-tNOXI8$xt5k`f~hYd^2>$|FDQXm z*$G)u)G=a$J%)nhgjU@O^ge(oYNnWET}%rYrfk6c0q)s&x$bQVQ+6O(T3U*D{p0-9 z{%GU$Qqh+@W|6d0;b11l%QU}vVX9T{X1h0MNMk*0^LhXLFfc=Nz8wRk&+~R;WgoC% za0qJ}EyZbo0uLie?}j8^DKo{vV8?q_$9u62AXF(+DrG56l1)HzSYB33I;l?Y?qhUI z{?)rCns4o(AnT83856UefkgR7mf!gPa4zM5f6DjAsP-9Srf@n=F8&S;)^+H3a|qE5 zkJ^;|Y|e1Z!a6Gxt4u17z&0K@X)pc`iwSN9wwBu$9Dj)64B4C$5wz{ Q1oZPnPL6vD!CpJygNYw~Ok!HtT?jgzct#WZn-=xWB$k`0Nggk&9Rs_6vbV z6`1Xs;j-!O=w43tUs5=ESG3@6 Pk*Fe?>W-rqgW%htq(c%D!NgQnP;2 z8s -Bv!^iaf*?ELYke@HsUW<5_ z^akVl^<`=hsf^T y g8~7hB^9h>MdL+etO`(Q*6QazNCEia4NN!qgpIW7 z`F+9tCCcC_c)qMl>91?pm)M=GDLA L3Wo81>{8{BA;6e%V}~ >Xn%IY`s?{H^!SA@h{DTaH3;?QOTRR&Ir0Fl%>n-@lYO!n zl4}-_%#PJ~KXF>1Y^+;Bd~P1xnAv}Or7yb;7&V8eN>5_sGfM^O!bNQSkMKY@^lHeP zyn-K8ss^7|zawGL< 3ynjGz^^e-Nc{s?w-8L?I~uZVxZx4 zuguCaU!TWf$Q5E;<5Xlu(4!ZRCt?13H8UVX1={73SEiux?4X%dXJN3=UDrr)As7W_ zUa34{G_Tqtu$YOIswlBo+8EA$AJNmA!oUs&RL2J=+WqXYuva>I1TZ*(jxvV6ci!m1 zJCBT(g08lyQD3Z){6>w4A?|i~gl=SHgnKZBqZCdkrPorec4PbvPVomQdr=S+xLhR< z67z%SC{N{BQPnYuYfpYcX(^nWh3T7+Wko7>=9wQzKco`juH4$ M-WbQR^ z`h;IvcCn}w8UUM}T3PtGQrF(gicH5;N_Sr!JJ>YXVIDsf68R)7f?cc)?rWLsA6FxN zOC2dLXdB4I9caWyUwg)!bLxs#m&igSoM;!bz$5iGJ$@o7C>>vCXcLJsz2o(TjgPV5 zx|m-NT$f+RiOUump+m^ArI9-wBI1z?;$x7R>nY*ky~9r>{D|I0`c`mYS~Xh_l8-r z);;c5DC$}roHoAc*u?&QtH%L^$SI&MuyNW?-~SN{pUZVu)q)4DO^)|`k6x)){DF<= z5kGywskPvpa(@D&)Of3h!}-A+;hmQRV0BOxfbu`=jH4?e?3|@IhXayM=pYEneRoV> zM9~)M`~29;`$3>TMNrxme4#BhdcFHTsWaRGJId(HUP8kk?~+C+#$^n<#-R!A#-CTU zSO8RT3SWEf&|^_~+_yaj+vt{+K?8ki8`7BTTJHUc$rG4*_6-Cw5O2ju3l4nd5!VT+ zc>aKO#4zt#gJ5mDTo=$Qh^Ne34orf-rCxo%fo3YvhUV!+bVhh$%2*;}O|hBa=2(rL z%Sy_V@T)+!fZL+cUvk*cX=^4vmGkCFpE&6Nr}|_W-N#-lZM|z!{QBB}ANgBfg kmg|=+c*iGN#Y#fMi_rXBc`eWz2hM zLm4k4p$Pg{1p7E!WqsKPtqO{2n6lwjDQNa4+2*H#Mg<{AXq^_3W5lfLPw6-+nPZgl z_E#{@eRMe(MZ7L2MvsX^hs|f}bZ*_?2$=MSNlN4LeNsg#M^ZO4YP;zaZbfjNsu7Ly z-hP^zh*X)Ju91#?INnxWyR<~a*9{uT4Ve|2E$^$$=`7&uo+2flXW@4JkT(d4O!=j! zKv=42YHl}Ovo!Cl`t)qZi^olWepgWa`SX_uEc}OSTPYvhW#?=jvvy#%2Dc9a<5oEH z4K&V6Fz0(oJ+qv&B*p6cy1_5tAA22?EMfW-v3>?~dDa1>Bw^AL?Tu_0PRAQYkGT2K zv)fvzL0rdw)>$CO%?LHxpXU(p15m eL~C>8)-uqmW}HqTuxd8K%XG$1ha3cQGV zkmZx7G>X#w5l}#xg5##2`+Sz6uxmMR`MyuftBjc-VzPb)U{s?>G&;oF9Xme4dJ`k` zUEKDnV7?KC-?3G*%!&v}?K0l}dVmIkJfPv4;r;U~e2i6)5hLxJxtp{9 3ts)P~a{x%HdaR<*m(rtA{~t17N2n Nf kXE?AjHUOP z?HJvER%Ou=b@8=h<0D!YidhV7sXl$&aRoNsbjd;q(qQ?wz_@cfoDc3r@iJU&Z_4Oj zOM5B~SQn4