diff --git a/code/WorkInProgress/Chemistry-Reagents.dm b/code/WorkInProgress/Chemistry-Reagents.dm index baf05dd7790..b4647b65d1b 100644 --- a/code/WorkInProgress/Chemistry-Reagents.dm +++ b/code/WorkInProgress/Chemistry-Reagents.dm @@ -1054,7 +1054,7 @@ datum return imidazoline - name = "imidazoline" + name = "Imidazoline" id = "imidazoline" description = "Heals eye damage" reagent_state = LIQUID @@ -1516,7 +1516,7 @@ datum return banana - name = "Essence of Banana" + name = "Banana Juice" id = "banana" description = "The raw essence of a banana. HONK" nutriment_factor = 1 * REAGENTS_METABOLISM @@ -1951,6 +1951,26 @@ datum ..() return + carrotjuice + name = "Carrot juice" + id = "carrotjuice" + description = "It is just like a carrot but without crunching." + reagent_state = LIQUID + nutriment_factor = 0.3 * REAGENTS_METABOLISM + on_mob_life(var/mob/living/M as mob) + if(!M) M = holder.my_atom + M:eye_blurry = max(M:eye_blurry-1 , 0) + M:eye_blind = max(M:eye_blind-1 , 0) + if(!data) data = 1 + switch(data) + if(1 to 20) + //nothing + if(21 to INFINITY) + if (prob(data-10)) + M:disabilities &= ~1 + data++ + ..() + return kahlua name = "Kahlua" @@ -2496,3 +2516,22 @@ datum M.confused = max(M:confused+2,0) ..() return + + bahama_mama + name = "Bahama mama" + id = "bahama_mama" + description = "Tropic cocktail." + reagent_state = LIQUID + on_mob_life(var/mob/living/M as mob) + if(!data) data = 1 + data++ + M.dizziness +=3 + if(data >= 55 && data <165) + if (!M.stuttering) M.stuttering = 1 + M.stuttering += 3 + else if(data >= 165 && prob(33)) + M.confused = max(M:confused+2,0) + if (M.bodytemperature > 310) + M.bodytemperature = max(310, M.bodytemperature-5) + ..() + return diff --git a/code/WorkInProgress/Chemistry-Recipes.dm b/code/WorkInProgress/Chemistry-Recipes.dm index d2be1d89e1b..e3913ff3422 100644 --- a/code/WorkInProgress/Chemistry-Recipes.dm +++ b/code/WorkInProgress/Chemistry-Recipes.dm @@ -509,8 +509,8 @@ datum name = "Soy Sauce" id = "soysauce" result = "soysauce" - required_reagents = list("soymilk" = 1, "acid" = 1) - result_amount = 2 + required_reagents = list("soymilk" = 4, "acid" = 1) + result_amount = 5 cheesewheel name = "Cheesewheel" @@ -750,4 +750,11 @@ datum id = "ginfizz" result = "ginfizz" required_reagents = list("gin" = 2, "sodawater" = 1, "limejuice" = 1) - result_amount = 5 \ No newline at end of file + result_amount = 5 + + bahama_mama + name = "Bahama mama" + id = "bahama_mama" + result = "bahama_mama" + required_reagents = list("rum" = 2, "orangejuice" = 2, "limejuice" = 1, "ice" = 1) + result_amount = 5 diff --git a/code/WorkInProgress/Chemistry-Tools.dm b/code/WorkInProgress/Chemistry-Tools.dm index a7db98acd36..7b594ce7add 100644 --- a/code/WorkInProgress/Chemistry-Tools.dm +++ b/code/WorkInProgress/Chemistry-Tools.dm @@ -2474,8 +2474,20 @@ desc = "White and nutritious soy goodness!" if("berryjuice") icon_state = "berryjuice" - name = "Glass berry joice" + name = "Glass of berry juice" desc = "Berry juice. Or maybe its jam. Who cares?" + if("carrotjuice") + icon_state = "carrotjuice" + name = "Glass of carrot juice" + desc = "It is just like a carrot but without crunching." + if("banana") + icon_state = "banana" + name = "Glass of banana juice" + desc = "The raw essence of a banana. HONK" + if("bahama_mama") + icon_state = "bahama_mama" + name = "Bahama Mama" + desc = "Tropic cocktail" else icon_state ="glass_brown" name = "Glass of ..what?" diff --git a/code/defines/obj/hydro.dm b/code/defines/obj/hydro.dm index 1daed768afa..e6cc3cce052 100644 --- a/code/defines/obj/hydro.dm +++ b/code/defines/obj/hydro.dm @@ -62,6 +62,7 @@ maturation = 5 production = 5 yield = 2 + potency = 10 plant_type = 0 growthstages = 6 @@ -107,6 +108,7 @@ maturation = 8 production = 6 yield = 2 + potency = 10 plant_type = 0 growthstages = 6 @@ -221,7 +223,7 @@ maturation = 10 production = 1 yield = 4 - potency = 0 + potency = 10 oneharvest = 1 plant_type = 0 growthstages = 5 @@ -460,10 +462,9 @@ var/potency = -1 var/plant_type = 0 icon = 'harvest.dmi' - var/poison_amt = 0 - var/drug_amt = 0 - var/heat_amt = 0 - New() + New(newloc,newpotency) + if (!isnull(newpotency)) + potency = newpotency ..() src.pixel_x = rand(-5.0, 5) src.pixel_y = rand(-5.0, 5) @@ -485,11 +486,6 @@ user << "- Production speed: \blue [production]" user << "- Endurance: \blue [endurance]" user << "- Healing properties: \blue [reagents.get_reagent_amount("nutriment")]" - user << "- Amatoxins: \blue [poison_amt]%" - user << "- Psilocybin: \blue [drug_amt]%" - user << "- Capsaicin: \blue [heat_amt]%" - user << "" - return /obj/item/weapon/grown/attackby(var/obj/item/O as obj, var/mob/user as mob) @@ -554,6 +550,7 @@ name = "Berries" desc = "Nutritious!" icon_state = "berrypile" + potency = 10 New() ..() reagents.add_reagent("nutriment", 2) @@ -566,9 +563,14 @@ New() ..() reagents.add_reagent("nutriment", 2) - reagents.add_reagent("capsaicin", max(round(heat_amt / 5, 1), 4)) + reagents.add_reagent("capsaicin", max(round(potency / 5, 1), 4)) bitesize = max(round(reagents.total_volume / 2, 1), 1) +/obj/item/weapon/reagent_containers/food/snacks/grown/chili/attackby(var/obj/item/O as obj, var/mob/user as mob) + . = ..() + if (istype(O, /obj/item/device/analyzer/plant_analyzer)) + user << "- Capsaicin: \blue [reagents.get_reagent_amount("capsaicin")]%" + /obj/item/weapon/reagent_containers/food/snacks/grown/eggplant seed = "/obj/item/seeds/eggplantseed" name = "Eggplant" @@ -592,6 +594,7 @@ name = "Tomato" desc = "Tom-mae-to or to-mah-to? You decide." icon_state = "tomato" + potency = 10 New() ..() reagents.add_reagent("nutriment", 2) @@ -614,18 +617,24 @@ New() ..() reagents.add_reagent("nutriment", 2) - reagents.add_reagent("frostoil", max(round(heat_amt / 5, 1), 4)) + reagents.add_reagent("frostoil", max(round(potency / 5, 1), 4)) bitesize = max(round(reagents.total_volume / 2, 1), 1) +/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper/attackby(var/obj/item/O as obj, var/mob/user as mob) + . = ..() + if (istype(O, /obj/item/device/analyzer/plant_analyzer)) + user << "- Frostoil: \blue [reagents.get_reagent_amount("frostoil")]%" + /obj/item/weapon/reagent_containers/food/snacks/grown/carrot seed = "/obj/item/seeds/carrotseed" name = "Carrot" desc = "Good for the eyes!" icon_state = "carrot" + potency = 10 New() ..() reagents.add_reagent("nutriment", 2) - reagents.add_reagent("imidazoline", 2) + reagents.add_reagent("imidazoline", max(round(potency / 5, 1), 4)) /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita seed = "/obj/item/seeds/amanitamycelium" @@ -636,10 +645,16 @@ New() ..() reagents.add_reagent("nutriment", 2) - reagents.add_reagent("amatoxin", max(poison_amt, 4)) - reagents.add_reagent("psilocybin", max(drug_amt, 1)) + reagents.add_reagent("amatoxin", max(round(potency * 0.4, 1), 4)) + reagents.add_reagent("psilocybin", max(round(potency / 25, 1), 1)) bitesize = max(round(reagents.total_volume / 2, 1), 1) +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita/attackby(var/obj/item/O as obj, var/mob/user as mob) + . = ..() + if (istype(O, /obj/item/device/analyzer/plant_analyzer)) + user << "- Amatoxins: \blue [reagents.get_reagent_amount("amatoxin")]%" + user << "- Psilocybin: \blue [reagents.get_reagent_amount("psilocybin")]%" + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel seed = "/obj/item/seeds/angelmycelium" name = "Destroying angel" @@ -649,10 +664,16 @@ New() ..() reagents.add_reagent("nutriment", 2) - reagents.add_reagent("amatoxin", max(poison_amt, 14)) - reagents.add_reagent("psilocybin", max(drug_amt, 1)) + reagents.add_reagent("amatoxin", max(round(potency * 0.4, 1), 14)) + reagents.add_reagent("psilocybin", max(round(potency / 25, 1), 1)) bitesize = max(round(reagents.total_volume / 2, 1), 1) +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel/attackby(var/obj/item/O as obj, var/mob/user as mob) + . = ..() + if (istype(O, /obj/item/device/analyzer/plant_analyzer)) + user << "- Amatoxins: \blue [reagents.get_reagent_amount("amatoxin")]%" + user << "- Psilocybin: \blue [reagents.get_reagent_amount("psilocybin")]%" + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap seed = "/obj/item/seeds/libertymycelium" name = "Liberty cap" @@ -662,9 +683,14 @@ New() ..() reagents.add_reagent("nutriment", 2) - reagents.add_reagent("psilocybin", max(drug_amt, 4)) + reagents.add_reagent("psilocybin", max(round(potency / 5, 1), 4)) bitesize = max(round(reagents.total_volume / 2), 1) +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap/attackby(var/obj/item/O as obj, var/mob/user as mob) + . = ..() + if (istype(O, /obj/item/device/analyzer/plant_analyzer)) + user << "- Psilocybin: \blue [reagents.get_reagent_amount("psilocybin")]%" + /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet seed = "/obj/item/seeds/plumpmycelium" name = "Plump Helmet" diff --git a/code/defines/obj/machinery.dm b/code/defines/obj/machinery.dm index 44eed315d59..a185b21be46 100644 --- a/code/defines/obj/machinery.dm +++ b/code/defines/obj/machinery.dm @@ -443,14 +443,14 @@ use_power = 1 idle_power_usage = 10 active_power_usage = 2000 - +/* /obj/machinery/wire name = "wire" icon = 'power_cond.dmi' use_power = 1 idle_power_usage = 0 active_power_usage = 1 - +*/ /obj/machinery/power name = null icon = 'power.dmi' @@ -586,48 +586,6 @@ var/otherarea = null var/id = 1 -/obj/machinery/microwave - name = "Microwave" - icon = 'kitchen.dmi' - icon_state = "mw" - layer = 2.9 - density = 1 - anchored = 1 - use_power = 1 - idle_power_usage = 5 - active_power_usage = 100 - flags = OPENCONTAINER | NOREACT - - -/obj/machinery/processor - name = "Food Processor" - icon = 'kitchen.dmi' - icon_state = "processor" - layer = 2.9 - density = 1 - anchored = 1 - var/broken = 0 - var/processing = 0 - use_power = 1 - idle_power_usage = 5 - active_power_usage = 50 - - -/obj/machinery/gibber - name = "Gibber" - desc = "The name isn't descriptive enough?" - icon = 'kitchen.dmi' - icon_state = "grinder" - density = 1 - anchored = 1 - var/operating = 0 //Is it on? - var/dirty = 0 // Does it need cleaning? - var/gibtime = 40 // Time from starting until meat appears - var/mob/occupant // Mob who has been put inside - use_power = 1 - idle_power_usage = 2 - active_power_usage = 50 - /obj/machinery/holopad name = "holopad" desc = "A floor-mounted device for projecting AI holograms." @@ -637,4 +595,4 @@ var/slave_holo = null use_power = 1 idle_power_usage = 5 - active_power_usage = 100 \ No newline at end of file + active_power_usage = 100 diff --git a/code/defines/procs/statistics.dm b/code/defines/procs/statistics.dm index dda6e43a00c..d73962fcd91 100644 --- a/code/defines/procs/statistics.dm +++ b/code/defines/procs/statistics.dm @@ -120,7 +120,7 @@ proc/sql_report_death(var/mob/living/carbon/human/H) return if(!H) return - if(!H.client || !H.mind) + if(!H.key || !H.mind) return var/turf/T = H.loc @@ -157,7 +157,7 @@ proc/sql_report_cyborg_death(var/mob/living/silicon/robot/H) return if(!H) return - if(!H.client || !H.mind) + if(!H.key || !H.mind) return var/turf/T = H.loc @@ -196,4 +196,4 @@ proc/statistic_cycle() sql_poll_players() sleep(600) sql_poll_admins() - sleep(6000) // Poll every ten minutes \ No newline at end of file + sleep(6000) // Poll every ten minutes diff --git a/code/game/machinery/gibber.dm b/code/game/machinery/gibber.dm deleted file mode 100644 index e1ea84b21b5..00000000000 --- a/code/game/machinery/gibber.dm +++ /dev/null @@ -1,132 +0,0 @@ -/obj/machinery/gibber/New() - ..() - src.overlays += image('kitchen.dmi', "grindnotinuse") - -/obj/machinery/gibber/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/gibber/relaymove(mob/user as mob) - src.go_out() - return - -/obj/machinery/gibber/attack_hand(mob/user as mob) - if(operating) - user << "\red It's locked and running" - return - else - src.startgibbing(user) - -/obj/machinery/gibber/attackby(obj/item/weapon/grab/G as obj, mob/user as mob) - if(src.occupant) - user << "\red The gibber is full, empty it first!" - return - if (!( istype(G, /obj/item/weapon/grab)) || !(istype(G.affecting, /mob/living/carbon/human))) - user << "\red This item is not suitable for the gibber!" - return - if(G.affecting.abiotic()) - user << "\red Subject may not have abiotic items on." - return - - user.visible_message("\red [user] starts to put [G.affecting] into the gibber!") - src.add_fingerprint(user) - sleep(30) - if(G) - if(G.affecting) - user.visible_message("\red [user] stuffs [G.affecting] into the gibber!") - var/mob/M = G.affecting - if(M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src - M.loc = src - src.occupant = M - del(G) - -/obj/machinery/gibber/verb/eject() - set category = "Object" - set name = "Empty Gibber" - set src in oview(1) - - if (usr.stat != 0) - return - src.go_out() - add_fingerprint(usr) - return - -/obj/machinery/gibber/proc/go_out() - if (!src.occupant) - return - for(var/obj/O in src) - O.loc = src.loc - if (src.occupant.client) - src.occupant.client.eye = src.occupant.client.mob - src.occupant.client.perspective = MOB_PERSPECTIVE - src.occupant.loc = src.loc - src.occupant = null - return - - -/obj/machinery/gibber/proc/startgibbing(mob/user as mob) - if(src.operating) - return - if(!src.occupant) - for(var/mob/M in viewers(src, null)) - M.show_message("\red You hear a loud metallic grinding sound.", 1) - return - else - for(var/mob/M in viewers(src, null)) - M.show_message("\red You hear a loud squelchy grinding sound.", 1) - src.operating = 1 - src.dirty += 1 - var/sourcename = src.occupant.real_name - var/sourcejob = src.occupant.job - var/sourcenutriment = src.occupant.nutrition / 15 - var/sourcetotalreagents = src.occupant.reagents.total_volume - var/totalslabs = 3 - - var/obj/item/weapon/reagent_containers/food/snacks/meat/human/newmeat1 = new - var/obj/item/weapon/reagent_containers/food/snacks/meat/human/newmeat2 = new - var/obj/item/weapon/reagent_containers/food/snacks/meat/human/newmeat3 = new - - newmeat1.name = sourcename + newmeat1.name - newmeat1.subjectname = sourcename - newmeat1.subjectjob = sourcejob - newmeat1.reagents.add_reagent ("nutriment", sourcenutriment / totalslabs) // Thehehe. Fat guys go first - src.occupant.reagents.trans_to (newmeat1, round (sourcetotalreagents / totalslabs, 1)) // Transfer all the reagents from the body to meat - newmeat2.name = sourcename + newmeat2.name - newmeat2.subjectname = sourcename - newmeat2.subjectjob = sourcejob - newmeat2.reagents.add_reagent ("nutriment", sourcenutriment / totalslabs) - src.occupant.reagents.trans_to (newmeat2, round (sourcetotalreagents / totalslabs, 1)) - newmeat3.name = sourcename + newmeat3.name - newmeat3.subjectname = sourcename - newmeat3.subjectjob = sourcejob - newmeat3.reagents.add_reagent ("nutriment", sourcenutriment / totalslabs) - src.occupant.reagents.trans_to (newmeat3, round (sourcetotalreagents / totalslabs, 1)) - if(src.occupant.client) - var/mob/dead/observer/newmob - newmob = new/mob/dead/observer(src.occupant) - src.occupant:client:mob = newmob - newmob:client:eye = newmob - del(src.occupant) - else - del(src.occupant) - spawn(src.gibtime) - playsound(src.loc, 'splat.ogg', 50, 1) - operating = 0 - var/turf/Tx1 = locate(src.x - 1, src.y, src.z) - var/turf/Tx2 = locate(src.x - 2, src.y, src.z) - var/turf/Tx3 = locate(src.x - 3, src.y, src.z) - if(istype(Tx1, /turf/simulated/floor/)) // Make it so the blood that flies out only appears on the freezer floor - new /obj/decal/cleanable/blood/gibs(Tx1) - newmeat1.loc = get_turf(Tx1) - if(istype(Tx2, /turf/simulated/floor/)) - new /obj/decal/cleanable/blood/gibs(Tx2) - newmeat2.loc = get_turf(Tx2) - if(istype(Tx3, /turf/simulated/floor/)) - new /obj/decal/cleanable/blood/gibs(Tx3) - newmeat3.loc = get_turf(Tx3) - if(src.dirty == 1) - src.overlays += image('kitchen.dmi', "grindbloody") - src.operating = 0 - - diff --git a/code/game/machinery/hydroponics.dm b/code/game/machinery/hydroponics.dm index 6fcf2379ee2..2ed7a40b7c4 100644 --- a/code/game/machinery/hydroponics.dm +++ b/code/game/machinery/hydroponics.dm @@ -678,7 +678,7 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob) new item(user.loc) t_amount++ else - var/obj/item/weapon/reagent_containers/food/snacks/grown/t_prod = new item(user.loc) // User gets a consumable + var/obj/item/weapon/reagent_containers/food/snacks/grown/t_prod = new item(user.loc, src.myseed.potency) // User gets a consumable t_prod.seed = src.myseed.mypath t_prod.species = src.myseed.species t_prod.lifespan = src.myseed.lifespan @@ -688,13 +688,6 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob) t_prod.yield = src.myseed.yield t_prod.potency = src.myseed.potency t_prod.plant_type = src.myseed.plant_type - if(src.myseed.species == "amanita" || src.myseed.species == "angel") - t_prod.poison_amt = round(src.myseed.potency * 0.4, 1) // Potency translates to poison amount - t_prod.drug_amt = round(src.myseed.potency / 25, 1) // Small trip - else if(src.myseed.species == "liberty") - t_prod.drug_amt = round(src.myseed.potency / 5, 1) // TRIP TIME - else if(src.myseed.species == "chili" || src.myseed.species == "chiliice") - t_prod.heat_amt = src.myseed.potency // BRING ON THE HEAT //BUG: heat_amt not used at all t_amount++ src.harvest = 0 src.lastproduce = src.age diff --git a/code/game/machinery/blender.dm b/code/game/machinery/kitchen/blender.dm similarity index 79% rename from code/game/machinery/blender.dm rename to code/game/machinery/kitchen/blender.dm index 761e2e73427..c35424eb084 100644 --- a/code/game/machinery/blender.dm +++ b/code/game/machinery/kitchen/blender.dm @@ -78,28 +78,27 @@ the blender or the processor: Processor items are solid objects and Blender resu if (src.stat != 0) //NOPOWER etc return if(src.processing) - usr << "The blender is in the process of blending." - else if(!src.container) - usr << "The blender doesn't have an attached container!" - else - playsound(src.loc, 'blender.ogg', 50, 1) - src.processing = 1 - usr << "You turn on the blender." - use_power(50) - for(var/obj/O in src.contents) - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/berries)) - src.reagents.add_reagent("berryjuice", 5) - else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans)) - src.reagents.add_reagent("soymilk", 5) - else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/tomato)) - src.reagents.add_reagent("ketchup", 5) - else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/corn)) - src.reagents.add_reagent("cornoil", 5) - if(istype(O, /obj/item/weapon/reagent_containers/food/snacks)) //This is intentionally not an "else if" - O.reagents.trans_to(src, O.reagents.total_volume) //Think of it as the "pulp" leftover. - del(O) - src.processing = 0 - usr << "The contents of the blender have been blended." + usr << "\red The blender is in the process of blending." + return + if(!src.container) + usr << "\red The blender doesn't have an attached container!" + return + playsound(src.loc, 'blender.ogg', 50, 1) + src.processing = 1 + usr << "\blue You turn on the blender." + use_power(250) + for(var/obj/O in src.contents) + if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans)) + src.reagents.add_reagent("soymilk", 5) + else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/tomato)) + src.reagents.add_reagent("ketchup", 5) + else if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown/corn)) + src.reagents.add_reagent("cornoil", 5) + if(istype(O, /obj/item/weapon/reagent_containers/food/snacks)) //This is intentionally not an "else if" + O.reagents.trans_to(src, O.reagents.total_volume) //Think of it as the "pulp" leftover. + del(O) + src.processing = 0 + usr << "The contents of the blender have been blended." return /obj/machinery/blender/verb/detach() //Transfers the contents of the Blender to the Blender Jug and then ejects the jug. diff --git a/code/game/machinery/kitchen/gibber.dm b/code/game/machinery/kitchen/gibber.dm new file mode 100644 index 00000000000..5c44ec6f722 --- /dev/null +++ b/code/game/machinery/kitchen/gibber.dm @@ -0,0 +1,144 @@ + +/obj/machinery/gibber + name = "Gibber" + desc = "The name isn't descriptive enough?" + icon = 'kitchen.dmi' + icon_state = "grinder" + density = 1 + anchored = 1 + var/operating = 0 //Is it on? + var/dirty = 0 // Does it need cleaning? + var/gibtime = 40 // Time from starting until meat appears + var/mob/living/occupant // Mob who has been put inside + use_power = 1 + idle_power_usage = 2 + active_power_usage = 500 + + +/obj/machinery/gibber/New() + ..() + src.overlays += image('kitchen.dmi', "grjam") + +/obj/machinery/gibber/update_icon() + overlays = null + if (dirty) + src.overlays += image('kitchen.dmi', "grbloody") + if(stat & (NOPOWER|BROKEN)) + return + if (!occupant) + src.overlays += image('kitchen.dmi', "grjam") + else if (operating) + src.overlays += image('kitchen.dmi', "gruse") + else + src.overlays += image('kitchen.dmi', "gridle") + +/obj/machinery/gibber/attack_paw(mob/user as mob) + return src.attack_hand(user) + +/obj/machinery/gibber/relaymove(mob/user as mob) + src.go_out() + return + +/obj/machinery/gibber/attack_hand(mob/user as mob) + if(stat & (NOPOWER|BROKEN)) + return + if(operating) + user << "\red It's locked and running" + return + else + src.startgibbing(user) + +/obj/machinery/gibber/attackby(obj/item/weapon/grab/G as obj, mob/user as mob) + if(src.occupant) + user << "\red The gibber is full, empty it first!" + return + if (!( istype(G, /obj/item/weapon/grab)) || !(istype(G.affecting, /mob/living/carbon/human))) + user << "\red This item is not suitable for the gibber!" + return + if(G.affecting.abiotic()) + user << "\red Subject may not have abiotic items on." + return + + user.visible_message("\red [user] starts to put [G.affecting] into the gibber!") + src.add_fingerprint(user) + if(do_after(user, 30) && G && G.affecting && !occupant) + user.visible_message("\red [user] stuffs [G.affecting] into the gibber!") + var/mob/M = G.affecting + if(M.client) + M.client.perspective = EYE_PERSPECTIVE + M.client.eye = src + M.loc = src + src.occupant = M + del(G) + update_icon() + +/obj/machinery/gibber/verb/eject() + set category = "Object" + set name = "Empty Gibber" + set src in oview(1) + + if (usr.stat != 0) + return + src.go_out() + add_fingerprint(usr) + return + +/obj/machinery/gibber/proc/go_out() + if (!src.occupant) + return + for(var/obj/O in src) + O.loc = src.loc + if (src.occupant.client) + src.occupant.client.eye = src.occupant.client.mob + src.occupant.client.perspective = MOB_PERSPECTIVE + src.occupant.loc = src.loc + src.occupant = null + update_icon() + return + + +/obj/machinery/gibber/proc/startgibbing(mob/user as mob) + if(src.operating) + return + if(!src.occupant) + for(var/mob/M in viewers(src, null)) + M.show_message("\red You hear a loud metallic grinding sound.", 1) + return + use_power(1000) + for(var/mob/M in viewers(src, null)) + M.show_message("\red You hear a loud squelchy grinding sound.", 1) + src.operating = 1 + update_icon() + var/sourcename = src.occupant.real_name + var/sourcejob = src.occupant.job + var/sourcenutriment = src.occupant.nutrition / 15 + var/sourcetotalreagents = src.occupant.reagents.total_volume + var/totalslabs = 3 + + var/obj/item/weapon/reagent_containers/food/snacks/meat/human/allmeat[totalslabs] + for (var/i=1 to totalslabs) + var/obj/item/weapon/reagent_containers/food/snacks/meat/human/newmeat = new + newmeat.name = sourcename + newmeat.name + newmeat.subjectname = sourcename + newmeat.subjectjob = sourcejob + newmeat.reagents.add_reagent ("nutriment", sourcenutriment / totalslabs) // Thehehe. Fat guys go first + src.occupant.reagents.trans_to (newmeat, round (sourcetotalreagents / totalslabs, 1)) // Transfer all the reagents from the + allmeat[i] = newmeat + + src.occupant.death(1) + src.occupant.ghostize() + del(src.occupant) + spawn(src.gibtime) + playsound(src.loc, 'splat.ogg', 50, 1) + operating = 0 + for (var/i=1 to totalslabs) + var/obj/item/meatslab = allmeat[i] + var/turf/Tx = locate(src.x - i, src.y, src.z) + meatslab.loc = src.loc + meatslab.throw_at(Tx,i,3) + if (!Tx.density) + new /obj/decal/cleanable/blood/gibs(Tx,i) + src.operating = 0 + update_icon() + + diff --git a/code/game/machinery/kitchen/juicer.dm b/code/game/machinery/kitchen/juicer.dm new file mode 100644 index 00000000000..f3b6c0ea7b7 --- /dev/null +++ b/code/game/machinery/kitchen/juicer.dm @@ -0,0 +1,166 @@ + +/obj/machinery/juicer + name = "Juicer" + icon = 'kitchen.dmi' + icon_state = "juicer1" + layer = 2.9 + density = 0 + anchored = 0 + use_power = 1 + idle_power_usage = 5 + active_power_usage = 100 + var/obj/item/weapon/reagent_containers/beaker = null + var/global/list/allowed_items = list ( + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato = "tomatojuice", + /obj/item/weapon/reagent_containers/food/snacks/grown/carrot = "carrotjuice", + /obj/item/weapon/reagent_containers/food/snacks/grown/berries = "berryjuice", + /obj/item/weapon/reagent_containers/food/snacks/banana = "banana", + ) + +/obj/machinery/juicer/New() + beaker = new /obj/item/weapon/reagent_containers/glass/large(src) + +/obj/machinery/juicer/update_icon() + icon_state = "juicer"+num2text(!isnull(beaker)) + return + + +/obj/machinery/juicer/attackby(var/obj/item/O as obj, var/mob/user as mob) + if (istype(O,/obj/item/weapon/reagent_containers/glass) || \ + istype(O,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass)) + if (beaker) + return 1 + else + user.before_take_item(O) + O.loc = src + beaker = O + src.verbs += /obj/machinery/juicer/verb/detach + update_icon() + src.updateUsrDialog() + return 0 + if (!is_type_in_list(O, allowed_items)) + user << "It looks as not containing any juice." + return 1 + user.before_take_item(O) + O.loc = src + src.updateUsrDialog() + return 0 + +/obj/machinery/juicer/attack_paw(mob/user as mob) + return src.attack_hand(user) + +/obj/machinery/juicer/attack_ai(mob/user as mob) + return 0 + +/obj/machinery/juicer/attack_hand(mob/user as mob) + user.machine = src + interact(user) + +/obj/machinery/juicer/proc/interact(mob/user as mob) // The microwave Menu + var/is_chamber_empty = 0 + var/is_beaker_ready = 0 + var/processing_chamber = "" + var/beaker_contents = "" + + for (var/i in allowed_items) + for (var/obj/item/O in src.contents) + if (!istype(O,i)) + continue + processing_chamber+= "some [O]
" + break + if (!processing_chamber) + is_chamber_empty = 1 + processing_chamber = "Nothing." + if (!beaker) + beaker_contents = "\The [src] has no beaker attached." + else if (!beaker.reagents.total_volume) + beaker_contents = "\The [src] has attached an empty beaker." + is_beaker_ready = 1 + else if (beaker.reagents.total_volume < beaker.reagents.maximum_volume) + beaker_contents = "\The [src] has attached a beaker with something." + is_beaker_ready = 1 + else + beaker_contents = "\The [src] has attached a beaker and beaker is full!" + + var/dat = {" +Processing chamber contains:
+[processing_chamber]
+[beaker_contents]
+"} + if (is_beaker_ready && !is_chamber_empty && !(stat & (NOPOWER|BROKEN))) + dat += "Turn on!
" + if (beaker) + dat += "
Detach a beacker!
" + user << browse("Juicer[dat]", "window=juicer") + onclose(user, "juicer") + return + + +/obj/machinery/juicer/Topic(href, href_list) + if(..()) + return + usr.machine = src + switch(href_list["action"]) + if ("juice") + juice() + + if ("detach") + detach() + src.updateUsrDialog() + return + +/obj/machinery/juicer/verb/detach() + set category = "Object" + set name = "Detach Beacker from the juicer" + set src in oview(1) + if (usr.stat != 0) + return + if (!beaker) + return + src.verbs -= /obj/machinery/juicer/verb/detach + beaker.loc = src.loc + beaker = null + update_icon() + +/obj/machinery/juicer/proc/get_juice_id(var/obj/item/weapon/reagent_containers/food/snacks/grown/O) + for (var/i in allowed_items) + if (istype(O, i)) + return allowed_items[i] + +/obj/machinery/juicer/proc/get_juice_amount(var/obj/item/weapon/reagent_containers/food/snacks/grown/O) + if (!istype(O)) + return 5 + else + return round(5*sqrt(O.potency)) + +/obj/machinery/juicer/proc/juice() + power_change() //it is a portable machine + if(stat & (NOPOWER|BROKEN)) + return + if (!beaker || beaker.reagents.total_volume >= beaker.reagents.maximum_volume) + return + playsound(src.loc, 'juicer.ogg', 50, 1) + for (var/obj/item/weapon/reagent_containers/food/snacks/O in src.contents) + var/r_id = get_juice_id(O) + beaker.reagents.add_reagent(r_id,get_juice_amount(O)) + del(O) + if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume) + break + +/obj/crate/blabla + New() + ..() + new/obj/machinery/juicer(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/tomato(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/carrot(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/berries(src) + new/obj/item/weapon/reagent_containers/food/snacks/banana(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/tomato(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/carrot(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/berries(src) + new/obj/item/weapon/reagent_containers/food/snacks/banana(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/tomato(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/carrot(src) + new/obj/item/weapon/reagent_containers/food/snacks/grown/berries(src) + new/obj/item/weapon/reagent_containers/food/snacks/banana(src) + diff --git a/code/game/machinery/microwave.dm b/code/game/machinery/kitchen/microwave.dm similarity index 76% rename from code/game/machinery/microwave.dm rename to code/game/machinery/kitchen/microwave.dm index 5c035c4fd34..935b7bf9fc4 100644 --- a/code/game/machinery/microwave.dm +++ b/code/game/machinery/kitchen/microwave.dm @@ -1,35 +1,47 @@ +/obj/machinery/microwave + name = "Microwave" + icon = 'kitchen.dmi' + icon_state = "mw" + layer = 2.9 + density = 1 + anchored = 1 + use_power = 1 + idle_power_usage = 5 + active_power_usage = 100 + flags = OPENCONTAINER | NOREACT + var/operating = 0 // Is it on? + var/dirty = 0 // = {0..100} Does it need cleaning? + var/broken = 0 // ={0,1,2} How broken is it??? + var/global/list/datum/recipe/available_recipes // List of the recipes you can use + var/global/list/acceptable_items // List of the items you can put in + var/global/list/acceptable_reagents // List of the reagents you can put in + var/global/max_n_of_items = 0 + + // see code/modules/food/recipes_microwave.dm for recipes /******************* * Initialising ********************/ -/obj/machinery/microwave - var/operating = 0 // Is it on? - var/dirty = 0 // = {0..100} Does it need cleaning? - var/broken = 0 // ={0,1,2} How broken is it??? - var/list/datum/recipe/available_recipes // List of the recipes you can use - var/list/acceptable_items // List of the items you can put in - var/list/acceptable_reagents // List of the reagents you can put in - var/max_n_of_items = 0 /obj/machinery/microwave/New() //..() //do not need this reagents = new/datum/reagents(100) reagents.my_atom = src - available_recipes = new - for (var/type in (typesof(/datum/recipe)-/datum/recipe)) - available_recipes+= new type - acceptable_items = new - acceptable_reagents = new - for (var/datum/recipe/recipe in available_recipes) - for (var/item in recipe.items) - //if (!(item in acceptable_items)) - acceptable_items |= item - for (var/reagent in recipe.reagents) - acceptable_reagents |= reagent - if (recipe.items) - max_n_of_items = max(max_n_of_items,recipe.items.len) + if (!available_recipes) + available_recipes = new + for (var/type in (typesof(/datum/recipe)-/datum/recipe)) + available_recipes+= new type + acceptable_items = new + acceptable_reagents = new + for (var/datum/recipe/recipe in available_recipes) + for (var/item in recipe.items) + acceptable_items |= item + for (var/reagent in recipe.reagents) + acceptable_reagents |= reagent + if (recipe.items) + max_n_of_items = max(max_n_of_items,recipe.items.len) /******************* * Item Adding @@ -103,12 +115,11 @@ istype(O,/obj/item/weapon/reagent_containers/food/drinks) || \ istype(O,/obj/item/weapon/reagent_containers/food/condiment) \ ) - var/obj/item/weapon/reagent_containers/glass/G = O - if (!G.reagents) + if (!O.reagents) return 1 - for (var/datum/reagent/R in G.reagents.reagent_list) + for (var/datum/reagent/R in O.reagents.reagent_list) if (!(R.id in acceptable_reagents)) - user << "\red Your [G] contains components unsuitable for cookery." + user << "\red Your [O] contains components unsuitable for cookery." return 1 //G.reagents.trans_to(src,G.amount_per_transfer_from_this) else if(istype(O,/obj/item/weapon/grab)) @@ -192,7 +203,7 @@ dat = {"Ingredients:
[dat]"} dat += {"

