From d155132fa17cddb8b77ad4f856708e51ac60610e Mon Sep 17 00:00:00 2001 From: Geeves Date: Sat, 3 Oct 2020 13:48:29 +0200 Subject: [PATCH] Aquaponics and Molluscs (#10067) --- aurorastation.dme | 1 + code/__defines/hydroponics.dm | 8 ++ code/game/machinery/vending_items.dm | 2 +- code/game/machinery/vending_types.dm | 4 +- code/modules/hydroponics/grown.dm | 2 +- code/modules/hydroponics/seed.dm | 76 ++++++++++++----- .../hydroponics/seed_datums/adhomai.dm | 4 +- .../hydroponics/seed_datums/aquaculture.dm | 52 ++++++++++++ .../modules/hydroponics/seed_datums/fruits.dm | 2 +- code/modules/hydroponics/seed_datums/misc.dm | 2 +- .../hydroponics/seed_datums/mushrooms.dm | 6 +- .../modules/hydroponics/seed_datums/tomato.dm | 4 +- code/modules/hydroponics/seed_packets.dm | 13 +-- code/modules/hydroponics/seed_storage.dm | 7 +- .../hydroponics/spreading/spreading.dm | 4 +- code/modules/hydroponics/trays/tray.dm | 11 ++- code/modules/hydroponics/trays/tray_soil.dm | 2 + code/modules/random_map/drop/drop_types.dm | 2 +- .../Chemistry-Reagents-Food-Drinks.dm | 5 ++ .../reagent_containers/food/snacks/fish.dm | 79 ++++++++++++++++++ html/changelogs/geeves-aquaponics.yml | 7 ++ icons/obj/hydroponics_growing.dmi | Bin 42151 -> 42507 bytes icons/obj/hydroponics_products.dmi | Bin 21697 -> 21944 bytes icons/obj/molluscs.dmi | Bin 0 -> 801 bytes icons/obj/seeds.dmi | Bin 7929 -> 8049 bytes 25 files changed, 245 insertions(+), 48 deletions(-) create mode 100644 code/modules/hydroponics/seed_datums/aquaculture.dm create mode 100644 html/changelogs/geeves-aquaponics.yml create mode 100644 icons/obj/molluscs.dmi diff --git a/aurorastation.dme b/aurorastation.dme index f13e009a9b7..d1e1b228126 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -1689,6 +1689,7 @@ #include "code\modules\hydroponics\beekeeping\smoker.dm" #include "code\modules\hydroponics\beekeeping\wax.dm" #include "code\modules\hydroponics\seed_datums\adhomai.dm" +#include "code\modules\hydroponics\seed_datums\aquaculture.dm" #include "code\modules\hydroponics\seed_datums\flowers.dm" #include "code\modules\hydroponics\seed_datums\fruits.dm" #include "code\modules\hydroponics\seed_datums\grains.dm" diff --git a/code/__defines/hydroponics.dm b/code/__defines/hydroponics.dm index 5edafb92f6f..f6b89f81c77 100644 --- a/code/__defines/hydroponics.dm +++ b/code/__defines/hydroponics.dm @@ -1,6 +1,14 @@ //Misc #define DEAD_PLANT_COLOUR "#C2A180" +// Seed noun datums +#define SEED_NOUN_SPORES "spores" +#define SEED_NOUN_PITS "pits" +#define SEED_NOUN_NODES "nodes" +#define SEED_NOUN_CUTTINGS "cuttings" +#define SEED_NOUN_SEEDS "seeds" +#define SEED_NOUN_EGGS "eggs" + // Definitions for genes (trait groupings) #define GENE_BIOCHEMISTRY "biochemistry" #define GENE_HARDINESS "hardiness" diff --git a/code/game/machinery/vending_items.dm b/code/game/machinery/vending_items.dm index ab888d3b5d2..4539de56a2f 100644 --- a/code/game/machinery/vending_items.dm +++ b/code/game/machinery/vending_items.dm @@ -90,7 +90,7 @@ /obj/item/vending_refill/seeds name = "resupply canister" - vend_id = "seeds" + vend_id = SEED_NOUN_SEEDS charges = 175 /obj/item/vending_refill/cutlery diff --git a/code/game/machinery/vending_types.dm b/code/game/machinery/vending_types.dm index 762719a8ee2..60bc612c156 100644 --- a/code/game/machinery/vending_types.dm +++ b/code/game/machinery/vending_types.dm @@ -584,8 +584,8 @@ desc = "When you need seeds fast!" product_slogans = "THIS'S WHERE TH' SEEDS LIVE! GIT YOU SOME!;Hands down the best seed selection on the station!;Also certain mushroom varieties available, more for experts! Get certified today!" product_ads = "We like plants!;Grow some crops!;Grow, baby, growww!;Aw h'yeah son!" - icon_state = "seeds" - vend_id = "seeds" + icon_state = SEED_NOUN_SEEDS + vend_id = SEED_NOUN_SEEDS products = list( /obj/item/seeds/ambrosiavulgarisseed = 3, /obj/item/seeds/appleseed = 3, diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 9c7a6eb2f35..8ac23996a45 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -119,7 +119,7 @@ descriptors -= chosen desc += "[(descriptor_count>1 && descriptor_count!=descriptor_num) ? "," : "" ] [chosen]" descriptor_num-- - if(seed.seed_noun == "spores") + if(seed.seed_noun == SEED_NOUN_SPORES) desc += " mushroom" else desc += " fruit" diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index af30676d8bc..65f035c37bc 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -7,7 +7,7 @@ var/uid // Unique identifier. var/name // Index for global list. var/seed_name // Plant name for seed packet. - var/seed_noun = "seeds" // Descriptor for packet. + var/seed_noun = SEED_NOUN_SEEDS // Descriptor for packet. var/display_name // Prettier name. var/roundstart // If set, seed will not display variety number. var/mysterious // Only used for the random seed packets. @@ -21,8 +21,9 @@ var/kitchen_tag // Used by the reagent grinder. var/trash_type // Garbage item produced when eaten. var/splat_type = /obj/effect/decal/cleanable/fruit_smudge // Graffiti decal. - var/has_mob_product + var/product_type = /obj/item/reagent_containers/food/snacks/grown var/force_layer + var/hydrotray_only /datum/seed/proc/setup_traits() @@ -328,14 +329,50 @@ return impact +/datum/seed/proc/generate_name() + var/prefix = "" + var/name = "" + if(prob(50)) //start with a prefix. + //These are various plant/mushroom genuses. + //I realize these might not be entirely accurate, but it could facilitate RP. + var/list/possible_prefixes + if(seed_noun == SEED_NOUN_CUTTINGS || seed_noun == SEED_NOUN_SEEDS || (seed_noun == SEED_NOUN_NODES && prob(50))) + possible_prefixes = list("amelanchier", "saskatoon", + "magnolia", "angiosperma", "osmunda", "scabiosa", "spigelia", "psydrax", "chastetree", + "strychnos", "treebine", "caper", "justica", "ragwortus", "everlasting", "combretum", + "loganiaceae", "gelsemium", "logania", "sabadilla", "neuburgia", "canthium", "rytigynia", + "chaste", "vitex", "cissus", "capparis", "senecio", "curry", "cycad", "liverwort", "charophyta", + "glaucophyte", "pinidae", "vascular", "embryophyte", "lillopsida") + else + possible_prefixes = list("bisporus", "bitorquis", "campestris", "crocodilinus", "agaricus", + "armillaria", "matsutake", "mellea", "ponderosa", "auricularia", "auricala", + "polytricha", "boletus", "badius", "edulis", "mirabilis", "zelleri", + "calvatia", "gigantea", "clitopilis", "prumulus", "entoloma", "abortivum", + "suillus", "tuber", "aestivum", "volvacea", "delica", "russula", "rozites") + possible_prefixes |= list("butter", "shad", "sugar", "june", "wild", "rigus", "curry", "hard", "soft", "dark", "brick", "stone", "red", "brown", + "black", "white", "paper", "slippery", "honey", "bitter") + prefix = pick(possible_prefixes) + var/num = rand(2,5) + var/list/possible_name = list("rhon", "cus", "quam", "met", "eget", "was", "reg", "zor", "fra", "rat", "sho", "ghen", "pa", + "eir", "lip", "sum", "lor", "em", "tem", "por", "invi", "dunt", "ut", "la", "bore", "mag", "na", + "al", "i", "qu", "yam", "er", "at", "sed", "di", "am", "vol", "up", "tua", "at", "ve", "ro", "eos", + "et", "ac", "cus") + for(var/i in 1 to num) + var/syl = pick(possible_name) + possible_name -= syl + name += syl + if(prefix) + name = "[prefix] [name]" + seed_name = name + display_name = name + display_name = "[name] plant" + //Creates a random seed. MAKE SURE THE LINE HAS DIVERGED BEFORE THIS IS CALLED. /datum/seed/proc/randomize() + roundstart = FALSE + mysterious = TRUE - roundstart = 0 - seed_name = "strange plant" // TODO: name generator. - display_name = "strange plants" // TODO: name generator. - mysterious = 1 - seed_noun = pick("spores","nodes","cuttings","seeds") + seed_noun = pick(SEED_NOUN_SEEDS, SEED_NOUN_PITS, SEED_NOUN_NODES, SEED_NOUN_CUTTINGS) set_trait(TRAIT_POTENCY,rand(5,30),200,0) set_trait(TRAIT_PRODUCT_ICON,pick(SSplants.plant_product_sprites)) @@ -486,6 +523,8 @@ set_trait(TRAIT_MATURATION,rand(5,15)) set_trait(TRAIT_PRODUCTION,get_trait(TRAIT_MATURATION)+rand(2,5)) + generate_name() + //Returns a key corresponding to an entry in the global seed list. /datum/seed/proc/get_mutant_variant() if(!mutants || !mutants.len || get_trait(TRAIT_IMMUTABLE) > 0) return 0 @@ -609,8 +648,8 @@ consume_gasses |= new_gasses gene.values["[TRAIT_CONSUME_GASSES]"] = null if(GENE_METABOLISM) - has_mob_product = gene.values["mob_product"] - gene.values["mob_product"] = null + product_type = gene.values["product_type"] + gene.values["product_type"] = null for(var/trait in gene.values) set_trait(trait,gene.values["[trait]"]) @@ -639,7 +678,7 @@ if(GENE_HARDINESS) traits_to_copy = list(TRAIT_TOXINS_TOLERANCE,TRAIT_PEST_TOLERANCE,TRAIT_WEED_TOLERANCE,TRAIT_ENDURANCE) if(GENE_METABOLISM) - P.values["mob_product"] = has_mob_product + P.values["product_type"] = product_type traits_to_copy = list(TRAIT_REQUIRES_NUTRIENTS,TRAIT_REQUIRES_WATER,TRAIT_ALTER_TEMP) if(GENE_VIGOUR) traits_to_copy = list(TRAIT_PRODUCTION,TRAIT_MATURATION,TRAIT_YIELD,TRAIT_SPREAD) @@ -700,17 +739,12 @@ spawn_seed(get_turf(user)) /datum/seed/proc/spawn_seed(var/turf/spawning_loc) - var/obj/item/product - if(has_mob_product) - product = new has_mob_product(spawning_loc,name) - else - product = new /obj/item/reagent_containers/food/snacks/grown(spawning_loc,name) + var/obj/item/product = new product_type(spawning_loc, name) if(get_trait(TRAIT_PRODUCT_COLOUR)) - if(!istype(product, /mob)) - product.color = get_trait(TRAIT_PRODUCT_COLOUR) - if(istype(product,/obj/item/reagent_containers/food)) - var/obj/item/reagent_containers/food/food = product - food.filling_color = get_trait(TRAIT_PRODUCT_COLOUR) + if(istype(product, /obj/item/reagent_containers/food)) + var/obj/item/reagent_containers/food/food = product + food.color = get_trait(TRAIT_PRODUCT_COLOUR) + food.filling_color = get_trait(TRAIT_PRODUCT_COLOUR) if(mysterious) product.name += "?" @@ -750,7 +784,7 @@ new_seed.can_self_harvest = can_self_harvest new_seed.kitchen_tag = kitchen_tag new_seed.trash_type = trash_type - new_seed.has_mob_product = has_mob_product + new_seed.product_type = product_type //Copy over everything else. if(mutants) new_seed.mutants = mutants.Copy() if(chems) new_seed.chems = chems.Copy() diff --git a/code/modules/hydroponics/seed_datums/adhomai.dm b/code/modules/hydroponics/seed_datums/adhomai.dm index 04125ff8d4a..df8141c1903 100644 --- a/code/modules/hydroponics/seed_datums/adhomai.dm +++ b/code/modules/hydroponics/seed_datums/adhomai.dm @@ -99,7 +99,7 @@ /datum/seed/mushroom/nfrihi name = "nfrihi" seed_name = "blizzard ears" - seed_noun = "nodes" + seed_noun = SEED_NOUN_NODES display_name = "blizzard ear stalks" mutants = null chems = list(/datum/reagent/nutriment/flour/nfrihi = list(10, 10)) @@ -127,7 +127,7 @@ name = "nmshaan" seed_name = "sugar tree" display_name = "sugar trees" - seed_noun = "seeds" + seed_noun = SEED_NOUN_SEEDS mutants = null chems = list(/datum/reagent/sugar = list(2, 10)) kitchen_tag = "nmshaan" diff --git a/code/modules/hydroponics/seed_datums/aquaculture.dm b/code/modules/hydroponics/seed_datums/aquaculture.dm new file mode 100644 index 00000000000..7fae2199f68 --- /dev/null +++ b/code/modules/hydroponics/seed_datums/aquaculture.dm @@ -0,0 +1,52 @@ +/datum/seed/mollusc + name = "mollusc" + seed_name = "mollusc" + display_name = "mollusc bed" + product_type = /obj/item/mollusc + seed_noun = SEED_NOUN_EGGS + mutants = null + +/datum/seed/mollusc/New() + ..() + set_trait(TRAIT_MATURATION, 10) + set_trait(TRAIT_PRODUCTION, 1) + set_trait(TRAIT_YIELD, 3) + set_trait(TRAIT_POTENCY, 1) + set_trait(TRAIT_PRODUCT_ICON, "mollusc") + set_trait(TRAIT_PLANT_ICON, "mollusc") + set_trait(TRAIT_WATER_CONSUMPTION, 6) + set_trait(TRAIT_IDEAL_HEAT, 288) + set_trait(TRAIT_LIGHT_TOLERANCE, 6) + set_trait(TRAIT_PRODUCT_COLOUR, "#aaabba") + set_trait(TRAIT_PLANT_COLOUR, "#aaabba") + +/obj/item/seeds/mollusc + seed_type = "mollusc" + +/datum/seed/mollusc/clam + name = "clam" + seed_name = "clam" + display_name = "clam bed" + product_type = /obj/item/mollusc/clam + +/datum/seed/mollusc/clam/New() + ..() + set_trait(TRAIT_PRODUCT_COLOUR, "#9aaca6") + set_trait(TRAIT_PLANT_COLOUR, "#9aaca6") + +/obj/item/seeds/clam + seed_type = "clam" + +/datum/seed/mollusc/barnacle + name = "barnacle" + seed_name = "barnacle" + display_name = "barnacle bed" + product_type = /obj/item/mollusc/barnacle + +/datum/seed/mollusc/barnacle/New() + ..() + set_trait(TRAIT_PRODUCT_COLOUR, "#c1c0b6") + set_trait(TRAIT_PLANT_COLOUR, "#c1c0b6") + +/obj/item/seeds/barnacle + seed_type = "barnacle" \ No newline at end of file diff --git a/code/modules/hydroponics/seed_datums/fruits.dm b/code/modules/hydroponics/seed_datums/fruits.dm index 409dac0e74f..045e8257b2d 100644 --- a/code/modules/hydroponics/seed_datums/fruits.dm +++ b/code/modules/hydroponics/seed_datums/fruits.dm @@ -306,7 +306,7 @@ /datum/seed/cherries name = "cherry" seed_name = "cherry" - seed_noun = "pits" + seed_noun = SEED_NOUN_PITS display_name = "cherry tree" chems = list(/datum/reagent/nutriment = list(1,15), /datum/reagent/sugar = list(1,15), /datum/reagent/nutriment/cherryjelly = list(10,15)) kitchen_tag = "cherries" diff --git a/code/modules/hydroponics/seed_datums/misc.dm b/code/modules/hydroponics/seed_datums/misc.dm index 42e9ed4af80..93a4a14fb75 100644 --- a/code/modules/hydroponics/seed_datums/misc.dm +++ b/code/modules/hydroponics/seed_datums/misc.dm @@ -126,7 +126,7 @@ seed_noun = "node" display_name = "diona pod" can_self_harvest = 1 - has_mob_product = /mob/living/carbon/alien/diona + product_type = /mob/living/carbon/alien/diona /datum/seed/diona/setup_traits() ..() diff --git a/code/modules/hydroponics/seed_datums/mushrooms.dm b/code/modules/hydroponics/seed_datums/mushrooms.dm index 6829e9c5e0b..195874489e1 100644 --- a/code/modules/hydroponics/seed_datums/mushrooms.dm +++ b/code/modules/hydroponics/seed_datums/mushrooms.dm @@ -4,7 +4,7 @@ /datum/seed/mushroom name = "mushrooms" seed_name = "chanterelle" - seed_noun = "spores" + seed_noun = SEED_NOUN_SPORES display_name = "chanterelle mushrooms" mutants = list("reishi","amanita","plumphelmet") chems = list(/datum/reagent/nutriment = list(1,25)) @@ -31,7 +31,7 @@ /datum/seed/koisspore name = "koisspore" seed_name = "kois" - seed_noun = "spores" + seed_noun = SEED_NOUN_SPORES display_name = "k'ois spores" chems = list( /datum/reagent/kois = list(4), @@ -130,7 +130,7 @@ display_name = "walking mushrooms" mutants = null can_self_harvest = 1 - has_mob_product = /mob/living/simple_animal/mushroom + product_type = /mob/living/simple_animal/mushroom /datum/seed/mushroom/plump/walking/setup_traits() ..() diff --git a/code/modules/hydroponics/seed_datums/tomato.dm b/code/modules/hydroponics/seed_datums/tomato.dm index 8e3d85009ec..894d6119fd3 100644 --- a/code/modules/hydroponics/seed_datums/tomato.dm +++ b/code/modules/hydroponics/seed_datums/tomato.dm @@ -5,7 +5,7 @@ name = "tomato" seed_name = "tomato" display_name = "tomato plant" - mutants = list("bluetomato","bloodtomato") // no killer :( + mutants = list("bluetomato","bloodtomato") // no killer :[ chems = list(/datum/reagent/nutriment = list(1,10), /datum/reagent/drink/tomatojuice = list(10,10)) kitchen_tag = "tomato" @@ -49,7 +49,7 @@ display_name = "killer tomato plant" mutants = null can_self_harvest = 1 - has_mob_product = /mob/living/simple_animal/tomato + product_type = /mob/living/simple_animal/tomato /datum/seed/tomato/killer/setup_traits() ..() diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm index ab3aa4ac008..bc347c37c51 100644 --- a/code/modules/hydroponics/seed_packets.dm +++ b/code/modules/hydroponics/seed_packets.dm @@ -23,13 +23,14 @@ var/global/list/plant_seed_sprites = list() //Updates strings and icon appropriately based on seed datum. /obj/item/seeds/proc/update_appearance() - if(!seed) return + if(!seed) + return // Update icon. cut_overlays() - var/is_seeds = ((seed.seed_noun in list("seeds","pits","nodes")) ? 1 : 0) + var/is_seeds = ((seed.seed_noun in list(SEED_NOUN_SEEDS, SEED_NOUN_PITS, SEED_NOUN_NODES)) ? 1 : 0) var/image/seed_mask - var/seed_base_key = "base-[is_seeds ? seed.get_trait(TRAIT_PLANT_COLOUR) : "spores"]" + var/seed_base_key = "base-[is_seeds ? seed.get_trait(TRAIT_PLANT_COLOUR) : SEED_NOUN_SPORES]" if(plant_seed_sprites[seed_base_key]) seed_mask = plant_seed_sprites[seed_base_key] else @@ -52,10 +53,10 @@ var/global/list/plant_seed_sprites = list() if(is_seeds) src.name = "packet of [seed.seed_name] [seed.seed_noun]" - src.desc = "It has a picture of [seed.display_name] on the front." + src.desc = "It has a picture of \a [seed.display_name] on the front." else src.name = "sample of [seed.seed_name] [seed.seed_noun]" - src.desc = "It's labelled as coming from [seed.display_name]." + src.desc = "It's labelled as coming from \a [seed.display_name]." /obj/item/seeds/examine(mob/user) ..(user) @@ -63,7 +64,7 @@ var/global/list/plant_seed_sprites = list() to_chat(user, "It's tagged as variety #[seed.uid].") /obj/item/seeds/cutting - name = "cuttings" + name = SEED_NOUN_CUTTINGS desc = "Some plant cuttings." /obj/item/seeds/cutting/update_appearance() diff --git a/code/modules/hydroponics/seed_storage.dm b/code/modules/hydroponics/seed_storage.dm index ecf9a57994d..160d9d5b888 100644 --- a/code/modules/hydroponics/seed_storage.dm +++ b/code/modules/hydroponics/seed_storage.dm @@ -21,7 +21,7 @@ name = "Seed storage" desc = "It stores, sorts, and dispenses seeds." icon = 'icons/obj/vending.dmi' - icon_state = "seeds" + icon_state = SEED_NOUN_SEEDS density = 1 anchored = 1 use_power = 1 @@ -91,7 +91,10 @@ /obj/item/seeds/wheatseed = 3, /obj/item/seeds/whitebeetseed = 3, /obj/item/seeds/wulumunushaseed = 2, - /obj/item/seeds/ylpha = 2 + /obj/item/seeds/ylpha = 2, + /obj/item/seeds/clam = 15, + /obj/item/seeds/barnacle = 15, + /obj/item/seeds/mollusc = 15 ) /obj/machinery/seed_storage/xenobotany diff --git a/code/modules/hydroponics/spreading/spreading.dm b/code/modules/hydroponics/spreading/spreading.dm index 539f0c7b6f1..50ebccbd04e 100644 --- a/code/modules/hydroponics/spreading/spreading.dm +++ b/code/modules/hydroponics/spreading/spreading.dm @@ -106,8 +106,8 @@ growth_type = 2 // Vines by default. if(seed.get_trait(TRAIT_CARNIVOROUS) == 2) growth_type = 1 // WOOOORMS. - else if(!(seed.seed_noun in list("seeds","pits"))) - if(seed.seed_noun == "nodes") + else if(!(seed.seed_noun in list(SEED_NOUN_SEEDS,SEED_NOUN_PITS))) + if(seed.seed_noun == SEED_NOUN_NODES) growth_type = 3 // Biomass else growth_type = 4 // Mold diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm index 959664a907d..d9ef3522256 100644 --- a/code/modules/hydroponics/trays/tray.dm +++ b/code/modules/hydroponics/trays/tray.dm @@ -1,5 +1,6 @@ /obj/machinery/portable_atmospherics/hydroponics name = "hydroponics tray" + desc = "A mechanical basin designed to nurture plants and other aquatic life. It has various useful sensors." icon = 'icons/obj/hydroponics_machines.dmi' icon_state = "hydrotray3" density = 1 @@ -151,8 +152,7 @@ return ..() /obj/machinery/portable_atmospherics/hydroponics/attack_ghost(var/mob/abstract/observer/user) - - if(!(harvest && seed && seed.has_mob_product)) + if(!(harvest && seed && ispath(seed.product_type, /mob))) return var/datum/ghosttrap/plant/G = get_ghost_trap("living plant") @@ -328,7 +328,8 @@ //Clears out a dead plant. /obj/machinery/portable_atmospherics/hydroponics/proc/remove_dead(var/mob/user) - if(!user || !dead) return + if(!user || !dead || !seed) + return if(closed_system) to_chat(user, "You can't remove the dead plant while the lid is shut.") @@ -522,6 +523,10 @@ qdel(O) return + if(S.seed.hydrotray_only && !mechanical) + to_chat(user, SPAN_WARNING("This packet can only be planted in a hydroponics tray.")) + return + to_chat(user, "You plant the [S.seed.seed_name] [S.seed.seed_noun].") lastproduce = 0 seed = S.seed //Grab the seed datum. diff --git a/code/modules/hydroponics/trays/tray_soil.dm b/code/modules/hydroponics/trays/tray_soil.dm index 01790ba055b..802691bc385 100644 --- a/code/modules/hydroponics/trays/tray_soil.dm +++ b/code/modules/hydroponics/trays/tray_soil.dm @@ -1,5 +1,6 @@ /obj/machinery/portable_atmospherics/hydroponics/soil name = "soil" + desc = "A mound of earth. You could plant some seeds here." icon_state = "soil" density = 0 use_power = 0 @@ -47,6 +48,7 @@ // Hence using a blank icon. /obj/machinery/portable_atmospherics/hydroponics/soil/invisible name = "plant" + desc = null icon = 'icons/obj/seeds.dmi' icon_state = "blank" diff --git a/code/modules/random_map/drop/drop_types.dm b/code/modules/random_map/drop/drop_types.dm index 9c9a5e9f293..c7d06804da5 100644 --- a/code/modules/random_map/drop/drop_types.dm +++ b/code/modules/random_map/drop/drop_types.dm @@ -61,7 +61,7 @@ var/global/list/datum/supply_drop_loot/supply_drop /obj/item/gun/projectile/automatic/rifle/z8) /datum/supply_drop_loot/seeds - name = "Seeds" + name = SEED_NOUN_SEEDS container = /obj/structure/closet/crate /datum/supply_drop_loot/seeds/New() ..() diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm index 5be98eef7c2..91ecc43e541 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -229,6 +229,11 @@ color = "#f5f4e9" taste_description = "fish" +/datum/reagent/nutriment/protein/seafood/mollusc + name = "Mollusc Protein" + taste_description = "cold, bitter slime" + hydration_factor = 6 + /datum/reagent/nutriment/protein/egg // Also bad for skrell. name = "Egg Yolk" color = "#FFFFAA" diff --git a/code/modules/reagents/reagent_containers/food/snacks/fish.dm b/code/modules/reagents/reagent_containers/food/snacks/fish.dm index ad83a24a84d..c5e28f42e1d 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/fish.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/fish.dm @@ -22,3 +22,82 @@ /obj/item/reagent_containers/food/snacks/fish/fishfillet name = "fish fillet" desc = "A fillet of fish." + +/obj/item/reagent_containers/food/snacks/fish/mollusc + name = "slimy meat" + desc = "Some slimy meat from clams or molluscs." + fish_type = "mollusc" + reagents_to_add = list(/datum/reagent/nutriment/protein/seafood/mollusc = 3) + +/obj/item/reagent_containers/food/snacks/fish/mollusc/clam + fish_type = "clam" + +/obj/item/reagent_containers/food/snacks/fish/mollusc/barnacle + fish_type = "barnacle" + +// Molluscs! +/obj/item/trash/mollusc_shell + name = "mollusc shell" + icon = 'icons/obj/molluscs.dmi' + icon_state = "mollusc_shell" + desc = "The cracked shell of an unfortunate mollusc." + +/obj/item/trash/mollusc_shell/clam + name = "clamshell" + icon_state = "clam_shell" + +/obj/item/trash/mollusc_shell/barnacle + name = "barnacle shell" + icon_state = "barnacle_shell" + +/obj/item/mollusc + name = "mollusc" + w_class = ITEMSIZE_TINY + desc = "A small slimy mollusc. Fresh!" + desc_info = "You will need a sharp or edged implement to pry it open. You can also try opening it in your hand if you're strong enough." + icon = 'icons/obj/molluscs.dmi' + icon_state = "mollusc" + var/meat_type = /obj/item/reagent_containers/food/snacks/fish/mollusc + var/shell_type = /obj/item/trash/mollusc_shell + +/obj/item/mollusc/barnacle + name = "barnacle" + desc = "A hull barnacle, probably freshly scraped off a spaceship." + icon_state = "barnacle" + meat_type = /obj/item/reagent_containers/food/snacks/fish/mollusc/barnacle + shell_type = /obj/item/trash/mollusc_shell/barnacle + +/obj/item/mollusc/clam + name = "clam" + desc = "A free-ranging space clam." + icon_state = "clam" + meat_type = /obj/item/reagent_containers/food/snacks/fish/mollusc/clam + shell_type = /obj/item/trash/mollusc_shell/clam + +/obj/item/mollusc/proc/crack_shell(var/mob/user) + playsound(loc, /decl/sound_category/pickaxe_sound, 40, TRUE) + if(user && loc == user) + user.drop_from_inventory(src) + if(meat_type) + var/obj/item/meat = new meat_type(get_turf(src)) + if(user) + user.put_in_hands(meat) + if(shell_type) + var/obj/item/shell = new shell_type(get_turf(src)) + if(user) + user.put_in_hands(shell) + qdel(src) + +/obj/item/mollusc/attack_self(mob/user) + if(isvaurca(user) || isipc(user) || isunathi(user)) + user.visible_message("[user] cracks open \the [src] with their hands.", SPAN_NOTICE("You crack open \the [src] with your hands.")) + crack_shell(user) + return + return ..() + +/obj/item/mollusc/attackby(var/obj/item/thing, var/mob/user) + if(thing.sharp || thing.edge) + user.visible_message("[user] cracks open \the [src] with \the [thing].", SPAN_NOTICE("You crack open \the [src] with \the [thing].")) + crack_shell(user) + return + return ..() diff --git a/html/changelogs/geeves-aquaponics.yml b/html/changelogs/geeves-aquaponics.yml new file mode 100644 index 00000000000..45251521679 --- /dev/null +++ b/html/changelogs/geeves-aquaponics.yml @@ -0,0 +1,7 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Ported Aquaponics and Molluscs from Nebula." + - rscadd: "Ported randomized strange plant names." diff --git a/icons/obj/hydroponics_growing.dmi b/icons/obj/hydroponics_growing.dmi index 192119a44f3b4852a72e2ebdaa8435ba7ad6a699..e6970fe1f14d67c7ec26e26d69e633c96162e68f 100644 GIT binary patch delta 16536 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 delta 16198 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 N*D=yA*L)QG{{h~yPO<<1 diff --git a/icons/obj/hydroponics_products.dmi b/icons/obj/hydroponics_products.dmi index d7926cf9c8b68b43358861ef4253375c937bf72c..78fb1064a888fdd96eb17edbd0b5561d7fdeb10b 100644 GIT binary patch literal 21944 zcmb5WbyQVh*FAa&=?3YPmPVwzQBstW4gu-z?(UE}gn){GbcZw^Bt%O300JJmo8QCx zj_;5A-Er?7cZ@AEj{EF*Vy(I6oXZ$ZbtPOZN-PKjf~%q|{|W*@3I=~nG0?y#wP95f z5D0RJ?`u7Gc`G*yS6gRyTPH^d#5*rzy2Eje7YF@7#0RS+e?NK5PRx?sfSSL4Us_C+ z^K~Z93-#otE*aN>HRxO9n`}J+g`*aq`y0O-N6F4a7{^OjK7pur=Y9=_3k&S$Ka1uZ zGvf*tOUE`|{zz{T5zweCKRB*8%**@ucl>KsT-|v0#<5(A7d3Cg_gPX4vG`pN!Fr-J z#>b5$Y?{Al(h5>C752XT`{c0Q6HFXKVR_}Z<-3_*RlKz+-a>xz`)GsT7wZahRB}o0 zgqWl}>y?Wy*W+?BZ5Q7J!*In&J>-mnG_w~SeZt+&9X;EWWfx)ps+}^gu=7gqu&gi9 zGkL!GM{MLiMcLd5p~TXjo*;j=@rmChe<}VIOErEXHTpVT9WT_%)z_}jyckA}G!q?B0+d=;hgVz*iGamf%{>u3`n#`@QLIjSR_=y8|uRMOO z7T#@W80EE?K78NZ`c+aGs!Q*`l29^8w{%Q!C}`wGJ8NRpO}Ft6c`fU3`q`=q#oDl_ zg2W^RbqsmsBxz3)68g4JE5*T5C~+iWJY>g$E&IgR>e%!}pGW+#>kNYdkEkUq{}D%` z!d^C)5LWSqXb8I9XT$;Nw0h@rvqIa6DPDH08Esx%#yMXH@>d#>r&4+Srx#d8L9{pe zw>t9s<-d#Ypr=#!)xHI}WBW;e*AUG&=mkq(E?5=(A|ViZh>E<-Ywx_>j1043(I>jMNJD%ehjS3QnX`$~1%Yb{j^5H8rJus!u=Xr;C?v80!A9HYz&;R+Ba`JZXI%``Ecs;>8t{fRe2+O zi;SLT6x#mj*tmX&3eNB_8gv)+2w$q@%$-KG;z0xvg7ARMz zG3&6~(@!zOOPBZO`^^bYSSiEmKfQh`7^C(p`9gbWFyYnb^nuSziB|f8K9fvW-3dc! z<8g3&NQA7}u3sh`f1w`IM~c+Do|69@(l;@o^>ia0X4UrUv$y2<{PbW*neC?;M7Amm zIJP|7AdUveIb{w4cx}iL0ewR_FmP2;g<{NZ%*nij3Uiu(-G#WW}CR( zb94Idtr7;;{Fa9&NhGE|GOR+?%g=kH+Y-NgiJgC5df#v5E@ind#XdAyE~QUm8$fC< zLXGD@G$JgoeTQ3SdnJgha&xDqn1wkuN*SzPUc#C6vfhBps>P6{03~~Db5w5sbj8Hj z_-UpU^DiQTUNNRnbB^wWRcD(t-o5}y6$WFIqdWHR96`VCE2jPxAQh;W$HWXYT9naT z)8R#(xwfDN>luV(TFsT&R&h-V{G8c$ofq1X_%!wYMWxP~_>0h;uSk$RqAr!VE^*eqZx_2FU$br=s`UbfU33J|3~10yvqfD2x~ca?WMYuS6`Mo3}BhR*-8Ei%_xM(pcFe3{lRP^*Y&QZ&9BxS%Y ziw{*-CHl&qalg-Qs_@^=Z)- zX=lub<(4kv;vt+D`RYoT|9)ymb8p=_b_8uv#?2UX?vY?UVdJ51LQW+?s!6nD7Bs(L z9vwI7FvjPE+sa)g(N{*uMd38{_L?{&7?LZd17wuT(Xx-ia#HP zKXz%N?zZGV3=pqIkTHMlMf*-A2tjhL2u@J!y@WoU^Ow}^Igw*cg3|u&H?MhzK^oVe z6U9nZ{OWV~tIzB87=2{rJ<_!PB%v&a3sp5)7i|>gd@`J8e_qI<){bHh?FVF+wY|tbrEv89#CR-E? zgTbUX8KWG7uM5Q9IQH`Hy!wm^=3@Z4IQzi7Cb$YAEG1>~k|gUzsk8;!%?hfovd8nPc{Qq`1XkRYudESqkeW2%C7l;Z2%k+n{a6RJmDhKRz9{WqMicWn4 zc74%e*4k)zMgnD$zSrEXu(k1$=Vc8|&UY&*DG5tRsEuGm%VB$;o{}bnRUtx_OI%c;_D9-CNVVf*ZudugamHsYPqM@Gx9A(>V-BrC0V-iNbQWm-9q1Q`U*Tf8J} z3uU=ov1aE4Ywa`Gmlad5;6y=l-w&wUL?aJgh1C%=&=Yw#EwMYo(n4h= zEiw9dH4NqOqYK)oqfW!JF<8Q628WNOU7C7!4dsY@CwkAWongaQ&GHOeK08lC$@V$p zh+ZAFRnLmz8f4~1@ielX-4;YxmCH%%YkhvbGxh%Qb+Cow?fEc$vh}`DIHM=hh}-O7 zf_U85$-uPj~Hqk4TjAvD5qx`5{_k-}ilXD8rqI@!$ z!y0UMhTBviu9ZYK|DCAkRuSejujrg zlZr*8*^$~T!JFBD4GV}+@$NfsrIM5qD;Ed3ol+!I@<`0si`1g{x1qw0C@UUcKQ`r&E%Yx zTL=%3gev7^v)Z0jkrDLr;;i8dLU4L{(Xpr=u7(nU3+d$@3F$!tXaAKpL+R$laVz|W z6fI4wcr5n1Prs*cOaMj(8-Z;l+PZz}@-s0-At0=}*?xkRIB!jPZjp9C_dY=Q_i_i~ z8xjVl?!`$BCyX{hk*bLzK`~~DN@`H@cdHBdUX~dO0rHovD1H%T+CsY}dqE*bB}5uQ ziP~T~qK6@dp#v$moB@wK2;4eYSVuTb62#mfeLl*BX%<|SI?za6-Dws$zZyRQl8M$YrPTcOF4`ng*gKmD^{Rg>kUvgIZF&4Z{=f53Y`{%XH zJD8HR*$AE4Z{UQD!hNC(;TYB)y#_QWp zthw$W2U`=2;=U(rf{dCKQzX^NYI(zZye&wrOMy$Mq)pbT4C-NIQJR~pft#z;p{XxX z2%5$>hn?kRZfLqL`gz7}1P;#Tod(~dF3{uq<=R}I?sXVY%xk`Rb9l^hz%3cw9e_0V z8+U@k@b~+MylIREw8&nw_oqS7>z{)eYeU2>Fr*#X8!7DdA2T)rywI^4L+%=bN(e+( zSNGy?u9GC9qG2o3r9{jD4Gaa)&3L%KPqim&`52xoYI{0_Us3R!^_uh_cNivM8+i^&D zzjU;++U<_nP~r=nPwo#ArWRdQQ=7~~sE=8fPim=7y0_YZWeR|2^7zdA=l#4mZBy^r z%WR7$x7WKK(LWLF2o>;J+mp>Mip(0hi@lBWJ_Kr&rW;g4+nJU9ln z2J?vACGr5B`F=tDk7EN`mNUA66c~p}SH5bfnk*etx#C#*yoj%eV`o}-AQ6WPiwXP- zTbuD}yYfFTExG_9r%v#!y{qHg882$mA8*e0tGb_^>JP^!RZ)k%W@HAhvHHX|U*?TnAilZ4F)0zU~7bDz7`f@&?z)0;@+TS8c|lWMarer$YE# zN}%~sH?J!9EYnijFlxW~gop8b^O=DZGxtIK$NnY2ihJIV(zDNi@u1_qC zElpz}N?iks=oh#?s}-u{D%s(+<}W_WLww&n&Z6NAn@-C)HhDh0Hre0HWS&8X zEe`?8O(G^PYzRp&(+U&9-pcFx^#5y;oC4occcLDg}6L za+}04=t=G#jn6G)FXkSUjeC!1SofBbQH%Kqq;BaOk%bRiXqrT8I8K?c{1%auoeHZE ziJ!dnyoL4-v`d*v3wOw-2q{a$wSL4L2N z3mq8HHWkJgH_gjYv!F84!KyK~TJerpLd5tuGhQU3t9BVxi5DMCo=?4x7`B9;pFArE zYj|^WvvI+#$B8!BKnA>DnJr5}a^BeH4}VE?NceN6TzPstqyvOnEOMtIx7O1P$O1+S zl&MUYBLoMjE)jZ7ltnmH!sj9@-C&@W!jY79fgs^|%WiMNsjZaP#qtwt^*EoUYNhhbyJV&Pc5t3xNCKG zeief1k%{r9$K=4;p#jGV9B#gQV`)ici0Rx0Q2I zscX&+={De|AKJ%wFMZ=}<>chbF$+E;q3@xT_471M_pK?pQuc1j=Cy0yq^ zruYdKiUZbta*=+e4tdfbsDsmn`!0!l8R4!gqk73?s)Nj*Olrv-jXOBEa#M?3IoQ+~ z3%`7E4Gi2f+$>yF8eVJtiT%~bI82p)tRI~~ zE{XNz?)Y-SZC(wrzPr$PS{IaVw{ae_^yrWb(XpfI;M-_5X0n&iz`=!Nu8pm6!yWZv z<6Fwi74IgAm)=iIq?k}17VrLCmPoJn4LPy{p#)uVm9Y+s<9%_fq~?TKT94e?g5mu7 z2OZ);S5W!6N`C|0>KU5Dazx3OFS1<7ho$V*%hHJU@CgpgJr8l&ujKPRrtw07bgDjL zQurQA{ZMDShO5#E8(}VVK6LO^FMdKAo%Y-CgdX?|#gPSDp0PB^U6Ce zr7vI;+mZ)|kz?CrDYu5!Ts%|dt=;N{>O^~14sb#BblPZcCv2e*Vklkl>_-bt};ym)ZAE}Z}`+`aXNvzkpd-+ei zWaT|Xe$3>}l%Jw>w!=Gz_X^dYan5~sO9K>1{Hr}`8Jv%ATAp|BJSi@?{6J0HY{$3r zBmL{SBFZBDo}e1f-{++(omc_0wyS5`zR}uY$miwQi}fbH*2BDq--a!^Jd#~1V(d=m z$NZOk%qt&ByKOrXp9c^L3N6UKmC12dQOC$pX8e*Af0$}uYZsBrKF;_nZ*+6?262WFjyF@u?xUpJsdpR0wh8`&_Q8db7HWtpZWPJSZN+i)+ zQf7?Vt`C*h`B-}B!ssvA7q8nusb8nD2;o4&{BlnDR9I4%zuKf`^-TU+9HLKjPbag? z7Si6k;q!eG(##wb24JzoTjE@zfqKb*3URJDO}EA29&jwo2u!(t%s215U_Ap5bW?1< zdA1R;2%a4rd;0tkJ(koUrREdvLm22W5o}R%>rGWAR}`kF=_} z?^)HZ;I77f`JuEuv5z1`XuMa5GGTn%9q-PU_q<3MU4cbVLL2TSBHqsKOTV9n-q?x0 zlI37V)72cKlZ{RKI=(5w_C{d&m+IXWJBP+&E>4%eqtC_zkMYdU@I`76r|ofLMtb=_ zwAqHH01Z8R6{TDMIexE5e0@1ItP7PIOkcJFZg>^z1NRvy(b^}hcdfzVXH032=@ z*uHUnxFF8s4lbSjzd-^jlBn46loFZN1_Abf1 zu>VvjX=V0hq8z}=ETeS|#eV8}W(#*N2MDu_@m@zk@px@nD{hHwg|`Zga&MxgoZV7F zeSZW>95`HHK6*4a=pe=t_-pTcjQ1mYpet0Ro()c4kAyKT98>@ zrh5Nn|B(OD(f&EaEZp!-8pXBLS2DW#DFUYJ{YJ?>p%{G3Gx!Ii-Z5B_OcFajM}E4a zFk1J^t=qn))T4_@mc+oDc>}iVaeLL+kL}*0_`E80+bu~)BiBAc-*J7j?A~I-ng0m? zu;e}=(lbtw{(TWdy7|2iyNNT~DD*^lq>n$-BdG5c590yRW72g8{guEthR@&dd*vgJ zQAVl=trTnMuRBpM&Q<$&^>!#C%~C_!y(Z!`o`e!?KM*M7EP=)GQKWq$T|%t959nON z#a(gk42}Oke29cqF5xgIYWfVV93V-eWZ!|=T2usA!3*ibg>;0kO*;rAVp;-Vp6$$( zgVG#8{PP*dPaZ`+oL);MbF`JS$Cji%;2-l+vyn_!tw9hIYVjddrLG_1#hF2h?{io{ z6G_eT!3|Fz$SVbR@L?rGlP0xLo803%zgo8YkmZ8$tk^htw_|!27X2BgcL%?P7xE<1 zjEO%52a;VzVbgW#zbEqJvpCIPmR?!nxq}N8P#wf9P(Y6E!sz3w?d6p(ZfW11+$=`6 zdgkJ}X*cPNMuC@9aI7reB5qTRK6c*0AboIZsLw>n>m={JOTG1Y7v3}PT$Pn zQFs2zwFA<)Jl1?)enf#;b^yIDTK7-6tgM)2AYxgQ@0-MtzOT{q zMJa+}AeA54-moXFVzp2~i!8!qvfgibFy(q{i2oEh{q}+uj0C|8RDc$< zkKM2i;LiQV37hr^sNQ@*s$fj&59mY1l9X5^`c+VggRuZ5m3~$Rp|E8MFHm71dfZv( z(^^}s+jerINGk=0X6?fYc&5Z8O&WD0g-#HZsAuh`-r{J^j5lkCm98gHS9tY8PTm#Ce5aCOyu=^NHk3M}D2wLq;ui%9fHeX{pn@52( zW`L$b9~(2%Mr)g5`Dzm1JwL5|X`cR&?5!!F!&FZV4JtGF$#GtBjMZ|^^Wx+hNVNgt z4|6ZSj^aJi5R?S@Mb7(%e|_0XC4}ng>W~G2>(7sq1pxiba>%+bg=;|{7x18WMOOhf zd-jT9)$19Sid<#zySfiHFu9#SK(R}XAUybIP7BIZqNWZnqT}_oRu?8&Ti>FrtSkWf ze|U?7auSe>>KwuFdzGk=p-Cx8Ni+zkjaYHg6*=f(&PmyR!^Gg0qpvPvN=iyz{~&D3 z!oS6PfM`L#7p>@|v>pO9^ho~bbPAKUduWs{#7Zz`s+1_uY5 zo0}m7Rd|j95VL`CDH6dL9|Mc~axQOAmtBUYZOy`qCPL@9XGF$2Jg{f z9Mvqz&dB>gb&rc!4l0unT#iJKRPy(C5oHLkY{ALw{p%J`cm6rA_dZ&WIS%?I5wu_< zm@6zPIk3IWE{HkNS!YoB&7d-GL6y=9FG_Ck*sHgan?+v=a8yZ&iQ|qW`c$;J+coRGC0gE7`=C>6#Ky+w9aVbrQ_Y{`u}R^kwGA=J9VdhZOra;33&g!)H%m8$=z( zW0>fqSdV@qJj&%zSC(B)sj;JJd5vaJ-cG%p=xXAuzFm*-zU%M^92NQ3EMrEF7v*W# zYb4L`vxp8uYikgci(9PNW}{(z$`8Zr*RhLe4EP0K-u0A;G3k~NCwf$Ew%(!0R_095 zfDtY1i{;T~1mtO@mHwOMxw#K@cb+0K_c{_s_DJ%>ANT)I`2?o5n7>qP{AR0hnT>up zhI}M2j1jNMIP$Jebs+fg$oKrQ{!QK0Er9rC+)$Epz_Nfyl7a|+JFAFuOHfdlY)LZ0`_q)1$T#Ea%|DdOqyck(kO?~O+kFqT4zJt#cF%l9phm&8?zE5i zeHO&;zxtgpsH!-649DyTulZO88%m0rI{3Z!@hTmbox6D34>S5x$Zl@C_s~b^G2baUZzb9UPaNv8`A@aavnM3>znK!AG;}? zz~e7rMbwl=*_kok5gwK`WW6%(3%r_acf)C{!eV0crO*$fgR} z<+d>srvcJ8dk;clUsHIDTE3y{bLMphm)vf1#_n}IqI)@_KmbOY=1{GQJc%8f91D*; zjVn=jGUoMcf-7@uHz7=T=5Hs z=7`A9ujiuG4wHtltIUT+O1hO2-5`FDieS~|91t*G@B;8mHP)2hZuG5Q6H~ZI9<{CvuT`O$O3k>nI{@$ zagjk~YZci30_yQU6@w2^9+*OOKwJXq^pj3SK`&-BLWHUBg5eudbAHi)XD-H~ok%b5 zp^O~KDsdNVUtnz=VyYI-cfA+8V*0X?bA5(l7}Gl$AqBMjrf2w+}A4$G@|1XyeA z-7}K7{^y5TgmQBAx1F6U^2Hi6MohyYJAlSEs?;g6&3U#OJL7Ev5R6t-=%Hw&m42h1 zWWpm76r5S3RUMn83dd$_B?$g-ETm(*I+mD ztWW+M+nqp-3iXU}p0m98nZ2MK5CLrj3|^|kz@#9a%>l4?coloj@Kb+e{Q*vm?|M!k zPKm^l03{C1%Ujvm*;zVOAA!UVu07`|h!1AFLzTGb&fkPaUce%^2@-;Z%h?H%kP4%g z9g1xUu^#;Z*%_SM!H*i)K2ndJym%4sp+bX;lqk@RV1PND6Ez#HP;lHR4nZ7DaWLNm_; zusIOmoDFH4IG0|tDsOENq?4zy!0i*XXEd(ph6V$W9P<`G9_OFjq*!pB%VYIUlXh=x zls<{{+hSlXBI`vC`wr145Z8aH!xZD~|3aG3<#Z&OSlj%$lODEReoX}@(S zMa*|R#tm-{6wK}aC0C-yDJ$UaxLn6#n^dn;!S2qr!DJ7(S~yMAd71`kyqQQ{=_CE*}%pl_Lx_0u); zkse=){}Wk~OT3P&aiZ@;{dCbtvwDWCr~~Q?u!0+$4fBRgzL-Ab^(Zk6u+G6aY`crP z&?`m z`={-eZD5CD-V2-qA+3n4YG{0Td5x22+zUyhyY zNpHB$Wwzb;q`ZEn4Bjjt5vk8$TV9TFpb7KRFDIk>ziuw#d-3QM$u!TIF>!e2{uA{0 zJB^nY3Q1BN`$01?0u1px3FULkCaS@jUF*$HgT=>*7~&)$pxk;*7bw~U@Pai(gyaR1 zGOZA!v&~GvWL%_etdz6&jHILIJ4N2uYu4@4IID?!k`#~1^q2W@AsH)^ZZ~67UfuB9sEc@1+6$j!hwB!D( zMzLueKcQi9+nt{{5R~Z6!vPr4sp{!Fs{8}W0e9@vP)~m-pa;}k9U$_D8jLOSMP=Vj zzX@5)fTZS~f*{b$dBVx^LH~v#QUn!Q1FNh0+r=|LntnqfFg>&;|C?-z;tXRLW$5M| zG3)(bc8dQYIscce_dndI1pUau(0}AU&pZ&9=;-Lg?&DxW6cL8_XoI{X0U#0{O9RW^ z5q3N}UQAH+Ok305#fA6U&_D|g*Nfrdm}g|XYO#~Mp2X0^NrZp29F<@jh&Mmq zxj9rte}s`lKnn@&Cp+(>)It5ETaoe1Nm+*xa|muysRP2|H$!fkL$am}#P(=p@B&Nu zQoX+}4As%mu)#o~M$bKSqEC3ykqn4RpcobeIX(*}_|qaNfJQ!|UR32D@1S>a5TN|tYQ)Hz<9c1exWxNrG(mcF;UZk26oEuKtOn48j1%w;q?nO%xh_kzUcw8K|O-^RC zu53n?CfmYWFJIrBFRZFhls8iqg~R(yEX8SAr-=xHDrRne^S4%Qeo+8*`R=RFB=e?m z`b$AIJ0L3oQA3qJ;~htL^`-_KKp3F$?@x_&GtdK%nP*!9NLs*QVP3NpUkdenrcBcL zRT)98d=pbw_YC62g@lD(sl#EtwEpogo+oh-#IC@ZC^9%_5!CbDKVRqPl!+jy5+XYc zDqlU8nj=o4()w*9`s+ohIkcbv*|}>J#EZ;YP)YS`mRxKrji_9FPE=$@Tx)Eg2rYF1 zS@8m8TkSPZ9I!GiY+a^Zv=OqQGR6MKMF@PHn|=mA>9JaXoijpwU7$T^<=v3YQ=q{A z5zy9uWk&DAQV$B~hSOb7Dll8!350AUSRlX^2#It4&JFgZY@V3T=>!gxj!3{O&6lMG@3LF_8Y+_ zX#}PbP-(U;MwZ#8(3G|>1i1!MCZIts95ebOayK=`{F>%HaIcd|<<*g!<{eIaB?gNh zmI~Ox7V+%d@-@taRREjZHVeE(c}<$ZMMZaLxE74F=-T2g9@JA|MUX|Fk_;5P1HjUUFe$A)gC(x}kX|khdKBTzJXlC9}Zu)_Cyct2;nk_j6vmIu&o?L+a-2 z?M9X>0gA|Ek4?@?ceESrehV+t+L`K(Ps%(1B+t{lDhg z!Gj@V$$%ukyY=@CSVl8Kj-Y(z1?)586#V@5xs>41+{Lfc!VM-OmC0>)k~eQM03Y^| z{VsiF#)AgTlM2i2+saHJdh(LvQ1@2ZQiA#Lg{EA@F5Q{(>Ji@wZ=Q@E-NhA^0-@Px zX6B#I!m0G$7?0mw_q#(@l$!1KMoP#RQ{WW^9*g;1U~LNR1V-8Vd582D%;lJ=;TYP~ zT6p)#Y`;YH^VUM+aWXWFO(@OiQ^3=^14{{xY{iu8-4@utqwk)Lc>uZssNZ?v3O=Jqm%Tf)_<<%nUFk{$& zF`01}`}XqF$gr&|d^8mIHX|G~lsqUDh-o4ovN%(Hhn(w|cjvwmfHaX$lmKQiYju(! z*P(Xtdo{kG50ww~EO18u={I-z*`p1Yi9ZKi#^y)ZMlH>`TC&BSIk8fFZ<7HR^Jsj# zH|Lu-k72cW`|fzI>gLeGbuBD6aNk2eLqp)I2CiA!q(Su|nZ3VHBNflI zZmfoS)haqu2n)0D9)KEPqJ*VDAhi<-X{Ih}U%F=^?q2tff%7zawlCd0K0nt^tfuZh zJmdq2?YLXJ8vP1-*QXhhmlux};St%pI7#?70!4XA&*PX9x$VsYQ;Z$7nU{Q$(QrTiRl$Uq~XL35f2b#E@ zF(;N|uNY?*%#SaKP>L^z!bAih_txo=;@NrdB>zrZCrQL4B^7J*!oPf}87%Ji&df#! zfWOg(B=w}H-&h&I8(<_lhu@p4o6|9*jKMd$V6c}~l28u)4o@hnG6C>fOqbW9ZA%l$ z=9OP-tU7Cvt;zb&9j&ihR;J-nL`>MMr_(U~<*A#3jBL6^v|q2SS+JsUpNW(bziidu z?4Pl&n;QtXOT8^wEEFnEdm;Ty)tK<@6_a7qI9AEWi!wYS7r|&!<_lm{To-ueLwTv$}xls@gbJtR9{_Uy)Mn4Iak z6-#e8vopr0SD$A$Tt({sdQona^VM_L(P-^#-vcKLH~^;C1-%1zSxxA{oQTgjaZ+hY z$P~fgV-rI|Q(kiWyc7=hUu;lT*J1nzvf1VUY+E(Cjb8`N0z{?uIDHPsp?cM`!=^{U z`ve3(G0Ff-z}{*`PQ_}Il=c-i#%PIZn=?9W848^2AFE^R{mJ4Uy(lFD)xN!(LUQor zSKSkp@!2iN&bB)U>kJs3MrGvfr{ImrA0BeYGg;;-WV%LenKey4aplk;)6L8jHD zb>2qAcU~MowqFC%%cg05^f{>SflvVUh`PC>`O~IF$C5=yV2K0~8qkyfbmi<1h!csVm+y3h?LI}DhTMsX7&%+4@YLf?U{CqrT1sUtKS|ppr8Wg z_LP0}2p4%qY1%tLEc^=>Rsek!52QUn2SCC-BDn+W7VtTv@fx6XUBHT#Ciy-O_P%b# zn`FTWpi=*N5BZP1>C3B%sdV5~owNTt5~dHT(5shES2L|H*LQ);0+`ON*2H&pF}@v% zz8$o=O$ag~GoqgFrVzkBYUJTCr~JOu8j2YApaEVbfL^Svty5qu_+0=q785>D=Mbd@ zfK^_<@esEK-x!nPS%m^xR@-~$;({Cm)2&nAntDhr>37cX*~;e`ryk10EvPD^I!HTB%KE!l}@xTw#S|#=f332E{f7xfBvyqndaFvGkvanOn)6Odk z8%+D?eQQzR)*<|GBKHvqkfabKohXp?8UQoRJM< zJQ07m67R4#PLH0cR0xo0GU2%R#6r zk>GCR1;3pi7vMURcP}99xC0Sk!*$!+!o{Z_aDA;+)y((9RIGA!;7K2w@&B88KXsY# z+A~!X!xcQsC@uwU3aBpHFw!oFT`i@VY#F7;#I{YVXL^T+Rkqe5Xt9dHD$cYL`FSH- zl>9bM}*qsvo*W;EO)CZ%n1DC^M@GX z%9Knv6E){rE^9HSkRT* zl~i1PePclm1#A_NtXdm;ZV8$nfeh*F?~fz0SD@2{sQ*FMZ(`pV*Add^FiGxN`1)x} ztW+gq>X&f1Q`vO%(DwG{NfJRdxBa&ek|T!Ieb2T;dcZv>7tsoR@<_?JKyeN?;e^U+ z0=0{CIxkMRH^C9mB?^0yduWv!{K)*dKdBvxmx5g{Wiad^04suR|N6}v#S%hb?K)Z? zPMh_8zFz9zWHG_d$NAe{Z~`2Fm)j?O@l*3s(eKTjFp+sKE$7@;a!BDZc24r2$I2HW zZ3t~nQg9kb>*i#EDPWdvtRmQM;OF&)zO2(-AMLhn6lN_oje8VqmoDQ9qm-kASS(kJtt~C&p(Q--A9#X1A0vPEgAFZAFKL{_@ zysgwJZqZoTyNdJa1ajdZChnT^qd-;6ciHyh-t8bvD}a zv6&;*B=KwRYu;i@pF{^=T+5~rCYuN_mMBSRZQZc3bmG(UMVu~NoubSoY_Gk;s1=a6 z&D^!ZIMctdg16om;XX7{ezsPf?I}t2xa2?i%i9l!+hf|le-yo1z$D@L4~3hOp(#)P zl_HzNdREI2g0;5F2?s?!h)UEMuMlj7NHbxJNWWI=$gHvF)A?FkpKj zp|xZoFiZYEmboiARl#-y7J*M>SPXwbOq*MZ?OG^@_Ctq>wf+LrBMNimV7d4GsAJCgrM3R%N1c=U96Xi@yU6rH%&J`7mB zSE}q*CD-}M2Y8Cm!z{7`;K^6X&u|FY(Lv`-?+*8WP21@sxZP27fkSFe0Bqq5EkOKl z4hI($Qs>xz<>959r82pJMw_+=|3fGxk|3ojE$EIx$#@Y#w}%p*0I5Sb3yqUEx3|AO z66buBMqT{LuS0yGXKekkBa*!I*-ZPq` zTnc`07b3w6>AGIrCkhzi=HYov^w5U~4gkl1nUs@p3|hEvj?FOaHbO;$#elS+%Shnv zO78fa*9A~qG&AGOVos3Y^#ll}sLwG-<)HomKLIlWnPw^dpk5AHA&>jW`qd>)!nz*} zxXPAIF*&6vmx>%cRldNm!7NZ~B&dOF1wB=|z01X?%LUjA^A%_Wa2S7`&f20#_uRuw z?)WFrziG0WispkB#93fabqLK;ELp8b8(8DRia>TZ>SDc9X+$0({`qHe>Gffnq|gM_ zm;uHjPN=t|OMwZ1P#}E;Oq3a`*SYR4$Ao)tN_fq34N6}gv{xC z2UL)ZqRhIp0n8S^Pi!}4#!T}At}T78E%C?6E#_H~+e@Wxixemamz&V}hf9O=U%%-G ztsw_-CO61I$3j72N=dY<-^0+^vS8j7{aN4{_?cC51fn)T}+6 zwxIYR0iWDiZM_2k76Q636K9~)A5VP<-f9JJ`Gd&%Wi_T=;Tzx{nROis4hDpr!{xoT_L=0PiK%IPVI+ikd=z+PGpEb_~7CS zQ4Jh5fS`Oc0G{hHKCO6gnJpL(cH@B4H=Fmm#y*c`W@fyvcbg7RwzVO_U%oWAw#HU? zM>*6e0h;B~AMec@KIoVQ&oXvw$}hu40KrGUP&|#z7jJ-f4wQ#n7j!iz#;9j{h_b1O zm;+=35JSHD=2GjonSm^%i@WRnUFgj^D}*{_5K-NgSlxB^XD;%Nb?u;^%w(3Q>&A7R zN^waFVrXKrmZ57b1BNfxsWYa!^9t+B7tmh@XO+5)A%+HRWavKhH2L3MZl3w=cQg@a zuyBG$se14a{k*)@_fs_2I9AD$&WOIpnB#o?MV8GK6Di3p@Hx3Z#JcLC2vo(!O$-cfQ1XXt{@BNCzw8$ z07XtsJuasF&(=v_=OT^!#)(+E?`v8PjC+_cFo_S3-rwdil=d6 zY}n=)bnV|iEFR-_Ah-6No}PBxBMC!K?oUsj7f1!s&ikxm9`S?5<&K^EsyE$6G(`rNTycV7Ob z0@f&qbI()b)yGGpU6+4zg-6F$Z_k%?AuDxbl65A2yU)Q=5DU29c55)$Ej=JEeT5m< z-*X9ABK4lEe(0Q6pG%p|P081{NVVtCC^xJg9TfUalpz9d7at$Y6&A_cW9Ys38MaL1 z$~Zv>_6uQT&Kp(H@DF$Vd#xWl&fiJx^oYb>0E3z0Lq}lMe2f{Csqa2{l>k4Db-i_K zT35=EQQAtgM*@EzEqcr;KYY{svzj^x}K9QZW+asv|#pP-*_J)JI5EsA)D^ z^jh!EmE8$W9q4s6eHGRRjewdRA%V`X*FXTm`>=ew=k)>KXcsg@u{@VQ9P8EF!}&jL zTzNQ@`}=;!zGaC+MV1tuA}XOQBk3TdIw@4P7D-tuYm>1rO(8-l4UVr)MI(}AnX!{H zp_64~mtz&X0*`DXQ@B6va6{*|_y$n-`@`wreNmM>R z&hVHYQY(E%ta6@R6q`hX6~YlnjDJ~Te7JJ)paMZ!xT#$R&-I`#b=f_jlOBF8&^bQT z&I%@dK{-|MAP|g7hlW5O%zQ4Ig z$l7YljzYe&}%`F`7-f> zqI^tu?6`}g5WhhNe=dUJo;o2v>G@7yMKC8AZ_?#qkFt7 z&V_8G!_<>1-!0ZoTEYBv9qOkUhXel)LIKifU}Xex~K3!J+C$ zrzp*PMBX~d(PCB9Kf+n*}zPLS>*hzw$rm{P0#+mFs) z;0vT{h1zEebm1`YCx3>Awdu z>$~atXlSGiw^rEuRZoJbavyp%ShxX>G?K3>vgH*HY)N2oe22O%dxC(tfDeE_G=mQ| zC-kMt`lJBa0%6co5(U(^p*30U|2Z2A=;Wp5`<`8Jkv;r=m4@z^SFJ@5aiPknXJ=o(3C0Tefd70#bF~^6ayl^QGhJ zMLc8x`jIf(dVIaH42>zN;FFtL_KnNj?Ue}8ywXp8k3`*B+>CMl$<6WOy&Ugl+)GuA zw;_FW>`(o>y&;D*7;$>U8*bs-EDMz`{nqy*mOo8rlC?P!j^b@tRQP3>@c$MF0eZQ& zv7mri7=_N>Fkr5wqP*FeA?{Zr)=vs?4V#-lWQh*VUkD^3dC7GuB5DyV&%%jo(vhA* z5h!Pffy_O3=Sd)QkVKkT{;;MIu`j9Ye<*X@)oa3tIcr$3-?6P%=gP@g=_}s9UaW8PhV**18!`H z+*>(^Y!53q8hATcl^o|8EIOnY{q)&0mRvx^74DC!Bs_1*aoLwr6CW}d*5Y!4(zEk{ zJ@h)ww`r3b4NZDFJMUWN>yAw{k=oA*3NRC(z5@yy3F-dSdHEpJ2yiG3m2vTXYd)vZ z7-_E~8i%HhkAf8F0dt(BS8D-iXCpauGACrN!(=w}wJg`djMzFIvdBdj)3p!vHqPxx zAOZ->m@zbP5DYNVeroLW#Y3Og*(paqNYgioP8STYy}4VVqBNubWU2a$!dq(xKY&4zW| z2DlOpkFNcX(smuPGcwXe>f0GBnm-=iwopm(z+3qUTg`Vg$)=s8=asY&;rHZd%20rO zq`Y{s4T=TU0nic<%t0gEY&1j=1d9j?%BBPl{6YJ`P;9_w7gkE_ii;XGm8n!&HN9wJ zC}4jqbuOgpjCUXSSFK@wEh4N83TZ_RDo99_rZ9r{vqlosPG=EeO(G_Bf8IIvs;hC*<{fxW(7Y9%`GOCM9S(r20i^)8n{toTDiOI{S zCZ#HVep+7-0xc-Ot0Ej0XupgCeq=)jcXKXd#!E^2S;$5SuT!cX-R6NZ=-diC{8pCs zYNxf@?;sFc9Zz?BbpB`fMk1?0?Z~za0rAvFLczNQUcE2YPTk56)FS%Vpj~!)HOE(> z=ux9`epCTa)wnW5Oo1ts2k?DyRRt@`q3BJuG6$5#vfE%Oyr#U7Vh?>FKG}zjwK^0d z3FdA``l=+#(`-wcW&vOUP|#}-w3>l60P2Yo%ld$l#QI`@aR!A+ch+v9#9X3RxRg; z31O+zx+4q}4-;@qX>fp|9nDwIIk4QrfA5Wa;x_6qN-Yj5@gcG$uUpbmaQ8CXC;n37 zeX~Z#nn+66s<;t(L0kw4pJTq zb%lJ+L2eC6sp_%lFQ1Hlg?%903tRp>1Ji+Y8|0K^75aR`q&A+QNQ6rPWFTJI7mD=k zF6{porn=R%32YMJKi*~QFS>MzKw+E*@(5U`2OloLd#_~9Z1A-mE=h8|d&Mj%Uxgt9 zH{h~6e?bYMVM{{gR8b`j?!}y3r=4uIW6jQyinuvuUzwUzO~aMLPBxL%cRne}^2vTdP5Mltr-j}e_r9!lRdYP9s$3_ed^+&6?eLzJUVj~; z{KGWb(Uh44V7n&%N-;lX&i5Cggy(%m0@7DB=KafE-@TAj3Frxj zqyrj}q9WwK2v&IOT=HxD*O(xp8hoHG|M^4Xa+n_osK$UGyYN--U`!1)F%hD zqP8PT|6FqVb*#*Ze3gl->r+(C*oDqIZnd!e@CbLdB}Gj;Eoh6Tdcw`?XRIkb2g+T8 zGSjWW!Xd=`>wA6M^m5$r?;6)SimlP#B7O3Xu(DumGwy=`C=kQO?ileWTJZdNDvaFg zmJo!j`4Zq`B2DfZImp9~)ZJ-6D${7PZ+rTVhz7HXt6|f@wsA4{Lp=mb1P5+$P?0$* z!lfd7Dua&3#Ws;)=f3lL={&uvx%?isV=`;@YC89$T!R^qZe`wg;AKIeMd?`_NPeBi zl~a!5)@kH!91E7p%|f_yu%nz5Co!2n2NJ~q1x1>l4NOvh9Ae|CQH;golbPt`w**wpC z{yFRY*5^WjVYp-8dtcYDwvn3Z&vCIRu^u#lVt`kwLn7{HXAZ#Ga>Td)JH&-~7#YZdsa*5e$Em;NY{ z4#HUA+oCAdUCk{E+fJ*%5spulE@}@ia$DTui1Ht0vc~7(+{Yl*cck-NeGl^@`Q^G^b!Tx>2 zM^D(oYB16)5&Qd6jL$&9MqaF?tvGV~an>J<-U<(DLBY0KL}tu^lca{HuyNK&gJtJa z-I`w1>0=DzLq*uOX8m83sLo`ikG zSB%+k{%W%xXk&+8I>>MqvTTmf*BT`Bv=-MUb?HtQfiF-apw9=N;O_qk{nrBT(AN*~ zSYU{6|0P-}DQxtX-go)5^$*>m3mHOC;z0aIwtfelxpNR=z|-ODVZjN)HZw143+1!? zr{M|G&JpN?E%PRd!^PkSI3scosz-8-$ERl3e}=+`?PiL2Srpdy7tlb2={#m2kd)u*$gxLg#|caDTG_>+^HXx8r6+#Yu3cN8+0MDU8vJn; zb^EwjXBRFBbEAP!LsHd?PiT)X#Z!*yX{o4KEXe*^qmCY&FHlv$cJ^*@S)=dF_+@Hl z^e=svK0yvuHj5`puiIX8m^AA5FF_%%zrA_TJ5A6#hWVUzklT^x05w9TeaWMLjek=^ z07F;n+Y~iX`cDQ#aZ)VV7nR4+a>_Jwbu>ps$|pf$@vOOIJ#-M2!twrV@gBN{Xh?TN zph;BkFeL&^~e(O#2g^p+}!+gFi&wqAC0V{&C(*= zhj*@`1}{+eM9a!J3^$StqX#yK)hSCs&zO=w_KBYOyj+AjU}_2g<6+l0{r~S|JG%yFw+-#D53SRbwsZ? zZpQI4`-xjKWEmYHOFN$26~hMBoQEJ9#S@eA@8<+-hHvr1I(2$%|4P`aPVeKS zJnZH+?E^Z|Kk&xn5wXHx%rfj=E$K8y`nvd*Zbj90=C4;D1k-aB#6OfE30d@nUH?Kt z11Y~4{YtUF5oV|7bCaWO&W5R5({EGA6QX#1d`(A>z^9x}yhs^XQ?eFBG@p9=+0C$Y zQ)#PjMcfIsW~mpG$NtGuq{r=^)J%pmDTW@^#=OIh;D8%G3+yu^^7QfF;8E8L#|@UU zg~%>XLEe=oU#C&d_)2Q$oyf7qX4_i~RKLXuGS_`Vn`Ilp@dbPu-^Su<}oWI*NNN2b9OBm*=0dZXRHLsdW4}tv9zqz`-2(8C35Q8nRlwA&S^PAJB~rVA|t&li{teIaaQ&L?;owrBucXF2%p?$irThzBW!< z@7Iw|BCg}aZmRfqbmUy9sbBh9HiqIgcS_ey=(A2kV$py=4>HY0%$w?glIDsAE`$#c zEH)$gVWQlyvv7oBe(rslnX#>ikSe^%+c$dirVxCSF~aNRTe+v8%d;ye45OnpC&LIi zCie2Cytud^x3sh@rGPqFLEGCF^PEQABu)}b@}LAg>7Sqy=q<_}J$X6Wi%SASqqJVh zpb9)E^;!N>TwYej=>Lc3%`zEH_altT`L=o5BXYdFr30~3Z;7cOXb6%tinjYbW)t@m zCs;TempIi9?QVaCJzrgrXo88UuAw31oo_9LqsUIPy}pJ1D4^%T*F0I;=D!QCCVrO7 zNkp(Sj(I|KB1xkn=FhVUdZz03V&EDBMrVItc30$BFI{+Hy#O=qeo=y@U(jvj?ijp| zFjB;SGSE2*fp;__4|nCUBG4AUc|^gEe&!_MQ=sq-B~Ff_=526qn1s-i2KO0{x<`p? z&c9f3A7Oadx@q#DwQeLy2zNK{Ms$FX0}K) z4JU1$SvKmkNG_*p-}&)luFgDATZu4$L}#2K@_HGmT>XO?@51QiX%>>ap^wMb^Ck^% zaHQwoV|r6J|5hgtlneGoiD#f+SxUaMtX|P%Ey=xlsmZ6FN19;1=>KX@DXgu2tHHg; zk)#cS;A4Xv`Rcdh|SQ;iOgk?+etp4QiW+k6H6(!-NidoNqPx;S;ukRWLMQzwo3}x$}S(>2JHO z_0zf_kgdz^`7K@tA*72}mGJ`CjC|VD?BR0=P8aXP<;T0AT~2q4Ti1BB29k%Fq#FN# z8k2{KX#RzOqfxWjLcoi7B!c(vet<;<0q;Qlh%1c~#hbR2%Q#HLf*f(agG)y9H@%;x z-ac3)`wQs~r3$Ev2>y2}6}?lXe1TspasLCizYzIQD&Moeb$g!_^JA7MViZda)9L3V zC+nO_+I>ON()OZo8`#ECL+sYzL=Y|FLD!!3}x z)qO(1MEC9P-i1NEN?~xH8T?6`b%c_Zgv@0>hcm6yFl!_#sq|Iby%bD!4X6-*;k!>a#VcfBG1W9)K88D&w}x|dnd1B51;YVE zf2ux=$uclODt|nw_^1J{mTPWD!L?-g+|&wQXrRr!SgVeyYrO0lP|O|4ujr0mnUH*BIH8M9}#VoGi9@~ zSHGk_iRmdrdnP!Bx4m$!KryHJ=FP(+=0onqh>oT}+wHK;6z*+TQF{T|u?|P!!SA;R zF71~EHq;7vj?V%Odha%Z<}dWhN!O1>NTbn{2OdL~*Vi$O0&d+*pFul$aabd)p7-rN z|9Dh>bocW-oyEF#f^CCkTQu+vac$@F3a?%1^0p!)6zBLEyHt1$-KaU1ceab(YFKsRn5^@O1__9EIn5h$^AQlD?d@=0yZ_i`J)BR&)> zSU1Z=b;)3LU#Bsmz>7PS2DfNQmOvA}hc%YB{!4^XLO5Mp=hyo=kzppn09j5dq)8I9 zXF%!kZuwk!>K@9xlwE=Sdv5D%$cz{ztNA=1cD!qsbcSp_`%;g}x-a#aa6XI^*|jpN z=3tYyp5@Ub<R?y+1zmNZgmz zV; zjxy$V6rYU%C6-_Ir=Y)trtehhMlk{rEJM`WMYK}M=8qHBbG@O&I8`1RZ?BKv(LO$> z>xqBDVJ(%Z8muNuS5%~Uo&@8&60r}8?vTNHqD*R(V8hnDxO}6u*27!Es?kYu?i95bJl<)t$?t%(F7}R-R z|JS8WP&;^WTypNqbx|AuEv&`8@)>7{@kWa0t%E4Ia03{ajXdj3U#BZh3Fi59Jot#E1QB z)f+8!%H;tO|2df^sNc1BLl#eKPVpat%N?X0J2=nuZf&b!I!Pdt`l<@JjW&{pG`fR5 zr(}nY5)6P5xE#5x2{V2~1`EG++0?d5gk+|=+z6+3`Ph$m1u)=u^buMRGRgXXQ!MUYV>+9>=o&;JOI7uvjakPk+RgPM7-tr!=CSV-`82a^_n3lHGBZSynp7#mi;q~lT z4EWjI&HCJxm|g@{RA7W4(k?upF6^3$vSAB8yls1qQUT40dxZ>MIx0X{J85dQhqJMh zd%crUkcPR%2|a8f>QX6$dv~17t^H=gl4>>LPDxc|k-?Yp5Y7DT4ER;A1Z(g#lnpCQ zy_i?+>1psPxC~IzAoOJnGt4N;n9`aKFG&tTPgE&HSyt~2A>q5tL*qvqT9aH9|Fx-;)!t|ou?i$Xo@;HufQ~>w+^XFNm z1Wt6OSiy!9qRQc4z<5vDOwA<8#ma(}@%oLyB{m1L{4I9j%ZE)BauYu__k#SRZ^#Z{ zwo>cD*$#RDj!7pV9p6Urje;^~P@iRS0QDug(iqs%!*CO?pCXPj zL)(W|a>s2>IjB4w!<_)|vav&+;mOLBRj>ea6%<`p-SZLt?YMOMxRjX{XfeP4@d>DP znejW_b)Q5uPU@{Li!wL;kmE+-1!`~HMRd>cmMi6^3CEaYMEr4uTPXeN4#iI$>fiLM zeG{fV#V-vR(8_rYbGxK%U)nOp3eV*!rHY3#ZRVZs)%Bw=>+1`U=wm(U(dP8c^$Y35) z&z@+OA`ie@WPb+}EJbVe)Y)6X`wmsAA_hu=yfUSozH(mpXGyiPXr0YU`Aypj8X$^~ z^UKO)34<<1la?HEMs7mKDlzx#C1h>M=f;gcNy#{o3po0kOtc=@`S^}r;vJ+Fqa zDlb{P-byw54*@1HcA|fXRC)Y~tw|{T`Rc4^fT595<##c1oJ0P~&nku0PYDCrmQ5-% zwP)E%cjy#vj21Vj+UxmAy6cK@6%e#|;dqhl4WF$bEp=KatQ0*2LXq|rCiV4OmuNhw z^lfBPWE1kom%fE$Ar(78R7Av?jPBR(>;A2U?(ew022xyC?VsWL@}FC|L{<35MI#X=oVU?dvnr*4%e_-GtqrdKmNDo_5a5;{_n3LLf2ggHbUZ3D8g1QxQ?$r z-FMD0NNA>?#e~OkT6S{e=akXtQE~*_5*{j}OT*e#(9`x|S`k(H6^?f%n%Dk}9Wl#9 z(nkbdN*|V1Zx5_mn+K~kCD-^Md*+SR%P&7rJK_cV1FUH*sl{;vH!r`HHCdpA&RD!H zdV7-I@0k7I)vTrbuk&kFK{UfGspqJJ+>G10aeXU6+Js#ds(np@l$#h%9#-Cb?d<61 zZ#MJQvFkN9zW_;3CsmK$2#TV5)M8ky+Md(4a2<_nVWAkNaYg?in)|2_2K^kO0n3~Hv5W!bFG z(QMv1zpfhAemVCrYEyiTA))1N^}N!WGHs}+*$?rwD#mB;#e@I^xpkDc`~lJu)ozkH zve7oyT@=jcM|)n-GZO~$b{ZE|E)2~p$V~{PbQ?9-I=-9OB3W}5=`Sm_ec<_+!@0R% zW!Lj=WEhUv}| z%*kircF?#U1GIDE-5MfAHz=C4l{45~sGxgM27D9YIMxNno4fi`4@pH8$TzJHz zst=oKP`0DLWHQ*zhD+E9c!-@n;_kV{>E#3tG&)M_2%#=dhVz>jqQPf7T1l*tQ{XB~ z$>AxmVg3}F$FX#-G{b#Q2a$vYsH)RF+d18oc%rtjB6`rEGYfuXIcwtkQpvoOF_}hO z(I$%Po?ly%kB89LjtDSDF-O=!@?1a6p4kR2`G`6UIP8lUP}XerXiFY6?+I~>giF<3#kx-$A>E-Czr`U@d_)MeHanWJ~sUN^dl z@={1U!hXrn80+|CvXN6Li=E)Yxzqk7{RoSv%!spHH2wZq%0Jb0S^S_!Q<&XDcNuul>E zTxS=6?(v`&kFjVCrVxT15g>4ovv|Qjg_HgkF-j*+H6ah{%VrkMxAj5!ihEy*vZ{w7 zR+CXUY+@NeWs_qNLe*Tg&j;#Axb!wgAZ;gNTQIE~4XE|Jssb;|p)I~dL-ia(_=*74 zuRgcISYBi5?x$yJ@80d7&pLd~c8cK7GfX|W_N(JzD&ohfks|4YM39HY_sjD`jMFSiPS=kc z57>&2TvO9=u+_}E{;~4mykf?(g!EqHhj6x46EdveH`$FHpHptneh?j0ThMEy?c`M@ z1kCQx^wsO-HLn3#je`(*2=jhkJ$H2T(%}r}2~O88(MKT&fNWZMD9c}#AH+bc7(d#< zhh;~22PHMxP?y(o2L`&&(?kCXs9B|9ym|9T1cg^^LVGol#G_H2o?F9)4yOkD&^4o{ zfB+*;r&aZMl0bIgBmu-UXPzt#FQd*soZH$wJv2QFbIoid6!upK9F zLA3sGI{(yjK3ncym4LIE1B1FK7QMx3Q5%Sn2+vP? z=lm>%?bv_z5};f;IU(sV_^Y8MJ$rKP7v7!Sa>w~8i1W-VO3IP72|Pa26S>XKnOq*2(_q~eO9KBtb7jAs`*i?|nlvaD8_5j0^}Qd7v;Iqn{D0_vr%Dv|*GyP&kfA{Qv8vMJx<)4fLC3^C#JV z_PMKpM#$*!EuGj(ldnc+eIYEFviZEZ^&u?`4Bn?d?;}nF1!9BjTY#$r5tfqj$PeT^ zJUXlSgpxd9zMmy!GFK-D&n`Yh_1G#|bB^3{P4niGCb61qeNxlHaFn z;$LamLKuk@1`|JXSCdG}o}83I$B8GC@cM&mYMy3fWGsUL0%pM1Jy`7bPrMY8U-in9 zw;caDr;MnX8Q?2@dy27k3;iyhZl+5L_;8|vfw5?2Q)jzAx0ADT@V9SIAY-%3il_wU zIJa^piK&*)&H|=8pLaR{X9GBoB5R2X8bDZF$5JnS9c<;=iFZ!(sGUTUw3I<~1MXGC z#`%rAml+x8(O(SPDW60i|BMGt0z47@1F0DM9OuRCaq0hfTi_V7H{x7OzzyOk)?N5vIOoJl>~cW!Jsl6;aS?gejCZ{CO{1FL|Ql~q_wtc!(V)&tNH z@Oa*(_nBq`G34~7_0T5Tx=y2uHv`aI*JcAqpU>Uulm-j2Ht3hm3iU5bfl4{jBt1?D zwcCKhQ3lqCIx>mnDgC^?DMe>z(@=;stdeGax<3v+B)+1@<%peW+brtOr)T%h(LK3g z*sM=0+A<`wIr*=Ed;GpH@zOWzl38wbs~T;6aPlJgdz%zmLzDEE>^U(MEgOW$33OgNrds?_z z$@RoW%8Mbp{Y*FR{bwbMLEA%XG}e3dlJ3NYMwcXm@wdId5m|IGrp8T`4t^kV$O z9R0Y^Lv_Nn$H13|DN2F@*IPqVl&u8yy!u1!lM@nM91K*C>!VtRf4rIM*89Xud)Jf@ zQ27y|p?mug+9sG?1z6DmO}$+btA1@fJUj+tFZefjik+=oP4rmcDbw*ihN=(7-1DVN zFIY9Qmf>*I_j*8CE1y&llxS&ik_;54l`4OsXl9iEfW_#DG~e&}?vZY&OQ!qwEA_SB zf$oazBvK-Ug(v4c{;XCKf!@=RvWqsg^OASfFpX!>%0-!U(dQ)o!d77>N4Zw;Y;@<( zi!U0?QK8?9{8mRwrJoF|HtY!l@*!v%wI zYTiY7-N_LK@W_Y!r-4ZP5VihdOAb^NS(ir<*$&ZWY$yaScj?{P1ldF^f^N?2lSy&m z-2*73RL~;FxC^?3L!hgA4zaLd*QPl7xS@V&-yoy8V89Y~ggttrzBajY`sHBEDGtWt z(1lHl&1SyIz*lLXAI=L-?E}R9knP2^?!)1^Zi!D9s2+HXTOk)oe4sUws7*{~jfsLq z3GDx^hd)b^{p>j;$~Gq&0MmqEc+Rc_PC+{ZP zq_YD!M;76jj3+X`(@e+%eSjo5EG;K638d%|u7Nx!Q))pJRRSP^@`?fFQoZn{OsnBJ zjk@$r#w%G>0$HlSl&6!zhQztoT$bc4B32QmX;`mlnK`!$n3}O99u9=EzQ)Y~P1=xY zaO`5@$Wna#u?r^XK*jppto*FyWI#c#nZa3e_ENYp@17*^3oxQ{WE?9#=1y3bb_dEP z=wG7(Lz#{}4lO)D{%er?bz#>9sKLBc3_4oq^=%L%<4!Zn-NmF z2@>N|>7uIT#0EaO+KqKP8dpktHi>{qldyLYteSK4)Eg_Z-4i)M+w)VOI|RcjKVI0) zz~lLCE$F!}3EjfRpd-5a_xO#H#D^AH$NS&CMV0P65UTrGWZlrzr1$lsqVJGmpa>di zbWa*<8i~JQ3!6V9^NliTuyuc(ja6L%?gp26 zR_k10C-E2I`Q!b>&#Y0umTVw5q1nH`714>&#!9@B5nq?6sf?@7PCg{|@7(@^#H=>d z0r#Yx_}TN8b!>ox5tCo{#kc?^?#EDf{;%IZ&EbEKdP)#r=w<+u2`GO%Fw`*W-$(F< zHl{q5i14M?E zZYE5e;-O=TMP3r|ZE@s_ZZ?K^)Wh7RgXW31+@#TiQNPU4x~&3_4nYM5B=GoBUzrhI zAbaG?y-<|c5@8td8u6fxBxtRr-4@3Rsl2Ry15{{0HpN7$E|~JD^)=asTsIRd0W!Mp zCJ-VnrSSsdrix0nXB+2P_7Q%2v2Dt>;~Z!Jk;?vHLkd(W6Kxn~ILgnT*$T=vFZ>3s zA-nnjFjzJvW)9A25I0dUh5_Bd)q6Dc`SWK-fB&pmCoseAD*_oA*@q3WXQ;fivDz)3 z{3v-B#IFBPE5+|PyNv`@!>!P|Mbv`Ka3BjehQw;onjD%%AWtMtd+>z;6K-x{4yhwN z&xkIi^OAMuJ6{B$AIg~dHD+});e?hmxNnaWi>xvVB5l;KTA%wB9}1YQA|fKt!!lT` zxvrI9dew>j2VCj4Dt015CUjJJ1+u~w%Jsg};{vWKr5&BS}h4WJ&n+ zyL5-O6(h>YAW+OwXwREow5X7)!G#oEZjQEDL&>TLVu&^X<1UCBIPX&PxuP>hgjJq_T%BB2PxyQU(ZcGhx>) z%5zM1z&Xl%(TF)`C6L5C!37qu85+p3fCLhle3n||5b#x?c4@W%K_=B0=Bhd7y$ad> z1*^__@5P&`FMF&`8XqZfK6l6BpiDj3v;cvyhNq;!U*G4eVA#0rnHP%Fhrafm{e0*R zVd4R#!KQXrMU=Y_&hzXCkfuk6Xu?2WS1-;7ssuBhYtiPf6;pbgr zFI**74_vibcIaE&?->{g*xkDE;TWk!58u3b@4z~#BW=nPx8~e9zA+^*q#71{sPaT> zBvhqPHaM~2BDxgst2iS>wC&rsZ?EkI;=y@J%C@~lNxbc^D$B|eT-$f=%@nBy%%*l5=-w5p&6h03c(`X5i6*QTXvFAWkD@1Qd94uvB5+!W z1A=u$BM(CS5fmEGSM|?^cnAHfh%q3Z&vspB8x<=j@ndQic21p%{QDM$rR86dz^rG5+ulih_7lYi?y_!t04`p{2lLH#$d4eUUPiu#&|b)d=-7o{Y3>N;r7v9>MBBIBm#(l8~6#NL8c|; ziUV=F9Ge!nize7DYAAp&Dwga&Z4$@k>lHu67k5DnngzsA0VN4fk2__*rO$eZX7@1? z@>YCB00;VU;U9v$W8rmXT2W(my&f0HKUr}2SF>gbs!V>Y#p-riAQ_H@t5mcMlYz7s|W6p({U$BpHuK#23Q?uI4{Tbn#LHHV8RXPn>QY&N>%#RhBR{SIw4!2*lzbrNWPYlOY zG&66?M#Q=h&5#mWkGcCuuUL6j>%n2!5H1F4+yrdTosS$xzcO9iw+U}`&jV0b54bQn zjw#&>t%`PX18}Pk0_U4q5@*vlFHt*e1?SR^&p%`bF+o(0Bj6fh1t^aTLu8Q^<(^)N zdCSqkI~!k_p?2>+iLbtANH_}=%lteJ6s#W86-wHff#P%Jk!<}+Snkf%?*q=17a*XM zk)8csfYRhu0l|Zri}A~xHD)5~2>|Thy!ir>h-U1_*UKQ-44hM?n$0DkT@6(8g3Ily zu%-kL#3wucB5Dz7%&S9)WZpO#22-~bh*{_$B01|dz9+pu!sCPNut2b)R&6!ZQ9^8t zH#RnS)ri62tm@}-&ZB!!7VJTgxd&HfoWP`?seg-(Na0GAbfbWtN$#4pk|$aqP63a6*-miX+ z!(^4mU;sf?mW7>8j?-2X67*!}X^j0VZfUV%gV*)RwIC;tHB?(M_V(m9n3c?$o}n|Z zU$c`GWJXLspAe{*Va^OFqGKq2yLuaep8GTIoPkyjpqB*oyHz!CT|ka=0R*=ws04!1 z;n$1S@PfE-j4Etg-Lxr)aSRN)w_L}Pn)TgVJ{tKAfby5Y#1HueNl8fo z6W>0a;MFtbd2EF?Bp4k4>Pu~X1k)SOGuV);ahG1mbY~?0JKR8^Q-QVBzjhS$vA8oN z^`QJU$G(jAw>PX?(exYhJp|7OyF5f`9`{AHG;je1JXg1H?uz5AW}2O|Gz(G_#@D2EN!98jL%Ft8boF;|L54};1+0DNghzn1Da^azL4KDtmm}=Xg zD2vD{v?8rZ1N#s}Jw~70Z?bM4!SJiIrJn^RCK7|7*Lhg6A^u4kvio(Ae#R&4LN_3D z{9cpqPQO?s?rN|OT;t$A8X6WC-v47ea!yL3>wcGr{E zEh)>G{iiDcXn_47b#Uap+olvpFPJ{mf^UvK9wZRjpajbvU&-TU`FQbTZEI^wg_VjQ zD}Sta!6P-Jeef+RFA#i>_BGVi=cyb1ZY1Gx?nzc9839N~g=Sx&RVOlMjfQK8Dg$gzuU@4$-UG$ zNf)SFiV(=O_f#aF5Em*uQi=dB0-0$h+ksA!HGzU`Egthi>a+ac0~b&piPo8WQtIk; zIN!dMI69aA*99Lbh}=8@kv-L{&SF77SJzdn(Y3X;Uy)LAhG@&DKW{;M1(M|T3158Z zbSNc`x-S98HXcP-qy~^iOP(;h;STn1#l;NeMh58hqH>MLG5!36k<;AJpd^126!#uF zhWgyey_Z+jmyNM-!>Rg{a1UlPY==g5L2NTvC6_syoiGY4bWDMztDpr|58}l)U|>4!YE4?TsI#wUa;*yB5FtV_wMy5dT6n3<))O(`+QVK z00~?T!s#!7IxDO7N{$n$s)b1cjhK*0xJcMEBYbGq7~mD9yu2TFuMgY-e2oPbDEPPs zLiKZQBg%y@gNm$yL!eISLOkK$yub}`hJcz}{hR`b1s7Qhi;5m)RB>SewoEARZ>}hM zboJ*SA2{plH*Ypwi2P=ZS0n#s2|wy)Rsi#%yPa+BuMI@WS8c-eBSyoqV5C5dH0?E6 zj5PS+?4BSbXTctHoCT2adTYDc#;~ zSQ+v&GC6!<`oAmozkN+7`6JM=heKxWBQY<&Ehldv`{w9k6v<;0N8M;ZOCPcz2JtdJ z2O&1*PUcWhtBb6gvVIAh=SV&qXYh!9;A!k0Nfa%xV*iM1<`k+i~Xbd zX6m#6+_%JCUO~Wp@NBCJ6iU#B0LBoH$E0^49F&V_%`0sgkxPys{%w^O_Mh^+r>;(S zrXQMx-%)302_%tKZv`HSy&IRe*JKg_%fpxuM=tJ6&r6;0;BLCWCnw3~D;F1kW6)Ml zbQ1os9Atx(*F9+T;a761M2~FGK+e_K@z3U&^rC8AK)(+z_&7T!lo0lcW->>`nd?TX zYmu)BS1(p-ho&oVy(IC_4c~l5u2VPatZHuo&okI1`ovWJE?#1~VGq8e@;_v@`g5?JPrI;zQ<@GR`tT^4;$>I#!7o zvq)<<+IL+!)t$A|I05-xAcp`93#zaiZzsVAHq5c(;WC!EHKf8XF%c0bqn)NK>%Yn< zoJ9uU;Uo{NMO~mu*UZS*&-EDdD%ma_@gsx<)ZX>U5#>RCe;f}y2>`hbk~@ICLF7~* zU9H|SX_qFNxa|3_I=c<9uL9tdeJ`Gr0l?68I7v&39xLClTVKgeM|tHqrV023ZqBl;RT!iD?5)v^jt-W$GU~kBuIy<33o-Zn2 z1wy}{X>8HnqhbTRmj2e(n}dQcE-WU{efu`R;A&qJ__1Kwzg!e@gpEE^bHSy9XvmEM z?OV3I$U2f%E8)-<6(OJVs3_BtGJG9F~k&?KbrD2kOces9s-)EPm?e) zDf7?{0*WfwVYBd~Uawq~cd^1nDP6F!3BXf)FAr38Vgv=wwm+BRyh)`DGb%l8FCgl3Wa6<@43)P&G}wVfNyu#gFA@vAOyt5idQ6O&#|(yuAv#`F(=mNAsf0<2>K9 z#5~izFi&Vg#^XwZPFrHBI+^*0;ox>)G_flw`UOAHUlR0)ttooQs;Q_j^%6tbC-$}ImkftfitJ2 zN9f?zLDtuiv$7F2)fi;0!^4QcoU(V~iwSQe2PcVwq#7S`YW67ZuQ&2Yq>@`ufzUHX zWfSSX99M`*Fp(FpaM%nhUMapv7eSTH{a%{E{r`z^_bott4}U$N_68=)s`Ng_au>eT zDtE%5di(Sg4_2DC2te817LH246N)?E}Jt*J7w@fK?K_8PF0T? zC<{Ku5dXXDrDE?y10$m+%)3C%2Oq%O1?fct#VjeAgC0zVq4%7WNmvZfd2J>FcW3g? zl&Q=>#ZtD}Ovn_1NM9)iqGh&RZn*0%9NZttMGSE<>dC8IyZ=?SKU$+&(;F@ov@9`$d`(|IE@c?uj_>YIDE-RaRHgry zZCo9WFTk9MydLd42 zM!k@F?}D7dO6(E+j3C%iLK>}*kj_ccETDSMO|vsh9ylU-J?I6_0C;t783(O|cc{?~ zoa`dK{gMi7g~2>OSbAQo*E3P9kqO?(`G_z>z4${H#<#Mv`!ukDLF2&he^peE07xRB zCuFP?I4EI$vUwf_Z!1-dOUm6o^^Ot_Qq#gQP8e-mcswp{F;1)%Eua?tvwRc-GzO7$ zBqL1^spR$U(~aj+SA=C#9AHay+s)C7`St)hsmneMuo365iw;S!+@Sq9r{e#iQs zFfrSqfifz8U=+r!SU(5$b~o*N-|DLA8KG4@LXY?i_6eJ%W%cTzUEj9JF>;O|S&Dtf zh3ouC10Z4)GX+kA0Mabj!(M5yBq|r!VfYiJcHa&OEp?|mv^|7etl$S=LN1O5c%Tp? zztcx;SKCh>fXs-wX$;~NX7uOw`aIW~GE34g3T70r;CH+H3w3^R5q^JZV3eScvNHJk zI!oz7v+aOHSy>stNF`-aAXIRHyv?CzA2JsMWwoVKQ)_p%^wIei1l;___xY7=XSZuK4D+v<;L)b z%2v|r;P`WVNPT_1=ixFGjNhX74wvucT8ieIM?i>?LLy=pZf-&z;NNd=@;#fe9MxmS_x*@p*n2P07eHZ0Z&(;4G{79fc3gl(Te zMzSPafKLIQ_|9$n<$8L>xyJo@DxBz1!H)BcKe2RwLz=eCC z54K#Z;e$gCly{t@S%y;B0sOnNVjQxRf;d@;odHLEtivM#NSC!l4N0d(|7*MZ$qK~Z zj;3Ob-T^>g?CtFdU=VS?tI1qOherJ{ySWdQkq&K_82Gf}9pD)v;62#$^YiypirY0L zvLBqYcK~CV5=t+DAF3PPv;=4ZB%JjORD-^4p~PISGQyli`{qdu@#qd_B)l5ox$Aw# zd}LVJ4(7-CN(r+k@=g<&t+vPgd?t5f5CCG2-f4ey_MKyDerZ>%Y zr{dIO{_zctZ@YzYb)0>tU&V=yPbb+8CT~o7I#tWr><7=iTG-odC>WfgW_^IjxCq0u zZ&q3Rk2gjZ=8@po_6`o(NTri=gPT73^rA?xBg((-8*bbTjTz#6$3M+No?h}&pSgd{ znSm+M4s9F#1gw+%x8I2DD)D&stm;CoglU+#m}^DGodw*OV>@oy@J<+HQty=#p- zAT}FfNoj#C*1E~pOVyn9%LDL{T`{=uD*>d|qE_JUE!j$HCrI7)oL1{6{cLyLEdKc?x0l;XukYj>+>F5 zO9$xpnuU9^cylOem6(l=pd{w+dy9pK`hF+v|FZX0#8~oTIV5xccW-w{bO$)l|08}p zKG7t=A%5WGn`#j7Da*v2Mi8QE5qD8@_*9i|nS|i~v~lI(Q0{O4v6SVIeaVvbkRl}= z#W`jYDJNSxhfYyCmS{oBHp~ni`s!U$23aVW~32sxceDvFH8zRhBr!OT4GJ^kMI zkN3LX>l*7dGj8AK`F`*Fv)p%0$S2$LH|W_^l+XT`j9;y^(Wnr|h}R!Ul0MfglvJX2^Sj`o z1iC%g)(`}W%J5I(id{*WoM~UdWDSEXiCS4y`-(NW-noN-!!^}%U)~f$kO6a6IDs7= ze|f$@_=_BLh6HeyZh`5vUQAJ-TS8$!3BUoE)#PNtjz{|Biw2DB-$&)JcX}4jw#rOw zmi_UhJnV|~`h>!?;7EX5HUx)DZ5WOE0U1GI4+0?@uxKqegeYo&eEfH&n@ENF;bxtb zA{9-ktpEZK9y)Z~)_nP{YJq`11*gkow82tdf?oRDH|7$(`T(lnSw(r2X$Q5VSTGAh zFRRBo`sqy23v#ODAR@Uf9vHkoO}I+nkuMLh8F*?eW2*QcPS0sXoH!Nxz-YZkTtLCS zm$TEMtT^uw4WM2pB|R#J)G)KI!=iTXNy5M-GRz1iUDxYDP5O2{6+&+J-b>Xb<%&5? zO!Bl+W>Q@?*8)-7Pd5+;b~LL?rFy0hO_i!3>b?gi7-%f$fcD8r7@82u6YSE{Gk;*! zH1aupE{YlKkg~V+YbNS(RUC-@_mh}_Wa|gdCbEOi>e?e95CKo8Dz){Zx!Mb=cqD*< zqouBMn~}30Bc`w>eU`^qm{Z&OH^saTVY7ODe76Hso%6J@ctChBOOVHbDsacS!YvVx z)8O4w6oSG}45pRH1Hy`fnBLVMfmWW<7xIiXAO^Ey##j;B6(#`Zou6u?{$7)Fb<5$-+EL|wv z*xDLKIPvJzHKLVwK4lts;`C^3*Ba<>xS=o88wbnlW_c60g_XeJAcxgpoHJfYG15*EwWZl2 znbO3&;d5b4e=oUs3*NWsYZx{6yXYac^`>zc<0RNBfNzHSb5HL6;UK6NAC8?79HGj_ zeb+WS_y1!JJys(>IVXT8({EJH?%(y)4w7hjK(z#h_>7Hc&v|A|!|ekk-vqU{Zw=E80}~he7evcXIOf`Q0^!L+t(<(4_8ki@sX3 z?NUxB(963xCr2@9Y%rCU27Jk9;vU4pO;knIy0rJ8+C*P%)d^DjibKOhzo8Z7@XMJ1 z4@=a1=nqKovgAvua4KKB_%Ox|XIPpMzxJ+${v*Fu zaEz1~H{>d?RJalgwh7al4bp@G;Jn8G%~Dr)m@eFF-m2ciG@DIJKQh z`-5-Uj@*ZV1q(s~-9kNHO=M8$ZcMD1boMpnLQ>4p6D&BGD2&dxHeg(^N}EwiHafJ% z&x^rc?uHli>aAuS(4Siho-S!1o!ZEgZr`RiDw}97WfuC}#fs86-rL&YW&@O%#?Jqn z7wB8E_iIHnW0$@qYSClT6Fg}$1kTOnVJcs_ZT)Q!7DZWF=)U0A(`U7?WmkN<#I&M8 z!rFVN;{cK%$ANlz3~475c$biN9HV7gGE!Cu75tLBG1&GRvbquyf%4d%<6eTKFjgaI z_Z5cou622~f+YN0fsmPw;YUbCMO&;f|EXh&zH0eSQ8UEVK*#ACjrKEVuyXhGIdXN_hQ;1*a(4N;vCbHt zc})bm*3h!;=J`wjD9R(DS$ar$aMee|w!b{294NAmv_qP{g(cV$w86P(=Sq=R_h-M6D|GR`u!{jn*M?LG;*&>7G3Wfe&hR*FdD- zhMZ#iAiE>WTtogVYzHacJ1ntXCJrcVQMq6;L)0@|fv_<^DzF%h5MeYgr!`f5zI@@k zo=huEw|2N3Rt*GfyzQCSlvI`6-mRiTGGHuWgf$^vj&AmKN;jH3fo-TafwVp*h6$$T_W3q1 z|7!&d6*6{IsMB66M$uAU+f}6{ydUW);u`F$U?e=!`s>^0I)6+Am&0lZxI8RlhAfSg z(Jpxo!pNoG*<#JOOGx6ad%|C`%O$d2QCA`r$FZYrNvaZH3p=X4OaF_PQL#47^yv`__2r*DNvy}Kycd-F~cjjffKc(n5 zgv)$3=v5gF#kEZ3$GL8h4WGBP*gZPc(LlwglK3kXkCL<iDY?q?)06>?Z0$> z=GXaC-XQo0lpn*Jnwlbm_Sc;@4r8&#p#4E^@fBx`_Px8`M}6ygqu)Es}v6SaQ$++Gfa?K>K}E(m#=LK3Z)28|lTlz=DI2GzZ zc?ZgQ-Td@l$Hgf3wd+3${q!Vjg(-u=qnHzUyNx?(ngdR-=#_qZdM$8^1pYMPC@?!e zVz0q)8u52#%&y2k(D-S-d0 zfYSk`WqElyr-OU~8a@K@uUZ=Pies&JU@lUdBp;kSUem>fmKz}bE{qCHncqcHepr(< zkaxfiU3(z~Mv~QxKi3qfiWw(lO$qlhlL9q*#0B^e5Ed1`X@XzxJJ;APXc`i1GOd^u zIqQv?Ql)Qg;iec>dhU`l1qV=EScAev*re4kMf|V6u_f1Ay z_jq?Y3*hh|=Q9PL02j<^qWqOkc@*f04i;w-=z|D#+gBc7pe!WdvdxY03sIU_Wr398 zG7Vvl;L=M9UZjB# zYQu`q{-(qQ0osa+wcJe`jRiqJ8j>If8V+YQx>}kwJoR8sbaZJfU(B; zyiLL4x8T@d)Y8I z3-@i7R%C|%#+8r{b-?A7&#vE_31xZ7Q_`c;`@<#|gXK6irz7PLCL4zFJ~>_(KAe<= zzyBdE_j#(bSoiFk?W@USz#=rQW(*IX;m+7&Iv@xpMDR0#uK^gA8-!$(aTK83j^2uR zFp~AuVY*G+wHF05AsNKXcdpK*F;P=QydKZ}w*$;ZpS{iWeJN^TU$JJr9sA>aZ9nWO z2SNiUf(?CfmjChX+qdX)9f`MqiXhz~%=Kx~IBW=X90tpfT3D~u-TG>)wJ`YRV@uDC zgk?!}vMoV!`|RqROPVQy&Ce`jZkN*w?LvnZOTQEEuH?b5li6vfjpZ?l3EuJvdPGg)4q*|Om!6J9jv8^x zSRX8P#lYm$kHANO>%6*0#G`LrgdD}MVYjIZ0tgnZ5&0R<9g138_{>IHJH8%pLk=Q* zsj)7&;ey^<3+@sDy`1u-{V|i`x8Gu#LZj?$5>h8>#@g~HRk3U&8s)IYeeZN*JDmE# zkR%dpp)VG`&*$#fo6_xRna^f$hc8esnlD*HgcoG#Mn=%j=obV~^M7ZB{Qm|+u{Y?J YK(?JBt!BS5w1FVU?VN0@ZO+I2H{ndI{Qv*} diff --git a/icons/obj/molluscs.dmi b/icons/obj/molluscs.dmi new file mode 100644 index 0000000000000000000000000000000000000000..6c9cfea125e716a938f9ee6196399c740b13bb4b GIT binary patch literal 801 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 P9k{D`U*n^iUF3fQFLg1P literal 7929 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