\
Turn on!
\ -
Dispose contents!
\ +
Eject ingredients!
\ "} user << browse("Microwave Controls[dat]", "window=microwave") @@ -206,6 +217,8 @@ ************************************/ /obj/machinery/microwave/proc/cook() + if(stat & (NOPOWER|BROKEN)) + return start() if (reagents.total_volume==0 && !(locate(/obj) in contents)) //dry run if (!wzhzhzh(10)) @@ -295,9 +308,12 @@ /obj/machinery/microwave/proc/dispose() for (var/obj/O in contents) - del(O) + O.loc = src.loc + if (src.reagents.total_volume) + src.dirty++ src.reagents.clear_reagents() usr << "\blue You dispose of the microwave contents." + src.updateUsrDialog() /obj/machinery/microwave/proc/muck_start() playsound(src.loc, 'splat.ogg', 50, 1) // Play a splat sound @@ -354,38 +370,3 @@ if ("dispose") dispose() return -/* - var/cooking = cooked_item // Get the item that needs to be spawned - if(!isnull(cooking)) - src.operating = 1 // Turn it on so it can't be used again while it's cooking - src.icon_state = "mw1" //Make it look on too - src.updateUsrDialog() - src.being_cooked = new cooking(src) - use_power(500*(cook_time/50)/2) - spawn(cook_time) //After the cooking time - use_power(500*(cook_time/50)/2) - if(!isnull(src.being_cooked)) - playsound(src.loc, 'ding.ogg', 50, 1) - if(istype(src.being_cooked, /obj/item/weapon/reagent_containers/food/snacks/humanburger)) - src.being_cooked.name = humanmeat_name + src.being_cooked.name - src.being_cooked:job = humanmeat_job - else if(istype(src.being_cooked, /obj/item/weapon/reagent_containers/food/snacks/humeatpie)) - src.being_cooked.name = humanmeat_name + src.being_cooked.name - src.being_cooked:job = humanmeat_job - else if(istype(src.being_cooked, /obj/item/weapon/reagent_containers/food/snacks/humankabob)) - src.being_cooked.name = humanmeat_name + src.being_cooked.name - src.being_cooked:job = humanmeat_job - if(istype(src.being_cooked, /obj/item/weapon/reagent_containers/food/snacks/donkpocket)) - src.being_cooked:warm = 1 - src.being_cooked:reagents.add_reagent("tricordrazine", 5) - src.being_cooked:bitesize = 6 - src.being_cooked.name = "Warm " + src.being_cooked.name - src.being_cooked:cooltime() - src.being_cooked.loc = get_turf(src) // Create the new item - src.being_cooked = null // We're done! - - src.operating = 0 // Turn the microwave back off - src.icon_state = "mw" - else - return -*/ diff --git a/code/game/machinery/processor.dm b/code/game/machinery/kitchen/processor.dm similarity index 90% rename from code/game/machinery/processor.dm rename to code/game/machinery/kitchen/processor.dm index 5b282bcc2e9..39ccea93bb9 100644 --- a/code/game/machinery/processor.dm +++ b/code/game/machinery/kitchen/processor.dm @@ -1,3 +1,19 @@ + +/obj/machinery/processor + name = "Food Processor" + icon = 'kitchen.dmi' + icon_state = "processor" + layer = 2.9 + density = 1 + anchored = 1 + var/broken = 0 + var/processing = 0 + use_power = 1 + idle_power_usage = 5 + active_power_usage = 50 + + + /datum/food_processor_process var/input var/output @@ -122,7 +138,7 @@ "You turn on \a [src].", \ "You hear a food processor") playsound(src.loc, 'blender.ogg', 50, 1) - use_power(50) + use_power(500) sleep(P.time) P.process(src.loc, O) src.processing = 0 @@ -130,4 +146,3 @@ "You hear food processor stops") - diff --git a/code/game/machinery/morgue.dm b/code/game/machinery/morgue.dm index 31b38b9c3ea..8a581fc6a90 100644 --- a/code/game/machinery/morgue.dm +++ b/code/game/machinery/morgue.dm @@ -268,10 +268,8 @@ for (var/obj/item/W in M) if (prob(10)) W.loc = src - if (M.client) - var/mob/dead/observer/newmob = new(M) - M.client.mob = newmob - newmob.client.eye = newmob // Hrm + M.death(1) + M.ghostize() del(M) cremating = 0 locked = 0 diff --git a/code/game/magic/library.dm b/code/game/magic/library.dm index 1ae945e8d25..dea1b639cfa 100644 --- a/code/game/magic/library.dm +++ b/code/game/magic/library.dm @@ -80,7 +80,7 @@ if(!newname) return else - src.setname(newname) + src.setname(sanitize(newname)) else ..() attack_hand(var/mob/user as mob) @@ -189,7 +189,7 @@ if(!title) return else - src.name = title + src.name = sanitize(title) else if("Contents") var/content = strip_html(input("Write your book's contents (HTML NOT allowed):"),8192) as message|null if(!content) @@ -201,7 +201,7 @@ if(!nauthor) return else - src.author = nauthor + src.author = sanitize(nauthor) else return else if(istype(W, /obj/item/weapon/barcodescanner)) @@ -362,7 +362,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f if(href_list["settitle"]) var/newtitle = input("Enter a title to search for:") as text|null if(newtitle) - title = newtitle + title = sanitize(newtitle) else title = null title = dd_replacetext(title, "'", "''") @@ -375,7 +375,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f if(href_list["setauthor"]) var/newauthor = input("Enter an author to search for:") as text|null if(newauthor) - author = newauthor + author = sanitize(newauthor) else author = null author = dd_replacetext(author, "'", "''") @@ -570,8 +570,8 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f buffer_mob = input("Enter the recipient's name:") as text|null if(href_list["checkout"]) var/datum/borrowbook/b = new /datum/borrowbook - b.bookname = buffer_book - b.mobname = buffer_mob + b.bookname = sanitize(buffer_book) + b.mobname = sanitize(buffer_mob) b.getdate = world.time b.duedate = world.time + (checkoutperiod * 600) checkouts.Add(b) @@ -584,7 +584,7 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f if(href_list["setauthor"]) var/newauthor = input("Enter the author's name: ") as text|null if(newauthor) - scanner.cache.author = newauthor + scanner.cache.author = sanitize(newauthor) if(href_list["setcategory"]) var/newcategory = input("Choose a category: ") in list("Fiction", "Non-Fiction", "Adult", "Reference", "Religion") if(newcategory) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index a58082ad914..f1bf8072dad 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -466,5 +466,7 @@ istype(W, /obj/item/weapon/kitchenknife) || \ istype(W, /obj/item/weapon/scalpel) || \ istype(W, /obj/item/weapon/kitchen/utensil/knife) || \ - istype(W, /obj/item/weapon/kitchen/utensil/fork) \ + istype(W, /obj/item/weapon/shard) || \ + istype(W, /obj/item/weapon/reagent_containers/syringe) || \ + istype(W, /obj/item/weapon/kitchen/utensil/fork) && W.icon_state != "forkloaded" \ ) diff --git a/code/game/objects/radio/signaler.dm b/code/game/objects/radio/signaler.dm index 107d90f437c..d037b78c370 100644 --- a/code/game/objects/radio/signaler.dm +++ b/code/game/objects/radio/signaler.dm @@ -13,6 +13,9 @@ /obj/item/device/radio/signaler/attack_self(mob/user as mob, flag1) user.machine = src + interact(user,flag1) + +/obj/item/device/radio/signaler/interact(mob/user as mob, flag1) var/t1 if ((src.b_stat && !( flag1 ))) t1 = text("-------
\nGreen Wire: []
\nRed Wire: []
\nBlue Wire: []
\n", (src.wires & 4 ? text("
Cut Wire", src) : text("Mend Wire", src)), (src.wires & 2 ? text("Cut Wire", src) : text("Mend Wire", src)), (src.wires & 1 ? text("Cut Wire", src) : text("Mend Wire", src))) diff --git a/code/game/research/designs.dm b/code/game/research/designs.dm index 04400224db8..df3fe65334e 100644 --- a/code/game/research/designs.dm +++ b/code/game/research/designs.dm @@ -118,7 +118,7 @@ datum req_tech = list("programming" = 2, "biotech" = 3) build_type = IMPRINTER materials = list("$glass" = 2000, "acid" = 20) - build_path = "/obj/machinery/scan_consolenew" + build_path = "/obj/item/weapon/circuitboard/scan_consolenew" comconsole name = "Circuit Design (Communications)" diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index f34347dac60..75779e92d2f 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -19,9 +19,12 @@ /*if(src.stat != 2) //this check causes nothing but troubles. Commented out for Nar-Sie's sake. --rastaf0 src << "Only dead people and admins get to ghost, and admins don't use this verb to ghost while alive." return*/ - if(src.client) - src.client.mob = new/mob/dead/observer(src) + if(src.key) + var/mob/dead/observer/ghost = new(src) + ghost.key = src.key src.verbs -= /mob/proc/ghostize + if (ghost.client) + ghost.client.eye = ghost return /mob/proc/adminghostize() diff --git a/code/modules/mob/living/carbon/alien/humanoid/death.dm b/code/modules/mob/living/carbon/alien/humanoid/death.dm index 0e34eea9827..176a70add08 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/death.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/death.dm @@ -29,9 +29,9 @@ // world << "Bomb has ignited?" A.part4.ignite() - if (src.client) + if (src.key) spawn(10) - if(src.client && src.stat == 2) + if(src.key && src.stat == 2) src.verbs += /mob/proc/ghostize var/tod = time2text(world.realtime,"hh:mm:ss") //weasellos time of death patch diff --git a/code/modules/mob/living/carbon/brain/death.dm b/code/modules/mob/living/carbon/brain/death.dm index 8986d162aec..250e721e0b5 100644 --- a/code/modules/mob/living/carbon/brain/death.dm +++ b/code/modules/mob/living/carbon/brain/death.dm @@ -29,8 +29,8 @@ log_game("Rebooting because of no live players") world.Reboot() return - if (src.client) + if (src.key) spawn(50) - if(src.client && src.stat == 2) + if(src.key && src.stat == 2) src.verbs += /mob/proc/ghostize return ..(gibbed) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 89747ea9924..051f892469f 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -42,8 +42,7 @@ var/tod = time2text(world.realtime,"hh:mm:ss") //weasellos time of death patch if(mind) mind.store_memory("Time of death: [tod]", 0) - if(client) - sql_report_death(src) + sql_report_death(src) //src.icon_state = "dead" ticker.mode.check_win() diff --git a/code/modules/mob/living/carbon/monkey/death.dm b/code/modules/mob/living/carbon/monkey/death.dm index c37ec6c31ad..1424a645b96 100644 --- a/code/modules/mob/living/carbon/monkey/death.dm +++ b/code/modules/mob/living/carbon/monkey/death.dm @@ -36,9 +36,9 @@ log_game("Rebooting because of no live players") world.Reboot() return - if (src.client) + if (src.key) spawn(50) - if(src.client && src.stat == 2) + if(src.key && src.stat == 2) src.verbs += /mob/proc/ghostize return ..(gibbed) \ No newline at end of file diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index a7682d43c41..421870f5fc4 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -255,8 +255,8 @@ if (get_turf(M) in V) //this is slow, but I don't think we'd have a lot of wardrobewhores every round --rastaf0 listening+=M else - if (M.ghost_ears && !(M in listening)) - listening+=M + if (M.client && M.client.ghost_ears) + listening|=M for (var/obj/O in ((V | src.contents)-used_radios)) //radio in pocket could work, radio in backpack wouldn't --rastaf0 spawn (0) diff --git a/code/modules/mob/living/silicon/ai/death.dm b/code/modules/mob/living/silicon/ai/death.dm index a66c6a9eab3..6238e343d7a 100644 --- a/code/modules/mob/living/silicon/ai/death.dm +++ b/code/modules/mob/living/silicon/ai/death.dm @@ -44,8 +44,8 @@ log_game("Rebooting because of no live players") world.Reboot() return - if (src.client) + if (src.key) spawn(50) - if(src.client && src.stat == 2) + if(src.key && src.stat == 2) src.verbs += /mob/proc/ghostize return ..(gibbed) \ No newline at end of file diff --git a/code/modules/mob/living/silicon/hivebot/death.dm b/code/modules/mob/living/silicon/hivebot/death.dm index 22458b58f34..37c523fba6e 100644 --- a/code/modules/mob/living/silicon/hivebot/death.dm +++ b/code/modules/mob/living/silicon/hivebot/death.dm @@ -17,8 +17,8 @@ var/tod = time2text(world.realtime,"hh:mm:ss") //weasellos time of death patch store_memory("Time of death: [tod]", 0) - if (src.client) + if (src.key) spawn(50) - if(src.client && src.stat == 2) + if(src.key && src.stat == 2) src.verbs += /mob/proc/ghostize return ..(gibbed) \ No newline at end of file diff --git a/code/modules/mob/living/silicon/hivebot/mainframe.dm b/code/modules/mob/living/silicon/hivebot/mainframe.dm index fa308a22776..9527ae9c1a3 100644 --- a/code/modules/mob/living/silicon/hivebot/mainframe.dm +++ b/code/modules/mob/living/silicon/hivebot/mainframe.dm @@ -55,9 +55,9 @@ var/tod = time2text(world.realtime,"hh:mm:ss") //weasellos time of death patch mind.store_memory("Time of death: [tod]", 0) - if (src.client) + if (src.key) spawn(50) - if(src.client && src.stat == 2) + if(src.key && src.stat == 2) src.verbs += /mob/proc/ghostize return ..(gibbed) diff --git a/code/modules/mob/living/silicon/robot/death.dm b/code/modules/mob/living/silicon/robot/death.dm index 547d2eee6dd..71eda89e226 100644 --- a/code/modules/mob/living/silicon/robot/death.dm +++ b/code/modules/mob/living/silicon/robot/death.dm @@ -24,9 +24,7 @@ var/tod = time2text(world.realtime,"hh:mm:ss") //weasellos time of death patch store_memory("Time of death: [tod]", 0) - if(mind) - if(client) - sql_report_cyborg_death(src) + sql_report_cyborg_death(src) for(var/mob/M in world) if ((M.client && !( M.stat ))) @@ -38,8 +36,8 @@ log_game("Rebooting because of no live players") world.Reboot() return - if (src.client) + if (src.key) spawn(50) - if(src.client && src.stat == 2) + if(src.key && src.stat == 2) src.verbs += /mob/proc/ghostize return ..(gibbed) \ No newline at end of file diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index f6adfa9e455..0d4b27b5f2b 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -1356,16 +1356,16 @@ src << browse('changelog.html', "window=changes;size=675x650") src.client.changes = 1 -/mob/var/ghost_ears = 1 -/mob/verb/toggle_ghost_ears() +/client/var/ghost_ears = 1 +/client/verb/toggle_ghost_ears() set name = "Ghost ears" set category = "OOC" set desc = "Hear talks from everywhere" src.ghost_ears = !src.ghost_ears if (ghost_ears) - usr << "Now you hear all speech in world" + usr << "\blue Now you hear all speech in the world" else - usr << "Now you hear speech only from nearest creatures." + usr << "\blue Now you hear speech only from nearest creatures." /mob/verb/observe() set name = "Observe" diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 75aa89b252b..e737d460941 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/icons/obj/kitchen.dmi b/icons/obj/kitchen.dmi index 2d5beac526c..3a5630364d2 100644 Binary files a/icons/obj/kitchen.dmi and b/icons/obj/kitchen.dmi differ diff --git a/maps/tgstation.2.0.7.dmm b/maps/tgstation.2.0.7.dmm index 89eb5466d60..caf6963ecb6 100644 --- a/maps/tgstation.2.0.7.dmm +++ b/maps/tgstation.2.0.7.dmm @@ -3150,7 +3150,7 @@ "biD" = (/obj/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "biE" = (/obj/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "biF" = (/obj/table{dir = 9; icon_state = "tabledir"; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/enzyme,/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) -"biG" = (/obj/table{dir = 5; icon_state = "tabledir"},/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) +"biG" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/machinery/juicer,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "biH" = (/obj/table/reinforced{icon_state = "reinf_tabledir"; dir = 4},/obj/window/reinforced{dir = 4},/obj/window/reinforced{dir = 1},/obj/window/reinforced,/turf/simulated/floor{icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen) "biI" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) "biJ" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/crew_quarters/bar) @@ -3386,7 +3386,7 @@ "bnf" = (/obj/device/piano{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) "bng" = (/obj/stool{pixel_y = 8},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) "bnh" = (/obj/table/reinforced{dir = 8; icon_state = "reinf_tabledir"},/obj/item/clothing/head/helmet/that{throwforce = 1; throwing = 1},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) -"bni" = (/obj/table/reinforced{dir = 9; icon_state = "reinf_tabledir"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/gun/shotgun,/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) +"bni" = (/obj/table/reinforced{dir = 9; icon_state = "reinf_tabledir"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/gun/shotgun,/obj/machinery/requests_console{department = "Bar"; departmentType = 2; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) "bnj" = (/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/storage/firstaid/o2{pixel_x = 0; pixel_y = 5},/obj/item/weapon/storage/firstaid/o2{pixel_x = -3; pixel_y = 2},/obj/item/weapon/storage/utilitybelt/medical{pixel_x = -6; pixel_y = 8},/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/medbay) "bnk" = (/obj/table{icon_state = "table_vertical"; dir = 4},/obj/item/weapon/gun/syringe{pixel_y = 3},/obj/item/weapon/gun/syringe,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bnl" = (/obj/secure_closet/medical1{pixel_x = 5},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/medical/medbay) @@ -3442,7 +3442,7 @@ "boj" = (/obj/table{icon_state = "tabledir"; dir = 5},/obj/item/weapon/reagent_containers/food/condiment/peppermill,/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) "bok" = (/obj/table/reinforced{dir = 8; icon_state = "reinf_tabledir"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) "bol" = (/obj/landmark/start{name = "Barman"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) -"bom" = (/obj/table/reinforced{dir = 10; icon_state = "reinf_tabledir"},/obj/machinery/camera{c_tag = "Bar"; dir = 8; network = "SS13"},/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) +"bom" = (/obj/machinery/camera{c_tag = "Bar"; dir = 8; network = "SS13"},/obj/item/weapon/reagent_containers/food/drinks/shaker,/obj/table/reinforced{dir = 8; icon_state = "reinf_tabledir"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) "bon" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/obj/secure_closet/medical3{pixel_x = -5},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/medical/medbay) "boo" = (/obj/machinery/light,/obj/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bop" = (/obj/table{icon_state = "table_vertical"; dir = 1},/obj/item/weapon/storage/firstaid/syringes,/obj/item/weapon/storage/utilitybelt/medical{pixel_x = 4; pixel_y = -7},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) @@ -3546,66 +3546,66 @@ "bqj" = (/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/reagent_containers/food/drinks/cola,/obj/machinery/computer/security/telescreen{name = "Entertainment monitor"; icon = 'status_display.dmi'; icon_state = "entertainment"; pixel_x = -30},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) "bqk" = (/obj/stool/chair{dir = 1},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) "bql" = (/obj/stool{pixel_y = 8},/mob/living/carbon/monkey{name = "Mr Deempisi"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) -"bqm" = (/obj/table/reinforced{dir = 8; icon_state = "reinf_tabledir"},/obj/machinery/computer/security/telescreen{name = "Entertainment monitor"; desc = "Damn, they better have /tg/thechannel on these things."; icon = 'status_display.dmi'; icon_state = "entertainment"; pixel_y = -30},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) -"bqn" = (/obj/machinery/requests_console{department = "Bar"; departmentType = 2; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) -"bqo" = (/turf/simulated/wall,/area/medical/genetics) -"bqp" = (/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/genetics) -"bqq" = (/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bqr" = (/mob/living/carbon/monkey{name = "Jade"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bqs" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bqt" = (/mob/living/carbon/monkey{name = "McKinley"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bqu" = (/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bqv" = (/obj/machinery/dna_scannernew,/obj/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bqw" = (/obj/machinery/computer/cloning,/obj/machinery/light{dir = 1},/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bqx" = (/obj/machinery/clonepod,/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) -"bqy" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 5; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/medical/genetics) -"bqz" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/camera{c_tag = "Genetics Entrance"; dir = 4; network = "SS13"},/obj/disposalpipe/segment{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) -"bqA" = (/obj/table{dir = 10; icon_state = "tabledir"},/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen{pixel_y = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) -"bqB" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 5; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/medical/surgery) -"bqC" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access_txt = "45"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) -"bqD" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/securearea{desc = "A warning sign which reads 'NO SMOKING'"; icon_state = "nosmoking2"; name = "NO SMOKING"},/turf/simulated/wall,/area/medical/surgery) -"bqE" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 10; icon_state = "intact-b-f"; initialize_directions = 10; level = 1; name = "pipe"},/turf/simulated/wall,/area/medical/surgery) -"bqF" = (/obj/table{icon_state = "tabledir"; dir = 6},/turf/simulated/floor{icon_state = "dark"},/area/medical/surgery) -"bqG" = (/obj/machinery/vending/cigarette{pixel_x = 4},/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "dark"},/area/medical/surgery) -"bqH" = (/obj/machinery/power/apc{name = "Starboard Solar APC"; dir = 8; pixel_x = -26; pixel_y = 3},/obj/stool,/obj/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"bqI" = (/obj/machinery/power/solar_control{id = "starboardsolar"; name = "Starboard Solar Control"; track = 2},/obj/cable{icon_state = "0-2"; d2 = 2},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) -"bqJ" = (/obj/grille,/obj/window/reinforced{dir = 8},/obj/window/reinforced,/turf/simulated/floor/plating/airless,/area/maintenance/starboardsolar) -"bqK" = (/obj/grille,/obj/window/reinforced,/obj/window/reinforced{dir = 4},/obj/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/maintenance/starboardsolar) -"bqL" = (/obj/cable,/turf/simulated/floor/plating/airless,/area/solar/starboard) -"bqM" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/plating/airless,/area/solar/starboard) -"bqN" = (/obj/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall,/area/maintenance/apmaint) -"bqO" = (/obj/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/maintenance/apmaint) -"bqP" = (/obj/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/wall,/area/maintenance/apmaint) -"bqQ" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/light/small{dir = 4},/obj/machinery/conveyor{dir = 1; id = "miningToQM"},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"bqR" = (/obj/table{dir = 9; icon_state = "tabledir"},/obj/item/weapon/module/power_control,/turf/simulated/floor,/area/quartermaster/qm) -"bqS" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/airlock_electronics,/turf/simulated/floor,/area/quartermaster/qm) -"bqT" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor,/area/quartermaster/qm) -"bqU" = (/obj/table{dir = 9; icon_state = "tabledir"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor,/area/quartermaster/qm) -"bqV" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/stamp/denied,/obj/machinery/light/small,/turf/simulated/floor,/area/quartermaster/qm) -"bqW" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/quartermaster/qm) -"bqX" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/quartermaster/qm) -"bqY" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/disposalpipe/segment,/obj/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/meson,/turf/simulated/floor,/area/quartermaster/qm) -"bqZ" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4},/turf/simulated/wall/r_wall,/area/quartermaster/qm) -"bra" = (/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/hallway/primary/aft) -"brb" = (/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/hallway/primary/aft) -"brc" = (/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/hallway/primary/aft) -"brd" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/aft) -"bre" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/hallway/primary/aft) -"brf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/hallway/primary/aft) -"brg" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) -"brh" = (/obj/machinery/atmospherics/pipe/simple{dir = 5},/turf/simulated/floor,/area/hallway/primary/aft) -"bri" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) -"brj" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple{dir = 10},/turf/simulated/floor,/area/hallway/primary/aft) -"brk" = (/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/aft) -"brl" = (/obj/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/aft) -"brm" = (/obj/machinery/atmospherics/pipe/simple,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) -"brn" = (/obj/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/aft) -"bro" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/maintenance/asmaint) -"brp" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/maintenance/asmaint) -"brq" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"brr" = (/obj/disposalpipe/segment,/turf/simulated/wall,/area/crew_quarters/bar) -"brs" = (/obj/stool{pixel_y = 8},/obj/machinery/disposal,/obj/disposalpipe/trunk,/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) -"brt" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) +"bqm" = (/obj/table/reinforced{dir = 10; icon_state = "reinf_tabledir"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) +"bqn" = (/turf/simulated/wall,/area/medical/genetics) +"bqo" = (/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/genetics) +"bqp" = (/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) +"bqq" = (/mob/living/carbon/monkey{name = "Jade"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) +"bqr" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) +"bqs" = (/mob/living/carbon/monkey{name = "McKinley"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) +"bqt" = (/obj/machinery/alarm{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) +"bqu" = (/obj/machinery/dna_scannernew,/obj/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) +"bqv" = (/obj/machinery/computer/cloning,/obj/machinery/light{dir = 1},/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) +"bqw" = (/obj/machinery/clonepod,/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) +"bqx" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 5; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/medical/genetics) +"bqy" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/camera{c_tag = "Genetics Entrance"; dir = 4; network = "SS13"},/obj/disposalpipe/segment{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) +"bqz" = (/obj/table{dir = 10; icon_state = "tabledir"},/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen{pixel_y = 5},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) +"bqA" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 5; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall,/area/medical/surgery) +"bqB" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Operating Theatre"; req_access_txt = "45"},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery) +"bqC" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/securearea{desc = "A warning sign which reads 'NO SMOKING'"; icon_state = "nosmoking2"; name = "NO SMOKING"},/turf/simulated/wall,/area/medical/surgery) +"bqD" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 10; icon_state = "intact-b-f"; initialize_directions = 10; level = 1; name = "pipe"},/turf/simulated/wall,/area/medical/surgery) +"bqE" = (/obj/table{icon_state = "tabledir"; dir = 6},/turf/simulated/floor{icon_state = "dark"},/area/medical/surgery) +"bqF" = (/obj/machinery/vending/cigarette{pixel_x = 4},/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/turf/simulated/floor{icon_state = "dark"},/area/medical/surgery) +"bqG" = (/obj/machinery/power/apc{name = "Starboard Solar APC"; dir = 8; pixel_x = -26; pixel_y = 3},/obj/stool,/obj/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"bqH" = (/obj/machinery/power/solar_control{id = "starboardsolar"; name = "Starboard Solar Control"; track = 2},/obj/cable{icon_state = "0-2"; d2 = 2},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) +"bqI" = (/obj/grille,/obj/window/reinforced{dir = 8},/obj/window/reinforced,/turf/simulated/floor/plating/airless,/area/maintenance/starboardsolar) +"bqJ" = (/obj/grille,/obj/window/reinforced,/obj/window/reinforced{dir = 4},/obj/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/maintenance/starboardsolar) +"bqK" = (/obj/cable,/turf/simulated/floor/plating/airless,/area/solar/starboard) +"bqL" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/plating/airless,/area/solar/starboard) +"bqM" = (/obj/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall,/area/maintenance/apmaint) +"bqN" = (/obj/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/maintenance/apmaint) +"bqO" = (/obj/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/wall,/area/maintenance/apmaint) +"bqP" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/light/small{dir = 4},/obj/machinery/conveyor{dir = 1; id = "miningToQM"},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"bqQ" = (/obj/table{dir = 9; icon_state = "tabledir"},/obj/item/weapon/module/power_control,/turf/simulated/floor,/area/quartermaster/qm) +"bqR" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/airlock_electronics,/turf/simulated/floor,/area/quartermaster/qm) +"bqS" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor,/area/quartermaster/qm) +"bqT" = (/obj/table{dir = 9; icon_state = "tabledir"},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor,/area/quartermaster/qm) +"bqU" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/stamp/denied,/obj/machinery/light/small,/turf/simulated/floor,/area/quartermaster/qm) +"bqV" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/quartermaster/qm) +"bqW" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/quartermaster/qm) +"bqX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/disposalpipe/segment,/obj/rack{dir = 1},/obj/item/clothing/suit/fire/firefighter,/obj/item/weapon/tank/emergency_oxygen,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/meson,/turf/simulated/floor,/area/quartermaster/qm) +"bqY" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4},/turf/simulated/wall/r_wall,/area/quartermaster/qm) +"bqZ" = (/turf/simulated/floor{dir = 10; icon_state = "brown"},/area/hallway/primary/aft) +"bra" = (/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/hallway/primary/aft) +"brb" = (/obj/machinery/light,/turf/simulated/floor{dir = 2; icon_state = "brown"},/area/hallway/primary/aft) +"brc" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/aft) +"brd" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/hallway/primary/aft) +"bre" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/hallway/primary/aft) +"brf" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) +"brg" = (/obj/machinery/atmospherics/pipe/simple{dir = 5},/turf/simulated/floor,/area/hallway/primary/aft) +"brh" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) +"bri" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple{dir = 10},/turf/simulated/floor,/area/hallway/primary/aft) +"brj" = (/obj/machinery/light,/turf/simulated/floor,/area/hallway/primary/aft) +"brk" = (/obj/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/aft) +"brl" = (/obj/machinery/atmospherics/pipe/simple,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) +"brm" = (/obj/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor,/area/hallway/primary/aft) +"brn" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/maintenance/asmaint) +"bro" = (/obj/machinery/atmospherics/pipe/tank/air,/turf/simulated/floor/plating,/area/maintenance/asmaint) +"brp" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/plating,/area/maintenance/asmaint) +"brq" = (/obj/disposalpipe/segment,/turf/simulated/wall,/area/crew_quarters/bar) +"brr" = (/obj/stool{pixel_y = 8},/obj/machinery/disposal,/obj/disposalpipe/trunk,/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) +"brs" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) +"brt" = (/obj/machinery/computer/security/telescreen{name = "Entertainment monitor"; desc = "Damn, they better have /tg/thechannel on these things."; icon = 'status_display.dmi'; icon_state = "entertainment"; pixel_y = -30},/obj/table/reinforced{dir = 8; icon_state = "reinf_tabledir"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) "bru" = (/obj/machinery/light/small,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/closet/gmcloset,/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) "brv" = (/obj/machinery/light/small,/obj/machinery/disposal,/obj/disposalpipe/trunk{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar) "brw" = (/obj/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/wall,/area/crew_quarters/bar) @@ -5375,28 +5375,28 @@ "bZs" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/toxins/storage) "bZt" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/toxins/storage) "bZu" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor,/area/toxins/storage) -"bZv" = (/obj/structure/girder,/turf/simulated/floor/plating/airless,/area) -"bZw" = (/obj/machinery/light{dir = 1},/obj/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor,/area/engine/engineering) -"bZx" = (/obj/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/engine/engineering) -"bZy" = (/obj/table{icon_state = "table_vertical"; dir = 4},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor,/area/engine/engineering) -"bZz" = (/obj/crate/radiation,/turf/simulated/floor,/area/engine/engineering) -"bZA" = (/obj/grille,/obj/window/reinforced{dir = 1},/obj/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/engine/engineering) -"bZB" = (/obj/grille,/obj/window/reinforced,/obj/window/reinforced{dir = 1},/obj/window/reinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/engine/engineering) -"bZC" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor,/area/engine/engineering) -"bZD" = (/obj/grille,/obj/window/reinforced{dir = 4},/obj/window/reinforced{dir = 8},/obj/window/reinforced,/obj/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/engine/engineering) -"bZE" = (/obj/grille,/obj/window/reinforced,/obj/window/reinforced{dir = 1},/obj/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/engine/engineering) -"bZF" = (/obj/grille,/obj/window/reinforced{dir = 4},/obj/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/engine/engineering) -"bZG" = (/obj/item/stack/rods{amount = 50},/turf/simulated/floor,/area/engine/engineering) -"bZH" = (/obj/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engine/engineering) -"bZI" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/engine/engineering) -"bZJ" = (/obj/item/weapon/caution{desc = "Caution! Construction area!"; name = "construction area sign"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering) -"bZK" = (/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Construction Site Access"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/engine/engineering) -"bZL" = (/turf/simulated/floor/plating/airless,/area/engine/engineering) -"bZM" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/toxins/storage) -"bZN" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/toxins/storage) -"bZO" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 9; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/toxins/storage) -"bZP" = (/obj/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area) -"bZQ" = (/obj/lattice,/obj/grille,/obj/lattice,/turf/space,/area) +"bZv" = (/obj/machinery/light{dir = 1},/obj/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor,/area/engine/engineering) +"bZw" = (/obj/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/engine/engineering) +"bZx" = (/obj/table{icon_state = "table_vertical"; dir = 4},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/turf/simulated/floor,/area/engine/engineering) +"bZy" = (/obj/crate/radiation,/turf/simulated/floor,/area/engine/engineering) +"bZz" = (/obj/grille,/obj/window/reinforced{dir = 1},/obj/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/engine/engineering) +"bZA" = (/obj/grille,/obj/window/reinforced,/obj/window/reinforced{dir = 1},/obj/window/reinforced{dir = 4},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/engine/engineering) +"bZB" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor,/area/engine/engineering) +"bZC" = (/obj/grille,/obj/window/reinforced{dir = 4},/obj/window/reinforced{dir = 8},/obj/window/reinforced,/obj/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/engine/engineering) +"bZD" = (/obj/grille,/obj/window/reinforced,/obj/window/reinforced{dir = 1},/obj/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/engine/engineering) +"bZE" = (/obj/grille,/obj/window/reinforced{dir = 4},/obj/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/engine/engineering) +"bZF" = (/obj/item/stack/rods{amount = 50},/turf/simulated/floor,/area/engine/engineering) +"bZG" = (/obj/landmark/start{name = "Station Engineer"},/turf/simulated/floor,/area/engine/engineering) +"bZH" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/engine/engineering) +"bZI" = (/obj/item/weapon/caution{desc = "Caution! Construction area!"; name = "construction area sign"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering) +"bZJ" = (/obj/machinery/door/airlock/engineering{icon_state = "door_closed"; locked = 0; name = "Construction Site Access"; req_access_txt = "32"},/turf/simulated/floor/plating,/area/engine/engineering) +"bZK" = (/turf/simulated/floor/plating/airless,/area/engine/engineering) +"bZL" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 4; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/toxins/storage) +"bZM" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/toxins/storage) +"bZN" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; dir = 9; icon_state = "intact-b-f"; level = 1; name = "pipe"},/turf/simulated/wall/r_wall,/area/toxins/storage) +"bZO" = (/obj/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area) +"bZP" = (/obj/lattice,/obj/grille,/obj/lattice,/turf/space,/area) +"bZQ" = (/obj/structure/girder,/turf/simulated/floor/plating/airless,/area) "bZR" = (/obj/grille,/obj/window/reinforced{dir = 8},/obj/window/reinforced{dir = 1},/obj/window/reinforced,/obj/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/engine/engineering) "bZS" = (/obj/grille,/obj/window/reinforced{dir = 1},/obj/window/reinforced,/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/engine/engineering) "bZT" = (/obj/grille,/obj/window/reinforced{dir = 4},/obj/cable{icon_state = "0-2"; d2 = 2},/obj/window/reinforced{dir = 1},/obj/window/reinforced,/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/engine/engineering) @@ -5415,21 +5415,21 @@ "cag" = (/obj/closet/firecloset,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering) "cah" = (/obj/computerframe,/turf/simulated/floor/plating/airless,/area) "cai" = (/obj/item/weapon/screwdriver,/turf/simulated/floor/plating/airless,/area) -"caj" = (/obj/machinery/door/airlock/engineering{icon_state = "door_locked"; locked = 1; name = "Fusion Engine"; req_access_txt = "10"},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/plating,/area/engine/engineering) -"cak" = (/obj/item/weapon/caution{desc = "Caution! Construction area!"; name = "construction area sign"},/turf/simulated/floor,/area/engine/engineering) -"cal" = (/obj/table{dir = 8; icon_state = "table_horizontal"; pixel_y = 0},/turf/simulated/floor,/area/engine/engineering) -"cam" = (/obj/table{dir = 1; icon_state = "table_horizontal"; pixel_y = 0},/turf/simulated/floor,/area/engine/engineering) -"can" = (/obj/grille,/obj/window/reinforced{dir = 4},/obj/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engine/engineering) -"cao" = (/obj/table{icon_state = "tabledir"; dir = 4},/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/engine/engineering) -"cap" = (/obj/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor,/area/engine/engineering) -"caq" = (/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor,/area/engine/engineering) -"car" = (/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering) -"cas" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/turf/simulated/floor,/area/engine/engineering) -"cat" = (/obj/particle_accelerator/end_cap,/turf/simulated/floor/plating,/area/engine/engineering) -"cau" = (/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering) -"cav" = (/obj/item/weapon/storage/pill_bottle/kelotane,/turf/simulated/floor,/area/engine/engineering) -"caw" = (/obj/secure_closet/engineering_personal,/turf/simulated/floor,/area/engine/engineering) -"cax" = (/obj/door_assembly/door_assembly_eng,/turf/simulated/floor/plating/airless,/area) +"caj" = (/obj/door_assembly/door_assembly_eng,/turf/simulated/floor/plating/airless,/area/engine/engineering) +"cak" = (/obj/machinery/door/airlock/engineering{icon_state = "door_locked"; locked = 1; name = "Fusion Engine"; req_access_txt = "10"},/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/plating,/area/engine/engineering) +"cal" = (/obj/item/weapon/caution{desc = "Caution! Construction area!"; name = "construction area sign"},/turf/simulated/floor,/area/engine/engineering) +"cam" = (/obj/table{dir = 8; icon_state = "table_horizontal"; pixel_y = 0},/turf/simulated/floor,/area/engine/engineering) +"can" = (/obj/table{dir = 1; icon_state = "table_horizontal"; pixel_y = 0},/turf/simulated/floor,/area/engine/engineering) +"cao" = (/obj/grille,/obj/window/reinforced{dir = 4},/obj/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engine/engineering) +"cap" = (/obj/table{icon_state = "tabledir"; dir = 4},/obj/item/weapon/storage/toolbox/electrical,/turf/simulated/floor,/area/engine/engineering) +"caq" = (/obj/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor,/area/engine/engineering) +"car" = (/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Singularity"; layer = 2.8; name = "Singularity Shutters"; opacity = 0},/turf/simulated/floor,/area/engine/engineering) +"cas" = (/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/engineering) +"cat" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/turf/simulated/floor,/area/engine/engineering) +"cau" = (/obj/particle_accelerator/end_cap,/turf/simulated/floor/plating,/area/engine/engineering) +"cav" = (/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/engineering) +"caw" = (/obj/item/weapon/storage/pill_bottle/kelotane,/turf/simulated/floor,/area/engine/engineering) +"cax" = (/obj/secure_closet/engineering_personal,/turf/simulated/floor,/area/engine/engineering) "cay" = (/obj/grille,/obj/window/reinforced{dir = 4},/obj/cable,/obj/cable{icon_state = "0-2"; d2 = 2},/obj/window/reinforced{dir = 1},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/engine/engineering) "caz" = (/obj/grille,/obj/window/reinforced,/obj/window/reinforced{dir = 4},/obj/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/engine/engineering) "caA" = (/obj/table{icon_state = "tabledir"; dir = 6; pixel_x = 0},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering) @@ -7889,18 +7889,18 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaberberberberberberberbfNbfObfObfObfObfObfObfObfObmqbmrbmsbmtbmubmvbmwbmxbmybbMbmzbmAbmBbmCbmDbmEbmFbmGaElaElbmHbggblrbmIbmJbmKbmLbmMbmNbggbmOblzbmPbmQbmRbmSbmTblFblzblyblzbmUbhFbmVbmWbmXbhFbmYbhFbmZbnaaElaElbcqbnbbncbndbnebcrbnfbngbcubcubdQbdQbcubcubkDbnhbcubcubnibgDbgEbgKbnjbeebnkbeebnlbgKbnmbnnbnobeebnpbiUbgPbiUbnqbnrbkPbnsbkRbntbnubnubnubnvbkRbkRbnwbmfbnxblcbmmbnyblfbnzbieblhaadaaaaaaaaaaaaaaablibmpblkaadblibmpblkaadblibmpblkaaaaiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaberberberberberberberaaaaaaaaaaaaaaaaaaaaaaaaaaabnAbnBbnBbnBbnCbnDbnEbnFbnGbnHbnIbnIbnIbnJbnIbnKbnLbnMbnNbnNbnNbggbggbggblxbnObnPbnPbnPbnPbnQbnRbnSbnTbnTbnUbnTbnVbnRbnSbnRbgtbnWbnXbnYbnZboabobbocbgvbodbnNbnNbcqboeblMbofbogbcrbohbcubcubfhboibojbfkbcubngbokbolbcubomblSbcAbgYbonboobopboqborbgKbosbosbotboubovbiUbgPbiUbowbnrboxbmfbmfboybmhbmfbozbkWboAbmfbmfbmfbmfblcboBboCboDblgbieboEaadaadaaaaaaaaaaaablibmpblkaadblibmpblkaaablibmpblkaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaberberberberberberberaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboFboGboHboIboJbnGboKboLboMboNboOboPboQboRboSboTboTboTboTboUboVboTboWboTboTboTboTboXboYboZbpaboTbpbbpcbpdboTboZboYboVbpebpebpebpebpebpebpfbpgbphboTboTbpibpjbpkbplbpmbcrbpnbpobppbpqbprbpsbfkbcubngbptbcubcubpubgDbpvbpwbpwbpxbpwbpybpwbpwbpwbpwbpwbpwbpzbiUbgPbiUbpAbpBbpCbnsbpDbpEbpFbpGbpGbkWbpHbpIbpJbpKbpLbjRbpMbpNbpObjYbpPbpQbpRbpSbpTaadaadaadblibmpblkaaablibmpblkaaablibmpblkaaaaadaiYaiYaiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaberberberberberberberaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboFbpUbpVbpVbpWbnGbpXbpYbpZbpYbqabpYbqbbqcboSbqdbqeboTboTboTboVboTboTboTboTboTboTboTboTboZbqfboTbpbboTbqgboTboZboTboVboTboTboTboTboTboTboTboZbphboTbqhbcqbcrbqibcrbkAbcrbqjbngbcubcubqkbhMbcubcubqlbqmbcubqnaXObgDbgEbqobqpbqqbqrbqsbqtbqubqobqvbqwbqxbqybqzbgPbiUbqAbjRbqBbjYbpObjYbjXbjYbjYbjWbqCbqDbqEbjRblfbjRbqFbnybqGbjRbiebpQbqHbqIbqJbpSbqKaadaaabqLaadaaaaaabqMaadaaaaaabqMaadaadaaaaadaadaiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaberberberberberaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboFbqNbqObqPbqQbnGbqRbqSbqTbqUbqVbqWbqXbqYbqZbrabrbbrcbrbbrbbrdboTboTboTbreboTboTboTbrfbrgboVboTbpbboTboTboTbrhbribrjboTboTboTboTboTbrkbrlbrmbrnboTboTbrobrpbrqbrpbrrbrsbngbcubngbcubrtbcubngbcubngaXObrubcubrvbrwbrxbrybrzbrAbrBbrCbrBbrDbqobrEbrFbrGbrHbiUbgPbiUbeebjSbgObeebrIbrJbrKbmfbrLbrMbmfbrMbrNbmfbrOblcbmmbnybrPbjRbrQbrRbrSbrTbrUbrVbrUbrWbrXbrXbrXbrXbrYbrZbsabsabsabrZbsabsabsabsbaadaiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqNbscbsdbsebsebsebsebsebsebsfbsgbshbsibsjbskbslbsmbsnbsobspbsobsqbsrbsqbsobspbssbsqbstbsuboVbsqbsvbsvbsvbswbsxbsvbsvbsvbsybsybszbrobsAbsBbsCbrobsDbsEbsFbrrbsGbsHbngbsIbngbsJbsKbsLbsMbcuaXOaXObsNaXObgDbsObqobqobqvbsPbqqbqvbsQbqobsRbsSbsTbsUbsVbsWbiUbsXbsYbsZbtabtbbtcbkWbmfbtdbtdbtdbtdbtdbtebtfblcbmmbnybtgbjRbiebthbtibtjbpRbpSbqKaadaadbtkaadaaaaadbqMaadaaaaadbqMaadaaaaaaaadaaaaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboFbtlbtmbtnbtmbtobtmbtmbtmbtpbtqbtrbtsbttbtqbtubtvbsnboTboTboTbsrboTbsrboTbtwbtxbtybtzbtAbtzbtBbtCbtDbtEbtFbtGbtHbtIbtJbtKbtLbtMbtNbtObtObtObtPbtQbtRbtQbtSbtTbtUbtVbtWbtXbtYbtVbtVbtZbuabtZbubbucbudbgDbuebufbugbuhbuibqqbqqbujbukbulbrGbqqbumbiUbgPbiUbunbuobupbuqburbusbkWbutbjRbjRbjRbjRbjVbpObpObjYbjYbuubpObuvbuwbpQbuxbuxbpQaadaaaaaablibmpblkaaablibmpblkaadblibmpblkaaaaaaaiYaiXaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsnbsnbsnbuybsnbuzbsnbuAbuBbtqbtqbuCbtqbuDbuEbuFbuGbuHbuIbsnbuJbuKbuLbsqboTbsqbuLbuMbuNbsqboTbpbboTbsAbsvbuObuPbuQbuRbuSbuTbuUbuVbuWbuXbuYbuZbvabvbbvbbvbbvcbvbbvdbvebvbbvbbvfbuVbuVbuVbuVbuVbvgbvhbvibucbvjbgDbuebufbvkbvlbvmbvnbvobsTbsUbvnbvpbqqbvqbiUbiVbsVbvrbvsbvtbvubvvbvwbvxbvybvzbvAbvAbvBbvCbvDbvEbvFbvFbvGbvHbvIbvJbvKbvLbvMbvNaadaaaaaablibmpblkaaablibmpblkaadblibmpblkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagKaaaaaaaaaaaabvObvPbvQbvPbvRaaaaaaaaaaaabsnbvSbvTbvUbvVbvWbvXbvYbvZbsnbwabwbbsnbwcbsnbwdbuAbwebwfbsnboFboFboFboFbwgboFboFbwhbwibsqboTbpbboTbsqbsvbsvbwjbwkbwlbwmbwnbwobtQbwpbwqbwrbwsbwtbwubwvbwvbwwbtQbtQbtObwxbtObwybwqbwzbwzbwzbwAbwBbrrbwCbwDbwEbgDbuebufbvkbwFbwGbwHbwIbwJbqobwKbwLbwMbqobwNbeebiUbwObwPbwQbwRbwSbwTbvxbvybwUbwVbvNbvNbwWbvNbwXbvNbvybvNbwYbwZbwZbxabvNbvNbxbaaaaadaaablibmpblkaadblibmpblkaaablibmpblkaadaiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvPbxcbxdbxdbvPbxebxfbxgbsnbsnbtvbtvbtvbtvbxhbxibxjbxkbxlbxmbxnbxobxnbxpbxqbxrbxsbtvbsnbpVbpVbpVbpVbpVbpVbpVbxtbxuboTboTbxvbxwbxxbxybsvbswbsvbsvbsvbsvbsvbsybxzbsybsybsybsybxAbxBbxCbxCbxCbxDbsybsybsybxEbxEbxFbxEbxEbxGbxHbxIbxJbxKbxLbxMbxNbxEbvkbqobqobqobqobxObqobqobvkbxPbqobxQbxRbxQbsYbsYbvxbxSbtcbsYbvxbxTbxUbvNbvNbxVbxWbxXbxYbxZbvNbvNaaaaaaaaaaaaaadaadaadaadaadaadblibmpblkaadblibmpblkaaablibmpblkaadaiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaberberberberberberberaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboFbpUbpVbpVbpWbnGbpXbpYbpZbpYbqabpYbqbbqcboSbqdbqeboTboTboTboVboTboTboTboTboTboTboTboTboZbqfboTbpbboTbqgboTboZboTboVboTboTboTboTboTboTboTboZbphboTbqhbcqbcrbqibcrbkAbcrbqjbngbcubcubqkbhMbcubcubqlbokbcubcubqmbgDbgEbqnbqobqpbqqbqrbqsbqtbqnbqubqvbqwbqxbqybgPbiUbqzbjRbqAbjYbpObjYbjXbjYbjYbjWbqBbqCbqDbjRblfbjRbqEbnybqFbjRbiebpQbqGbqHbqIbpSbqJaadaaabqKaadaaaaaabqLaadaaaaaabqLaadaadaaaaadaadaiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaberberberberberaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboFbqMbqNbqObqPbnGbqQbqRbqSbqTbqUbqVbqWbqXbqYbqZbrabrbbrabrabrcboTboTboTbrdboTboTboTbrebrfboVboTbpbboTboTboTbrgbrhbriboTboTboTboTboTbrjbrkbrlbrmboTboTbrnbrobrpbrobrqbrrbngbcubngbcubrsbcubngbcubngbrtbrubcubrvbrwbrxbrybrzbrAbrBbrCbrBbrDbqnbrEbrFbrGbrHbiUbgPbiUbeebjSbgObeebrIbrJbrKbmfbrLbrMbmfbrMbrNbmfbrOblcbmmbnybrPbjRbrQbrRbrSbrTbrUbrVbrUbrWbrXbrXbrXbrXbrYbrZbsabsabsabrZbsabsabsabsbaadaiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqMbscbsdbsebsebsebsebsebsebsfbsgbshbsibsjbskbslbsmbsnbsobspbsobsqbsrbsqbsobspbssbsqbstbsuboVbsqbsvbsvbsvbswbsxbsvbsvbsvbsybsybszbrnbsAbsBbsCbrnbsDbsEbsFbrqbsGbsHbngbsIbngbsJbsKbsLbsMbcuaXOaXObsNaXObgDbsObqnbqnbqubsPbqpbqubsQbqnbsRbsSbsTbsUbsVbsWbiUbsXbsYbsZbtabtbbtcbkWbmfbtdbtdbtdbtdbtdbtebtfblcbmmbnybtgbjRbiebthbtibtjbpRbpSbqJaadaadbtkaadaaaaadbqLaadaaaaadbqLaadaaaaaaaadaaaaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaboFbtlbtmbtnbtmbtobtmbtmbtmbtpbtqbtrbtsbttbtqbtubtvbsnboTboTboTbsrboTbsrboTbtwbtxbtybtzbtAbtzbtBbtCbtDbtEbtFbtGbtHbtIbtJbtKbtLbtMbtNbtObtObtObtPbtQbtRbtQbtSbtTbtUbtVbtWbtXbtYbtVbtVbtZbuabtZbubbucbudbgDbuebufbugbuhbuibqpbqpbujbukbulbrGbqpbumbiUbgPbiUbunbuobupbuqburbusbkWbutbjRbjRbjRbjRbjVbpObpObjYbjYbuubpObuvbuwbpQbuxbuxbpQaadaaaaaablibmpblkaaablibmpblkaadblibmpblkaaaaaaaiYaiXaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsnbsnbsnbuybsnbuzbsnbuAbuBbtqbtqbuCbtqbuDbuEbuFbuGbuHbuIbsnbuJbuKbuLbsqboTbsqbuLbuMbuNbsqboTbpbboTbsAbsvbuObuPbuQbuRbuSbuTbuUbuVbuWbuXbuYbuZbvabvbbvbbvbbvcbvbbvdbvebvbbvbbvfbuVbuVbuVbuVbuVbvgbvhbvibucbvjbgDbuebufbvkbvlbvmbvnbvobsTbsUbvnbvpbqpbvqbiUbiVbsVbvrbvsbvtbvubvvbvwbvxbvybvzbvAbvAbvBbvCbvDbvEbvFbvFbvGbvHbvIbvJbvKbvLbvMbvNaadaaaaaablibmpblkaaablibmpblkaadblibmpblkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagKaaaaaaaaaaaabvObvPbvQbvPbvRaaaaaaaaaaaabsnbvSbvTbvUbvVbvWbvXbvYbvZbsnbwabwbbsnbwcbsnbwdbuAbwebwfbsnboFboFboFboFbwgboFboFbwhbwibsqboTbpbboTbsqbsvbsvbwjbwkbwlbwmbwnbwobtQbwpbwqbwrbwsbwtbwubwvbwvbwwbtQbtQbtObwxbtObwybwqbwzbwzbwzbwAbwBbrqbwCbwDbwEbgDbuebufbvkbwFbwGbwHbwIbwJbqnbwKbwLbwMbqnbwNbeebiUbwObwPbwQbwRbwSbwTbvxbvybwUbwVbvNbvNbwWbvNbwXbvNbvybvNbwYbwZbwZbxabvNbvNbxbaaaaadaaablibmpblkaadblibmpblkaaablibmpblkaadaiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbbhbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvPbxcbxdbxdbvPbxebxfbxgbsnbsnbtvbtvbtvbtvbxhbxibxjbxkbxlbxmbxnbxobxnbxpbxqbxrbxsbtvbsnbpVbpVbpVbpVbpVbpVbpVbxtbxuboTboTbxvbxwbxxbxybsvbswbsvbsvbsvbsvbsvbsybxzbsybsybsybsybxAbxBbxCbxCbxCbxDbsybsybsybxEbxEbxFbxEbxEbxGbxHbxIbxJbxKbxLbxMbxNbxEbvkbqnbqnbqnbqnbxObqnbqnbvkbxPbqnbxQbxRbxQbsYbsYbvxbxSbtcbsYbvxbxTbxUbvNbvNbxVbxWbxXbxYbxZbvNbvNaaaaaaaaaaaaaadaadaadaadaadaadblibmpblkaadblibmpblkaaablibmpblkaadaiYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvQbyabyabxdbvQbybbycbydbyebyfbtvbygbtvbtvbtvbtvbvWbtvbsnbyhbyibyjbykbylbymbynbyobypbsnbpVbpVbyqbyqbyqbyqbyqbyrbysbsCbytbpbbyubsybyvbywbyxbyybyybyzbyybyybyybyAbyybyBbxEbsybyCaaaaaaaaaaaaaaaaadaaabsybsybsybsybyDbsybyEbyFbyGbyHbyIbyJbyKbyLbyIbyJbyIbyIbyIbyIbyMbyIbyIbyNbyObyPbyQbyRbySbyTbyUbyVbyWbyWbyXbyYbyZbzabyZbyZbzbbzcbzdbzebzfbvybzfaaaaaaaaaaaaaaaaaaaaaaadaiYaaablibzgblkaaablibzgblkaadblibzgblkaaaaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvPbxdbxdbxdbzhbzibtvbtvbzibtvbtvbtvbtvbygbtvbtvbzjbsnbsnbzkbzlbsnbsnbzmbznbzobzpbtqbzqbzrbzrbzsbztbzubzvbzwbzxbzybzzbzAbzBbzCbtObzDbtObtObzEbzFbxEbxEbzGbxEbxEbxEbzHbxEbsybyCbzIbzJbzJbzJbzJbzKbzJbzJbzJbzJbzLbzMbzLbzMbzNbzObzPbzPbzPbzQbzPbzPbzPbzPbzPbzRbzRbzSbzRbzRbzRbzSbzTbzUbzVbzUbzTbzWbzXbzYbzYbzZbzXbzXbAabxbbxbbAbbAcbAbbxbbxbbxbbxbaaaaaaaaaaaaaaaaaaaaaaadaiYaaaaadaadaaaaaaaadaadaadaaaaaaaaaaaaaaaaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvQbyabyabyabvQbAdbAebAfbyebAgbtvbtvbtvbtvbtvbtvbvWbAhaaaaaaaaabAibAjbAkbAlbAmbAnbpVbpVbpVbpVbyqbAobAobApbAqbArbysbyqboTbpbbAsbsybAtbAubAvbAwbAxbAxbAxbAxbAxbAxbAxbAybAxbAxbAzbAAbABbACbACbACbACbADaadaaaaaabsybsybAEbAEbAEbzHbAFbAGbAHbAIbAJbAKbALbAMbANbAObAPbAQbARbASbATbAUbAVbAWbAXbAWbAVbAYbAZbBabBbbBcbBdbBebBfbBgbBhbBibBjbBkbBlbBmbBmbBnaadaaaaadaaaaaaaaaaaaaaaaiXaiXaiYaiYaiXaiXaiYaiYaiYaiXaiXaiXaiXaiXaiXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvPbBobBpbBqbvPbBrbxfbxgbsnbsnbBsbBtbBubtvbBvbBwbvWbBxaaaaaaaaabBybBzbBAbBBbBCbBDbBEbBEbBFbBGbBHbBIbBIbBJbBKbBLbBMbBNbBObBPboTbBQbBRbBSbBTbBUbBVbBWbBXbBYbBZbCabBTbCbbCcbCdbCebCfbBTbCgbChbCibCjbCkaadaaaaaaaaaaaaaaaaaabClbzHbAFbCmbCnbCnbCnbCobCpbCqbCrbCsbCtbAQbCubCvbCwbAUbCxbCybCzbCybCxbAYbBdbCAbBdbCBbBdbBebBfbCCbCDbCDbBjbBkbCEbCFbCFbCGacRacRacRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCHbvPbCIbvPbCJaaaaaaaaaaaabsnbsnbzkbzlbCKbzkbCLbCMbCNbCObCPbCQbCQbCRboGbCSbCTbCUbzrbzsbCVbzsbzsbztbztbztbCWbCXbCXbCXbCYbCZbribtObDabBTbDbbBUbDcbDdbBTbBTbDdbBTbBTbCbbDebDfbDgbDhbDibDjbDkbDlbBTbDmaadaaaaaaaaaaaaaaaaaabDnbzHbAFbCqbDobDpbCqbDqbDrbDsbDtbCsbDubAUbDvbDwbDxbDybDzbDAbDBbDAbDCbDDbDEbDFbDGbDHbBdbDIbBfbDJbDKbDLbDMbDNbDNbDObDObDObDPbDOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCHbvPbCIbvPbCJaaaaaaaaaaaabsnbsnbzkbzlbCKbzkbCLbCMbCNbCObCPbCQbCQbCRboGbCSbCTbCUbzrbzsbCVbzsbzsbztbztbztbCWbCXbCXbCXbCYbCZbrhbtObDabBTbDbbBUbDcbDdbBTbBTbDdbBTbBTbCbbDebDfbDgbDhbDibDjbDkbDlbBTbDmaadaaaaaaaaaaaaaaaaaabDnbzHbAFbCqbDobDpbCqbDqbDrbDsbDtbCsbDubAUbDvbDwbDxbDybDzbDAbDBbDAbDCbDDbDEbDFbDGbDHbBdbDIbBfbDJbDKbDLbDMbDNbDNbDObDObDObDPbDOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCQbDQbDRbDSbDTbDTbDUbDVbDWbDXbDYbDSbCQbDZbEabEbboFbxtbBzbyqbEcbEdbEebAobArbArbEfbCXbEgbEhbEibpbbEjbsybEkbBTbBTbElbBTbBTbBTbBTbEmbEnbEobEpbBTbDfbEqbErbEsbBTbEtbEubEvbDmaadbEwbEwbEwbEwbEwaaabExbzHbAFbCqbEybEzbEAbDqbEBbECbDqbCsbEDbAUbEEbEFbCwbEGbEHbEIbEJbEIbEKbAYbELbBdbBdbEMbBdbBdbBfbENbEObEPbEQbERbESbETbEUbEVbEWbEXaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEYbDTbDTbDTbDTbDTbDTbDVbEZbDTbDTbDTbDTbFabEabFbboFbxtbBzbyqbFcbAobAobArbFdbArbArbCXbFebFfboVbFgboVbsybFhbBTbFibBUbFjbBTbBTbBTbCbbFkbFlbFmbEvbDfbFnbFobFpbFqbFrbFsbFtbFubFvbFwbFxbFybFzbEwaaabAEbzHbAFbDqbDqbDqbDqbDqbFAbFBbFCbCsbFDbAUbFEbFFbFGbFHbFIbFJbFKbFJbFLbzYbFMbFNbFObFPbFQbFRbBfbFSbFTbFTbFUbFVbFTbFWbFXbFYbFZbEXaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGabDTbDTbGbbDTbDTbDTbDVbGcbDTbDTbDTbDTbGdbEabGeboFbwhboFbyqbAobArbArbArbArbArbArbCXbGfbFfboTbpbboTbGgbBTbBTbBTbGhbGibGjbGkbGlbGmbGnbGobGpbGqbGrbGsbGtbGubGvbGwbGxbGybDmaadbGzbGAbFzbGBbEwaadbAEbzHbAFbGCbGDbGEbGFbDqbGGbGHbCobGIbGJbGKbGLbGMbGNbGObEGbGPbCxbGPbGQbGRbGSbGTbGUbGVbGUbGWbGXbGYbGZbEPbHabHbbHcbHdbHebEVbHfbEXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7909,10 +7909,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaabCQbCQbCQbCQbCQbJcbJdbJebJfbJgbJhbJibImbJgbJhbJibImbJjbJkboYboTboTbpbbJlbJmbJnbJobJpbJqbJrbJsbJtbJubJvbBTbBTbJwbBTbJxbJybJzbJAbJBbJCbJDbJEbJFbFvbFwbJGbFzbFzbEwaadbAEbJHbJIbJJbJKbJKbJKbJLbJMbJNbJObJObJPbJQbJQbJQbJQbJRbJSbJTbEJbJUbJVbJWbJXbJYbJZbKabBdbKbbKcaaaaaaaaabKdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaaabKebAjbpVbKfbKgbKhbKibKjbKkbKlbKmbKlbKnbKobKmbKpbImbJjbJkboTboTboTbpbbKqbKrbKsbKtbKubKvbKwbKxbKybKzbKAbBTbKBbKCbBTbKDbKEbKFbBTbJBbJybKGbKHbDmaadbGzbKIbKJbGBbEwaadbAEbzHbAFbKKbKLbKMbKNbDqbDqbIFbDqbKObKPbEJbEJbEJbEJbKQbKRbEIbEJbEIbIQbKSbKTbKUbBdbKabBdbKVbKWaaaaaaaaabKXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaadaaabKYbAjbpVbKZbpVboGboFbHobLabIjbIjbIjbLbbIjbIjbIjbLcbHobHobHobHobLdbpbbLebLfbLgbLhbLibLjbLkbLlbLmbLhbLnbLobKtbKtbKtbLpbLqbLqbLrbJBbHCbLsbLtbLubLvbFwbLwbFzbFzbEwaadbAEbzHbAFbAFbAFbAFbLxbDqbDqbIFbLybLzbLAbLBbLCbLCbLDbLEbLFbLGbEJbLHbHXbLIbLJbLKbLLbKabBdbBebKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaabLMbLMbLMboFbpVbLNboFbqNbqPbHqbImbJgbJhbLObLbbJgbJhbJibImbImbLPbImbLQboTbpbbLRbsqbLSbKtbLTbLUbLVbLWbLXbIrbLYbJBbLZbKtbMabBVbLrbBVbMbbJBbJCbKGbMcbDmaadbEwbEwbEwbEwbEwaadbAEbzHbAFbMdbMebMdbAFbMfbDqbMgbCobMhbMibMjbMkbMkbMlbMmbMnbEIbEJbMobMpbMqbMrbMqbMqbMsbMtbMtbMuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaabLMbLMbLMboFbpVbLNboFbqMbqObHqbImbJgbJhbLObLbbJgbJhbJibImbImbLPbImbLQboTbpbbLRbsqbLSbKtbLTbLUbLVbLWbLXbIrbLYbJBbLZbKtbMabBVbLrbBVbMbbJBbJCbKGbMcbDmaadbEwbEwbEwbEwbEwaadbAEbzHbAFbMdbMebMdbAFbMfbDqbMgbCobMhbMibMjbMkbMkbMlbMmbMnbEIbEJbMobMpbMqbMrbMqbMqbMsbMtbMtbMuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaabLMbMvbMwboFbpVbKZboFbMxbMybHqbImbMzbMAbKlbMBbKobMCbKpbImbImbMDbImbLQboTbpbboTbMEbMFbMGbMHbIrbFjbKvbMIbIrbGmbJBbLZbKtbMabBVbMbbBVbMbbMJbJCbMKbMLbJFbFvbFwbMMbMNbMObEwaadbClbzHbAFbMPbMPbMPbMQbFBbMRbMSbCqbMTbMUbMUbMUbMVbMWbMXbMYbMZbEJbNabNbbNcbNdbNebNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaabLMbMvbNgbNhboIbNiboFbNjbNkbNjbNjbNjbNjbNjbNjbNjbNjbNlbNlbNjbNjbNjbNjbNmbNnbNoboVboTboTbNpbNqbNrbNsbNtbNqbGmbNubKtbKtbKtbNvbMbbBVbMbbJBbJCbKGbNwbDmaadbGzbNxbNybNzbEwaadbDnbNAbAFbNBbNCbNCbMQbDqbNDbNEbDqbNFbNGbNHbNIbMVbNJbNKbNLbEIbEJbEIbNMbNNbNObNPbNfbNQbNRbNRbNRbNRbNSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiXaiXaiXaiYaiYaiXaiYaiYaiYbNTaiYaiYaiYaiXaiXaaaaaaaadaadaaaaaaaaaaaaaaaaaabLMbMvbNUbNjbNjbNVbNjbNWbNXbNjbNYbNZbOabNjbObbOcbOdbOebOebOfbOgbribOhbOibpbbOjbsqbOkbOlbOmbOnbIrbLUbAzbIrbLYbJBbKBbOobOpbOqbLqbOrbOsbJBbHCbOtbOubLubLvbFwbOvbMNbMNbEwaadbExbzHbAFbOwbOxbOxbMQbCqbOybOzbFBbOAbOBbOCbODbMkbOEbOFbOGbMZbEJbEIbOHbOIbOJbOKbNfbOLbOMbNPbONbOObOPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiXaiXaiXaiYaiYaiXaiYaiYaiYbNTaiYaiYaiYaiXaiXaaaaaaaadaadaaaaaaaaaaaaaaaaaabLMbMvbNUbNjbNjbNVbNjbNWbNXbNjbNYbNZbOabNjbObbOcbOdbOebOebOfbOgbrhbOhbOibpbbOjbsqbOkbOlbOmbOnbIrbLUbAzbIrbLYbJBbKBbOobOpbOqbLqbOrbOsbJBbHCbOtbOubLubLvbFwbOvbMNbMNbEwaadbExbzHbAFbOwbOxbOxbMQbCqbOybOzbFBbOAbOBbOCbODbMkbOEbOFbOGbMZbEJbEIbOHbOIbOJbOKbNfbOLbOMbNPbONbOObOPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiXaaaaaaaadaadaaaaadaadaaaaaaaadaadaadaaaaiXaaaaadaadaaaaaaaaaaaaaaaaaaaaabLMbMvbNUbOQbORbOebOSbOebOebOTbOUbOVbOebOWbOebOVbOebOebOebOXbOYboTbOZbPabPbbPcbPdbsqbsqbsqbnRbPebPfbPgbIrbPhbPibBTbGqbPjbBTbGubPkbPlbPmbGwbKGbBTbDmaadbEwbEwbEwbEwbEwaadbAEbzHbAFbPnbPobDqbPpbPqbDqbIFbPrbPsbPtbPubPvbPwbPxbPybPzbPAbEJbPBbPCbPDbPEbPFbPGbPHbNPbNPbPIbPJbNfbNfbNfbNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiXaaabPKbPLbPMaaabPKbPLbPMaaabPKbPLbPMaadbPNaadaadaaaaaaaaaaaaaaaaaaaaaaaabLMbMvbNUbPObPPbOebOUbOebPQbPRbPSbPTbPSbPSbPSbPSbPUbPSbPVbOXbPWboTboZbPXbPYbPZbQabQbbQcbQbbQdbBTbBTbEqbGzbQebFobQfbOqbOsbQgbQhbQibFpbQjbJCbQkbQlbJFbFvbFwbQmbQnbQnbEwaadbAEbzHbAFbQobQpbQqbQrbQsbQtbQubQvbLAbQwbQwbQwbQxbQybQybQzbQAbQBbQCbQDbQEbQFbQGbQHbQIbQIbQIbQJbQKbQLbQMbQMbNfaaaaaaaaaaaaaaaaaaaaaagKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiXaaabPKbQNbPMaaabPKbQNbPMaaabPKbQNbPMaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaabLMbMvbNUbNjbNjbQObOebOebQPbQQbOebQRbQQbQSbQQbQTbOebQUbQVbQWbQXboTbQYbQZboTbRabQabRbbBTbRbbBTbBTbBTbKvbRcbBTbJBbCgbCjbChbRdbRebDjbRfbRgbJCbKGbRhbDmaadbGzbRibRjbRkbEwaadbAEbzHbAFbRlbRmbRnbRobRpbRqbRrbRsbRtbRubRvbRwbRxbRybRzbRAbRBbRCbRDbREbRFbRGbNPbNPbNPbNPbNPbRHbRIbQMbQMbQMbNfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7927,26 +7927,26 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYaadbPKbWNbPMaaabPKbWNbPMaaabPKbWNbPMaadaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaabLMbYdbYebYebYebYfbLMbLMbYgbYhbYibYjbYjbYkbYibYibYibYlbYmbYnbYobYpbYqbYrbVybYsbWobWtbYtbYubYvbYwbYwbUsbWnbUvbEwbXQbYxbXQbEwbXSbYybXSbEwbXWbYzbXWbEwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXobUIbXpbUIbYAbXpbXpbUIaaabWKbYBbXtbYCbYDbYDbYDbWKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYaadbPKbWNbPMaaabPKbWNbPMaadbPKbWNbPMaadaadaadaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVebVebYEbUvbVfbVfbYFbUvbYGbYHbYIbYJbWTbYKbYLbYMbYNbVybYObYPbYLbYQbVybYRbYSbYTbYUbYNbUvbEwbEwbEwbEwbEwbEwbEwbEwbEwbEwbEwbEwbEwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXobUIbYVbUIbYWbYWbYWbUIaaabWKbYXbXtbYYbYZbYZbZabWKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNTaadbPKbZbbPMaaabPKbZbbPMaaabPKbZbbPMaadaiYaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaabUvbZcbUvbUvbUvbUvbZdbZebWhbZfbZfbZfbWhbWhbWhbZgbZhbZibZjbZkbZlbZmbWhbWhbZnbZobZpbZqbUvbUvbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaabaaaaaaaaaaaaaaaaabaaabWKbZrbZsbZtbZubZubZubWKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYaaaaadaaaaaaaaaaadaadaadaaaaaaaadaadaaaaiYaadaadaaaaaaaaaacRacRbZvbZvbZvaadaadaadaadaadaadaaaaadbZqbVybZwbWhbWhbWhbWhbZxbVybZybVybVybZzbZAbZBbZCbZDbZCbZEbZFbZGbZHbVybVybVybZIbZJbZKbZLbZLbUvbUvbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaabaabaabaabaabaabaabaaabVObZMbZNbZMbZMbZMbZMbZOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiXaiXaiYaiXaiXbZPaiYaiYaiYaiYaiXaiYaiYaiXbZQaadaaaaaaaadaadbZvacRacRacRacRacRacRacRbZRbZSbZSbZSbZSbZTbWhbZUbVybVybZVbZWbZIbVybZXbVybVybZYbZZcaacabcaccabcadbZZcaecafbVybZHbVybZIcagbZqbZLbZLbZLbZLbZLbZLbZLaadaadaadaadaadaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWwbWxbWxbWyaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbZvcahcaiacRacRacRacRacRbZLbZLbZLbZLbZLcajcakbVycalcamcancaobZIbVybVycapbZibZicaqcarcascatbWgcaucaqbZgbZgbZobVycavbZIcawbUvbZLbZLbZLbZLbZLbZLbZLaaaaaaaadaadacRacRaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadbZvaabaabacRaabacRacRcaxbZRbZSbZSbZSbZScaybVybVybVybVycazcaAcaBcaCcaDcaEcaFcaGbWmcaHcaIcaJcaKcaLbWmcaMcaBcaBcaDcaNcaBcaObUvbZLbZLbZLbZLbZLbZLaadaadaadacRaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadbZvacRbZvacRacRacRacRacRacRacRacRacRaadaadaaaaadcaPcaQbVybVybVybUvbZqcaRbUvcaScaTcaTcaTcaUcaVcaWcaXcaYcaZcaUcaTcaTcaTcaSbUvcaRbZqbUvbZLbZLbZLbZLbZLbZLaadaadaadaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacRacRacRacRacRacRacRacRacRacRacRaaaaadaaaaadaaabUvcbacbbcbccbdbUvcbecbfbUvcbgcbhcbicbhcbjcbkcblcbmcbncaZcbocbhcbhcbhcbpbUvcbfcbqbUvbUvbUvbUvbZLbZLbZLaadaadacRaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagKaaaaaaacRacRacRacRacRacRacRacRacRacRaaaaaaaaaaaaaadacRbUvbUvbUvbUvbUvbUvbUvcaRbUvbUvcbrcbscbtcbucbvcaDcbwcaDcbxcbycbtcbscbzbUvbUvcaRbUvbUvaadaadbZLbZLaadbZLaaaaadaadacRacRaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYaaaaadaaaaaaaaaaadaadaadaaaaaaaadaadaaaaiYaadaadaaaaaaaaaawzawzawzawzawzaadaadaadaadaadaadaaaaadbZqbVybZvbWhbWhbWhbWhbZwbVybZxbVybVybZybZzbZAbZBbZCbZBbZDbZEbZFbZGbVybVybVybZHbZIbZJbZKbZKbUvbUvbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaabaabaabaabaabaabaabaaabVObZLbZMbZLbZLbZLbZLbZNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiXaiXaiYaiXaiXbZOaiYaiYaiYaiYaiXaiYaiYaiXbZPaadaaaaaaaadaadbZQacRacRacRawzacRacRacRbZRbZSbZSbZSbZSbZTbWhbZUbVybVybZVbZWbZHbVybZXbVybVybZYbZZcaacabcaccabcadbZZcaecafbVybZGbVybZHcagbZqbZKbZKbZKbZKbZKbZKbZKaadaadaadaadaadaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWwbWxbWxbWyaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbZQcahcaiacRacRacRacRacRcajbZKbZKbZKbZKcakcalbVycamcancaocapbZHbVybVycaqbZibZicarcascatcaubWgcavcarbZgbZgbZobVycawbZHcaxbUvbZKbZKbZKbZKbZKbZKbZKaaaaaaaadaadacRacRaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadbZQaabaabacRaabacRacRacRbZRbZSbZSbZSbZScaybVybVybVybVycazcaAcaBcaCcaDcaEcaFcaGbWmcaHcaIcaJcaKcaLbWmcaMcaBcaBcaDcaNcaBcaObUvbZKbZKbZKbZKbZKbZKaadaadaadacRaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadbZQacRbZQacRacRacRacRacRacRacRacRacRaadaadaaaaadcaPcaQbVybVybVybUvbZqcaRbUvcaScaTcaTcaTcaUcaVcaWcaXcaYcaZcaUcaTcaTcaTcaSbUvcaRbZqbUvbZKbZKbZKbZKbZKbZKaadaadaadaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacRacRacRacRacRacRacRacRacRacRacRaaaaadaaaaadaaabUvcbacbbcbccbdbUvcbecbfbUvcbgcbhcbicbhcbjcbkcblcbmcbncaZcbocbhcbhcbhcbpbUvcbfcbqbUvbUvbUvbUvbZKbZKbZKaadaadacRaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagKaaaaaaacRacRacRacRacRacRacRacRacRacRaaaaaaaaaaaaaadacRbUvbUvbUvbUvbUvbUvbUvcaRbUvbUvcbrcbscbtcbucbvcaDcbwcaDcbxcbycbtcbscbzbUvbUvcaRbUvbUvaadaadbZKbZKaadbZKaaaaadaadacRacRaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacRacRacRacRacRacRacRacRacRaadaaaaaaaadacRaadacRacRaadaaaaadacRbUvcbAcbBaaaaaaaaaaaacbCcbDcbscbscbscbscbscbDcbEaadcbFcbFcbFcbGcbHbUvaadaadaadaadaadaadaadaaaaadacRaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacRacRacRacRacRacRacRacRacRaaaaaaaaaaaaaadaaaaadaadaaaaaaaaaaadbUvcbIcbJaaaaaaaaaaaaaadaadcbFaadcbFaadaaaaaaaaacbKaaaaaaaaacbLcbIbUvaadaadaaaaaaaaaacRaadaadaadaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaagKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadbZvacRacRacRacRacRacRacRacRaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaabUvcbMcbNcbFcbFcbFcbFcbOaadaaaaadcbPaadcbFaadcbOcbKaaaaadaaacbQcbRbUvaaaaadaaaaadaadaadaadaadacRaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbIbZLcbSaaaaaaaaaaadaadaaaaaaaaacbTaaaaadcbFaadaaaaadaaabZLcbIbUvaaaaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbUaaaaaaawzaaaaaaaaaawzaaaaaaawzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbIbZLbZLaadaadaaaaadcbFaadaadaadaadaadaaaaaaaaaaaaaadbZLbZLcbIbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbUaaaaaaawzaaaaaaaaaawzaaaaaaawzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbVcbWbZLaadaaaaaaaaaaaaaadbZLbZLbZLaadcbXcbFaadaaaaadbZLcbWcbVbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbYcbZbZLaadaaaaadcbOcbFaadcbLccabZLaadaaacbOcbKaaaaaabZLccbcccbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbVcbWbZLaadaaaaadaadccdaadbZLbZLbZLaadaaaaaacbKaaaaaabZLcbWcbVbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbIbZLbZLaadaaaaaaaaaaaaaadaadaadaadaadaaaaaacbKaaaaaabZLbZLcbIbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbIbZLcceaaaaaaccfaadaaaaaaaaaaaaaaaaaaaadcbFaadaaaaaabZLbZLcbIbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvccgcchbZLaaaaaaaaacbOaadcbFaadcbOaadcbFaadcbOaaacciaadbZLccjcckbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbWcbWbZLcbFcbFcbFcbFaadaaaaadcbFaadaaaaadaadaadaaaaaabZLcbWcbWbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcclbZLbZLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZLbZLcclbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadbZQacRacRacRacRacRacRacRacRaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaabUvcbMcbNcbFcbFcbFcbFcbOaadaaaaadcbPaadcbFaadcbOcbKaaaaadaaacbQcbRbUvaaaaadaaaaadaadaadaadaadacRaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbIbZKcbSaaaaaaaaaaadaadaaaaaaaaacbTaaaaadcbFaadaaaaadaaabZKcbIbUvaaaaaaaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbUaaaaaaawzaaaaaaaaaawzaaaaaaawzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbIbZKbZKaadaadaaaaadcbFaadaadaadaadaadaaaaaaaaaaaaaadbZKbZKcbIbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbUaaaaaaawzaaaaaaaaaawzaaaaaaawzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbVcbWbZKaadaaaaaaaaaaaaaadbZKbZKbZKaadcbXcbFaadaaaaadbZKcbWcbVbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbYcbZbZKaadaaaaadcbOcbFaadcbLccabZKaadaaacbOcbKaaaaaabZKccbcccbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbVcbWbZKaadaaaaadaadccdaadbZKbZKbZKaadaaaaaacbKaaaaaabZKcbWcbVbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbIbZKbZKaadaaaaaaaaaaaaaadaadaadaadaadaaaaaacbKaaaaaabZKbZKcbIbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbIbZKcceaaaaaaccfaadaaaaaaaaaaaaaaaaaaaadcbFaadaaaaaabZKbZKcbIbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvccgcchbZKaaaaaaaaacbOaadcbFaadcbOaadcbFaadcbOaaacciaadbZKccjcckbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcbWcbWbZKcbFcbFcbFcbFaadaaaaadcbFaadaaaaadaadaadaaaaaabZKcbWcbWbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUvcclbZKbZKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZKbZKcclbUvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXoaaaaaaaadaaaaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccmccnccoccnccmaadaaaaaaaaaaadccmccnccpccnccmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccmccqccrccsccmaadaaaaaaaaaaadccmccsccqccqccmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -8603,14 +8603,14 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcwJcwJcxJcxicxjcxhcxWcxhcxjcxhcxlcxlcxJcxhcxhcxhcxhcxjcxhcwJcvfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadcwAcwycwycxXcxMcxMcxYcxZcyacxUcybcyccxpcyccydcyeacRcyfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadcwJcwJcxhcxjcxhcygcyhcyicyjcxlcykcxlcxlcylcymcyncxJcxicxjcwJcvfaadaaaaaaaaaaaaaaacwCaaaaaaaadaadaadcwAcwAcwAcyocwAcwycwXcypcyqcyrcyscytcwYcwYcxqcxrcxEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadcwJcwJcxJcxhcygcyucyvcywcxlcxlcxlcxlcxlcyxcyxcyycyncxhcxicwJcvfaadaadaaacvfcyzcyzcyAcyzcyzcyzcyzcyzcyzcwAcwAcyBcwAcwAcwAcyCcyCcyDcyCcyCcyCcwPcwPcwPaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcwJcwJcwJcxJcxJcyEcyFcxicxlcxlcxlcxlcxlcxlcxlcxlcyGcyHcxJcyIcwJcvfcvfaadaadcvfcyzcyJcyKcyJcyLcyMcyNcyOcyzcyPcyPcyQcyPcyPcwAcvfaadacRacRaaacvfbZvacRawzaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcwJcwJcwJcxJcxJcyEcyFcxicxlcxlcxlcxlcxlcxlcxlcxlcyGcyHcxJcyIcwJcvfcvfaadaadcvfcyzcyJcyKcyJcyLcyMcyNcyOcyzcyPcyPcyQcyPcyPcwAcvfaadacRacRaaacvfbZQacRawzaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacwJcwJcwJcwJcwJcxJcxJcyEcyucxicxlcyRcyRcyRcyRcyRcxlcxlcyScyHcxlcxJcwJcwJcwJcwJcwJaaacyzcyTcyUcyVcyVcyVcyVcyVcyWcyXcyPcyQcyPcyYcwAaadaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcwJcwJcxJcyZczacxJcxJczbczccxlczdaaaaaaaaaaaaaaacyRcxlcySczecxlcxJcxhcxJcxlcwJcwJaadcyzczfczgcyJcyJcyJcyJcyJcyzczhcyPcyQcyPcyPcwAaadaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacwJcwJczicxhcyScyncxJcxicxJcxlcxlcyRaaaaaaaaaaaaaaacyRcxlczjcxlcxJczkczlczmcxhcxJcwJcwJcyzcyAczncyzczoczoczoczocyzczpczqczrczqczqcwKcwCaaaaaaaaaaaaaaaaaaaaaaaaacRacRcvfawzacRawzacRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacwJcwJcxxcxjczscyHcxicxicxicxjcxlcyRaaaaaaaaaaaaaaacyRcxlcztcxlcxJczuczvczmcxhczwcwJcwJczxczyczzczzczAczAczAczAcyzcyzcyzcyzcyzcwAcwAaadaadaaaaaaaaaaaaaaaaaaaaaacRacRcvfawzacRbZvacRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacwJcwJczBcxJczscyHcxJcxjcyjczCcxlcyRaaaaaaaaaaaaaaacyRcxlcxlczDcxlcxJcxhczEcxjczBczFczFczxczGczHczzczAczAczAczIcyzbZvacRcyzcyzaaaaadaaaaaaaaaaaaaaaaaaaaaacRacRacRcvecvfawzacRawzacRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacwJcwJcxxcxjczscyHcxicxicxicxjcxlcyRaaaaaaaaaaaaaaacyRcxlcztcxlcxJczuczvczmcxhczwcwJcwJczxczyczzczzczAczAczAczAcyzcyzcyzcyzcyzcwAcwAaadaadaaaaaaaaaaaaaaaaaaaaaacRacRcvfawzacRbZQacRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacwJcwJczBcxJczscyHcxJcxjcyjczCcxlcyRaaaaaaaaaaaaaaacyRcxlcxlczDcxlcxJcxhczEcxjczBczFczFczxczGczHczzczAczAczAczIcyzbZQacRcyzcyzaaaaadaaaaaaaaaaaaaaaaaaaaaacRacRacRcvecvfawzacRawzacRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcwJcwJcxJczJczecxhcxiczKczEcxlcyRaaaaaaaaaaaaaaacyRcxlcxlczLcxJcxJcylczccxJcwJczFczMczNczOczPczzczAczQczAczIczRaaaaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaacRacRacRacRczScvfawzczTawzacRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcwJcwJcwJcwJcwJcxJcxJcyEcxlcxlcxhcyRcyRcyRcyRcyRcxlcxlcxlczUcxicxicwJcwJcwJcwJczFczGczxczVczVczWczVczVczVczVczVczVczVaadaadaaaaaaaaaaaaacRacRawzacRacRczTacRczXcvecvfawzcvebZvacRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcwJcwJcwJcwJcwJcxJcxJcyEcxlcxlcxhcyRcyRcyRcyRcyRcxlcxlcxlczUcxicxicwJcwJcwJcwJczFczGczxczVczVczWczVczVczVczVczVczVczVaadaadaaaaaaaaaaaaacRacRawzacRacRczTacRczXcvecvfawzcvebZQacRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadcwJcwJcwJcxhczYczZcxlcxhcxjcxlcxlcxlcxicxhcxlcxlcAaczUcxjcxJcwJcwJcwJaadaadczGczxcAbcAccAcczVcAbcAdcAecAeczVczVaadacRaadaadaadacRacRczSawzacRcvfcveczSczTcAfcvfawzcveawzacRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadcwJcwJcxjcxicAgcxlcxlcxhcAhcxhcxicxjcxucxwcxucAhcAicxicxicwJcwJaaaaaaczMcAjczxcAkcAbcAkcAkcAkcAkcAkczVczVaaaaaaaaaaadaaaaaaacRcvecveawzacRcAlcAlcAlcAlcAlcAlcAmcAmcAmacRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacxmcxlcxmaadaadczZcylcyHcxJcxJcxJcAncAocAoczecxhcxhcxJcwJcwJaaacApcAqcArczxcAkcAkcAkcAkcAscAkczVczVczVaaaaadaadacRaaacAtcAmcAmcAmcAmcAmcAmcAucAvcAwcAxcAwcAycAzcAmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -8626,8 +8626,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDbcDccDccDccDccDdcCrcCqcCrcCqcDecDfcDfcDfcDgcDfcDhcBNcBQcBRcDicCNcDjcCucDkcBdcBdcAQcDlcDmcAQcAQcAQcAQcAQcDncCXcAfczTcDoacRczTacRacRcAfcCXczxczAcCYczAcDpczxcAkcAkcAkcAkcAkcAkcBBczVcDqcDqawzcDraaaaaaaaaaaaaadaaaaaaaaaaadcAlcDscBvcAwcAwcAwcDtcAmcDucDvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDwcDxcDycDzcDAcDzcCbcCacCbcCacBNcBNcBNcBNcBNcBNcDBcBNcDCcDCcDCcDCcDCcDCcDCcDCcDCcDCcDDcDEcDCcDCczxczxczxczxczxczxczxczxczTcCXcCXcCXczTacRczxczAcDFcCzcCzcDGcBpcBpcBpcBpcBpcBpcDHcDIbWxbWxbWycDJcDqaaaawzawzcDKawzawzawzcAIcAlcAmcBvcAwcAwcAwcAwcDLcAwcDLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBYcCpcCqcCrcCqcCrcCqcCrcCqcBNcDfcBNaaacDCcDMcDMcDMcDMcDMcDNcDMcDMcDMcDMcDCcDMcDMcDOcDMcDMcDMczxczAczAczAcDPczAczxczxczxczxczxczxczxczxczxczAcCYczAczAczxcAkcAbcAkcAkcAkcAkcBBczVcBtawzbWwbWxbWxcDQcDRcDRcDSbWxbWxbWxbWxcDTcDUcDVcBccAwcAwcAwcAmcDucDvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBYcBZcCacCbcDWcCbcCacCbcCacBNcDfcDXaaacDCcDMcDMcDMcDMcDMcDMcDMcDMcDMcDMcDCcDYcDMcDOcDMcDMcDZczxcEaczAczAczAczAczxczxczxczxcDPczAczAcEbczAczAcEccCzcEdczxcAkcAkcAkcAkcAkcEecBBbZvaadaaacEfcEfcEfcEgbZvawzaaacEhcEhcEfcEicAlcAmcAwcEjcAwcEkcEkcAmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBNcElcBNcBNcBNcBNcBNcBNcBNcBNcBNaaacDCcDMcDMcDMcDMcDMcDMcDMcDMcDMcDMcEmcDMcDMcDOcDMcDMcDMczxczAczAczAczAczAcEbczAcEnczAcEocCzcCzcEpcCzcCzcEqczAcCYczxcAkcAkcAkcAkcAkcErcBBbZvaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEscAmcCCcAmcAwcEtcEtcAmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBYcBZcCacCbcDWcCbcCacCbcCacBNcDfcDXaaacDCcDMcDMcDMcDMcDMcDMcDMcDMcDMcDMcDCcDYcDMcDOcDMcDMcDZczxcEaczAczAczAczAczxczxczxczxcDPczAczAcEbczAczAcEccCzcEdczxcAkcAkcAkcAkcAkcEecBBbZQaadaaacEfcEfcEfcEgbZQawzaaacEhcEhcEfcEicAlcAmcAwcEjcAwcEkcEkcAmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBNcElcBNcBNcBNcBNcBNcBNcBNcBNcBNaaacDCcDMcDMcDMcDMcDMcDMcDMcDMcDMcDMcEmcDMcDMcDOcDMcDMcDMczxczAczAczAczAczAcEbczAcEnczAcEocCzcCzcEpcCzcCzcEqczAcCYczxcAkcAkcAkcAkcAkcErcBBbZQaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacEscAmcCCcAmcAwcEtcEtcAmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBNcBNcBNaaaaaaaaaaaaaaaaaaaaaaaaaaacDCcDMcDMcDCcDCcDCcEucDCcDCcDCcEucDCcDMcDMcEvcEwcExcEwcEycCzcCzcEzcCzcCzcEpcCzcCzcCzcEqczAczAcEbczAczAczAczAcEAczFcEBcBBcErcAkczVawzaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacECcEDcAmcAwcAmcAmcAmcAmcAmcAlaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDCcDMcDMcDCcEEcDNcDMcDCcEEcDNcDMcDCcEFcEFcEFcEGcEHcEIczxcEaczAcCYczAczAcEbczAczAczAczAczFczFczFczFczFczFcEJcEAcEKcvecBBczVczVczVaaaaaaaaaaaaaaaaaaaaaaaacELaaaaaaaadaaaaadaadcAmcEMcENcEOcAwcDacENcAwcAwcAlcAlcAlcAlaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadcDMcDCcEPcDMcEQcDCcEPcDMcEPcDCcDMcDMcDMcDMcDOcDMcDCczAczAcERcESczAcEbczAczAczAczAczFcvecvecETcvecvecEUcEVcvecvfcvfawzawzawzaaaaaaaaacyfaaaaaaaaaaaaaaaaaaaadcEWcEWaadaadcAmcEXcAwcAwcAwcAwcAwcAwcAwcEYcAwcEZcAlaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/sound/machines/juicer.ogg b/sound/machines/juicer.ogg new file mode 100644 index 00000000000..43c5edb6618 Binary files /dev/null and b/sound/machines/juicer.ogg differ diff --git a/tgstation.dme b/tgstation.dme index 83fcb431e49..8e125b70d7a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -49,6 +49,7 @@ #define FILE_DIR "code/game/machinery/computer" #define FILE_DIR "code/game/machinery/doors" #define FILE_DIR "code/game/machinery/embedded_controller" +#define FILE_DIR "code/game/machinery/kitchen" #define FILE_DIR "code/game/machinery/pipe" #define FILE_DIR "code/game/magic" #define FILE_DIR "code/game/magic/cultist" @@ -346,7 +347,6 @@ #include "code\game\machinery\alarm.dm" #include "code\game\machinery\atmo_control.dm" #include "code\game\machinery\autolathe.dm" -#include "code\game\machinery\blender.dm" #include "code\game\machinery\camera.dm" #include "code\game\machinery\cell_charger.dm" #include "code\game\machinery\constructable_frame.dm" @@ -356,18 +356,15 @@ #include "code\game\machinery\door_control.dm" #include "code\game\machinery\flasher.dm" #include "code\game\machinery\Freezer.dm" -#include "code\game\machinery\gibber.dm" #include "code\game\machinery\hologram.dm" #include "code\game\machinery\hydroponics.dm" #include "code\game\machinery\igniter.dm" #include "code\game\machinery\lightswitch.dm" #include "code\game\machinery\machinery.dm" -#include "code\game\machinery\microwave.dm" #include "code\game\machinery\morgue.dm" #include "code\game\machinery\navbeacon.dm" #include "code\game\machinery\OpTable.dm" #include "code\game\machinery\overview.dm" -#include "code\game\machinery\processor.dm" #include "code\game\machinery\recharger.dm" #include "code\game\machinery\rechargestation.dm" #include "code\game\machinery\requests_console.dm" @@ -420,6 +417,11 @@ #include "code\game\machinery\embedded_controller\access_controller.dm" #include "code\game\machinery\embedded_controller\airlock_controller.dm" #include "code\game\machinery\embedded_controller\embedded_controller_base.dm" +#include "code\game\machinery\kitchen\blender.dm" +#include "code\game\machinery\kitchen\gibber.dm" +#include "code\game\machinery\kitchen\juicer.dm" +#include "code\game\machinery\kitchen\microwave.dm" +#include "code\game\machinery\kitchen\processor.dm" #include "code\game\machinery\pipe\construction.dm" #include "code\game\machinery\pipe\pipe_dispenser.dm" #include "code\game\magic\library.dm"