diff --git a/baystation12.dme b/baystation12.dme index c6bbb28d78d..a271554e66c 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -756,6 +756,7 @@ #include "code\modules\clothing\spacesuits\rig.dm" #include "code\modules\clothing\spacesuits\syndi.dm" #include "code\modules\clothing\spacesuits\void.dm" +#include "code\modules\clothing\suits\alien.dm" #include "code\modules\clothing\suits\armor.dm" #include "code\modules\clothing\suits\bio.dm" #include "code\modules\clothing\suits\jobs.dm" diff --git a/code/WorkInProgress/Cib/MedicalSideEffects.dm b/code/WorkInProgress/Cib/MedicalSideEffects.dm index ea828276837..e9dcb51e136 100644 --- a/code/WorkInProgress/Cib/MedicalSideEffects.dm +++ b/code/WorkInProgress/Cib/MedicalSideEffects.dm @@ -24,12 +24,11 @@ side_effects += M /mob/living/carbon/human/proc/handle_medical_side_effects() - if(src.reagents.has_reagent("bicaridine") || src.reagents.has_reagent("tricordrazine") || src.reagents.has_reagent("cryoxadone")) + if(src.reagents.has_reagent("cryoxadone")) src.add_side_effect("Headache") - - if(src.reagents.has_reagent("kelotane") || src.reagents.has_reagent("dermaline")) - src.add_side_effect("Bad Stomach") + /*if(src.reagents.has_reagent("kelotane") && prob(20) || src.reagents.has_reagent("dermaline")) + src.add_side_effect("Bad Stomach")*/ // One full cycle(in terms of strength) every 10 minutes var/strength_percent = sin(life_tick / 2) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index e07e6687ac5..4c71c36f26e 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -118,7 +118,7 @@ proc/get_id_photo(var/mob/living/carbon/human/H) switch(H.get_species()) if("Tajaran") icobase = 'icons/mob/human_races/r_tajaran.dmi' - if( "Soghun") + if("Unathi") icobase = 'icons/mob/human_races/r_lizard.dmi' if("Skrell") icobase = 'icons/mob/human_races/r_skrell.dmi' diff --git a/code/datums/organs/organ_external.dm b/code/datums/organs/organ_external.dm index 74c28006266..a90389dc214 100644 --- a/code/datums/organs/organ_external.dm +++ b/code/datums/organs/organ_external.dm @@ -12,94 +12,129 @@ var/burn_dam = 0 var/max_damage = 0 var/max_size = 0 - var/tmp/list/obj/item/weapon/implant/implant var/display_name var/list/wounds = list() var/number_wounds = 0 // cache the number of wounds, which is NOT wounds.len! var/tmp/perma_injury = 0 - var/tmp/perma_dmg = 0 var/tmp/destspawn = 0 //Has it spawned the broken limb? - var/tmp/amputated = 0 // Whether this has been cleanly amputated, thus causing no pain + var/tmp/amputated = 0 //Whether this has been cleanly amputated, thus causing no pain var/min_broken_damage = 30 var/datum/organ/external/parent var/list/datum/organ/external/children var/damage_msg = "\red You feel an intense pain" + var/broken_description var/status = 0 - var/broken_description var/open = 0 var/stage = 0 + var/obj/item/hidden = null var/list/implants = list() // INTERNAL germs inside the organ, this is BAD if it's greater 0 var/germ_level = 0 - // how often wounds should be updated, a higher number means less often + // how often wounds should be updated, a higher number means less often var/wound_update_accuracy = 20 // update every 20 ticks(roughly every minute) - New(var/datum/organ/external/P) - if(P) - parent = P - if(!parent.children) - parent.children = list() - parent.children.Add(src) - return ..() +/datum/organ/external/New(var/datum/organ/external/P) + if(P) + parent = P + if(!parent.children) + parent.children = list() + parent.children.Add(src) + return ..() - proc/take_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list()) - if((brute <= 0) && (burn <= 0)) - return 0 - if(status & ORGAN_DESTROYED) - return 0 - if(status & ORGAN_ROBOT) - brute *= 0.66 //~2/3 damage for ROBOLIMBS - burn *= 0.66 //~2/3 damage for ROBOLIMBS +/datum/organ/external/proc/add_autopsy_data(var/used_weapon, var/damage) + var/datum/autopsy_data/W = autopsy_data[used_weapon] + if(!W) + W = new() + W.weapon = used_weapon + autopsy_data[used_weapon] = W - //if(owner && !(status & ORGAN_ROBOT)) - // owner.pain(display_name, (brute+burn)*3, 1, burn > brute) + W.hits += 1 + W.damage += damage + W.time_inflicted = world.time - if(sharp) - var/nux = brute * rand(10,15) - if(config.limbs_can_break && brute_dam >= max_damage * config.organ_health_multiplier) - if(prob(5 * brute)) - droplimb(1) - return +/**************************************************** + DAMAGE PROCS +****************************************************/ - else if(prob(nux)) +/datum/organ/external/proc/emp_act(severity) + if(!(status & ORGAN_ROBOT)) //meatbags do not care about EMP + return + var/probability = 30 + var/damage = 15 + if(severity == 2) + probability = 1 + damage = 3 + if(prob(probability)) + droplimb(1) + else + take_damage(damage, 0, 1, used_weapon = "EMP") + +/datum/organ/external/proc/take_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list()) + if((brute <= 0) && (burn <= 0)) + return 0 + + if(status & ORGAN_DESTROYED) + return 0 + if(status & ORGAN_ROBOT) + brute *= 0.66 //~2/3 damage for ROBOLIMBS + burn *= 0.66 //~2/3 damage for ROBOLIMBS + + //If limb took enough damage, try to cut or tear it off + if(config.limbs_can_break && brute_dam >= max_damage * config.organ_health_multiplier) + if( (sharp && prob(5 * brute)) || (brute > 20 && prob(2 * brute)) ) + droplimb(1) + return + + if(status & ORGAN_BROKEN && prob(40) && brute) + owner.emote("scream") //getting hit on broken hand hurts + if(used_weapon) + add_autopsy_data(used_weapon, brute + burn) + + var/can_cut = (prob(brute*2) || sharp) && !(status & ORGAN_ROBOT) + // If the limbs can break, make sure we don't exceed the maximum damage a limb can take before breaking + if((brute_dam + burn_dam + brute + burn) < max_damage || !config.limbs_can_break) + if(brute) + if(can_cut) createwound( CUT, brute ) - if(!(status & ORGAN_ROBOT)) - owner << "You feel something wet on your [display_name]" + else + createwound( BRUISE, brute ) + if(burn) + createwound( BURN, burn ) + else + //If we can't inflict the full amount of damage, spread the damage in other ways + //How much damage can we actually cause? + var/can_inflict = max_damage * config.organ_health_multiplier - (brute_dam + burn_dam) + if(can_inflict) + if (brute > 0) + //Inflict all burte damage we can + if(can_cut) + createwound( CUT, min(brute,can_inflict) ) + else + createwound( BRUISE, min(brute,can_inflict) ) + var/temp = can_inflict + //How much mroe damage can we inflict + can_inflict = max(0, can_inflict - brute) + //How much brute damage is left to inflict + brute = max(0, brute - temp) - else if(brute > 20) - if(config.limbs_can_break && brute_dam >= max_damage * config.organ_health_multiplier) - if(prob(5 * brute)) - droplimb(1) - return - - // If the limbs can break, make sure we don't exceed the maximum damage a limb can take before breaking - if((brute_dam + burn_dam + brute + burn) < max_damage || !config.limbs_can_break) - if(brute) - if( (prob(brute*2) && !sharp) || sharp ) - createwound( CUT, brute ) - else if(!sharp) - createwound( BRUISE, brute ) - if(burn) - createwound( BURN, burn ) - else - // If we can't inflict the full amount of damage, spread the damage in other ways - var/can_inflict = max_damage * config.organ_health_multiplier - (brute_dam + burn_dam) //How much damage can we actually cause? - if(can_inflict) - if (brute > 0) - brute = can_inflict - createwound(BRUISE, brute) - if (burn > 0) - burn = can_inflict - createwound(BURN, burn) - else if(!(status & ORGAN_ROBOT)) - var/passed_dam = (brute + burn) - can_inflict //Getting how much overdamage we have. + if (burn > 0 && can_inflict) + //Inflict all burn damage we can + createwound(BURN, min(burn,can_inflict)) + //How much burn damage is left to inflict + burn = max(0, burn - can_inflict) + //If there are still hurties to dispense + if (burn || brute) + if (status & ORGAN_ROBOT) + droplimb(1) //Robot limbs just kinda fail at full damage. + else + //List organs we can pass it to var/list/datum/organ/external/possible_points = list() if(parent) possible_points += parent @@ -107,483 +142,372 @@ possible_points += children if(forbidden_limbs.len) possible_points -= forbidden_limbs - if(!possible_points.len) - if(owner.stat != 2) - message_admins("Oh god WHAT! [owner]'s [src] was unable to find an organ to pass overdamage to!") - else + if(possible_points.len) + //And pass the pain around var/datum/organ/external/target = pick(possible_points) - if(brute) - target.take_damage(passed_dam, 0, sharp, used_weapon, forbidden_limbs + src) - else - target.take_damage(0, passed_dam, sharp, used_weapon, forbidden_limbs + src) - else - droplimb(1) //Robot limbs just kinda fail at full damage. + target.take_damage(brute, burn, sharp, used_weapon, forbidden_limbs + src) + // sync the organ's damage with its wounds + src.update_damages() + owner.updatehealth() - if(status & ORGAN_BROKEN) - owner.emote("scream") + var/result = update_icon() + return result - if(used_weapon) add_autopsy_data(used_weapon, brute + burn) - - owner.updatehealth() - - // sync the organ's damage with its wounds - src.update_damages() - - var/result = update_icon() - return result - - - - proc/heal_damage(brute, burn, internal = 0, robo_repair = 0) - if(status & ORGAN_ROBOT && !robo_repair) - return - - // heal damage on the individual wounds - for(var/datum/wound/W in wounds) - if(brute == 0 && burn == 0) - break - - // heal brute damage - if(W.damage_type == CUT || W.damage_type == BRUISE) - brute = W.heal_damage(brute) - else if(W.damage_type == BURN) - burn = W.heal_damage(burn) - - // sync organ damage with wound damages - update_damages() - - if(internal) - status &= ~ORGAN_BROKEN - perma_injury = 0 - - // sync the organ's damage with its wounds - src.update_damages() - - owner.updatehealth() - var/result = update_icon() - return result - - proc/update_damages() - number_wounds = 0 - brute_dam = 0 - burn_dam = 0 - status &= ~ORGAN_BLEEDING - for(var/datum/wound/W in wounds) - if(W.damage_type == CUT || W.damage_type == BRUISE) - brute_dam += W.damage - else if(W.damage_type == BURN) - burn_dam += W.damage - - if(!(status & ORGAN_ROBOT) && W.bleeding()) - status |= ORGAN_BLEEDING - - number_wounds += W.amount - - proc/update_wounds() - for(var/datum/wound/W in wounds) - // wounds can disappear after 10 minutes at the earliest - if(W.damage == 0 && W.created + 10 * 10 * 60 <= world.time) - wounds -= W - // let the GC handle the deletion of the wound - if(W.internal && !W.is_treated() && owner.bodytemperature >= 170) - // internal wounds get worse over time - W.open_wound(0.1 * wound_update_accuracy) - owner.vessel.remove_reagent("blood",0.07 * W.damage * wound_update_accuracy) - if(prob(1 * wound_update_accuracy)) - owner.custom_pain("You feel a stabbing pain in your [display_name]!",1) - - if(W.bandaged || W.salved) - // slow healing - var/amount = 0.2 - if(W.is_treated()) - amount += 10 - // amount of healing is spread over all the wounds - W.heal_damage((wound_update_accuracy * amount * W.amount * config.organ_regeneration_multiplier) / (20*owner.number_wounds+1)) - - if(W.germ_level > 100 && prob(10)) - owner.adjustToxLoss(1 * wound_update_accuracy) - if(W.germ_level > 1000) - owner.adjustToxLoss(1 * wound_update_accuracy) - - // Salving also helps against infection - if(W.germ_level > 0 && W.salved && prob(2)) - W.germ_level = 0 - - // sync the organ's damage with its wounds - src.update_damages() - - proc/bandage() - var/rval = 0 - src.status &= ~ORGAN_BLEEDING - for(var/datum/wound/W in wounds) - if(W.internal) continue - rval |= !W.bandaged - W.bandaged = 1 - return rval - - proc/clamp() - var/rval = 0 - src.status &= ~ORGAN_BLEEDING - for(var/datum/wound/W in wounds) - if(W.internal) continue - rval |= !W.clamped - W.clamped = 1 - return rval - - proc/salve() - var/rval = 0 - for(var/datum/wound/W in wounds) - rval |= !W.salved - W.salved = 1 - return rval - - proc/get_damage() //returns total damage - return max(brute_dam + burn_dam - perma_injury, perma_injury) //could use health? - - proc/get_damage_brute() - return max(brute_dam+perma_injury, perma_injury) - - proc/get_damage_fire() - return burn_dam - - proc/is_infected() - for(var/datum/wound/W in wounds) - if(W.germ_level > 100) - return 1 - return 0 - - process() - // process wounds, doing healing etc., only do this every 4 ticks to save processing power - if(owner.life_tick % wound_update_accuracy == 0) - update_wounds() - if(status & ORGAN_DESTROYED) - if(!destspawn && config.limbs_can_break) - droplimb() - return - if(!(status & ORGAN_BROKEN)) - perma_dmg = 0 - if(parent) - if(parent.status & ORGAN_DESTROYED) - status |= ORGAN_DESTROYED - owner.update_body(1) - return - if(config.bones_can_break && brute_dam > min_broken_damage * config.organ_health_multiplier && !(status & ORGAN_ROBOT)) - src.fracture() - if(germ_level > 0) - for(var/datum/wound/W in wounds) if(!W.bandaged && !W.salved) - W.germ_level = max(W.germ_level, germ_level) - update_icon() +/datum/organ/external/proc/heal_damage(brute, burn, internal = 0, robo_repair = 0) + if(status & ORGAN_ROBOT && !robo_repair) return - proc/fracture() - if(status & ORGAN_BROKEN) + //Heal damage on the individual wounds + for(var/datum/wound/W in wounds) + if(brute == 0 && burn == 0) + break + + // heal brute damage + if(W.damage_type == CUT || W.damage_type == BRUISE) + brute = W.heal_damage(brute) + else if(W.damage_type == BURN) + burn = W.heal_damage(burn) + + if(internal) + status &= ~ORGAN_BROKEN + perma_injury = 0 + + //Sync the organ's damage with its wounds + src.update_damages() + owner.updatehealth() + + var/result = update_icon() + return result + + +/datum/organ/external/proc/createwound(var/type = CUT, var/damage) + if(damage == 0) return + + // first check whether we can widen an existing wound + if(wounds.len > 0 && prob(max(50+owner.number_wounds*10,100))) + if((type == CUT || type == BRUISE) && damage >= 5) + var/datum/wound/W = pick(wounds) + if(W.amount == 1 && W.started_healing()) + W.open_wound(damage) + if(prob(25)) + owner.visible_message("\red The wound on [owner.name]'s [display_name] widens with a nasty ripping voice.",\ + "\red The wound on your [display_name] widens with a nasty ripping voice.",\ + "You hear a nasty ripping noise, as if flesh is being torn apart.") + return + + //Creating wound + var/datum/wound/W + var/size = min( max( 1, damage/10 ) , 6) + //Possible types of wound + var/list/size_names = list() + switch(type) + if(CUT) + size_names = typesof(/datum/wound/cut/) - /datum/wound/cut/ + if(BRUISE) + size_names = typesof(/datum/wound/bruise/) - /datum/wound/bruise/ + if(BURN) + size_names = typesof(/datum/wound/burn/) - /datum/wound/burn/ + + size = min(size,size_names.len) + var/wound_type = size_names[size] + W = new wound_type(damage) + + //Possibly trigger an internal wound, too. + var/local_damage = brute_dam + burn_dam + damage + if(damage > 10 && type != BURN && local_damage > 20 && prob(damage) && !(status & ORGAN_ROBOT)) + var/datum/wound/internal_bleeding/I = new (15) + wounds += I + owner.custom_pain("You feel something rip in your [display_name]!", 1) + + //Check whether we can add the wound to an existing wound + for(var/datum/wound/other in wounds) + if(other.desc == W.desc) + // okay, add it! + other.damage += W.damage + other.amount += 1 + W = null // to signify that the wound was added + break + if(W) + wounds += W + +/**************************************************** + PROCESSING & UPDATING +****************************************************/ + +/datum/organ/external/process() + // process wounds, doing healing etc., only do this every 4 ticks to save processing power + if(owner.life_tick % wound_update_accuracy == 0) + update_wounds() + if(status & ORGAN_DESTROYED) + if(!destspawn && config.limbs_can_break) + droplimb() + return + if(!(status & ORGAN_BROKEN)) + perma_injury = 0 + if(parent) + if(parent.status & ORGAN_DESTROYED) + status |= ORGAN_DESTROYED + owner.update_body(1) return - owner.visible_message("\red You hear a loud cracking sound coming from \the [owner].","\red Something feels like it shattered in your [display_name]!","You hear a sickening crack.") - owner.emote("scream") - status |= ORGAN_BROKEN - broken_description = pick("broken","fracture","hairline fracture") - perma_injury = brute_dam + if(config.bones_can_break && brute_dam > min_broken_damage * config.organ_health_multiplier && !(status & ORGAN_ROBOT)) + src.fracture() + if(germ_level > 0) + for(var/datum/wound/W in wounds) if(!W.bandaged && !W.salved) + W.germ_level = max(W.germ_level, germ_level) + update_icon() + return -// new damage icon system -// returns just the brute/burn damage code - proc/damage_state_text() - if(status & ORGAN_DESTROYED) - return "--" +//Updating wounds. Handles wound natural healing, internal bleedings and infections +/datum/organ/external/proc/update_wounds() + for(var/datum/wound/W in wounds) + // wounds can disappear after 10 minutes at the earliest + if(W.damage == 0 && W.created + 10 * 10 * 60 <= world.time) + wounds -= W + // let the GC handle the deletion of the wound - var/tburn = 0 - var/tbrute = 0 + // Internal wounds get worse over time. Low temperatures (cryo) stop them. + if(W.internal && !W.is_treated() && owner.bodytemperature >= 170) + W.open_wound(0.1 * wound_update_accuracy) + owner.vessel.remove_reagent("blood",0.07 * W.damage * wound_update_accuracy) + if(prob(1 * wound_update_accuracy)) + owner.custom_pain("You feel a stabbing pain in your [display_name]!",1) - if(burn_dam ==0) - tburn =0 - else if (burn_dam < (max_damage * 0.25 / 2)) - tburn = 1 - else if (burn_dam < (max_damage * 0.75 / 2)) - tburn = 2 - else - tburn = 3 + if(W.bandaged || W.salved) + // slow healing + var/amount = 0.2 + if(W.is_treated()) + amount += 10 + // amount of healing is spread over all the wounds + W.heal_damage((wound_update_accuracy * amount * W.amount * config.organ_regeneration_multiplier) / (20*owner.number_wounds+1)) - if (brute_dam == 0) - tbrute = 0 - else if (brute_dam < (max_damage * 0.25 / 2)) - tbrute = 1 - else if (brute_dam < (max_damage * 0.75 / 2)) - tbrute = 2 - else - tbrute = 3 - return "[tbrute][tburn]" + if(W.germ_level > 100 && prob(10)) + owner.adjustToxLoss(1 * wound_update_accuracy) + if(W.germ_level > 1000) + owner.adjustToxLoss(1 * wound_update_accuracy) + + // Salving also helps against infection + if(W.germ_level > 0 && W.salved && prob(2)) + W.germ_level = 0 + + // sync the organ's damage with its wounds + src.update_damages() + +//Updates brute_damn and burn_damn from wound damages. Updates BLEEDING status. +/datum/organ/external/proc/update_damages() + number_wounds = 0 + brute_dam = 0 + burn_dam = 0 + status &= ~ORGAN_BLEEDING + for(var/datum/wound/W in wounds) + if(W.damage_type == CUT || W.damage_type == BRUISE) + brute_dam += W.damage + else if(W.damage_type == BURN) + burn_dam += W.damage + + if(!(status & ORGAN_ROBOT) && W.bleeding()) + status |= ORGAN_BLEEDING + + number_wounds += W.amount // new damage icon system // adjusted to set damage_state to brute/burn code only (without r_name0 as before) - proc/update_icon() - var/n_is = damage_state_text() - if (n_is != damage_state) - damage_state = n_is - owner.update_body(1) - return 1 - return 0 +/datum/organ/external/proc/update_icon() + var/n_is = damage_state_text() + if (n_is != damage_state) + damage_state = n_is + owner.update_body(1) + return 1 + return 0 - proc/setAmputatedTree() - for(var/datum/organ/external/O in children) - O.amputated=amputated - O.setAmputatedTree() +// new damage icon system +// returns just the brute/burn damage code +/datum/organ/external/proc/damage_state_text() + if(status & ORGAN_DESTROYED) + return "--" - proc/droplimb(var/override = 0,var/no_explode = 0) - if(destspawn) return - if(override) - status |= ORGAN_DESTROYED - if(status & ORGAN_DESTROYED) - if(body_part == UPPER_TORSO) - return + var/tburn = 0 + var/tbrute = 0 - if(status & ORGAN_SPLINTED) - status &= ~ORGAN_SPLINTED - if(implant) - for(var/implants in implant) - del(implants) - //owner.unlock_medal("Lost something?", 0, "Lose a limb.", "easy") + if(burn_dam ==0) + tburn =0 + else if (burn_dam < (max_damage * 0.25 / 2)) + tburn = 1 + else if (burn_dam < (max_damage * 0.75 / 2)) + tburn = 2 + else + tburn = 3 - // If any organs are attached to this, destroy them - for(var/datum/organ/external/O in owner.organs) - if(O.parent == src) - O.droplimb(1) + if (brute_dam == 0) + tbrute = 0 + else if (brute_dam < (max_damage * 0.25 / 2)) + tbrute = 1 + else if (brute_dam < (max_damage * 0.75 / 2)) + tbrute = 2 + else + tbrute = 3 + return "[tbrute][tburn]" - var/obj/item/weapon/organ/H - switch(body_part) -// if(UPPER_TORSO) -// owner.gib() - if(LOWER_TORSO) - owner << "\red You are now sterile." - if(HEAD) - H = new /obj/item/weapon/organ/head(owner.loc, owner) - if(ishuman(owner)) - if(owner.gender == FEMALE) - H.icon_state = "head_f" - H.overlays += owner.generate_head_icon() - H:transfer_identity(owner) - H.pixel_x = -10 - H.pixel_y = 6 - H.name = "[owner.real_name]'s head" +/**************************************************** + DISMEMBERMENT +****************************************************/ - owner.u_equip(owner.glasses) - owner.u_equip(owner.head) - owner.u_equip(owner.ears) - owner.u_equip(owner.wear_mask) +//Recursive setting of all child organs to amputated +/datum/organ/external/proc/setAmputatedTree() + for(var/datum/organ/external/O in children) + O.amputated=amputated + O.setAmputatedTree() - owner.regenerate_icons() +//Handles dismemberment +/datum/organ/external/proc/droplimb(var/override = 0,var/no_explode = 0) + if(destspawn) return + if(override) + status |= ORGAN_DESTROYED + if(status & ORGAN_DESTROYED) + if(body_part == UPPER_TORSO) + return - owner.death() - if(ARM_RIGHT) - H = new /obj/item/weapon/organ/r_arm(owner.loc, owner) - if(ismonkey(owner)) - H.icon_state = "r_arm_l" - if(ARM_LEFT) - H = new /obj/item/weapon/organ/l_arm(owner.loc, owner) - if(ismonkey(owner)) - H.icon_state = "l_arm_l" - if(LEG_RIGHT) - H = new /obj/item/weapon/organ/r_leg(owner.loc, owner) - if(ismonkey(owner)) - H.icon_state = "r_leg_l" - if(LEG_LEFT) - H = new /obj/item/weapon/organ/l_leg(owner.loc, owner) - if(ismonkey(owner)) - H.icon_state = "l_leg_l" - if(HAND_RIGHT) - H = new /obj/item/weapon/organ/r_hand(owner.loc, owner) - if(ismonkey(owner)) - H.icon_state = "r_hand_l" - owner.u_equip(owner.gloves) - if(HAND_LEFT) - H = new /obj/item/weapon/organ/l_hand(owner.loc, owner) - if(ismonkey(owner)) - H.icon_state = "l_hand_l" - owner.u_equip(owner.gloves) - if(FOOT_RIGHT) - H = new /obj/item/weapon/organ/r_foot/(owner.loc, owner) - if(ismonkey(owner)) - H.icon_state = "r_foot_l" - owner.u_equip(owner.shoes) - if(FOOT_LEFT) - H = new /obj/item/weapon/organ/l_foot(owner.loc, owner) - if(ismonkey(owner)) - H.icon_state = "l_foot_l" - owner.u_equip(owner.shoes) - if(H) - if(ismonkey(owner)) - H.icon = 'monkey.dmi' - else if(ishuman(owner) && owner.dna) - var/icon/I - switch(owner.dna.mutantrace) - if("tajaran") - I = new('icons/mob/human_races/r_tajaran.dmi') - if("lizard") - I = new('icons/mob/human_races/r_lizard.dmi') - if("skrell") - I = new('icons/mob/human_races/r_skrell.dmi') - else - I = new('icons/mob/human_races/r_human.dmi') - if(I) - H.icon = I.MakeLying() + src.status &= ~ORGAN_BROKEN + src.status &= ~ORGAN_BLEEDING + src.status &= ~ORGAN_SPLINTED + for(var/implant in implants) + del(implant) + + // If any organs are attached to this, destroy them + for(var/datum/organ/external/O in owner.organs) + if(O.parent == src) + O.droplimb(1) + + var/obj/organ //Dropped limb object + switch(body_part) + if(LOWER_TORSO) + owner << "\red You are now sterile." + if(HEAD) + organ= new /obj/item/weapon/organ/head(owner.loc, owner) + owner.u_equip(owner.glasses) + owner.u_equip(owner.head) + owner.u_equip(owner.ears) + owner.u_equip(owner.wear_mask) + if(ARM_RIGHT) + if(status & ORGAN_ROBOT) + organ = new /obj/item/robot_parts/r_arm(owner.loc) else - H.icon_state = initial(H.icon_state)+"_l" - - if(status & ORGAN_ROBOT) - del H - switch(body_part) - if(LEG_RIGHT) - H = new /obj/item/robot_parts/r_leg(owner.loc) - if(LEG_LEFT) - H = new /obj/item/robot_parts/l_leg(owner.loc) - if(ARM_RIGHT) - H = new /obj/item/robot_parts/r_arm(owner.loc) - if(ARM_LEFT) - H = new /obj/item/robot_parts/l_arm(owner.loc) - - if(H) - var/lol = pick(cardinal) - step(H,lol) - + organ= new /obj/item/weapon/organ/r_arm(owner.loc, owner) + if(ARM_LEFT) + if(status & ORGAN_ROBOT) + organ= new /obj/item/robot_parts/l_arm(owner.loc) + else + organ= new /obj/item/weapon/organ/l_arm(owner.loc, owner) + if(LEG_RIGHT) + if(status & ORGAN_ROBOT) + organ = new /obj/item/robot_parts/l_leg(owner.loc) + else + organ= new /obj/item/weapon/organ/r_leg(owner.loc, owner) + if(LEG_LEFT) + if(status & ORGAN_ROBOT) + organ = new /obj/item/robot_parts/r_leg(owner.loc) + else + organ= new /obj/item/weapon/organ/l_leg(owner.loc, owner) + if(HAND_RIGHT) + organ= new /obj/item/weapon/organ/r_hand(owner.loc, owner) + owner.u_equip(owner.gloves) + if(HAND_LEFT) + organ= new /obj/item/weapon/organ/l_hand(owner.loc, owner) + owner.u_equip(owner.gloves) + if(FOOT_RIGHT) + organ= new /obj/item/weapon/organ/r_foot/(owner.loc, owner) + owner.u_equip(owner.shoes) + if(FOOT_LEFT) + organ = new /obj/item/weapon/organ/l_foot(owner.loc, owner) + owner.u_equip(owner.shoes) + if(organ) destspawn = 1 - if(status & ORGAN_ROBOT) + //Robotic limbs explode until specified otherwise + if(status & ORGAN_ROBOT && !no_explode) owner.visible_message("\red \The [owner]'s [display_name] explodes violently!",\ "\red Your [display_name] explodes!",\ "You hear an explosion followed by a scream!") - if(!no_explode) - explosion(get_turf(owner),-1,-1,2,3) - var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() - spark_system.set_up(5, 0, owner) - spark_system.attach(owner) - spark_system.start() - spawn(10) - del(spark_system) + explosion(get_turf(owner),-1,-1,2,3) + var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread() + spark_system.set_up(5, 0, owner) + spark_system.attach(owner) + spark_system.start() + spawn(10) + del(spark_system) else owner.visible_message("\red [owner.name]'s [display_name] flies off in an arc.",\ "Your [display_name] goes flying off!",\ "You hear a terrible sound of ripping tendons and flesh.") - // force the icon to rebuild + //Throw organs around + var/lol = pick(cardinal) + step(organ,lol) + owner.regenerate_icons() - proc/createwound(var/type = CUT, var/damage) - if(hasorgans(owner)) - var/wound_type - var/size = min( max( 1, damage/10 ) , 6) - // first check whether we can widen an existing wound - if(wounds.len > 0 && prob(max(50+owner.number_wounds*10,100))) - if((type == CUT || type == BRUISE) && damage >= 5) - var/datum/wound/W = pick(wounds) - if(W.amount == 1 && W.started_healing()) - W.open_wound(damage) - if(prob(25)) - owner.visible_message("\red The wound on [owner.name]'s [display_name] widens with a nasty ripping voice.",\ - "\red The wound on your [display_name] widens with a nasty ripping voice.",\ - "You hear a nasty ripping noise, as if flesh is being torn apart.") +/**************************************************** + HELPERS +****************************************************/ - return +/datum/organ/external/proc/bandage() + var/rval = 0 + src.status &= ~ORGAN_BLEEDING + for(var/datum/wound/W in wounds) + if(W.internal) continue + rval |= !W.bandaged + W.bandaged = 1 + return rval - if(damage == 0) return +/datum/organ/external/proc/clamp() + var/rval = 0 + src.status &= ~ORGAN_BLEEDING + for(var/datum/wound/W in wounds) + if(W.internal) continue + rval |= !W.clamped + W.clamped = 1 + return rval - // the wound we will create - var/datum/wound/W +/datum/organ/external/proc/salve() + var/rval = 0 + for(var/datum/wound/W in wounds) + rval |= !W.salved + W.salved = 1 + return rval - switch(type) - if(CUT) - if(!(status & ORGAN_ROBOT)) - src.status |= ORGAN_BLEEDING - var/list/size_names = list(/datum/wound/cut, /datum/wound/deep_cut, /datum/wound/flesh_wound, /datum/wound/gaping_wound, /datum/wound/big_gaping_wound, /datum/wound/massive_wound) - wound_type = size_names[size] +/datum/organ/external/proc/fracture() + if(status & ORGAN_BROKEN) + return + owner.visible_message("\red You hear a loud cracking sound coming from \the [owner].","\red Something feels like it shattered in your [display_name]!","You hear a sickening crack.") + owner.emote("scream") + status |= ORGAN_BROKEN + broken_description = pick("broken","fracture","hairline fracture") + perma_injury = brute_dam - W = new wound_type(damage) +/datum/organ/external/proc/robotize() + src.status &= ~ORGAN_BROKEN + src.status &= ~ORGAN_BLEEDING + src.status &= ~ORGAN_SPLINTED + src.status &= ~ORGAN_ATTACHABLE + src.status &= ~ORGAN_DESTROYED + src.status |= ORGAN_ROBOT + for (var/datum/organ/external/T in children) + if(T) + T.robotize() - if(BRUISE) - var/list/size_names = list(/datum/wound/bruise/tiny_bruise, /datum/wound/bruise/small_bruise, /datum/wound/bruise/moderate_bruise, /datum/wound/bruise/large_bruise, /datum/wound/bruise/huge_bruise, /datum/wound/bruise/monumental_bruise) - wound_type = size_names[size] +/datum/organ/external/proc/get_damage() //returns total damage + return max(brute_dam + burn_dam - perma_injury, perma_injury) //could use health? - W = new wound_type(damage) - if(BURN) - var/list/size_names = list(/datum/wound/moderate_burn, /datum/wound/large_burn, /datum/wound/severe_burn, /datum/wound/deep_burn, /datum/wound/carbonised_area, /datum/wound/carbonised_area) - wound_type = size_names[size] +/datum/organ/external/proc/is_infected() + for(var/datum/wound/W in wounds) + if(W.germ_level > 100) + return 1 + return 0 - W = new wound_type(damage) - - // Possibly trigger an internal wound, too. - var/local_damage = brute_dam + burn_dam + damage - if(damage > 10 && type != BURN && local_damage > 20 && prob(damage) && !(status & ORGAN_ROBOT)) - var/datum/wound/internal_bleeding/I = new (15) - wounds += I - owner.custom_pain("You feel something rip in your [display_name]!", 1) - - // check whether we can add the wound to an existing wound - for(var/datum/wound/other in wounds) - if(other.desc == W.desc) - // okay, add it! - other.damage += W.damage - other.amount += 1 - W = null // to signify that the wound was added - break - - // if we couldn't add the wound to another wound, ignore - if(W) - wounds += W - - proc/emp_act(severity) - if(!(status & ORGAN_ROBOT)) - return - var/probability = 30 - var/damage = 15 - if(severity == 2) - probability = 1 - damage = 3 - if(prob(probability)) - droplimb(1) - else - take_damage(damage, 0, 1, used_weapon = "EMP") - - proc/getDisplayName() - switch(name) - if("l_leg") - return "left leg" - if("r_leg") - return "right leg" - if("l_arm") - return "left arm" - if("r_arm") - return "right arm" - if("l_foot") - return "left foot" - if("r_foot") - return "right foot" - if("l_hand") - return "left hand" - if("r_hand") - return "right hand" - else - return name - - proc/robotize() - src.status &= ~ORGAN_BROKEN - src.status &= ~ORGAN_BLEEDING - src.status &= ~ORGAN_SPLINTED - src.status &= ~ORGAN_ATTACHABLE - src.status &= ~ORGAN_DESTROYED - src.status |= ORGAN_ROBOT - for (var/datum/organ/external/T in children) - if(T) - T.robotize() - - proc/add_autopsy_data(var/used_weapon, var/damage) - var/datum/autopsy_data/W = autopsy_data[used_weapon] - if(!W) - W = new() - W.weapon = used_weapon - autopsy_data[used_weapon] = W - - W.hits += 1 - W.damage += damage - W.time_inflicted = world.time +/**************************************************** + ORGAN DEFINES +****************************************************/ /datum/organ/external/chest name = "chest" @@ -602,37 +526,6 @@ min_broken_damage = 70 body_part = LOWER_TORSO -/datum/organ/external/head - name = "head" - icon_name = "head" - display_name = "head" - max_damage = 75 - min_broken_damage = 40 - body_part = HEAD - var/disfigured = 0 - - take_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list()) - ..(brute, burn, sharp, used_weapon, forbidden_limbs) - if (!disfigured) - if (brute_dam > 40) - if (prob(50)) - disfigure("brute") - if (burn_dam > 40) - disfigure("burn") - - proc/disfigure(var/type = "brute") - if (disfigured) - return - if(type == "brute") - owner.visible_message("\red You hear a sickening cracking sound coming from \the [owner]'s face.", \ - "\red Your face becomes unrecognizible mangled mess!", \ - "\red You hear a sickening crack.") - else - owner.visible_message("\red [owner]'s face melts away, turning into mangled mess!", \ - "\red Your face melts off!", \ - "\red You hear a sickening sizzle.") - disfigured = 1 - /datum/organ/external/l_arm name = "l_arm" display_name = "left arm" @@ -701,6 +594,37 @@ min_broken_damage = 15 body_part = HAND_LEFT +/datum/organ/external/head + name = "head" + icon_name = "head" + display_name = "head" + max_damage = 75 + min_broken_damage = 40 + body_part = HEAD + var/disfigured = 0 + + take_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list()) + ..(brute, burn, sharp, used_weapon, forbidden_limbs) + if (!disfigured) + if (brute_dam > 40) + if (prob(50)) + disfigure("brute") + if (burn_dam > 40) + disfigure("burn") + + proc/disfigure(var/type = "brute") + if (disfigured) + return + if(type == "brute") + owner.visible_message("\red You hear a sickening cracking sound coming from \the [owner]'s face.", \ + "\red Your face becomes unrecognizible mangled mess!", \ + "\red You hear a sickening crack.") + else + owner.visible_message("\red [owner]'s face melts away, turning into mangled mess!", \ + "\red Your face melts off!", \ + "\red You hear a sickening sizzle.") + disfigured = 1 + /**************************************************** EXTERNAL ORGAN ITEMS ****************************************************/ @@ -708,18 +632,6 @@ obj/item/weapon/organ icon = 'icons/mob/human_races/r_human.dmi' -/* -//Damage will not exceed max_damage using this proc -//Cannot apply negative damage -/datum/organ/external/proc/take_damage(brute, burn) - if(owner && (owner.status_flags & GODMODE)) return 0 //godmode - brute = max(brute,0) - burn = max(burn,0) - - var/can_inflict = max_damage - (brute_dam + burn_dam) - if(!can_inflict) return 0 -*/ - obj/item/weapon/organ/New(loc, mob/living/carbon/human/H) ..(loc) if(!istype(H)) @@ -729,25 +641,82 @@ obj/item/weapon/organ/New(loc, mob/living/carbon/human/H) blood_DNA = list() blood_DNA[H.dna.unique_enzymes] = H.dna.b_type + //Forming icon for the limb + + //Setting base icon for this mob's race + if(ishuman(H) && H.dna) + var/icon/base + switch(H.dna.mutantrace) + if("tajaran") + base = new('icons/mob/human_races/r_tajaran.dmi') + if("lizard") + base = new('icons/mob/human_races/r_lizard.dmi') + if("skrell") + base = new('icons/mob/human_races/r_skrell.dmi') + else + base = new('icons/mob/human_races/r_human.dmi') + if(base) + icon = base.MakeLying() + else + icon_state = initial(icon_state)+"_l" + var/icon/I = new /icon(icon, icon_state) + //Changing limb's skin tone to match owner if (H.s_tone >= 0) I.Blend(rgb(H.s_tone, H.s_tone, H.s_tone), ICON_ADD) else I.Blend(rgb(-H.s_tone, -H.s_tone, -H.s_tone), ICON_SUBTRACT) icon = I + +obj/item/weapon/organ/l_arm + name = "left arm" + icon_state = "l_arm" +obj/item/weapon/organ/l_foot + name = "left foot" + icon_state = "l_foot" +obj/item/weapon/organ/l_hand + name = "left hand" + icon_state = "l_hand" +obj/item/weapon/organ/l_leg + name = "left leg" + icon_state = "l_leg" +obj/item/weapon/organ/r_arm + name = "right arm" + icon_state = "r_arm" +obj/item/weapon/organ/r_foot + name = "right foot" + icon_state = "r_foot" +obj/item/weapon/organ/r_hand + name = "right hand" + icon_state = "r_hand" +obj/item/weapon/organ/r_leg + name = "right leg" + icon_state = "r_leg" obj/item/weapon/organ/head name = "head" icon_state = "head_m" var/mob/living/carbon/brain/brainmob var/brain_op_stage = 0 -obj/item/weapon/organ/head/New() +obj/item/weapon/organ/head/New(loc, mob/living/carbon/human/H) ..() spawn(5) if(brainmob && brainmob.client) brainmob.client.screen.len = null //clear the hud + if(ishuman(H)) + if(H.gender == FEMALE) + H.icon_state = "head_f" + H.overlays += H.generate_head_icon() + transfer_identity(H) + pixel_x = -10 + pixel_y = 6 + name = "[H.real_name]'s head" + + H.regenerate_icons() + + H.death() obj/item/weapon/organ/head/proc/transfer_identity(var/mob/living/carbon/human/H)//Same deal as the regular brain proc. Used for human-->head brainmob = new(src) @@ -806,28 +775,3 @@ obj/item/weapon/organ/head/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() else ..() - -obj/item/weapon/organ/l_arm - name = "left arm" - icon_state = "l_arm" -obj/item/weapon/organ/l_foot - name = "left foot" - icon_state = "l_foot" -obj/item/weapon/organ/l_hand - name = "left hand" - icon_state = "l_hand" -obj/item/weapon/organ/l_leg - name = "left leg" - icon_state = "l_leg" -obj/item/weapon/organ/r_arm - name = "right arm" - icon_state = "r_arm" -obj/item/weapon/organ/r_foot - name = "right foot" - icon_state = "r_foot" -obj/item/weapon/organ/r_hand - name = "right hand" - icon_state = "r_hand" -obj/item/weapon/organ/r_leg - name = "right leg" - icon_state = "r_leg" diff --git a/code/datums/organs/wound.dm b/code/datums/organs/wound.dm index c9ef227c904..b90ddfca81a 100644 --- a/code/datums/organs/wound.dm +++ b/code/datums/organs/wound.dm @@ -131,31 +131,31 @@ return (!(bandaged||clamped) && (damage_type == BRUISE && damage >= 20 || damage_type == CUT) && current_stage <= max_bleeding_stage && !src.internal) /** CUTS **/ -/datum/wound/cut +/datum/wound/cut/small // link wound descriptions to amounts of damage max_bleeding_stage = 2 stages = list("ugly ripped cut" = 20, "ripped cut" = 10, "cut" = 5, "healing cut" = 2, "small scab" = 0) -/datum/wound/deep_cut +/datum/wound/cut/deep max_bleeding_stage = 3 stages = list("ugly deep ripped cut" = 25, "deep ripped cut" = 20, "deep cut" = 15, "clotted cut" = 8, "scab" = 2, "fresh skin" = 0) -/datum/wound/flesh_wound +/datum/wound/cut/flesh max_bleeding_stage = 3 stages = list("ugly ripped flesh wound" = 35, "ugly flesh wound" = 30, "flesh wound" = 25, "blood soaked clot" = 15, "large scab" = 5, "fresh skin" = 0) -/datum/wound/gaping_wound +/datum/wound/cut/gaping max_bleeding_stage = 2 stages = list("gaping wound" = 50, "large blood soaked clot" = 25, "large clot" = 15, "small angry scar" = 5, \ "small straight scar" = 0) -/datum/wound/big_gaping_wound +/datum/wound/cut/gaping_big max_bleeding_stage = 2 stages = list("big gaping wound" = 60, "healing gaping wound" = 40, "large angry scar" = 10, "large straight scar" = 0) needs_treatment = 1 // this only heals when bandaged -/datum/wound/massive_wound +datum/wound/cut/massive max_bleeding_stage = 2 stages = list("massive wound" = 70, "massive healing wound" = 50, "massive angry scar" = 10, "massive jagged scar" = 0) @@ -169,50 +169,51 @@ needs_treatment = 1 // this only heals when bandaged damage_type = BRUISE -/datum/wound/bruise/monumental_bruise +/datum/wound/bruise/monumental // implement sub-paths by starting at a later stage -/datum/wound/bruise/huge_bruise - current_stage = 1 -/datum/wound/bruise/large_bruise - current_stage = 2 - -/datum/wound/bruise/moderate_bruise - current_stage = 3 - needs_treatment = 0 - -/datum/wound/bruise/small_bruise - current_stage = 4 - needs_treatment = 0 - -/datum/wound/bruise/tiny_bruise +/datum/wound/bruise/tiny current_stage = 5 needs_treatment = 0 +/datum/wound/bruise/small + current_stage = 4 + needs_treatment = 0 + +/datum/wound/bruise/moderate + current_stage = 3 + needs_treatment = 0 + +/datum/wound/bruise/large + current_stage = 2 + +/datum/wound/bruise/huge + current_stage = 1 + /** BURNS **/ -/datum/wound/moderate_burn +/datum/wound/burn/moderate stages = list("ripped burn" = 10, "moderate burn" = 5, "moderate salved burn" = 2, "fresh skin" = 0) needs_treatment = 1 // this only heals when bandaged damage_type = BURN -/datum/wound/large_burn +/datum/wound/burn/large stages = list("ripped large burn" = 20, "large burn" = 15, "large salved burn" = 5, "fresh skin" = 0) needs_treatment = 1 // this only heals when bandaged damage_type = BURN -/datum/wound/severe_burn +/datum/wound/burn/severe stages = list("ripped severe burn" = 35, "severe burn" = 30, "severe salved burn" = 10, "burn scar" = 0) needs_treatment = 1 // this only heals when bandaged damage_type = BURN -/datum/wound/deep_burn +/datum/wound/burn/deep stages = list("ripped deep burn" = 45, "deep burn" = 40, "deep salved burn" = 15, "large burn scar" = 0) needs_treatment = 1 // this only heals when bandaged @@ -220,7 +221,7 @@ damage_type = BURN -/datum/wound/carbonised_area +/datum/wound/burn/carbonised stages = list("carbonised area" = 50, "treated carbonised area" = 20, "massive burn scar" = 0) needs_treatment = 1 // this only heals when bandaged diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index f948f769061..94b9c03811f 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -64,8 +64,8 @@ Whitespace:Seperator; Implants; /obj/item/weapon/storage/box/syndie_kit/imp_freedom:3:Freedom Implant; /obj/item/weapon/storage/box/syndie_kit/imp_uplink:10:Uplink Implant (Contains 5 Telecrystals); -/obj/item/weapon/implant/explosive:6:Explosive Implant (DANGER!); -/obj/item/weapon/implant/compressed:4:Compressed Matter Implant;Whitespace:Seperator; +/obj/item/weapon/storage/box/syndie_kit/imp_explosive:6:Explosive Implant (DANGER!); +/obj/item/weapon/storage/box/syndie_kit/imp_compress:4:Compressed Matter Implant;Whitespace:Seperator; (Pointless) Badassery; /obj/item/toy/syndicateballoon:10:For showing that You Are The BOSS (Useless Balloon);"} diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 895c579b1f7..020fb720922 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -294,6 +294,6 @@ // Tell them about people they might want to contact. var/mob/living/carbon/human/M = get_nt_opposed() - if(M != traitor_mob) + if(M && M != traitor_mob) traitor_mob << "We have received credible reports that [M.real_name] might be willing to help our cause. If you need assistance, consider contacting them." traitor_mob.mind.store_memory("Potential Collaborator: [M.real_name]") \ No newline at end of file diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 5d6aa3823ff..8db6aa50b73 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -910,7 +910,7 @@ About the new airlock wires panel: /obj/machinery/door/airlock/Topic(href, href_list, var/nowindow = 0) if(!nowindow) ..() - if(usr.stat || usr.restrained()) + if(usr.stat || usr.restrained()|| usr.small) return add_fingerprint(usr) if(href_list["close"]) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 9405732d940..f8c71f4decf 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -47,7 +47,7 @@ var/mob/M = AM if(world.time - M.last_bumped <= 10) return //Can bump-open one airlock per second. This is to prevent shock spam. M.last_bumped = world.time - if(!M.restrained()) + if(!M.restrained() && !M.small) bumpopen(M) return diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 46b7a8b4f36..3d97d7eb7cd 100755 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -914,7 +914,7 @@ var/global/list/obj/item/device/pda/PDAs = list() user.show_message("\blue Localized Damage, Brute/Burn:",1) if(length(damaged)>0) for(var/datum/organ/external/org in damaged) - user.show_message(text("\blue \t []: []\blue-[]",capitalize(org.getDisplayName()),(org.brute_dam > 0)?"\red [org.brute_dam]":0,(org.burn_dam > 0)?"\red [org.burn_dam]":0),1) + user.show_message(text("\blue \t []: []\blue-[]",capitalize(org.display_name),(org.brute_dam > 0)?"\red [org.brute_dam]":0,(org.burn_dam > 0)?"\red [org.burn_dam]":0),1) else user.show_message("\blue \t Limbs are OK.",1) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index a0f4f202d90..6d8a77549f2 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -112,7 +112,7 @@ MASS SPECTROMETER if(length(damaged)>0) for(var/datum/organ/external/org in damaged) user.show_message(text("\blue \t []: [][]\blue - []", \ - capitalize(org.getDisplayName()), \ + capitalize(org.display_name), \ (org.brute_dam > 0) ? "\red [org.brute_dam]" :0, \ (org.status & ORGAN_BLEEDING)?"\red \[Bleeding\]":"\t", \ (org.burn_dam > 0) ? "[org.burn_dam]" :0),1) @@ -146,7 +146,7 @@ MASS SPECTROMETER var/mob/living/carbon/human/H = M for(var/name in H.organs_by_name) var/datum/organ/external/e = H.organs_by_name[name] - var/limb = e.getDisplayName() + var/limb = e.display_name if(e.status & ORGAN_BROKEN) if(((e.name == "l_arm") || (e.name == "r_arm") || (e.name == "l_leg") || (e.name == "r_leg")) && (!(e.status & ORGAN_SPLINTED))) user << "\red Unsecured fracture in subject [limb]. Splinting recommended for transport." @@ -328,4 +328,4 @@ MASS SPECTROMETER name = "advanced mass-spectrometer" icon_state = "adv_spectrometer" details = 1 - origin_tech = "magnets=4;biotech=2" + origin_tech = "magnets=4;biotech=2" diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 3c66e61d80a..d79a76507a5 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -48,7 +48,7 @@ if (W.current_stage <= W.max_bleeding_stage) user.visible_message( "\blue [user] bandages [W.desc] on [M]'s [affecting.display_name].", \ "\blue You bandage [W.desc] on [M]'s [affecting.display_name]." ) - H.add_side_effect("Itch") + //H.add_side_effect("Itch") else if (istype(W,/datum/wound/bruise)) user.visible_message( "\blue [user] places bruise patch over [W.desc] on [M]'s [affecting.display_name].", \ "\blue You place bruise patch over [W.desc] on [M]'s [affecting.display_name]." ) diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index deddad910b2..c123ebde2bb 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -440,7 +440,10 @@ the implant may become unstable and either pre-maturely inject the subject or si activate() var/turf/t = get_turf(src) - src.scanned.loc = t + if (imp_in) + imp_in.put_in_hands(scanned) + else + scanned.loc = t del src implanted(mob/source as mob) diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm index ae21beff2d4..785997a3db8 100644 --- a/code/game/objects/items/weapons/implants/implanter.dm +++ b/code/game/objects/items/weapons/implants/implanter.dm @@ -83,7 +83,7 @@ /obj/item/weapon/implanter/compressed name = "implanter (C)" - icon_state = "cimplanter0" + icon_state = "cimplanter1" /obj/item/weapon/implanter/compressed/New() imp = new /obj/item/weapon/implant/compressed( src ) @@ -95,11 +95,11 @@ if (imp) var/obj/item/weapon/implant/compressed/c = imp if(!c.scanned) - icon_state = "cimplanter0" - else icon_state = "cimplanter1" + else + icon_state = "cimplanter2" else - icon_state = "cimplanter2" + icon_state = "cimplanter0" return /obj/item/weapon/implanter/compressed/attack(mob/M as mob, mob/user as mob) diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 3653d1322e9..646fc4d244c 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -83,24 +83,21 @@ O.update() return -/*/obj/item/weapon/storage/box/syndie_kit/imp_compress - name = "Compressed Matter Implant (with injector)" +/obj/item/weapon/storage/box/syndie_kit/imp_compress + name = "box (C)" -/obj/item/weapon/storage/syndie_kit/imp_compress/New() +/obj/item/weapon/storage/box/syndie_kit/imp_compress/New() new /obj/item/weapon/implanter/compressed(src) ..() return -/obj/item/weapon/storage/syndie_kit/imp_explosive - name = "Explosive Implant (with injector)" +/obj/item/weapon/storage/box/syndie_kit/imp_explosive + name = "box (E)" -/obj/item/weapon/storage/syndie_kit/imp_explosive/New() - var/obj/item/weapon/implanter/O = new /obj/item/weapon/implanter(src) - O.imp = new /obj/item/weapon/implant/explosive(O) - O.name = "(BIO-HAZARD) BIO-detpack" - O.update() +/obj/item/weapon/storage/box/syndie_kit/imp_explosive/New() + new /obj/item/weapon/implanter/explosive(src) ..() - return*/ + return /obj/item/weapon/storage/box/syndie_kit/imp_uplink name = "Uplink Implant (with injector)" diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 4e3d77bedbb..6b43ee2d442 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -111,8 +111,8 @@ force = 5 w_class = 4.0 slot_flags = SLOT_BACK - force_unwielded = 5 - force_wielded = 18 + force_unwielded = 10 + force_wielded = 40 attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") /obj/item/weapon/twohanded/fireaxe/update_icon() //Currently only here to fuck with the on-mob icons. diff --git a/code/global.dm b/code/global.dm index c7b2404e0ab..3a81f7bac43 100644 --- a/code/global.dm +++ b/code/global.dm @@ -103,6 +103,7 @@ var/list/shuttles = list( ) var/list/reg_dna = list( ) // list/traitobj = list( ) +var/mouse_respawn_time = 5 //Amount of time that must pass between a player dying as a mouse and repawning as a mouse. In minutes. var/CELLRATE = 0.002 // multiplier for watts per tick <> cell storage (eg: .002 means if there is a load of 1000 watts, 20 units will be taken from a cell per second) var/CHARGELEVEL = 0.001 // Cap for how fast cells charge, as a percentage-per-tick (.001 means cellcharge is capped to 1% per second) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 67f32a7188c..ca49eea8ae6 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -641,7 +641,7 @@ var/list/admin_verbs_mod = list( if(!istype(M, /mob/living/carbon/human)) usr << "\red You can only do this to humans!" return - switch(alert("Are you sure you wish to edit this mob's appearance? Skrell, Soghun and Tajaran can result in unintended consequences.",,"Yes","No")) + switch(alert("Are you sure you wish to edit this mob's appearance? Skrell, Unathi and Tajaran can result in unintended consequences.",,"Yes","No")) if("No") return var/new_facial = input("Please select facial hair color.", "Character Generation") as color diff --git a/code/modules/client/client defines.dm b/code/modules/client/client defines.dm index 2675436c33a..2c69b9957ef 100644 --- a/code/modules/client/client defines.dm +++ b/code/modules/client/client defines.dm @@ -16,6 +16,7 @@ var/moving = null var/adminobs = null var/area = null + var/time_died_as_mouse = null //when the client last died as a mouse /////////////// diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 9955cee8092..8a21fc6b6ce 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -768,8 +768,8 @@ datum/preferences var/prev_species = species var/whitelisted = 0 if(config.usealienwhitelist) //If we're using the whitelist, make sure to check it! - if(is_alien_whitelisted(user, "Soghun")) //Check for Soghun and admins - new_species += "Soghun" + if(is_alien_whitelisted(user, "Soghun")) //Check for Unathi and admins + new_species += "Unathi" whitelisted = 1 if(is_alien_whitelisted(user, "Tajaran")) //Check for Tajaran and admins new_species += "Tajaran" @@ -782,7 +782,7 @@ datum/preferences alert(user, "You cannot change your species as you need to be whitelisted. If you wish to be whitelisted contact an admin in-game, on the forums, or on IRC.") else //Not using the whitelist? Aliens for everyone! new_species += "Tajaran" - new_species += "Soghun" + new_species += "Unathi" new_species += "Skrell" species = input("Please select a species", "Character Generation", null) in new_species @@ -843,7 +843,7 @@ datum/preferences b_type = new_b_type if("hair") - if(species == "Human" || species == "Soghun") + if(species == "Human" || species == "Unathi") var/new_hair = input(user, "Choose your character's hair colour:", "Character Preference") as color|null if(new_hair) r_hair = hex2num(copytext(new_hair, 2, 4)) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 5727e7b671e..f60a5409da9 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -151,6 +151,7 @@ metadata = sanitize_text(metadata, initial(metadata)) real_name = reject_bad_name(real_name) if(isnull(species)) species = "Human" + if(isnull(nanotrasen_relation)) nanotrasen_relation = initial(nanotrasen_relation) if(!real_name) real_name = random_name() be_random_name = sanitize_integer(be_random_name, 0, 1, initial(be_random_name)) gender = sanitize_gender(gender) diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm index efecebf2c6c..b9ab877f59f 100644 --- a/code/modules/clothing/spacesuits/alien.dm +++ b/code/modules/clothing/spacesuits/alien.dm @@ -1,19 +1,23 @@ -/obj/item/clothing/head/helmet/space/helmet_soghun_cheap +/obj/item/clothing/head/helmet/space/unathi + + var/up = 0 //So Unathi helmets play nicely with the weldervision check. + +/obj/item/clothing/head/helmet/space/unathi/helmet_cheap name = "NT breacher helmet" - desc = "Hey! Watch it with that thing! It's a knock-off of a soghun battle-helm, and that spike could put someone's eye out." - icon_state = "sog_helm_cheap" - item_state = "sog_helm_cheap" - color = "sog_helm_cheap" + desc = "Hey! Watch it with that thing! It's a knock-off of a Unathi battle-helm, and that spike could put someone's eye out." + icon_state = "unathi_helm_cheap" + item_state = "unathi_helm_cheap" + color = "unathi_helm_cheap" armor = list(melee = 40, bullet = 30, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50) heat_protection = HEAD max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE -/obj/item/clothing/suit/space/rig_soghun_cheap +/obj/item/clothing/suit/space/unathi/rig_cheap name = "NT breacher chassis" - desc = "A cheap NT knock-off of a soghun battle-rig. Looks like a fish, moves like a fish, steers like a cow." - icon_state = "rig-soghun-cheap" - item_state = "rig-soghun-cheap" - slowdown = 2 + desc = "A cheap NT knock-off of a Unathi battle-rig. Looks like a fish, moves like a fish, steers like a cow." + icon_state = "rig-unathi-cheap" + item_state = "rig-unathi-cheap" + slowdown = 3 armor = list(melee = 40, bullet = 30, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd) heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS diff --git a/code/modules/clothing/suits/alien.dm b/code/modules/clothing/suits/alien.dm new file mode 100644 index 00000000000..5b664f21b35 --- /dev/null +++ b/code/modules/clothing/suits/alien.dm @@ -0,0 +1,15 @@ +//Unathi clothing. + +/obj/item/clothing/suit/unathi/robe + name = "roughspun robes" + desc = "A traditional Unathi garment." + icon_state = "robe-unathi" + item_state = "robe-unathi" + body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS + +/obj/item/clothing/suit/unathi/mantle + name = "hide mantle" + desc = "A rather grisly selection of cured hides and skin, sewn together to form a ragged mantle." + icon_state = "mantle-unathi" + item_state = "mantle-unathi" + body_parts_covered = UPPER_TORSO \ No newline at end of file diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index d8b3b9b92ca..4b4dac419d9 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -263,6 +263,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set name = "Become mouse" set category = "Ghost" + var/timedifference = world.time - client.time_died_as_mouse + if(client.time_died_as_mouse && timedifference <= mouse_respawn_time * 600) + var/timedifference_text + timedifference_text = time2text(mouse_respawn_time * 600 - timedifference,"mm:ss") + src << "You may only spawn again as a mouse more than [mouse_respawn_time] minutes after your death. You have [timedifference_text] left." + return + //find a viable mouse candidate var/mob/living/simple_animal/mouse/host var/obj/machinery/atmospherics/unary/vent_pump/vent_found diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 8f8fe88145a..7eca9638fc5 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -188,7 +188,7 @@ status = "MISSING!" if(status == "") status = "OK" - src.show_message(text("\t []My [] is [].",status=="OK"?"\blue ":"\red ",org.getDisplayName(),status),1) + src.show_message(text("\t []My [] is [].",status=="OK"?"\blue ":"\red ",org.display_name,status),1) if((SKELETON in H.mutations) && (!H.w_uniform) && (!H.wear_suit)) H.play_xylophone() else diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 24c03f57445..1fa82e5778d 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -461,6 +461,7 @@ It can still be worn/put on as normal. */ /obj/effect/equip_e/human/done() //TODO: And rewrite this :< ~Carn target.cpr_time = 1 + if(isanimal(source)) return //animals cannot strip people if(!source || !target) return //Target or source no longer exist if(source.loc != s_loc) return //source has moved if(target.loc != t_loc) return //target has moved diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 8b238f6ee91..d24f835153f 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1402,7 +1402,7 @@ var/const/BLOOD_VOLUME_SURVIVE = 122 var/masked = 0 - if( istype(head, /obj/item/clothing/head/welding) ) + if( istype(head, /obj/item/clothing/head/welding) || istype(head, /obj/item/clothing/head/helmet/space/unathi)) var/obj/item/clothing/head/welding/O = head if(!O.up && tinted_weldhelh) client.screen += global_hud.darkMask diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 9cf18615f98..478416aae1c 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -789,7 +789,7 @@ proc/get_damage_icon_part(damage_state, body_part) if(!wear_suit || !(wear_suit.flags_inv & HIDEJUMPSUIT) && !istype(wear_suit, /obj/item/clothing/suit/space)) overlays_lying[TAIL_LAYER] = image("icon" = 'icons/effects/species.dmi', "icon_state" = "tajtail_l") overlays_standing[TAIL_LAYER] = image("icon" = 'icons/effects/species.dmi', "icon_state" = "tajtail_s") - else if( cur_species == "Soghun") + else if( cur_species == "Unathi") if(!wear_suit || !(wear_suit.flags_inv & HIDEJUMPSUIT) && !istype(wear_suit, /obj/item/clothing/suit/space)) overlays_lying[TAIL_LAYER] = image("icon" = 'icons/effects/species.dmi', "icon_state" = "sogtail_l") overlays_standing[TAIL_LAYER] = image("icon" = 'icons/effects/species.dmi', "icon_state" = "sogtail_s") diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm index 418e4b68582..98ab4560a3a 100644 --- a/code/modules/mob/living/simple_animal/friendly/crab.dm +++ b/code/modules/mob/living/simple_animal/friendly/crab.dm @@ -5,6 +5,7 @@ icon_state = "crab" icon_living = "crab" icon_dead = "crab_dead" + small = 1 speak_emote = list("clicks") emote_hear = list("clicks") emote_see = list("clacks") diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 4db364cb5a6..52f241c8681 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -167,6 +167,7 @@ health = 1 var/amount_grown = 0 pass_flags = PASSTABLE | PASSGRILLE + small = 1 /mob/living/simple_animal/chick/New() ..() @@ -208,6 +209,7 @@ var/global/chicken_count = 0 var/eggsleft = 0 var/color pass_flags = PASSTABLE + small = 1 /mob/living/simple_animal/chicken/New() ..() diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm index 4a235c30fa7..171e96fc62b 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm @@ -5,6 +5,7 @@ icon_state = "lizard" icon_living = "lizard" icon_dead = "lizard-dead" + small = 1 speak_emote = list("hisses") health = 5 maxHealth = 5 diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 837b7e24903..379ab571347 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -10,6 +10,7 @@ emote_hear = list("squeeks","squeaks","squiks") emote_see = list("runs in a circle", "shakes", "scritches at something") pass_flags = PASSTABLE + small = 1 speak_chance = 1 turns_per_move = 5 see_in_dark = 6 @@ -48,6 +49,8 @@ src.stat = DEAD src.icon_dead = "mouse_[color]_splat" src.icon_state = "mouse_[color]_splat" + if(client) + client.time_died_as_mouse = world.time //copy paste from alien/larva, if that func is updated please update this one also /mob/living/simple_animal/mouse/verb/ventcrawl() @@ -84,9 +87,11 @@ if(loc==startloc) var/obj/target_vent = vents[selection_position] if(target_vent) + /* for(var/mob/O in oviewers(src, null)) if ((O.client && !( O.blinded ))) O.show_message(text("[src] scrambles into the ventillation ducts!"), 1) + */ loc = target_vent.loc else src << "\blue You need to remain still while entering a vent." @@ -107,15 +112,19 @@ if (layer != TURF_LAYER+0.2) layer = TURF_LAYER+0.2 src << text("\blue You are now hiding.") + /* for(var/mob/O in oviewers(src, null)) if ((O.client && !( O.blinded ))) O << text("[] scurries to the ground!", src) + */ else layer = MOB_LAYER src << text("\blue You have stopped hiding.") + /* for(var/mob/O in oviewers(src, null)) if ((O.client && !( O.blinded ))) O << text("[] slowly peaks up from the ground...", src) + */ //make mice fit under tables etc? this was hacky, and not working /* @@ -152,6 +161,11 @@ M << 'sound/effects/mousesqueek.ogg' ..() +/mob/living/simple_animal/mouse/Die() + if(client) + client.time_died_as_mouse = world.time + ..() + /* * Mouse types */ diff --git a/code/modules/mob/living/simple_animal/friendly/mushroom.dm b/code/modules/mob/living/simple_animal/friendly/mushroom.dm index 736aeeed6be..ef2eb6cd61e 100644 --- a/code/modules/mob/living/simple_animal/friendly/mushroom.dm +++ b/code/modules/mob/living/simple_animal/friendly/mushroom.dm @@ -4,6 +4,7 @@ icon_state = "mushroom" icon_living = "mushroom" icon_dead = "mushroom_dead" + small = 1 speak_chance = 0 turns_per_move = 1 maxHealth = 5 diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 97cf632cf04..b8c5d4150bd 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -8,7 +8,7 @@ var/projectiletype var/projectilesound var/casingtype - var/move_to_delay = 2 //delay for the automated movement. + var/move_to_delay = 4 //delay for the automated movement. var/list/friends = list() var/break_stuff_probability = 10 stop_automated_movement_when_pulled = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm index dd50f3aef6c..f97e0eb8c28 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm @@ -19,7 +19,7 @@ stop_automated_movement_when_pulled = 0 health = 300 maxHealth = 300 - speed = 4 + speed = 8 projectiletype = /obj/item/projectile/beam/drone projectilesound = 'sound/weapons/laser3.ogg' destroy_surroundings = 0 @@ -35,11 +35,16 @@ var/disabled = 0 var/exploding = 0 + //Drones aren't affected by atmos. min_oxy = 0 + max_oxy = 0 + min_tox = 0 max_tox = 0 + min_co2 = 0 max_co2 = 0 + min_n2 = 0 + max_n2 = 0 minbodytemp = 0 - maxbodytemp = 600 var/has_loot = 1 faction = "malf_drone" diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 931c88587fd..756d49bbf21 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -33,6 +33,7 @@ icon_living = "parrot_fly" icon_dead = "parrot_dead" pass_flags = PASSTABLE + small = 1 speak = list("Hi","Hello!","Cracker?","BAWWWWK george mellons griffing me") speak_emote = list("squawks","says","yells") diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 3601ab3547a..4c29fff323f 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -446,7 +446,7 @@ /mob/living/simple_animal/proc/SA_attackable(target_mob) if (isliving(target_mob)) var/mob/living/L = target_mob - if(!L.stat || L.health <= 0) + if(!L.stat && L.health >= 0) return (0) if (istype(target_mob,/obj/mecha)) var/obj/mecha/M = target_mob diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index f85f989a9e3..f8960a586db 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -79,6 +79,7 @@ var/eye_stat = null//Living, potentially Carbon var/lastpuke = 0 var/unacidable = 0 + var/small = 0 var/name_archive //For admin things like possession diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 18b317cb4fb..29b2bfeac3c 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -134,7 +134,7 @@ proc/hasorgans(A) zone = "head" if("mouth") zone = "head" - if("l_hand") +/* if("l_hand") zone = "l_arm" if("r_hand") zone = "r_arm" @@ -144,6 +144,7 @@ proc/hasorgans(A) zone = "r_leg" if("groin") zone = "chest" +*/ return zone @@ -171,7 +172,7 @@ proc/hasorgans(A) // you can only miss if your target is standing and not restrained if(!target.buckled && !target.lying) - var/miss_chance = max(10 + miss_chance_mod, 0) + var/miss_chance = 10 switch(zone) if("head") miss_chance = 40 @@ -191,6 +192,7 @@ proc/hasorgans(A) miss_chance = 50 if("r_foot") miss_chance = 50 + miss_chance = max(miss_chance + miss_chance_mod, 0) if(prob(miss_chance)) if(prob(70)) return null diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index a967ed8b59a..4597b038e82 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -338,7 +338,7 @@ if(is_alien_whitelisted(src, "Tajaran") || !config.usealienwhitelist) new_character.dna.mutantrace = "tajaran" new_character.tajaran_talk_understand = 1 - if(client.prefs.species == "Soghun") + if(client.prefs.species == "Unathi") if(is_alien_whitelisted(src, "Soghun") || !config.usealienwhitelist) new_character.dna.mutantrace = "lizard" new_character.soghun_talk_understand = 1 diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 2523e10ceec..b7b8c32393e 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -138,7 +138,7 @@ datum/preferences if(species == "Tajaran") preview_icon = new /icon('icons/effects/species.dmi', "tajaran_[g]_s") preview_icon.Blend(new /icon('icons/effects/species.dmi', "tajtail_s"), ICON_OVERLAY) - else if(species == "Soghun") + else if(species == "Unathi") preview_icon = new /icon('icons/effects/species.dmi', "lizard_[g]_s") preview_icon.Blend(new /icon('icons/effects/species.dmi', "sogtail_s"), ICON_OVERLAY) else if(species == "Skrell") diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index 2be45074837..38d1d9cdf90 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -48,7 +48,7 @@ name = "Bald" icon_state = "bald" gender = MALE - species_allowed = list("Human","Soghun") + species_allowed = list("Human","Unathi") short name = "Short Hair" // try to capatilize the names please~ @@ -119,7 +119,7 @@ name = "Pompadour" icon_state = "hair_pompadour" gender = MALE - species_allowed = list("Human","Soghun") + species_allowed = list("Human","Unathi") quiff name = "Quiff" @@ -142,19 +142,19 @@ name = "Beehive" icon_state = "hair_beehive" gender = FEMALE - species_allowed = list("Human","Soghun") + species_allowed = list("Human","Unathi") bobcurl name = "Bobcurl" icon_state = "hair_bobcurl" gender = FEMALE - species_allowed = list("Human","Soghun") + species_allowed = list("Human","Unathi") bob name = "Bob" icon_state = "hair_bobcut" gender = FEMALE - species_allowed = list("Human","Soghun") + species_allowed = list("Human","Unathi") bowl name = "Bowl" @@ -165,7 +165,7 @@ name = "Buzzcut" icon_state = "hair_buzzcut" gender = MALE - species_allowed = list("Human","Soghun") + species_allowed = list("Human","Unathi") crew name = "Crewcut" @@ -227,7 +227,7 @@ mohawk name = "Mohawk" icon_state = "hair_d" - species_allowed = list("Human","Soghun") + species_allowed = list("Human","Unathi") jensen name = "Adam Jensen Hair" icon_state = "hair_jensen" @@ -241,7 +241,7 @@ spiky name = "Spiky" icon_state = "hair_spikey" - species_allowed = list("Human","Soghun") + species_allowed = list("Human","Unathi") kusangi name = "Kusanagi Hair" icon_state = "hair_kusanagi" @@ -306,7 +306,7 @@ name = "Shaved" icon_state = "bald" gender = NEUTER - species_allowed = list("Human","Soghun","Tajaran","Skrell") + species_allowed = list("Human","Unathi","Tajaran","Skrell") watson name = "Watson Mustache" @@ -347,7 +347,7 @@ elvis name = "Elvis Sideburns" icon_state = "facial_elvis" - species_allowed = list("Human","Soghun") + species_allowed = list("Human","Unathi") abe name = "Abraham Lincoln Beard" @@ -521,11 +521,11 @@ icon = 'icons/mob/human_races/r_tajaran.dmi' species_allowed = list("Tajaran") - soghun - name = "Default soghun skin" + unathi + name = "Default Unathi skin" icon_state = "default" icon = 'icons/mob/human_races/r_lizard.dmi' - species_allowed = list("Soghun") + species_allowed = list("Unathi") skrell name = "Default skrell skin" diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index c7141e741d8..cabad829839 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -1,3 +1,7 @@ +#define SPEEDLOADER 0 +#define FROM_BOX 1 +#define MAGAZINE 2 + /obj/item/weapon/gun/projectile desc = "A classic revolver. Uses 357 ammo" name = "revolver" @@ -10,7 +14,7 @@ var/ammo_type = "/obj/item/ammo_casing/a357" var/list/loaded = list() var/max_shells = 7 - var/load_method = 0 //0 = Single shells or quick loader, 1 = box, 2 = magazine + var/load_method = SPEEDLOADER //0 = Single shells or quick loader, 1 = box, 2 = magazine var/obj/item/ammo_magazine/empty_mag = null @@ -45,7 +49,7 @@ var/num_loaded = 0 if(istype(A, /obj/item/ammo_magazine)) - if((load_method == 2) && loaded.len) return + if((load_method == MAGAZINE) && loaded.len) return var/obj/item/ammo_magazine/AM = A for(var/obj/item/ammo_casing/AC in AM.stored_ammo) if(loaded.len >= max_shells) @@ -55,11 +59,11 @@ AM.stored_ammo -= AC loaded += AC num_loaded++ - if(load_method == 2) + if(load_method == MAGAZINE) user.remove_from_mob(AM) empty_mag = AM empty_mag.loc = src - if(istype(A, /obj/item/ammo_casing) && !load_method) + if(istype(A, /obj/item/ammo_casing) && load_method == SPEEDLOADER) var/obj/item/ammo_casing/AC = A if(AC.caliber == caliber && loaded.len < max_shells) user.drop_item() @@ -72,6 +76,25 @@ update_icon() return +/obj/item/weapon/gun/projectile/attack_self(mob/user as mob) + if (loaded.len) + if (load_method == SPEEDLOADER) + var/obj/item/ammo_casing/AC = loaded[1] + loaded -= AC + AC.loc = get_turf(src) //Eject casing onto ground. + user << "\blue You unload shell from \the [src]!" + if (load_method == MAGAZINE) + var/obj/item/ammo_magazine/AM = empty_mag + for (var/obj/item/ammo_casing/AC in loaded) + AM.stored_ammo += AC + loaded -= AC + AM.loc = get_turf(src) + empty_mag = null + user << "\blue You unload magazine from \the [src]!" + else + user << "\red Nothing loaded in \the [src]!" + + /obj/item/weapon/gun/projectile/examine() ..() diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index cbeb12baaef..97825c60da9 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -74,37 +74,34 @@ loc = A.loc return 0// nope.avi - var/distance = get_dist(original,loc) + var/distance = get_dist(starting,loc) //Lower accurancy/longer range tradeoff. Distance matters a lot here, so at // close distance, actually RAISE the chance to hit. def_zone = get_zone_with_miss_chance(def_zone, M, -30 + 8*distance) - if(silenced) - if(def_zone) - M << "\red You've been shot in the [parse_zone(def_zone)] by the [src.name]!" + if(!def_zone) + visible_message("\blue \The [src] misses [M] narrowly!") + forcedodge = -1 else - if(!def_zone) - visible_message("\The [src] misses [M] narrowly.") - del(src) - return if(silenced) M << "\red You've been shot in the [parse_zone(def_zone)] by the [src.name]!" else visible_message("\red [A.name] is hit by the [src.name] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter - if(istype(firer, /mob)) - M.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" - firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" - log_attack("[firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src.type]") - msg_admin_attack("ATTACK: [firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src]") //BS12 EDIT ALG - else - M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a [src]" - log_attack("UNKNOWN shot [M] ([M.ckey]) with a [src.type]") - msg_admin_attack("ATTACK: UNKNOWN shot [M] ([M.ckey]) with a [src]") //BS12 EDIT ALG + if(istype(firer, /mob)) + M.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" + firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]" + log_attack("[firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src.type]") + msg_admin_attack("ATTACK: [firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src]") //BS12 EDIT ALG + else + M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a [src]" + log_attack("UNKNOWN shot [M] ([M.ckey]) with a [src.type]") + msg_admin_attack("ATTACK: UNKNOWN shot [M] ([M.ckey]) with a [src]") //BS12 EDIT ALG spawn(0) if(A) - var/permutation = A.bullet_act(src, def_zone) // searches for return value - if(permutation == -1 || forcedodge) // the bullet passes through a dense object! + if (!forcedodge) + forcedodge = A.bullet_act(src, def_zone) // searches for return value + if(forcedodge == -1) // the bullet passes through a dense object! bumped = 0 // reset bumped variable! if(istype(A, /turf)) loc = A @@ -118,7 +115,6 @@ O.bullet_act(src) for(var/mob/M in A) M.bullet_act(src, def_zone) - density = 0 invisibility = 101 del(src) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index fbd08538b86..f513c83da33 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -20,50 +20,56 @@ var/list/beam_master = list() process() var/reference = "\ref[src]" //So we do not have to recalculate it a ton var/first = 1 //So we don't make the overlay in the same tile as the firer + spawn while(src) //Move until we hit something - spawn(0) - while(!bumped) //Move until we hit something - step_towards(src, current) //Move~ + if((!( current ) || loc == current)) //If we pass our target + current = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) + if((x == 1 || x == world.maxx || y == 1 || y == world.maxy)) + del(src) //Delete if it passes the world edge + return + step_towards(src, current) //Move~ - for(var/mob/living/M in loc) - Bump(M) //Bump anyone we touch + if(kill_count < 1) + del(src) + kill_count-- - if((!( current ) || loc == current)) //If we pass our target - current = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z) + if(!bumped && !isturf(original)) + if(loc == get_turf(original)) + if(!(original in permutated)) + Bump(original) - if((x == 1 || x == world.maxx || y == 1 || y == world.maxy)) - del(src) //Delete if it passes the world edge - return + if(!first) //Add the overlay as we pass over tiles + var/target_dir = get_dir(src, current) //So we don't call this too much - if(!first) //Add the overlay as we pass over tiles - var/target_dir = get_dir(src, current) //So we don't call this too much + //If the icon has not been added yet + if( !("[icon_state][target_dir]" in beam_master) ) + var/image/I = image(icon,icon_state,10,target_dir) //Generate it. + beam_master["[icon_state][target_dir]"] = I //And cache it! - //If the icon has not been added yet - if( !("[icon_state][target_dir]" in beam_master) ) - var/image/I = image(icon,icon_state,10,target_dir) //Generate it. - beam_master["[icon_state][target_dir]"] = I //And cache it! + //Finally add the overlay + src.loc.overlays += beam_master["[icon_state][target_dir]"] - //Finally add the overlay - src.loc.overlays += beam_master["[icon_state][target_dir]"] - - //Add the turf to a list in the beam master so they can be cleaned up easily. - if(reference in beam_master) - var/list/turf_master = beam_master[reference] - if("[icon_state][target_dir]" in turf_master) - var/list/turfs = turf_master["[icon_state][target_dir]"] - turfs += loc - else - turf_master["[icon_state][target_dir]"] = list(loc) + //Add the turf to a list in the beam master so they can be cleaned up easily. + if(reference in beam_master) + var/list/turf_master = beam_master[reference] + if("[icon_state][target_dir]" in turf_master) + var/list/turfs = turf_master["[icon_state][target_dir]"] + turfs += loc else - var/list/turfs = list() - turfs["[icon_state][target_dir]"] = list(loc) - beam_master[reference] = turfs + turf_master["[icon_state][target_dir]"] = list(loc) else - first = 0 - + var/list/turfs = list() + turfs["[icon_state][target_dir]"] = list(loc) + beam_master[reference] = turfs + else + first = 0 cleanup(reference) return + Del() + cleanup("\ref[src]") + ..() + proc/cleanup(reference) //Waits .3 seconds then removes the overlay. src = null sleep(3) diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 49c6aac75d6..c20091e4c30 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -198,7 +198,10 @@ del(src) if(ismouse(M)) var/mob/living/simple_animal/mouse/N = M - N.emote("nibbles away at the [src]") + N << text("\blue You nibble away at [src].") + if(prob(50)) + N.visible_message("[N] nibbles away at [src].", "") + //N.emote("nibbles away at the [src]") N.health = min(N.health + 1, N.maxHealth) diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index 51a44003ed3..6ff62b6565b 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -136,6 +136,7 @@ MouseDrop_T(mob/target, mob/user) if (!istype(target) || target.buckled || get_dist(user, src) > 1 || get_dist(user, target) > 1 || user.stat || istype(user, /mob/living/silicon/ai)) return + if(isanimal(user) && target != user) return //animals cannot put mobs other than themselves into disposal src.add_fingerprint(user) var/target_loc = target.loc var/msg diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 132fdbf67ff..39593d05ee1 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -85,7 +85,7 @@ /datum/surgery_step/generic/retract_skin required_tool = /obj/item/weapon/retractor - allowed_tools = list(/obj/item/weapon/kitchen/utensil/fork) + allowed_tools = list(/obj/item/weapon/crowbar,/obj/item/weapon/kitchen/utensil/fork) min_duration = 30 max_duration = 40 diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index 8c0d01c06d8..3c3dd477b40 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -80,15 +80,23 @@ find_prob +=40 if (isright(tool)) find_prob +=20 - - if (prob(find_prob)) + if (prob(find_prob)) + user.visible_message("\blue [user] takes something out of incision on [target]'s [affected.display_name] with \the [tool].", \ + "\blue You take something out of incision on [target]'s [affected.display_name]s with \the [tool]." ) + affected.implants -= imp + imp.loc = get_turf(target) + imp.imp_in = null + imp.implanted = 0 + else if (affected.hidden) user.visible_message("\blue [user] takes something out of incision on [target]'s [affected.display_name] with \the [tool].", \ "\blue You take something out of incision on [target]'s [affected.display_name]s with \the [tool]." ) - var/obj/item/weapon/implant/imp = affected.implants[1] - affected.implants -= imp - imp.loc = get_turf(target) - imp.imp_in = null - imp.implanted = 0 + affected.hidden.loc = get_turf(target) + if(!affected.hidden.blood_DNA) + affected.hidden.blood_DNA = list() + affected.hidden.blood_DNA[target.dna.unique_enzymes] = target.dna.b_type + affected.hidden.update_icon() + affected.hidden = null + else user.visible_message("\blue [user] could not find anything inside [target]'s [affected.display_name], and pulls \the [tool] out.", \ "\blue You could not find anything inside [target]'s [affected.display_name]." ) @@ -107,4 +115,50 @@ user.visible_message("\red Something beeps inside [target]'s [affected.display_name]!") playsound(imp.loc, 'sound/items/countdown.ogg', 75, 1, -3) spawn(25) - imp.activate() \ No newline at end of file + imp.activate() + +////////////////////////////////////////////////////////////////// +// ITEM PLACEMENT SURGERY // +////////////////////////////////////////////////////////////////// + +/datum/surgery_step/item_place + required_tool = /obj/item + + min_duration = 80 + max_duration = 100 + var/max_size = 2 //maximum w_class of item that fits. + + can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/datum/organ/external/affected = target.get_organ(target_zone) + if (affected.name in list("chest","groin","head")) + max_size = 3 + else + max_size = 2 + return affected.open == 2 && !(affected.status & ORGAN_BLEEDING) && tool.w_class <= max_size && !affected.hidden + + begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/datum/organ/external/affected = target.get_organ(target_zone) + user.visible_message("[user] starts putting [tool] inside the incision on [target]'s [affected.display_name].", \ + "You start putting [tool] inside the incision on [target]'s [affected.display_name]." ) + target.custom_pain("The pain in your chest is living hell!",1) + ..() + + end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/datum/organ/external/chest/affected = target.get_organ(target_zone) + + user.visible_message("\blue [user] puts [tool] inside [target]'s [affected.display_name].", \ + "\blue You put [tool] inside [target]'s [affected.display_name]." ) + if (tool.w_class > max_size/2 && prob(50)) + user << "\red You tear some vessels trying to fit such big object in this cavity." + var/datum/wound/internal_bleeding/I = new (15) + affected.wounds += I + affected.owner.custom_pain("You feel something rip in your [affected.display_name]!", 1) + user.drop_item() + affected.hidden = tool + tool.loc = target + + fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) + var/datum/organ/external/chest/affected = target.get_organ(target_zone) + user.visible_message("\red [user]'s hand slips, scraping tissue inside [target]'s [affected.display_name] with \the [tool]!", \ + "\red Your hand slips, scraping tissue inside [target]'s [affected.display_name] with \the [tool]!") + affected.createwound(CUT, 20) diff --git a/html/changelog.html b/html/changelog.html index a2ac370d751..7a6ebff0b4c 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -58,6 +58,19 @@ Stuff which is in development and not yet visible to players or just code relate should be listed in the changelog upon commit though. Thanks. --> +
+

20/02/2013

+

Chinsky updated:

+ +

February 18th 2013

diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 1f8d62db91f..8f0993e8ea9 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/mask.dmi b/icons/mob/mask.dmi index cc22183397c..2d4079f37f7 100644 Binary files a/icons/mob/mask.dmi and b/icons/mob/mask.dmi differ diff --git a/icons/mob/robots.dmi b/icons/mob/robots.dmi index 3e4ac55d2de..87ec4cb246a 100644 Binary files a/icons/mob/robots.dmi and b/icons/mob/robots.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 3e1964161f7..6e9fd6de034 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 6b96c548c47..f28943162b6 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index c92c4471419..110ef9c2b54 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 0860f0d2ad8..8bcbb5b9d02 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index b0a67761b70..a8f3633eccd 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/maps/tgstation.2.1.0.0.1.dmm b/maps/tgstation.2.1.0.0.1.dmm index 78a09b3cadd..952f0c05287 100644 --- a/maps/tgstation.2.1.0.0.1.dmm +++ b/maps/tgstation.2.1.0.0.1.dmm @@ -811,7 +811,7 @@ "apE" = (/obj/machinery/computer/med_data,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) "apF" = (/obj/machinery/hologram/holopad,/obj/machinery/newscaster{pixel_x = -28; pixel_y = 1},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "apG" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"apH" = (/obj/structure/stool/bed/chair/comfy/black,/obj/effect/landmark/start{name = "Lawyer"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) +"apH" = (/obj/item/clothing/gloves/rainbow,/obj/item/clothing/shoes/rainbow,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/clothing/head/soft/rainbow,/obj/item/clothing/under/rainbow,/turf/simulated/floor/plating,/area/maintenance/port) "apI" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 32; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/hallway/primary/fore) "apJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/crew_quarters/sleep) "apK" = (/obj/machinery/light/small{dir = 8},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor/carpet{icon_state = "carpetnoconnect"},/area/crew_quarters/sleep) @@ -854,7 +854,7 @@ "aqv" = (/obj/structure/stool,/turf/simulated/floor/carpet,/area/security/detectives_office) "aqw" = (/obj/machinery/computer/secure_data,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office) "aqx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/machinery/requests_console{pixel_x = -30},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aqy" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/obj/effect/landmark/start{name = "Lawyer"},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) +"aqy" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/ashtray/plastic{pixel_x = 5; pixel_y = 6},/obj/machinery/power/apc{dir = 2; name = "Law Office APC"; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "aqz" = (/obj/structure/table/reinforced,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "aqA" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "aqB" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) @@ -900,7 +900,7 @@ "arp" = (/obj/structure/table/reinforced,/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "arq" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/ashtray/plastic{pixel_x = 4; pixel_y = 6},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "arr" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"ars" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/ashtray/plastic{pixel_x = 5; pixel_y = 6},/obj/machinery/power/apc{dir = 2; name = "Law Office APC"; pixel_y = -24},/obj/structure/cable,/obj/machinery/camera{c_tag = "Internal Affairs"; dir = 1},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) +"ars" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "art" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table/reinforced,/obj/machinery/door_control{id = "lawyer_blast"; name = "Privacy Shutters"; pixel_y = -25},/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/turf/simulated/floor{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "aru" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "lawyer_blast"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/lawoffice) "arv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) @@ -1375,7 +1375,7 @@ "aAw" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/maintenance/fpmaint) "aAx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva) "aAy" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/glass_command{name = "E.V.A."; req_access_txt = "18"},/turf/simulated/floor,/area/ai_monitored/storage/eva) -"aAz" = (/obj/structure/sign/greencross{pixel_x = -32; pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) +"aAz" = (/obj/structure/sign/redcross{pixel_x = -32},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) "aAA" = (/obj/structure/cable,/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) "aAB" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/ai_monitored/storage/eva) "aAC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/wall,/area/crew_quarters/sleep) @@ -2371,7 +2371,7 @@ "aTE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/maintenance/port) "aTF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor/plating,/area/maintenance/port) "aTG" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/maintenance/port) -"aTH" = (/obj/item/clothing/gloves/rainbow,/obj/item/clothing/shoes/rainbow,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/port) +"aTH" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/obj/machinery/meter,/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/ignition_switch{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"; tag = "icon-warnwhitecorner (EAST)"},/area/toxins/mixing) "aTI" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/storage/tools) "aTJ" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/storage/tools) "aTK" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/structure/rack{dir = 8; layer = 2.9},/obj/machinery/light,/obj/item/device/multitool,/turf/simulated/floor,/area/storage/tools) @@ -2864,10 +2864,10 @@ "bdd" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/central) "bde" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor,/area/hallway/primary/central) "bdf" = (/turf/simulated/wall/r_wall,/area/medical/chemistry) -"bdg" = (/obj/structure/sign/greencross,/turf/simulated/wall,/area/medical/medbay) -"bdh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/medbay) -"bdi" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/medbay) -"bdj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/medical/medbay) +"bdg" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/machinery/light,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/mixing) +"bdh" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) +"bdi" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) +"bdj" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bdk" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bdl" = (/turf/simulated/wall/r_wall,/area/medical/cmo) "bdm" = (/turf/simulated/wall,/area/medical/morgue) @@ -3199,12 +3199,12 @@ "bjA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/bridge/meeting_room) "bjB" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area) "bjC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/ai_upload) -"bjD" = (/obj/structure/table,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Core Modules"; req_access_txt = "20"},/obj/structure/window/reinforced,/obj/item/weapon/aiModule/corp,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bjD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_on"; on = 1},/turf/simulated/floor/engine,/area/toxins/mixing) "bjE" = (/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bjF" = (/obj/machinery/flasher{pixel_x = 0; pixel_y = 24; id = "AI"},/obj/machinery/computer/borgupload,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bjG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bjH" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/computer/aiupload,/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) -"bjI" = (/obj/structure/table,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/oneHuman,/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "High-Risk Modules"; req_access_txt = "20"},/obj/item/weapon/aiModule/purge,/obj/structure/window/reinforced,/obj/item/weapon/aiModule/antimov,/obj/item/weapon/aiModule/teleporterOffline,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bjI" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/turf/simulated/wall/r_wall,/area/toxins/mixing) "bjJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/lattice,/turf/space,/area) "bjK" = (/turf/simulated/wall,/area/crew_quarters/captain) "bjL" = (/obj/machinery/door/airlock/command{name = "Captain's Quarters"; req_access = null; req_access_txt = "20"},/turf/simulated/floor/carpet,/area/crew_quarters/captain) @@ -3246,7 +3246,7 @@ "bkv" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/obj/item/weapon/pen,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab) "bkw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bkx" = (/obj/machinery/light,/turf/simulated/floor{icon_state = "warning"},/area/hallway/secondary/entry) -"bky" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/door/poddoor{density = 1; icon_state = "pdoor1"; id = "Disposal Exit"; name = "Disposal Exit Vent"; opacity = 1},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/maintenance/disposal) +"bky" = (/obj/machinery/sparker{dir = 2; id = "mixingsparker"; pixel_x = 25},/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1443; icon_state = "on"; id = "air_in"; on = 1},/turf/simulated/floor/engine/vacuum,/area/toxins/mixing) "bkz" = (/turf/space,/area/supply/station) "bkA" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/quartermaster/storage) "bkB" = (/obj/machinery/status_display{density = 0; pixel_x = 0; pixel_y = 32; supply_display = 1},/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/quartermaster/storage) @@ -3348,7 +3348,7 @@ "bmt" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/crew_quarters/heads) "bmu" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area) "bmv" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/turret_protected/ai_upload) -"bmw" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/weapon/aiModule/nanotrasen,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bmw" = (/obj/machinery/sparker{dir = 2; id = "mixingsparker"; pixel_x = 25},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; icon_state = "in"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine/vacuum,/area/toxins/mixing) "bmx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) "bmy" = (/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) "bmz" = (/obj/machinery/hologram/holopad,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload) @@ -3433,7 +3433,7 @@ "boa" = (/obj/structure/stool/bed/roller,/obj/machinery/door_control{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Exit Button"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 26; range = 3},/obj/structure/extinguisher_cabinet{pixel_x = -24},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bob" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/medbay) "boc" = (/obj/machinery/status_display,/turf/simulated/wall,/area/medical/medbay) -"bod" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medbay Reception"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) +"bod" = (/obj/machinery/atmospherics/pipe/simple/insulated{icon_state = "intact"; dir = 4},/obj/machinery/meter,/obj/machinery/embedded_controller/radio/airlock_controller{airpump_tag = "tox_airlock_pump"; exterior_door_tag = "tox_airlock_exterior"; id_tag = "tox_airlock_control"; interior_door_tag = "tox_airlock_interior"; pixel_x = -24; pixel_y = 0; sanitize_external = 1; sensor_tag = "tox_airlock_sensor"},/turf/simulated/floor{dir = 1; icon_state = "warnwhitecorner"; tag = "icon-warnwhitecorner (EAST)"},/area/toxins/mixing) "boe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/medical/medbay) "bof" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/cmo) "bog" = (/obj/machinery/door/airlock/glass_command{name = "Chief Medical Officer"; req_access_txt = "40"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) @@ -3498,7 +3498,7 @@ "bpn" = (/obj/machinery/door/airlock/maintenance{name = "Teleporter Maintenance"; req_access_txt = "17"},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/teleporter) "bpo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/teleporter) "bpp" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 1; name = "Firelock North"},/turf/simulated/floor,/area/hallway/primary/central) -"bpq" = (/obj/structure/sign/greencross,/turf/simulated/wall/r_wall,/area/medical/chemistry) +"bpq" = (/obj/machinery/airlock_sensor{id_tag = "tox_airlock_sensor"; master_tag = "tox_airlock_control"; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/binary/pump{dir = 4; icon_state = "intact_on"; on = 1},/turf/simulated/floor/engine,/area/toxins/mixing) "bpr" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area/medical/chemistry) "bps" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Chemistry Lab"; req_access_txt = "5; 33"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry) "bpt" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/chemistry) @@ -4095,7 +4095,7 @@ "bAM" = (/obj/machinery/power/apc{dir = 8; name = "RD Office APC"; pixel_x = -25},/obj/structure/cable,/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) "bAN" = (/obj/machinery/hologram/holopad,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) "bAO" = (/obj/structure/table,/obj/item/weapon/cartridge/signal/toxins,/obj/item/weapon/cartridge/signal/toxins{pixel_x = -4; pixel_y = 2},/obj/item/weapon/cartridge/signal/toxins{pixel_x = 4; pixel_y = 6},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/camera{c_tag = "Research Director's Office"; dir = 1},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) -"bAP" = (/obj/structure/closet/secure_closet/RD,/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 4; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) +"bAP" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/sign/securearea{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bAQ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) "bAR" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) "bAS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/crew_quarters/hor) @@ -4161,7 +4161,7 @@ "bCa" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "bCb" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) "bCc" = (/turf/simulated/wall/r_wall,/area/toxins/mixing) -"bCd" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/toxins/mixing) +"bCd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint) "bCe" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/toxins/mixing) "bCf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/toxins/mixing) "bCg" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/toxins/mixing) @@ -4213,9 +4213,9 @@ "bDa" = (/obj/machinery/holosign_switch{pixel_x = 24; pixel_y = 2},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/medical/sleeper) "bDb" = (/obj/machinery/light/small{dir = 8},/obj/machinery/iv_drip,/turf/simulated/floor{dir = 8; icon_state = "whiteredcorner"},/area/medical/sleeper) "bDc" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/medical/sleeper) -"bDd" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medbay Storage"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bDd" = (/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/mixing) "bDe" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) -"bDf" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medbay Storage"; req_access_txt = "5"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bDf" = (/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/mixing) "bDg" = (/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2 (EAST)"; icon_state = "pipe-j2"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "whitered"},/area/medical/medbay) "bDh" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/dr_gibb{pixel_x = -3; pixel_y = -1},/obj/item/weapon/reagent_containers/food/drinks/dr_gibb{pixel_x = 4; pixel_y = 3},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/medical/medbay) "bDi" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor/engine,/area/toxins/misc_lab) @@ -4234,13 +4234,13 @@ "bDv" = (/obj/structure/closet/secure_closet/scientist,/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "bDw" = (/obj/structure/closet/secure_closet/scientist,/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "bDx" = (/obj/machinery/portable_atmospherics/canister,/obj/structure/window/reinforced{dir = 8},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor{dir = 10; icon_state = "whitepurple"},/area/toxins/mixing) -"bDy" = (/obj/machinery/portable_atmospherics/canister,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/mixing) +"bDy" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/mixing) "bDz" = (/obj/machinery/portable_atmospherics/scrubber,/obj/structure/disposalpipe/segment,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/mixing) -"bDA" = (/obj/machinery/portable_atmospherics/pump,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/mixing) -"bDB" = (/obj/structure/table/reinforced,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver{pixel_y = 10},/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 6; icon_state = "whitepurple"},/area/toxins/mixing) -"bDC" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/mixing) -"bDD" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/trinary/filter{tag = "icon-intact_off (EAST)"; icon_state = "intact_off"; dir = 4},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing) -"bDE" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/toxins/mixing) +"bDA" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/door/firedoor/border_only{dir = 2; name = "hazard door south"},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/toxins/xenobiology) +"bDB" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area/toxins/xenobiology) +"bDC" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/obj/machinery/door/firedoor/border_only{dir = 2; name = "hazard door south"},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/virology) +"bDD" = (/obj/structure/sign/securearea,/turf/simulated/wall,/area/medical/virology) +"bDE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/toxins/mixing) "bDF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bDG" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'BOMB RANGE"; name = "BOMB RANGE"},/turf/simulated/wall,/area/toxins/test_area) "bDH" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/mining/station) @@ -4306,11 +4306,11 @@ "bEP" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/glass_research{name = "Toxins Lab"; req_access_txt = "8"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "bEQ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "bER" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bES" = (/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bES" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medbay Storage"; req_access_txt = "45"},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) "bET" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bEU" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bEV" = (/obj/machinery/atmospherics/pipe/manifold{icon_state = "manifold"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bEW" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; dir = 10; pixel_x = 0; level = 2; initialize_directions = 10},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bEU" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Medbay Storage"; req_access_txt = "45"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/sleeper) +"bEV" = (/obj/machinery/portable_atmospherics/pump,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/mixing) +"bEW" = (/obj/structure/table/reinforced,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver{pixel_y = 10},/obj/item/device/radio/intercom{pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 6; icon_state = "whitepurple"},/area/toxins/mixing) "bEX" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bEY" = (/turf/simulated/wall,/area/toxins/mixing) "bEZ" = (/turf/simulated/floor/airless{dir = 9; icon_state = "warning"},/area/toxins/test_area) @@ -4384,11 +4384,11 @@ "bGp" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "bGq" = (/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/firedoor/border_only{dir = 4; name = "hazard door east"},/obj/machinery/door/airlock/glass_research{name = "Toxins Lab"; req_access_txt = "8"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "bGr" = (/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bGs" = (/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bGt" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bGs" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/mixing) +"bGt" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/light{dir = 1},/turf/simulated/floor{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/toxins/mixing) "bGu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bGv" = (/obj/machinery/atmospherics/binary/pump{dir = 1; icon_state = "intact_off"; name = "Gas pump"; on = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bGw" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bGv" = (/obj/machinery/portable_atmospherics/canister,/turf/simulated/floor{dir = 2; icon_state = "whitepurple"},/area/toxins/mixing) +"bGw" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/toxins/mixing) "bGx" = (/obj/structure/sign/securearea{pixel_x = -32},/turf/simulated/floor{tag = "icon-warningcorner (NORTH)"; icon_state = "warningcorner"; dir = 1},/area/toxins/mixing) "bGy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/mixing) "bGz" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{tag = "icon-warningcorner"; icon_state = "warningcorner"; dir = 2},/area/toxins/mixing) @@ -4450,17 +4450,17 @@ "bHD" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/storage) "bHE" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) "bHF" = (/obj/structure/closet/bombcloset,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bHG" = (/obj/item/device/transfer_valve{pixel_x = -5},/obj/item/device/transfer_valve{pixel_x = -5},/obj/item/device/transfer_valve{pixel_x = 0},/obj/item/device/transfer_valve{pixel_x = 0},/obj/item/device/transfer_valve{pixel_x = 5},/obj/item/device/transfer_valve{pixel_x = 5},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bHG" = (/obj/structure/closet/secure_closet/RD,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/simulated/floor{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/crew_quarters/hor) "bHH" = (/obj/item/device/assembly/prox_sensor{pixel_x = -4; pixel_y = 1},/obj/item/device/assembly/prox_sensor{pixel_x = 8; pixel_y = 9},/obj/item/device/assembly/prox_sensor{pixel_x = 9; pixel_y = -2},/obj/item/device/assembly/prox_sensor{pixel_x = 0; pixel_y = 2},/obj/structure/table,/turf/simulated/floor{dir = 9; icon_state = "whitepurple"},/area/toxins/mixing) "bHI" = (/obj/item/device/assembly/signaler{pixel_x = 0; pixel_y = 8},/obj/item/device/assembly/signaler{pixel_x = -8; pixel_y = 5},/obj/item/device/assembly/signaler{pixel_x = 6; pixel_y = 5},/obj/item/device/assembly/signaler{pixel_x = -2; pixel_y = -2},/obj/structure/table,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/mixing) "bHJ" = (/obj/item/device/assembly/timer{pixel_x = 5; pixel_y = 4},/obj/item/device/assembly/timer{pixel_x = -4; pixel_y = 2},/obj/item/device/assembly/timer{pixel_x = 6; pixel_y = -4},/obj/item/device/assembly/timer{pixel_x = 0; pixel_y = 0},/obj/structure/table,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/mixing) -"bHK" = (/obj/structure/dispenser,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/mixing) -"bHL" = (/obj/machinery/atmospherics/pipe/tank{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor{dir = 5; icon_state = "whitepurple"},/area/toxins/mixing) +"bHK" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Toxins Launch Room Access"; req_access_txt = "8"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bHL" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "bHM" = (/obj/machinery/atmospherics/pipe/manifold{icon_state = "manifold"; level = 2},/obj/machinery/meter,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bHN" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bHO" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{dir = 4; icon_state = "manifold"; initialize_directions = 11; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bHP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/research{name = "Toxins Launch Room Access"; req_access_txt = "8"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bHQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/toxins/mixing) +"bHN" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/toxins/mixing) +"bHO" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bHP" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bHQ" = (/obj/item/device/transfer_valve{pixel_x = -5},/obj/item/device/transfer_valve{pixel_x = -5},/obj/item/device/transfer_valve{pixel_x = 0},/obj/item/device/transfer_valve{pixel_x = 0},/obj/item/device/transfer_valve{pixel_x = 5},/obj/item/device/transfer_valve{pixel_x = 5},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 1; icon_state = "whitepurple"},/area/toxins/mixing) "bHR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/mixing) "bHS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/mixing) "bHT" = (/obj/machinery/door/firedoor/border_only{dir = 4; name = "Firelock East"},/obj/machinery/door/airlock/research{name = "Toxins Launch Room"; req_access_txt = "8"},/turf/simulated/floor,/area/toxins/mixing) @@ -4518,9 +4518,9 @@ "bIT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/toxins/storage) "bIU" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) "bIV" = (/obj/structure/sign/fire{pixel_x = 32; pixel_y = 0},/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) -"bIW" = (/obj/structure/sign/nosmoking_2{pixel_x = -32},/obj/machinery/camera{c_tag = "Toxins Research"; dir = 4; network = list("RD"); pixel_y = -22},/obj/machinery/camera{c_tag = "Toxins Lab"; dir = 4; network = list("SS13")},/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bIX" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) -"bIY" = (/obj/machinery/power/apc{dir = 4; name = "Toxins Lab APC"; pixel_x = 26; pixel_y = 0},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bIW" = (/obj/structure/dispenser,/turf/simulated/floor{dir = 5; icon_state = "whitepurple"},/area/toxins/mixing) +"bIX" = (/obj/structure/closet/bombcloset,/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bIY" = (/obj/machinery/power/apc{dir = 4; name = "Toxins Lab APC"; pixel_x = 26; pixel_y = 0},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "bIZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/toxins/mixing) "bJa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "floorgrime"},/area/toxins/mixing) "bJb" = (/obj/machinery/camera{c_tag = "Toxins Launch Room Access"; dir = 1},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/toxins/mixing) @@ -4552,9 +4552,9 @@ "bJB" = (/obj/structure/reagent_dispensers/watertank,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bJC" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bJD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bJE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/sign/securearea{pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/maintenance/asmaint) +"bJE" = (/obj/structure/sign/nosmoking_2{pixel_x = -32},/obj/machinery/camera{c_tag = "Toxins Research"; dir = 4; network = list("RD"); pixel_y = -22},/obj/machinery/camera{c_tag = "Toxins Lab"; dir = 4; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "bJF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) -"bJG" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; dir = 4; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/asmaint) +"bJG" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) "bJH" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bJI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bJJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint) @@ -4586,12 +4586,12 @@ "bKj" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/research{name = "Research Division"}) "bKk" = (/obj/machinery/door/poddoor{id = "mixvent"; name = "Mixer Room Vent"},/turf/simulated/floor/engine/vacuum,/area/toxins/mixing) "bKl" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/engine/vacuum,/area/toxins/mixing) -"bKm" = (/obj/machinery/sparker{dir = 2; id = "mixingsparker"; pixel_x = 0; pixel_y = 25},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; icon_state = "in"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine/vacuum,/area/toxins/mixing) -"bKn" = (/obj/machinery/atmospherics/binary/pump{dir = 4; icon_state = "intact_on"; on = 1},/turf/simulated/wall/r_wall,/area/toxins/mixing) -"bKo" = (/obj/machinery/airlock_sensor{id_tag = "tox_airlock_sensor"; master_tag = "tox_airlock_control"; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor/engine,/area/toxins/mixing) -"bKp" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/wall/r_wall,/area/toxins/mixing) -"bKq" = (/obj/machinery/embedded_controller/radio/airlock_controller{airpump_tag = "tox_airlock_pump"; exterior_door_tag = "tox_airlock_exterior"; id_tag = "tox_airlock_control"; interior_door_tag = "tox_airlock_interior"; pixel_x = -24; pixel_y = 0; sanitize_external = 1; sensor_tag = "tox_airlock_sensor"},/obj/machinery/atmospherics/pipe/manifold4w/general/visible,/turf/simulated/floor{dir = 1; icon_state = "warnwhitecorner"; tag = "icon-warnwhitecorner (EAST)"},/area/toxins/mixing) -"bKr" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/mixing) +"bKm" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bKn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bKo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bKp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/landmark/start{name = "Scientist"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bKq" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing) +"bKr" = (/obj/structure/sign/redcross,/turf/simulated/wall/r_wall,/area/medical/chemistry) "bKs" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{dir = 5; icon_state = "warning"},/area/toxins/mixing) "bKt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/maintenance/asmaint2) "bKu" = (/obj/machinery/mass_driver{dir = 4; id = "toxinsdriver"},/turf/simulated/floor/plating,/area/toxins/mixing) @@ -4648,9 +4648,9 @@ "bLt" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1449; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_exterior"; locked = 1; name = "Mixing Room Exterior Airlock"; req_access_txt = "8"},/turf/simulated/floor/engine,/area/toxins/mixing) "bLu" = (/obj/machinery/atmospherics/binary/dp_vent_pump/high_volume{dir = 2; frequency = 1449; id = "tox_airlock_pump"},/turf/simulated/floor/engine,/area/toxins/mixing) "bLv" = (/obj/machinery/door/airlock/glass_research{autoclose = 0; frequency = 1449; glass = 1; icon_state = "door_locked"; id_tag = "tox_airlock_interior"; locked = 1; name = "Mixing Room Interior Airlock"; req_access_txt = "8"},/turf/simulated/floor/engine,/area/toxins/mixing) -"bLw" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{tag = "icon-manifold (WEST)"; icon_state = "manifold"; dir = 8},/obj/machinery/meter,/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/mixing) +"bLw" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/medical{name = "Medbay Reception"; req_access_txt = "5"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bLx" = (/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/mixing) -"bLy" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/toxins/mixing) +"bLy" = (/obj/structure/sign/redcross,/turf/simulated/wall,/area/medical/medbay) "bLz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/weapon/wrench,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bLA" = (/obj/structure/closet/wardrobe/grey,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bLB" = (/turf/simulated/floor/airless{dir = 5; icon_state = "warning"},/area/toxins/test_area) @@ -4696,11 +4696,11 @@ "bMp" = (/obj/machinery/camera{c_tag = "Research Division South"; dir = 1; network = list("SS13"); pixel_x = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "bMq" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "bMr" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/medical/research{name = "Research Division"}) -"bMs" = (/obj/machinery/sparker{dir = 2; id = "mixingsparker"; pixel_x = 0; pixel_y = -25},/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1443; icon_state = "on"; id = "air_in"; on = 1},/turf/simulated/floor/engine/vacuum,/area/toxins/mixing) -"bMt" = (/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_on"; on = 1},/turf/simulated/wall/r_wall,/area/toxins/mixing) -"bMu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/sign/fire{pixel_y = -32},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor/engine,/area/toxins/mixing) -"bMv" = (/obj/machinery/door_control{id = "mixvent"; name = "Mixing Room Vent Control"; pixel_x = -25; pixel_y = 5; req_access_txt = "7"},/obj/machinery/ignition_switch{id = "mixingsparker"; pixel_x = -25; pixel_y = -5},/obj/machinery/atmospherics/pipe/manifold{icon_state = "manifold"; level = 2},/turf/simulated/floor{dir = 4; icon_state = "warnwhitecorner"; tag = "icon-warnwhitecorner (EAST)"},/area/toxins/mixing) -"bMw" = (/obj/machinery/light,/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/mixing) +"bMs" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/weapon/aiModule/nanotrasen,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bMt" = (/obj/machinery/conveyor{dir = 1; id = "garbage"},/obj/machinery/door/poddoor{density = 1; icon_state = "pdoor1"; id = "Disposal Exit"; name = "Disposal Exit Vent"; opacity = 1},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating,/area/maintenance/disposal) +"bMu" = (/obj/structure/table,/obj/item/weapon/aiModule/asimov,/obj/item/weapon/aiModule/freeformcore,/obj/machinery/door/window{base_state = "right"; dir = 4; icon_state = "right"; name = "Core Modules"; req_access_txt = "20"},/obj/structure/window/reinforced,/obj/item/weapon/aiModule/corp,/obj/item/weapon/aiModule/paladin,/obj/item/weapon/aiModule/robocop,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bMv" = (/obj/structure/table,/obj/item/weapon/aiModule/oxygen,/obj/item/weapon/aiModule/oneHuman,/obj/machinery/door/window{base_state = "left"; dir = 8; icon_state = "left"; name = "High-Risk Modules"; req_access_txt = "20"},/obj/item/weapon/aiModule/purge,/obj/structure/window/reinforced,/obj/item/weapon/aiModule/antimov,/obj/item/weapon/aiModule/teleporterOffline,/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload) +"bMw" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/engine/engineering) "bMx" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/toxins/mixing) "bMy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bMz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/maintenance/asmaint2) @@ -4797,7 +4797,7 @@ "bOm" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area/maintenance/asmaint) "bOn" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2; name = "hazard door south"},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/virology) "bOo" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2; name = "hazard door south"},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/virology) -"bOp" = (/obj/machinery/door/firedoor/border_only{dir = 2; name = "hazard door south"},/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/medical/virology) +"bOp" = (/obj/machinery/power/apc{dir = 4; name = "Aft Port Solar APC"; pixel_x = 23; pixel_y = 2},/obj/machinery/camera{c_tag = "Aft Port Solar Control"; dir = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/portsolar) "bOq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bOr" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bOs" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/asmaint) @@ -4857,7 +4857,7 @@ "bPu" = (/turf/simulated/wall/r_wall,/area/medical/virology) "bPv" = (/obj/structure/sign/biohazard,/turf/simulated/wall,/area/medical/virology) "bPw" = (/obj/machinery/door/airlock/medical{name = "Virology Access"; req_access_txt = "39"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"bPx" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/medical/virology) +"bPx" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/obj/item/clothing/shoes/magboots,/turf/simulated/floor,/area/engine/engineering) "bPy" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint) "bPz" = (/obj/structure/disposalpipe/sortjunction{dir = 2; icon_state = "pipe-j2s"; sortType = 13},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bPA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) @@ -4910,7 +4910,7 @@ "bQv" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "waste_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/atmos) "bQw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/virology) "bQx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"bQy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/medical/virology) +"bQy" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Xenobiology APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/toxins/xenobiology) "bQz" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bQA" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bQB" = (/obj/structure/stool/bed/chair,/obj/item/weapon/storage/fancy/cigarettes,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) @@ -4921,7 +4921,7 @@ "bQG" = (/obj/structure/rack{dir = 1},/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bQH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2; name = "hazard door south"},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/toxins/xenobiology) "bQI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/firedoor/border_only{dir = 2; name = "hazard door south"},/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/toxins/xenobiology) -"bQJ" = (/obj/machinery/door/firedoor/border_only{dir = 2; name = "hazard door south"},/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,/turf/simulated/floor{dir = 2; icon_state = "whitegreen"; tag = "icon-whitehall (WEST)"},/area/toxins/xenobiology) +"bQJ" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/machinery/light{dir = 1},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor{icon_state = "yellow"},/area/engine/engineering) "bQK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/maintenance/asmaint2) "bQL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bQM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint2) @@ -4967,14 +4967,14 @@ "bRA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/manifold{color = "cyan"; dir = 4; icon_state = "manifold-c"; initialize_directions = 11; level = 2},/turf/simulated/floor/plating,/area/atmos) "bRB" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "virology_outer"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bRC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/virology) -"bRD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/medical/virology) +"bRD" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/portsolar) "bRE" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/asmaint) "bRF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/asmaint) "bRG" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/asmaint) "bRH" = (/turf/simulated/wall/r_wall,/area/toxins/xenobiology) "bRI" = (/obj/structure/sign/biohazard,/turf/simulated/wall,/area/toxins/xenobiology) "bRJ" = (/obj/machinery/door/airlock/research{name = "Xenobiology Access"; req_access_txt = "55"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"bRK" = (/obj/structure/sign/securearea,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/toxins/xenobiology) +"bRK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/portsolar) "bRL" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bRM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bRN" = (/obj/machinery/light/small{dir = 4},/obj/machinery/camera{c_tag = "Aft Starboard Solar Access"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint2) @@ -5016,10 +5016,10 @@ "bSx" = (/turf/simulated/floor/engine/n20,/area/atmos) "bSy" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "virology_airlock"; name = "exterior access button"; pixel_x = 20; pixel_y = 20; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bSz" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/light,/turf/simulated/floor/plating,/area/medical/virology) -"bSA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/medical/virology) +"bSA" = (/obj/machinery/door/airlock/engineering{name = "Aft Port Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/portsolar) "bSB" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/toxins/xenobiology) "bSC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"bSD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/toxins/xenobiology) +"bSD" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) "bSE" = (/turf/simulated/wall/r_wall,/area/maintenance/starboardsolar) "bSF" = (/obj/machinery/door/airlock/engineering{name = "Aft Starboard Solar Access"; req_access_txt = "10"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "bSG" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/starboardsolar) @@ -5043,7 +5043,7 @@ "bSY" = (/obj/machinery/atmospherics/pipe/manifold{color = "cyan"; dir = 1; icon_state = "manifold-c"; level = 2},/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/atmos) "bSZ" = (/obj/machinery/atmospherics/pipe/simple{color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/space_heater,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/atmos) "bTa" = (/obj/machinery/atmospherics/pipe/simple{color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor{icon_state = "caution"; dir = 4},/area/atmos) -"bTb" = (/obj/machinery/atmospherics/pipe/simple{color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor/border_only{dir = 8; name = "Firelock West"},/obj/machinery/door/airlock/atmos{name = "Atmospherics"; req_access_txt = "24"},/turf/simulated/floor,/area/atmos) +"bTb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) "bTc" = (/obj/machinery/atmospherics/pipe/simple{color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r"; level = 2},/turf/simulated/floor,/area/atmos) "bTd" = (/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_on"; name = "Air to External"; on = 1},/turf/simulated/floor,/area/atmos) "bTe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple{color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/turf/simulated/floor,/area/atmos) @@ -5060,9 +5060,9 @@ "bTp" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine/n20,/area/atmos) "bTq" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/medical/virology) "bTr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1449; icon_state = "door_locked"; id_tag = "virology_airlock_exterior"; locked = 1; name = "Virology Exterior Airlock"; req_access_txt = "39"},/obj/machinery/access_button{command = "cycle_exterior"; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = -24; pixel_y = 0; req_access_txt = "39"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"bTs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/medical/virology) +"bTs" = (/obj/machinery/atmospherics/pipe/simple{color = "cyan"; dir = 4; icon_state = "intact-c"; level = 2},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/atmos{name = "Atmospherics"; req_access_txt = "24"},/turf/simulated/floor,/area/atmos) "bTt" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/toxins/xenobiology) -"bTu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/toxins/xenobiology) +"bTu" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/closet/l3closet,/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/virology) "bTv" = (/obj/machinery/power/apc{dir = 8; name = "Aft Starboard Solar APC"; pixel_x = -26; pixel_y = 3},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "bTw" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "bTx" = (/obj/machinery/power/smes{charge = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) @@ -5085,9 +5085,9 @@ "bTO" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 8; frequency = 1441; icon_state = "on"; id = "n2o_in"; on = 1; pixel_y = 1},/turf/simulated/floor/engine/n20,/area/atmos) "bTP" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/virology) "bTQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"bTR" = (/obj/structure/closet/emcloset,/obj/machinery/camera/xray{c_tag = "Virology Access"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/medical/virology) +"bTR" = (/obj/structure/closet/emcloset,/obj/machinery/camera/xray{c_tag = "Virology Access"},/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/medical/virology) "bTS" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/light,/turf/simulated/floor/plating,/area/toxins/xenobiology) -"bTT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/toxins/xenobiology) +"bTT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) "bTU" = (/obj/structure/stool,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/camera{c_tag = "Aft Starboard Solar Control"; dir = 4; network = list("SS13")},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "bTV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "bTW" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) @@ -5113,7 +5113,7 @@ "bUq" = (/turf/simulated/wall/r_wall,/area) "bUr" = (/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/virology) "bUs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"bUt" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/closet/l3closet,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/medical/virology) +"bUt" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bUu" = (/turf/simulated/wall,/area/medical/virology) "bUv" = (/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bUw" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -5122,7 +5122,7 @@ "bUz" = (/obj/structure/lattice,/obj/structure/lattice,/turf/space,/area) "bUA" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/toxins/xenobiology) "bUB" = (/obj/machinery/access_button{command = "cycle_exterior"; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = -24; pixel_y = 0; req_access_txt = "55"},/obj/machinery/door/airlock/research{autoclose = 0; frequency = 1449; icon_state = "door_locked"; id_tag = "xeno_airlock_exterior"; locked = 1; name = "Xenobiology External Airlock"; req_access_txt = "55"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"bUC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/toxins/xenobiology) +"bUC" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/xenobiology) "bUD" = (/obj/machinery/power/solar_control{id = "starboardsolar"; name = "Aft Starboard Solar Control"; track = 0},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "bUE" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "10;13"},/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "bUF" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/maintenance/starboardsolar) @@ -5131,7 +5131,7 @@ "bUI" = (/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "robotics_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/plating,/area/maintenance/aft) "bUJ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "robotics_pump"},/obj/machinery/embedded_controller/radio/airlock_controller{airpump_tag = "robotics_pump"; exterior_door_tag = "robotics_outer"; frequency = 1379; id_tag = "robotics_airlock"; interior_door_tag = "robotics_inner"; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; sensor_tag = "robotics_sensor"},/turf/simulated/floor/plating,/area/maintenance/aft) "bUK" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/maintenance/aft) -"bUL" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/maintenance/aft) +"bUL" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "robotics_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/aft) "bUM" = (/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/aft) "bUN" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/aft) "bUO" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/aft) @@ -5156,18 +5156,18 @@ "bVh" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) "bVi" = (/obj/structure/closet/wardrobe/virology_white,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bVj" = (/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = 29},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/camera{c_tag = "Virology Break Room"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"bVk" = (/obj/machinery/light{dir = 1},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"bVl" = (/obj/structure/closet/l3closet/virology,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"bVk" = (/obj/structure/closet/l3closet,/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/virology) +"bVl" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bVm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/wall,/area/medical/virology) "bVn" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/access_button{command = "cycle_interior"; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 8; pixel_y = -28; req_access_txt = "39"},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/virology) -"bVo" = (/obj/structure/closet/l3closet,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/virology) +"bVo" = (/obj/machinery/light{dir = 1},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/closet/l3closet/virology,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bVp" = (/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bVq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bVr" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bVs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/mob/living/carbon/monkey,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bVt" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/xenobiology) "bVu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"bVv" = (/obj/structure/closet/emcloset,/obj/machinery/camera/xray{c_tag = "Xenobiology Access"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/toxins/xenobiology) +"bVv" = (/obj/structure/closet/emcloset,/obj/machinery/camera/xray{c_tag = "Xenobiology Access"},/turf/simulated/floor{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/toxins/xenobiology) "bVw" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "bVx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "bVy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "solar_xeno_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) @@ -5183,7 +5183,7 @@ "bVI" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/structure/disposalpipe/junction{tag = "icon-pipe-j2"; icon_state = "pipe-j2"; dir = 2},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "bVJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) "bVK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/hallway/primary/aft) -"bVL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "yellowcorner"},/area/hallway/primary/aft) +"bVL" = (/obj/structure/table,/obj/item/clothing/glasses/welding,/obj/item/clothing/glasses/welding,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) "bVM" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/engine/break_room) "bVN" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/engine/break_room) "bVO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 1; icon_state = "caution"},/area/engine/break_room) @@ -5202,7 +5202,7 @@ "bWb" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) "bWc" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bWd" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"bWe" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"bWe" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bWf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall,/area/medical/virology) "bWg" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1449; icon_state = "door_locked"; id_tag = "virology_airlock_interior"; locked = 1; name = "Virology Interior Airlock"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bWh" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/virology) @@ -5212,7 +5212,7 @@ "bWl" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/medical/virology) "bWm" = (/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/turf/simulated/floor{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/xenobiology) "bWn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"bWo" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/toxins/xenobiology) +"bWo" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/xenobiology) "bWp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "bWq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/embedded_controller/radio/airlock_controller{airpump_tag = "solar_xeno_pump"; exterior_door_tag = "solar_xeno_outer"; frequency = 1379; id_tag = "solar_xeno_airlock"; interior_door_tag = "solar_xeno_inner"; pixel_x = 25; req_access_txt = "13"; sensor_tag = "solar_xeno_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "solar_xeno_sensor"; pixel_x = 25; pixel_y = 12},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "solar_xeno_pump"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) "bWr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) @@ -5249,7 +5249,7 @@ "bWW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bWX" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/machinery/embedded_controller/radio/access_controller{exterior_door_tag = "virology_airlock_exterior"; id_tag = "virology_airlock_control"; interior_door_tag = "virology_airlock_interior"; name = "Virology Access Console"; pixel_x = 8; pixel_y = 22},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bWY" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"bWZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light{dir = 1},/obj/machinery/firealarm{pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"bWZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light{dir = 1},/obj/machinery/firealarm{pixel_y = 25},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bXa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Virology APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/camera{c_tag = "Virology Module"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bXb" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bXc" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -5265,7 +5265,7 @@ "bXm" = (/turf/simulated/wall,/area/toxins/xenobiology) "bXn" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/access_button{command = "cycle_interior"; master_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; pixel_x = 8; pixel_y = -28; req_access_txt = "55"},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{dir = 10; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/xenobiology) "bXo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"bXp" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 6; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/toxins/xenobiology) +"bXp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = "0"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bXq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/toxins/xenobiology) "bXr" = (/obj/machinery/atmospherics/pipe/vent{dir = 8},/turf/simulated/floor/plating/airless,/area) "bXs" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboardsolar) @@ -5280,7 +5280,7 @@ "bXB" = (/obj/structure/table,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/item/weapon/storage/belt/utility,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) "bXC" = (/obj/structure/table,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) "bXD" = (/obj/structure/computerframe,/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) -"bXE" = (/obj/structure/table,/obj/item/clothing/glasses/welding,/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) +"bXE" = (/obj/machinery/portable_atmospherics/canister/air,/turf/unsimulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/centcom/control) "bXF" = (/obj/structure/table,/turf/simulated/floor,/area/assembly/assembly_line) "bXG" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) "bXH" = (/obj/structure/closet/crate,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor{icon_state = "floorgrime"},/area/assembly/assembly_line) @@ -5306,7 +5306,7 @@ "bYb" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bYc" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bYd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/hologram/holopad,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) -"bYe" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"bYe" = (/obj/machinery/portable_atmospherics/scrubber,/turf/unsimulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/centcom/control) "bYf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bYg" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 1; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bYh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -5365,7 +5365,7 @@ "bZi" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 0; pixel_y = 30},/obj/machinery/camera{c_tag = "Xenobiology Module North"; dir = 2; network = list("SS13"); pixel_x = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "bZj" = (/obj/machinery/embedded_controller/radio/access_controller{exterior_door_tag = "xeno_airlock_exterior"; id_tag = "xeno_airlock_control"; interior_door_tag = "xeno_airlock_interior"; name = "Xenobiology Access Console"; pixel_x = 8; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/light_switch{pixel_x = -6; pixel_y = 26},/turf/simulated/floor{dir = 4; icon_state = "whitegreencorner"},/area/toxins/xenobiology) "bZk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 1; icon_state = "whitegreen"},/area/toxins/xenobiology) -"bZl" = (/obj/machinery/power/apc{cell_type = 5000; dir = 1; name = "Xenobiology APC"; pixel_x = 0; pixel_y = 24},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 1; icon_state = "whitegreencorner"},/area/toxins/xenobiology) +"bZl" = (/obj/machinery/door/airlock/centcom{name = "ERT Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{name = "plating"},/area/centcom/ferry) "bZm" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "bZn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless,/area/solar/starboard) "bZo" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/port) @@ -5403,7 +5403,7 @@ "bZU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "bZV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "bZW" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) -"bZX" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) +"bZX" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy,/obj/item/weapon/storage/box/flashbangs,/obj/item/weapon/storage/box/handcuffs,/obj/item/device/flash,/obj/item/weapon/melee/baton,/obj/item/weapon/gun/energy/ionrifle,/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/centcom/control) "bZY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = 0},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 29},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology) "bZZ" = (/obj/structure/lattice,/obj/structure/grille,/turf/space,/area) "caa" = (/obj/structure/lattice,/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/space,/area) @@ -5572,7 +5572,7 @@ "cdh" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cdi" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/smes{charge = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cdj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/portsolar) -"cdk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/aft) +"cdk" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/weapon/storage/backpack/security,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/box,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "red"; dir = 2},/area/centcom/control) "cdl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) "cdm" = (/obj/machinery/optable{name = "Robotics Operating Table"},/turf/simulated/floor{icon_state = "white"},/area/assembly/assembly_line) "cdn" = (/obj/machinery/computer/operating{icon_state = "operatingb"; name = "Robotics Operating Computer"; stat = 1},/turf/simulated/floor{icon_state = "white"},/area/assembly/assembly_line) @@ -5616,14 +5616,14 @@ "cdZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1379; id_tag = "robotics_solar_pump"},/obj/machinery/embedded_controller/radio/airlock_controller{airpump_tag = "robotics_solar_pump"; exterior_door_tag = "robotics_solar_outer"; frequency = 1379; id_tag = "robotics_solar_airlock"; interior_door_tag = "robotics_solar_inner"; pixel_x = 0; pixel_y = -25; req_access_txt = "13"; sensor_tag = "robotics_solar_sensor"},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "robotics_solar_sensor"; pixel_x = 12; pixel_y = -25},/turf/simulated/floor/plating,/area/maintenance/portsolar) "cea" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact"; level = 2},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "robotics_solar_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/portsolar) "ceb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "robotics_solar_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cec" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/portsolar) +"cec" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/weapon/storage/backpack/security,/obj/item/weapon/storage/belt/security,/obj/item/weapon/storage/box,/obj/item/weapon/tank/emergency_oxygen/double,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/centcom/control) "ced" = (/turf/simulated/floor/plating,/area/maintenance/portsolar) -"cee" = (/obj/machinery/door/airlock/engineering{name = "Aft Port Solar Access"; req_access_txt = "10"},/turf/simulated/floor/plating,/area/maintenance/portsolar) +"cee" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy,/obj/item/weapon/storage/box/flashbangs,/obj/item/device/flash,/obj/item/weapon/melee/baton,/obj/item/weapon/gun/energy/ionrifle,/obj/item/weapon/handcuffs,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/centcom/control) "cef" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating,/area/maintenance/aft) "ceg" = (/obj/machinery/shieldgen,/turf/simulated/floor/plating,/area/engine/engineering) "ceh" = (/obj/machinery/the_singularitygen{anchored = 0},/turf/simulated/floor/plating,/area/engine/engineering) "cei" = (/obj/machinery/power/apc{cell_type = 15000; dir = 1; name = "Engineering APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor{icon_state = "yellow"},/area/engine/engineering) -"cej" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 32},/obj/machinery/light{dir = 1},/obj/machinery/power/port_gen/pacman,/turf/simulated/floor{icon_state = "yellow"},/area/engine/engineering) +"cej" = (/turf/simulated/floor{icon_state = "red"; dir = 10},/area/centcom/control) "cek" = (/obj/machinery/power/smes,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 10; icon_state = "warning"},/area/engine/engine_smes) "cel" = (/obj/machinery/power/smes,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engine_smes) "cem" = (/obj/machinery/power/smes,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/engine/engine_smes) @@ -5652,8 +5652,8 @@ "ceJ" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/solar/port) "ceK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/maintenance/portsolar) "ceL" = (/obj/machinery/power/solar_control{id = "portsolar"; name = "Aft Port Solar Control"; track = 0},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/portsolar) -"ceM" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/portsolar) -"ceN" = (/obj/machinery/power/apc{dir = 4; name = "Aft Port Solar APC"; pixel_x = 23; pixel_y = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/camera{c_tag = "Aft Port Solar Control"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/portsolar) +"ceM" = (/obj/structure/reagent_dispensers/watertank,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"ceN" = (/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/centcom/control) "ceO" = (/obj/structure/closet/wardrobe/black,/obj/machinery/camera{c_tag = "Aft Port Solar Access"; dir = 1},/turf/simulated/floor/plating,/area/maintenance/aft) "ceP" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) "ceQ" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/aft) @@ -5662,7 +5662,7 @@ "ceT" = (/turf/simulated/floor/plating,/area/engine/engineering) "ceU" = (/obj/machinery/door/poddoor{id = "Secure Storage"; name = "Secure Storage"},/turf/simulated/floor/plating,/area/engine/engineering) "ceV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor,/area/engine/engineering) -"ceW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/engine/engineering) +"ceW" = (/turf/simulated/floor{icon_state = "red"; dir = 6},/area/centcom/control) "ceX" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/engine/engineering) "ceY" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/engine/engineering) "ceZ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor{tag = "icon-warningcorner (EAST)"; icon_state = "warningcorner"; dir = 4},/area/engine/engineering) @@ -5737,7 +5737,7 @@ "cgq" = (/obj/structure/closet/crate{name = "solar pack crate"},/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/solar_assembly,/obj/item/weapon/circuitboard/solar_control,/obj/item/weapon/tracker_electronics,/obj/item/weapon/paper/solar,/turf/simulated/floor,/area/engine/engineering) "cgr" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/turf/simulated/floor,/area/engine/engineering) "cgs" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/turf/simulated/floor,/area/engine/engineering) -"cgt" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/suit/space/rig,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig,/turf/simulated/floor,/area/engine/engineering) +"cgt" = (/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/centcom/control) "cgu" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/engine/chiefs_office) "cgv" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/engine/chiefs_office) "cgw" = (/obj/machinery/door/airlock/glass_command{name = "Chief Engineer"; req_access_txt = "56"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{dir = 8; icon_state = "neutralfull"},/area/engine/chiefs_office) @@ -8820,10 +8820,10 @@ "dnF" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/eva) "dnG" = (/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/structure/table,/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"},/turf/simulated/floor,/area/mine/eva) "dnH" = (/turf/simulated/floor,/area/mine/eva) -"dnI" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor,/area/mine/eva) +"dnI" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/flash,/obj/item/weapon/mop,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "dnJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/eva) -"dnK" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/eva) -"dnL" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/eva) +"dnK" = (/obj/structure/rack,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/combat,/obj/item/clothing/gloves/latex,/obj/item/clothing/suit/space/ert/medical,/obj/item/clothing/head/helmet/space/ert/medical,/obj/item/device/radio/headset/ert,/obj/item/clothing/mask/breath,/obj/item/weapon/card/id/centcom,/obj/item/device/pda/medical,/obj/item/clothing/glasses/hud/health,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"dnL" = (/obj/structure/rack,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/combat,/obj/item/clothing/gloves/red,/obj/item/clothing/suit/space/ert/security,/obj/item/clothing/head/helmet/space/ert/security,/obj/item/device/radio/headset/ert,/obj/item/clothing/mask/breath,/obj/item/weapon/card/id/centcom,/obj/item/device/pda/security,/obj/item/clothing/glasses/sunglasses/sechud,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "dnM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/eva) "dnN" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor,/area/mine/west_outpost) "dnO" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor,/area/mine/west_outpost) @@ -8855,10 +8855,10 @@ "doo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/mine/production) "dop" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/glass_mining{name = "Mining Station EVA"; req_access_txt = "54"},/turf/simulated/floor,/area/mine/eva) "doq" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor,/area/mine/eva) -"dor" = (/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "54"},/turf/simulated/floor,/area/mine/eva) +"dor" = (/obj/structure/rack,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/combat,/obj/item/clothing/gloves/yellow,/obj/item/clothing/suit/space/ert/engineer,/obj/item/clothing/head/helmet/space/ert/engineer,/obj/item/device/radio/headset/ert,/obj/item/clothing/mask/breath,/obj/item/weapon/card/id/centcom,/obj/item/device/pda/engineering,/obj/item/clothing/glasses/meson,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "dos" = (/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/eva) "dot" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/eva) -"dou" = (/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "54"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/eva) +"dou" = (/obj/structure/mopbucket,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "dov" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/mine/west_outpost) "dow" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall,/area/mine/west_outpost) "dox" = (/obj/machinery/door/airlock/maintenance{name = "Mining Station Maintenance"; req_access_txt = "54"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/mine/west_outpost) @@ -8885,8 +8885,8 @@ "doS" = (/obj/machinery/mech_bay_recharge_port,/turf/simulated/floor/plating,/area/mine/eva) "doT" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/mine/eva) "doU" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor,/area/mine/eva) -"doV" = (/obj/structure/closet/emcloset,/turf/simulated/floor,/area/mine/eva) -"doW" = (/obj/structure/ore_box,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/eva) +"doV" = (/obj/structure/rack,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/galoshes,/obj/item/clothing/gloves/purple,/obj/item/clothing/suit/bio_suit/janitor,/obj/item/clothing/head/bio_hood/janitor,/obj/item/device/radio/headset/ert,/obj/item/clothing/mask/breath,/obj/item/weapon/card/id/centcom,/obj/item/device/pda/janitor,/obj/item/clothing/glasses/science,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) +"doW" = (/obj/structure/rack,/obj/item/clothing/under/syndicate/combat,/obj/item/clothing/shoes/combat,/obj/item/clothing/gloves/blue,/obj/item/clothing/suit/space/ert/commander,/obj/item/clothing/head/helmet/space/ert/commander,/obj/item/device/radio/headset/ert,/obj/item/clothing/mask/breath,/obj/item/weapon/card/id/centcom,/obj/item/device/pda/captain,/obj/item/clothing/glasses/sunglasses/sechud,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "doX" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/meter,/turf/simulated/floor/plating,/area/mine/west_outpost) "doY" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/mine/west_outpost) "doZ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/mine/west_outpost) @@ -8898,7 +8898,7 @@ "dpf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/living_quarters) "dpg" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1},/turf/simulated/floor,/area/mine/living_quarters) "dph" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/obj/machinery/light,/turf/simulated/floor,/area/mine/living_quarters) -"dpi" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/mine/living_quarters) +"dpi" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/weapon/storage/backpack/security,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/grenade/chem_grenade/cleaner,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/storage/box,/obj/item/weapon/tank/emergency_oxygen/double,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "dpj" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/mine/living_quarters) "dpk" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/living_quarters) "dpl" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/living_quarters) @@ -8925,7 +8925,7 @@ "dpG" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall,/area/mine/living_quarters) "dpH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/maintenance{name = "Mining Station Maintenance"; req_access_txt = "48"},/turf/simulated/floor/plating,/area/mine/living_quarters) "dpI" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/mine/living_quarters) -"dpJ" = (/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "54"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/mine/living_quarters) +"dpJ" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/metal,/obj/item/stack/sheet/glass,/obj/item/stack/sheet/rglass,/obj/item/stack/sheet/plasteel,/turf/unsimulated/floor{icon_state = "dark"},/area/centcom/control) "dpK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/living_quarters) "dpL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/production) "dpM" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/mine/production) @@ -8948,7 +8948,7 @@ "dqd" = (/turf/simulated/floor/plating,/area/mine/living_quarters) "dqe" = (/obj/structure/closet/emcloset,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/living_quarters) "dqf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/living_quarters) -"dqg" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor,/area/mine/living_quarters) +"dqg" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/centcom/control) "dqh" = (/obj/machinery/status_display{layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor,/area/mine/production) "dqi" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor,/area/mine/production) "dqj" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/obj/structure/plasticflaps/mining,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) @@ -8975,14 +8975,14 @@ "dqE" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/mine/living_quarters) "dqF" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/mine/living_quarters) "dqG" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"},/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/mine/living_quarters) -"dqH" = (/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "54"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/living_quarters) +"dqH" = (/turf/simulated/floor{dir = 5; icon_state = "yellow"},/area/centcom/control) "dqI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor,/area/mine/production) "dqJ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/production) "dqK" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4},/obj/machinery/camera{c_tag = "Shuttle Airlock"; dir = 8; network = list("MINE")},/obj/machinery/conveyor_switch/oneway{id = "mining_internal"; name = "mining conveyor"},/obj/machinery/light{dir = 4},/turf/simulated/floor,/area/mine/production) "dqL" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/production) "dqM" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) "dqN" = (/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored) -"dqO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored) +"dqO" = (/turf/simulated/floor{dir = 4; icon_state = "whitecorner"},/area/centcom/control) "dqP" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored) "dqQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/floor/plating,/area/mine/production) "dqR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/simulated/floor/plating,/area/mine/production) @@ -9033,6 +9033,30 @@ "drK" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/obj/machinery/mineral/output,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) "drL" = (/obj/machinery/mineral/stacking_machine,/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/production) "drM" = (/obj/machinery/conveyor{tag = "icon-conveyor0 (SOUTHWEST)"; icon_state = "conveyor0"; dir = 10; id = "mining_internal"},/obj/machinery/mineral/input,/turf/simulated/floor{dir = 8; icon_state = "loadingarea"; tag = "loading"},/area/mine/production) +"drN" = (/turf/simulated/floor{icon_state = "whitehall"; dir = 5},/area/centcom/control) +"drO" = (/turf/simulated/floor{dir = 9; icon_state = "yellow"},/area/centcom/control) +"drP" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/toxin,/obj/item/device/flash,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/centcom/control) +"drQ" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/weapon/storage/backpack/security,/obj/item/weapon/storage/belt/utility/full,/obj/item/device/multitool,/obj/item/weapon/storage/box,/obj/item/weapon/tank/emergency_oxygen/double,/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/centcom/control) +"drR" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/weapon/storage/backpack/security,/obj/item/weapon/storage/belt/medical,/obj/item/weapon/storage/box,/obj/item/weapon/tank/emergency_oxygen/double,/turf/simulated/floor{icon_state = "whitehall"; dir = 1},/area/centcom/control) +"drS" = (/obj/structure/table/reinforced,/obj/item/weapon/gun/energy,/obj/item/device/flash,/turf/simulated/floor{dir = 1; icon_state = "yellow"},/area/centcom/control) +"drT" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1},/turf/simulated/floor,/area/mine/eva) +"drU" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor/plating,/area/mine/eva) +"drV" = (/obj/structure/dispenser/oxygen,/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/turf/simulated/floor,/area/mine/eva) +"drW" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"},/turf/simulated/floor,/area/mine/eva) +"drX" = (/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; frequency = 1379; id_tag = "mining_east_pump"},/turf/simulated/floor{icon_state = "floorgrime"},/area/mine/eva) +"drY" = (/obj/structure/closet/emcloset,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/eva) +"drZ" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_east_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/eva) +"dsa" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_east_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/explored) +"dsb" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_east_inner"; locked = 1; name = "Engineering External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor,/area/mine/eva) +"dsc" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_east_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null},/turf/simulated/floor,/area/mine/eva) +"dsd" = (/obj/machinery/embedded_controller/radio/airlock_controller{airpump_tag = "mining_east_pump"; exterior_door_tag = "mining_east_outer"; frequency = 1379; id_tag = "mining_east_airlock"; interior_door_tag = "mining_east_inner"; pixel_x = 0; pixel_y = -25; req_access_txt = null; sensor_tag = "mining_east_sensor"},/turf/simulated/floor,/area/mine/eva) +"dse" = (/obj/structure/ore_box,/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "mining_east_sensor"; pixel_x = 0; pixel_y = -25},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/mine/eva) +"dsf" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; level = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_west_airlock"; name = "interior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor,/area/mine/living_quarters) +"dsg" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/mine/living_quarters) +"dsh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_west_inner"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor,/area/mine/living_quarters) +"dsi" = (/obj/machinery/light/small{dir = 4},/obj/machinery/airlock_sensor{frequency = 1379; id_tag = "mining_west_sensor"; pixel_x = 25; pixel_y = -5},/obj/machinery/embedded_controller/radio/airlock_controller{airpump_tag = "mining_west_pump"; exterior_door_tag = "mining_west_outer"; frequency = 1379; id_tag = "mining_west_airlock"; interior_door_tag = "mining_west_inner"; pixel_x = 25; pixel_y = 5; req_access_txt = null; sensor_tag = "mining_west_sensor"},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1379; id_tag = "mining_west_pump"},/turf/simulated/floor,/area/mine/living_quarters) +"dsj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_west_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/living_quarters) +"dsk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_west_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null},/turf/simulated/floor/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9132,9 +9156,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanIanJanIaaaaaaaaaaaaaaaaaaaaaajpaafamdameameameameamfamgamhamiamiamiamiamjaafajpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamkanKanLamkanManManNanOanNanManManPanPanPanPanQanPanPanRanSanTaivaivanUaivaivaivaivaivajlajlajlajlajlanVanWanXanYaiVaiWanZaoaaobaocaodaivaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajpaafamxamxamxamxamxaafalZaafamxamxamxamxamxaafajpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaoeaofaoeaaaaaaaaaaaaaaaaaaaaaajpaafamyamyamyamyamyaafamgaafamyamyamyamyamyaafajpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagamkaogaohamkaoiaojaokaolaomaonanMaooaopaoqaoraosaotaouaovamIaowaivanWaoxaoyaoyaoyaoyaoyaozaoyaoyaoyaoAaoBaoCaoDaoEaoFaoGaoHaoIaoJaoKaoLaivaafaoMaoNaoNaoOaoNaoNaoPaaaaaaaaaaaaaaaajqaaaaaaaaaaafaaaaaaaaaalZaaaaaaaaaaafaaaaaaaaaajqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoQaoRaoSaaaaoTaoUaoVaaaaafaoWanIaoWaaaaaaaaaaaaaaaaaaaaaajqaaaaaaaaaaafaaaaaaaaaamgaaaaaaaaaaafaaaaaaaaaajqaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafamkamkamkamkaohamkaoXaoYaoYaoZaoYapaanMapbapcapcapcaosapdapeamHamIaowaivapfapgaphaphaphaphapiapgaphapjaphapgaphaphapjaphapkaplapmapnapoappapqapqapqaprapsapsapsapsapsaprapqaaaaaaaaaaaaajpaafalEalEalEalEalEaafalZaafalEalEalEalEalEaafajpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaptapuapvapuaptapwapxapwaptaafaoWapyapzaaaaaaaaaaaaaaaaaaaaaajpaafalGalGalGalGalGaafamgaafalGalGalGalGalGaafajpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafamkapAapBamkaohamkapCaoYapDaoZaoYapEanMapFapcapGapHaosapcapeamHamIapIaivajmapJapKapLapMapNapOapPapNapQapRapSapNapTapUapVapWapXapYapZaqaaqbaqcaqdapqaprapsapsapsapsapsaprapqaafaaaaaaaaaajqaafalWalXalXalXalXalYalZamaambambambambamcaafajpaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqeapuaqfapuaqeapwaqgapwaqeaqhaqiaqjaqkaqlaqlaqmaqhaqhaafaaaajpaafamdameameameameamfamgamhamiamiamiamiamjaafajpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafamkaqnaqoaqpaqqaqraqsaqtaquaoZaqvaqwanMaqxaqyaqzaqzaqAaqBapeamHamIaowaivajmapJaqCaqDapMapNaqEaqFapNaqGaqHaqIapNaqJaqHaqKapqaqLaqMaqNaqOaqPaqQaqRaqSaqTapsapsapsapsapsaqUapqapqapqaaaaaaajqaaaamxamxamxamxamxaafalZaafamxamxamxamxamxaaaajXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqeaqVaqWaqXaqeaqYaqZaraaqeanIanIarbarcardarearfargaqhaaaaaaajXaaaamyamyamyamyamyaafamgaafamyamyamyamyamyaaaajpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaagamkarhanKamkariamkarjarkarlarmarnaroanMarparqarrarrarsartaruarvarwarxaryarzarAaqCapLapMapNarBaqFapNapNarCapNapNapNarDapNapqarEarFarGarHarIarJaqParKarLapsapsapsapsapsarMarNarOarPaaaaaaajqaaaaafaaaaafaafaaaaaaalZaaaaaaaafaaaaaaaafaaaajpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaptapuapvapuaptapwapxapwaptaafaoWapyapzaaaaaaaaaaaaaaaaaaaaaajpaafalGalGalGalGalGaafamgaafalGalGalGalGalGaafajpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafamkapAapBamkaohamkapCaoYapDaoZaoYapEanMapFapcapGapGaosapcapeamHamIapIaivajmapJapKapLapMapNapOapPapNapQapRapSapNapTapUapVapWapXapYapZaqaaqbaqcaqdapqaprapsapsapsapsapsaprapqaafaaaaaaaaaajqaafalWalXalXalXalXalYalZamaambambambambamcaafajpaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqeapuaqfapuaqeapwaqgapwaqeaqhaqiaqjaqkaqlaqlaqmaqhaqhaafaaaajpaafamdameameameameamfamgamhamiamiamiamiamjaafajpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafamkaqnaqoaqpaqqaqraqsaqtaquaoZaqvaqwanMaqxarsaqzaqzaqAaqBapeamHamIaowaivajmapJaqCaqDapMapNaqEaqFapNaqGaqHaqIapNaqJaqHaqKapqaqLaqMaqNaqOaqPaqQaqRaqSaqTapsapsapsapsapsaqUapqapqapqaaaaaaajqaaaamxamxamxamxamxaafalZaafamxamxamxamxamxaaaajXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqeaqVaqWaqXaqeaqYaqZaraaqeanIanIarbarcardarearfargaqhaaaaaaajXaaaamyamyamyamyamyaafamgaafamyamyamyamyamyaaaajpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaagamkarhanKamkariamkarjarkarlarmarnaroanMarparqarrarraqyartaruarvarwarxaryarzarAaqCapLapMapNarBaqFapNapNarCapNapNapNarDapNapqarEarFarGarHarIarJaqParKarLapsapsapsapsapsarMarNarOarPaaaaaaajqaaaaafaaaaafaafaaaaaaalZaaaaaaaafaaaaaaaafaaaajpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqearQarRarSaqearQarRarSaqearTarUarVarVarVarVarWarXaoeaaaaaaajpaaaaafaaaaafaafaaaaaaarYaaaaaaaafaaaaaaaafaaaajpaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaagamkamkamkamkariamkarZasaasaasbasaasaasaascasdasdasdasdaseasfasgamIashaivasiapgasjapLaskaslarBasmasnasoaspaspasqasraspassastasuarFasvaswasxasyaszasAasBapsapsapsapsapsasBasCasDasEaaaaaaajqajqajpaaaaaaaafaaaaaaalZaaaaafaafaafaafajpajpajpaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaptaqeasFasGaptaqeasFasGaptaqhasHaqhaqhaqhaqhaqhasIaoWaaaaaaajpajpajpaaaaaaaafaaaasJasKasJaafaafaafaafajpajpajpaafamkamkamkamkasLasMasMasMasMasMasMasMasNamkamkasOasPasQamkasRanKasSasTasUasVasVasVasWasVasVasVasXasYasYasYasZasZataatbatcatdanhateatfatgathatiapNarBatjatjatkatlatlatmatkatjatjatnatoatpasvaswasxasyaszatqatrapsapsapsapsapsatratsasDasEaaaaaaaaaaaaaafaafaaaaafaaaaaaattaaaaaaaafaaaaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatuatvatvatvatwatvatvatvatxatyatzatxatxatxatAaqhatBaoWaaaaafaafaaaaaaaaaaaaaafaaaatCatDatEaafaaaaafaaaaaaaaaaaaaaaamkanKanKatFanKanKanKanKanKanKanKanKatGatHatIatJatJatJatJatJatJatKatLatMatNatNatNatOatNatNatNatNatNatNatNatNatNatNatPatQatRatSatTarAapNapNapNapNaqEatUatjatkatlatVatlatWatXatYatZauaaqMaubaucaudaueaufaugauhapsapsapsapsapsauiaujaukaulaaaaaaaaaaaaaaaaafaaaaafaaaaumaunaumaaaaafaaaaaaaafaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9156,63 +9180,63 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaauoaOTaOUaOTaOTaOTaOTaOTaOTaOUaOTaOTaOVauqauqaOWauqauqaOXauqaOYaOZaPaaPbaPcaMfaNzaPdaPeaMiaPfaNIaNIaNIaNIaNIaNJaPgaNIaNIaNIaNOaMlaPhaPiaPjaMoaNTaMqaPkaPlaPmaPnaMvaPoaPpaPqaPraPsaPtaFCaFCaFDaNZaaaaaaaaaaaaaMzaMzaMzaMzaPuaPvaPwaPxaPyaPzaPAaPBaPCaPDaPEaMzaMzaMzaMzaaaaaaaaaaaaaOkaFBaFCaFCaPFaHwaPGaHwaHwaHwaPHaPIaPIaPJaOpaPKaOsaPLaOsaPMaOvaPNaPOaPPaPQaPRaPSaOvaPTaPUaPVaOEaPWaPXaOEaPYaLIaGaaGdaGeaNcaEDaLNaLOaEDaEDaEDaPZaQaaEDaQbaBgaQcaQdaQeaOMaOMaQfaQeaQgaBgaQhaQiaQiaQiaQiaQjaQkaNraNraQlaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaptaptaQmaQnaQnaQnaQnaQnaQnaQnawyaptaqeaQoaQpaQqaQqaQqaQraQqaQqaQqaQsaQqaQsaMfaNzaQtaQuaMiaQvaNIaNIaQwaQxaQyaQzaQwaNIaNIaNIaQAaMlaQBaQCaQDaMoaQEaMqaQFaQGaQHaQIaMvaQJaQKaQLaPqaQMaQNaFCaFCaFDaHgaMyaQOaQPaMzaMzaQQaQRaQSaQTaQUaQUaQVaQWaQUaQVaQWaQUaQXaQYaQZaRaaRbaMzaMzaQPaQOaHbaRcaFBaFCaFCaFPaRdaReaRfaRgaHwaRhaRiaRgaRjaOpaPKaRkaOsaRlaFWaOvaRmaRnaRoaRpaRqaRraOvaRsaRtaRuaOEaRvaRwaOEaRxaRyaGaaGdaGeaRzaRzaLNaLOaRAaEDaEDaRBaEDaRCaRDaBgaREaRFaRGaOMaOMaRHaRGaRIaBgaRJaQiaQiaQiaQiaQiaRKaRLaRMaRNaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaROaROaROaROaROaROaROaROaROaROaROaROaafaRPawtausauqaRQaRRaRSaRTaRUaRVaRWaRXaRYaRZaSaaSbaScaSdaMiaSeaNIaNIaQwaQyaSfaSgaQwaNIaNIaNIaNOaMlaMoaMoaShaMoaSiaSjaSjaSjaSjaSkaSlaSmaPqaPqaPqaPqaQNaFCaFCaFDaFEaFEaSnaSoaSpaMzaSqaPzaQUaSraQUaQUaQUaQUaSsaQUaQUaQUaStaSuaSuaSvaSwaMzaSxaSoaSyaSzaFEaFBaFCaFCaPFaHwaPGaHwaHwaSAaRhaSBaRgaRjaOpaPKaOsaOsaOsaSCaOvaSDaSEaSFaSGaSHaRraSIaFWaLIaRuaSJaOEaOEaOEaRxaLIaGaaSKaGeaBaaBaaSLaLOaSMaSNaEDaSOaSPaHOaSQaSRaSSaSTaSUaSVaSVaSWaSXaSYaSRaSZaTaaQiaQiaQiaQjaTbaNraNraTcaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaROaROaROaROaROaROaROaROaROaROaROaROaROaTdaTeaTfavuaTgaThaTiaTjaTkaTlaTmaTnaToaTjaTpaTqaTraTsaTtaMiaTuaNIaTvaTwaTxaTxaTyaTxaTxaTxaTzaTAaTBaNzaTCaTDaTEaTFaNzaNzaTGaMfaTHaMvaTIaTJaTKaTLaTLaTMaFCaFCaFCaFCaFCaTNaTOaTPaTQaTRaTSaQUaTTaTUaTVaTWaTXaTYaTZaUaaUbaUcaUdaTRaUeaUfaUgaUhaUiaUjaUkaUlaUmaFCaUnaFPaUoaReaRfaRgaHwaRhaRiaRgaRjaOpaUpaUqaUraUsaFWaOvaSDaOvaUtaOvaUuaRraUvaFWaMWaRuaOEaOEaOEaOEaRxaNaaGaaUwaUxaUyaUzaUAaUBaUCaUCaUCaUCaUCaUCaUDaUEaUFaOMaOMaOMaOMaOMaOMaUGaUHaUIaQiaQiaQiaQiaQjaOSaaaaafaafaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaROaROaROaROaROaROaROaROaROaROaROaROaROaTdaTeaTfavuaTgaThaTiaTjaTkaTlaTmaTnaToaTjaTpaTqaTraTsaTtaMiaTuaNIaTvaTwaTxaTxaTyaTxaTxaTxaTzaTAaTBaNzaTCaTDaTEaTFaNzaNzaTGaMfapHaMvaTIaTJaTKaTLaTLaTMaFCaFCaFCaFCaFCaTNaTOaTPaTQaTRaTSaQUaTTaTUaTVaTWaTXaTYaTZaUaaUbaUcaUdaTRaUeaUfaUgaUhaUiaUjaUkaUlaUmaFCaUnaFPaUoaReaRfaRgaHwaRhaRiaRgaRjaOpaUpaUqaUraUsaFWaOvaSDaOvaUtaOvaUuaRraUvaFWaMWaRuaOEaOEaOEaOEaRxaNaaGaaUwaUxaUyaUzaUAaUBaUCaUCaUCaUCaUCaUCaUDaUEaUFaOMaOMaOMaOMaOMaOMaUGaUHaUIaQiaQiaQiaQiaQjaOSaaaaafaafaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaROaROaROaROaROaROaROaROaROaROaROaROaROavtarRavtauqaUJaQsaUKaULaUMaUMaUMaUMaUNaUOaQqaUPaUQaURaUSaUTaUTaUTaUUaUTaUVaUWaUXaUYaUZaUZaVaaNOaVbaVcaVdaVeaVfaVgaVhaVhaViaVjaVkaVlaVmaVnaVnaVnaVoaMvaVpaFCaVqaVraVsaVtaVuaVvaVwaVxaVyaVzaVAaMzaMzaMzaMzaMzaMzaVBaVCaVDaVEaTUaVFaVGaMzaVvaVuaVHaVIaVraVJaFCaFCaPFaHwaVKaHwaHwaHwaKuaHwaHwaRjaHwaVLaVLaVLaVLaVMaVNaVOaOvaOvaOvaVPaVQaVRaFWaVSaVTaOEaVUaVUaVVaVTaVWaGaaVXaVYaVZaWaaLNaLNaLNaLNaWbaLNaLNaLNaWcaUHaOMaOMaOMaOMaOMaOMaOMaUGaUHaUIaQiaQiaWdaQiaWeaOSaafaafaaaaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaROaROaROaROaROaROaROaROaROaROaROaROaROaWfaWgaTfavuaWhaWiaWjaWkaWlaWmaWnaUMaWoaWpaQqaWqaWraURaUSaWsaWtaWuaWvaUTaWwaWxaWyaMiaWzaWAaWBaWCaMiaWDaWEaWFaWFaWFaWFaWGaWFaWFaWHaWIaWIaWIaWJaWIaWKaWLaWMaWMaWNaWOaWPaWPaWPaWPaWQaWRaWSaWRaWTaWUaWUaWUaWUaWUaWUaWUaWUaWVaWWaWWaWXaWWaWWaWWaWWaWWaWWaWWaVJaFCaFCaFPaWYaWZaXaaXbaHwaXcaHwaXdaXeaXfaVLaXgaXhaXiaFWaFWaFWaXjaXkaXkaXkaFWaFWaFWaXlaOEaOEaXmaXnaXoaXpaKBaGaaXqaVYaXraBaaXsaXtaXuaSNaXvaXtaXwaSNaXxaBgaXyaEPaXzaOMaOMaXzaEPaXAaBgaXBaXCaXDaQiaQiaQjaOSaaaaafaafaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaROaROaROaROaROaROaROaROaROaROaROaROaafauoaXEaMcaXFaQsaXGaXGaXHaXIaXJaXHaXKaXGaQqaXLaXMaXNaXOaXPaXPaXQaXRaXPaXSaWxaXTaMiaWzaWAaXUaXVaMiaXWaWEaWFaXXaXYaXYaXYaXZaWFaYaaYbaYcaYdaWLaWLaWLaWLaFCaFCaYeaYfaYgaYhaYiaYjaYkaYlaYmaYnaWTaWUaYoaYpaYqaYraYsaYtaYuaWVaWWaYvaYwaYxaYyaYzaYAaYBaYCaWWaYDaYEaYEaFPaFPaFPaFPaFPaYFaPFaYFaYGaYHaFPaOmaFPaFPaFPaYIaYJaYJaYJaYJaYJaYJaYKaYJaYIaKBaYLaYLaYMaVZaVZaVZaVZaYIaXqaYNaXraBaaBaaBaaBaaBaaYOaBaaBaaBaaBaaBgaYPaYQaYRaYRaYRaYRaYSaBgaBgaYTaQiaYUaQiaQiaQjaQkaNraNraTcaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawqaptaYVaxmaTfaqeaqeaqeaqeaqeaqeaYWaXFaQsaQqaQqaQqaQqaQqaQqaQqaQqaQqaYXaNzaURaUSaWsaYYaYZaZaaUTaZbaZcaZdaMiaWzaWAaZeaZfaMiaXWaWEaWFaXYaZgaZgaXYaZgaWFaYaaZhaZiaZiaZjaZkaZlaWLaZmaFCaVqaZnaZoaZpaZqaZraZraZqaZsaZtaWTaWUaZuaZvaZwaZxaZyaZzaZAaZBaZCaYCaYCaYCaZDaZEaZFaYCaZGaWWaVJaZHaFCaICaVZaVZaVZaVZaVZaVZaVZaVZaVZaZIaVZaVZaVZaVZaZJaVZaVZaVZaVZaVZaVZaVZaVZaZKaVZaVZaVZaVZaVZaVZaVZaVZaZLaZMaZNaZOaZPaZOaZOaZOaZQaZRaZSaZOaZTaZOaZUaZVaZOaZOaZOaZOaZOaZOaZOaZWaZXaZYaYUaQiaQiaQiaRNaZZaRMaRNaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaaaaaaafbabawtausbacbadbaebaebaebaebaebaebafbagaMfaTGaNzaURaUSaUTaUTbahbaiaUTaMiaMibajaMiaWzbakaZebalaMiaXWaWEaWFbambanaXYaZgbaoaWFaYabapaZiaZiaZibaqbaraWLbasaFCaVqbatbaubavbawbaxbaybazaZsbaAaWTaWUbaBbaCbaDbaDbaDbaEbaFaWUbaGbaHaYCaYCaZDbaIaZFaYCbaJaWWbaKaFCaFCaICaVZaVZaVZaVZaVZaVZaVZaVZaVZbaLaVZaVZaVZaVZaVZaVZbaMaZOaZOaZOaZOaZOaZObaNaZOaZOaZOaZOaZOaZOaZObaObaPbaQbaRaVZaVZaVZaVZaVZaVYaVZaVZaVZaVZaVZaVZaVZaVZaVZaVZaVZaVZbaSaVZbaTaQiaQiaYUaQiaQibaUaTbaNraNraQlaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaaaTdaTeaTfavubaVbaWbaXbaXbaYbaXbaXbaXbaZaMfaMfaMfaMfaURaUSaWsbbabbbbbcaUTbbdbbebbfaMiaMiaMiaMibbgaMiaXWaWEaWFbbhaXYaZgbbibbjaWFaYaaWLbbkaZiaZibblbbmaWLbbnaFCaVqbbobbpbavbawbbqbbrbazaZsbbsaWTbbtbbubbvbaDbbwbaDbbxbbybbzbaGbbAbbBbbCbbDbbDbbEaYCbbFaWWaVJbbGaFCaICaVZaVZaVZbbHaVZbbIbbJbbJbbJbbKbbJbbJbbJbbLaVZaVZaVZaVZbbMaVZbbHbbNbbObbPaVZaVZaVZbbQbbRbbSbbTbbUbbVbbWaVZaVZaVZaVZaVZbbXbbYbbMaVZaVZaVZaVZaVZaVZaVZaVZaVZaVZaVZaVZaVZbbZbcabcbbccbcdbcebcfbcgaafaaaaafaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaaavtarRavtauqbchbaXbcibcjbckbckbclbcmbcnbcobcobcobcobcpbcqbcrbcrbcsbctbcrbcubcubcvbcubcwbcxbcxbcybcxbczbcAbcBbcCbcDbcDbcEbcFbcBbcGbcHbcIaZiaZibblbcJbcKbbnaFCaVqbcLbcMbcNaZqaZqaZqaZqaZsbcOaWTaWUbcPbcQbcRbcSbcTbcQbcUaWUbaGbcVbcWbcXbcYbcZbdabdbbdcaWWbddbdebdebdfbdfbdfbdfbdfbdfbdfbdgbdhbdibdjbdkbdkbdgbdlbdlbdlbdlbdlbdlbdmbdmbdmbdnbdmbdmbdmbdobdpbbXbdqbdrbdsbdtbduaVZaVZbdvbdvbdwbdwbdwbdwbdwbdxbdybdybdzbdyaVZbdybdzbdybdybdAbdBbdBbdBbdBbdCbdDbdEaNrbdFaaaaaaaaaaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaaaWfaWgaTfavubdGbaXbdHbaXbdIbdJbaXbaXbaXaNzbdKbdLbdLbdMaUTaWsbdNaYZbdOaUTbdPbdQbdRbdRbdSbdTbdUbdVbdWbdUbdXbdYbdZbeabdZbdZbebbecbedbeebefaZiaZibegbehbeibbnaFCbejbcLbekbelbembenbeobepbeqaWTaWTaWUberbesbetbeubevbewbexaWUbaGbeybezbeAbeBbeCbdaaYCbeDaWWaVJaFCbeEbdfbeFbeGbeHbeIbeJbeKbeLbeMbeMbeNbeObeObeMbePbeQbeRbeSbeTbdlbeUbeVbeWbeXbeYbeZbfabfbbfcbfbbfbbfbbfdbfebffbfgbffbfhbfhbdwbfibfjbfkbdwbflbfmbflbdwbdxbdybdAbdBbfnbfobfnbdBbfpbfqbdBbfrbdDaaaaafaaaaaaaaaaaaaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaaavtarRavtauqbchbaXbcibcjbckbckbclbcmbcnbcobcobcobcobcpbcqbcrbcrbcsbctbcrbcubcubcvbcubcwbcxbcxbcybcxbczbcAbcBbcCbcDbcDbcEbcFbcBbcGbcHbcIaZiaZibblbcJbcKbbnaFCaVqbcLbcMbcNaZqaZqaZqaZqaZsbcOaWTaWUbcPbcQbcRbcSbcTbcQbcUaWUbaGbcVbcWbcXbcYbcZbdabdbbdcaWWbddbdebdebdfbdfbdfbdfbdfbdfbdfbLybdkbdkbdjbdhbdibLybdlbdlbdlbdlbdlbdlbdmbdmbdmbdnbdmbdmbdmbdobdpbbXbdqbdrbdsbdtbduaVZaVZbdvbdvbdwbdwbdwbdwbdwbdxbdybdybdzbdyaVZbdybdzbdybdybdAbdBbdBbdBbdBbdCbdDbdEaNrbdFaaaaaaaaaaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaaaWfaWgaTfavubdGbaXbdHbaXbdIbdJbaXbaXbaXaNzbdKbdLbdLbdMaUTaWsbdNaYZbdOaUTbdPbdQbdRbdRbdSbdTbdUbdVbdWbdUbdXbdYbdZbeabdZbdZbebbecbedbeebefaZiaZibegbehbeibbnaFCbejbcLbekbelbembenbeobepbeqaWTaWTaWUberbesbetbeubevbewbexaWUbaGbeybezbeAbeBbeCbdaaYCbeDaWWaVJaFCbeEbdfbeFbeGbeHbeIbeJbeKbeLbeObeObeNbeMbeMbeMbePbeQbeRbeSbeTbdlbeUbeVbeWbeXbeYbeZbfabfbbfcbfbbfbbfbbfdbfebffbfgbffbfhbfhbdwbfibfjbfkbdwbflbfmbflbdwbdxbdybdAbdBbfnbfobfnbdBbfpbfqbdBbfrbdDaaaaafaaaaaaaaaaaaaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaaaaaaaaawsaXEaMcbfsbaXbdHbaXbftbfubfvbfwbaXbfxaNzbfyaNzbfzaUTaUTaUTaUTaUTaUTbfAbfBbfCaNzbfDaWFaWFaWFbfEaWFaWFaWFbfFaWFaWFaWFaWFbfGbfHbfIbfJaZiaZibblbfKbcKbbnaFCbfLbcLbfMbelaWTaWTaWTaWTbfNaWTbfObfPbfQbfRaYobfSaYobfTbfUbfVbfWbeybfXaYCbfYbfZbdabgaaYCbgbbgcbgdbgebdfbgfbggbghbgibgjbgkbglbgmbeObgnbeObeObgobgpbgqbgrbgsbgtbdlbgubgvbgwbgvbgxbgybdmbgzbgAbgBbgCbdrbgDbgEbgFbgGbgHbgIbgJbgKbgLbgMbgLbgNbgObgPbgQbdwbgRbgSbgTbdBbgUbgVbgWbgXbgYbgZbdBbfrbdDaaaaafaaaaaaaaaaaaaGuaGuaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawqaptaYVaxmaWgaQnaQnaQnaQnbhaavuauqauqbaXbhbbhcbhdbfvbhebhfbhgbhhbhhbhhbhhbhibhjbhjbhjbdUbdUbdUbhkbhlbhlbhlbhmaWFbhnbhobhpbhqbhrbhsbhtbhubhvbhwbhxbhybhzbhAbhBbhCbhDbhEbhFbhFbhGbgdbhHbhIbhJbhKbhLbhMbhNbhObhPbhQbhRbfVbfVbfVbfVbhSbfVbfVbfVbfVbhTbhUbhVbhWbhXbhYbhZbiabibbicbidaFCaFCbdfbiebifbigbgibihbiibglbijbikbilbikbikbimbinbiobipbiqbirbdlbisbgvbitbgvbgxbiubdmbivbiwbixbiybdrbgDbizbiAbiBbiBbiCbiDbiEbiFbiFbiFbiGbiHbiIbiJbiKbiLbiMbiNbiObiPbiQbgYbiRbiSbiTbdBbfrbiUaafaafaaaaaaaaaaaaaaaaGuaGuaGuaGuaGuaGuaGuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiVbiWarRavtatvatvaMcauqauqbaXbiXbiYbfvbiZbaXbaXbaXaMfbjabjbbjcbjdbjcbjcbjcbjdbjcaMfaMfaWFaWFaWFbjeaWFbhtbhtbjfbhtbhtbhtbhtbhtbjgbjhbjibjjbjkbjlbjlbjlbjmbjnbjobjpbjqbjrbjsbjtbjubjubjvbjwbjxbjybjzbjAbjBbjCbjDbjEbjFbjGbjHbjEbjIbjCbjJbeybjKbjLbjKaWWaWWaWWbjMbaGbjNaFCaFCbdfbjObjPbjQbgibjRbjSbglbgnbeObjTbjUbjVbjWbdlbjXbjYbjZbkabdlbisbkbbgvbgvbgxbgybdmbdrbdrbdrbdrbdrbgDbgEbkcbkdbkebkfbkgbkhbkibkjbkkbkkbklbgLbkmbdwbknbkobkpbdBbkqbkrbksbktbkubkvbdBbfrbkwaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaabiVarRarRavtaupaupbkxaupaupbaXbkybiYbfvbfvbaXaaaaaaaaaaafaafbkzbkzbkzbkzbkzbkzbkzaaaaaabkAbkBbkCbkDbkEbhtbhtbhtbhtbhtbhtbhtbhtbkFbfJaZibkGbkHbkIbkJbkKbkLbhzaWLaWLbkMbkNbkObkPbkQbkRbkRbkSbkRbkTbkUbkRabVbkVbkWbjEbkXbjGbkXbjEbkYbkVbjJbkZblabbDblbblcbldbleblfblgblhaFCblibljblkbllbjQbgiblmbeKblnbgnbeObjUblobeOblpbdlbgqblqblrblsbdlbltblublvblwblxblwblyblzblzblzblzblzblAbgEblBbgGbgGbkfblCblDblEblFblGblGblHblIblJbdwblKbkoblLbdBblMblNblObktbgYblPbdBbfrblQaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauoavtavtblRblSawqaptblTblSbaXblUblVblWbdJbaXaaaaaaaaaaaaaaabkzbkzbkzbkzbkzbkzbkzaaaaaablXblYbhtblZbmabmabmabmabmabmbbmabmabmabmcbmdbmebmfbmgbmhbmibmjbblbmkbmlbmmbbnbmnbmobkPbkPbkRbmpbmqbmrbmsbmtbkRbmubmvbmwbmxbmybmzbmybmAbmBbmCbmDbkZbmEbbDbmFaWWbmGbjKbmHbmIblhaFCaFCbdfbmJbmKbjQbmLbmMbeKbmNbmObmPbmQbmRbeObmSbmTbmUbmVbmWbmXbdlbdmbmYbdmbdmbmZbmZbmZbmZbmZbmZbmZbmZbgDbgEbkcbkdbkebnabnbbncbndbnebnebneblHbgLbnfbngbnhbgSbnibdBbnjbnkbnlbnmbgYbnnbdBbfrbdDaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkzbkzbkzbkzbkzbkzbkzbnpbnqbnrbnsbhtbhtbhtbntbntbntbntbkDbhtbhtbhtbjgbnuaZibnvbnwbnxbnybnzbblaZibnAbnBbbnbmnbnCbnDbnEbnFbnGbnHbnIbnJbnKbkRabVbnLbnMbjEbmybnNbmybjEbnObnPbjJbnQbnRbnSbnTaWWbnUbjKbnVbmIblhaFCaFCbdfbnWbnXbjQbnYbnZbeKboabgnbeObobbocbodboebdlbofbogbohboibdlbojbokbolbombonboobopboqborbosbotboubfdbfebovbowboxboybozbgKboAbnebnebneboBbgLboCbdwboDboDboEbdBboFboGboHboIbgYboJbdBbfrbdDbdDaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkzbkzbkzbkzbkzbkzbkzboKboLboKboMboNbhtbhtbhtbhtbhtbhtbkDbhtboOaWFaWFboPaZiaZiboQboRboSboTbblaZiaZiboUaFCbmnboVboWboXboYboZbpabpbbpcbpdbkRabVbnPbnPbpebpfbpgbjEbphbpibpjbpkbplbpmbpmbpmbpmbpmbpmbpnbpobppbdebdebpqbprbpsbptbpubeKbeKbpvbgnbeObeObeObeObpwbpxbeObpybeObpzbpAbpBbpCbeObpDbpEbpFbpGbpHbpIbpJbpKbmZbpLbpMbpNbpNbpObpPbpQbgKbpRbgLbgLbpSbpTbgLbpUbgKbpVbpWbpXbpYbpZbqabqbbqcbfnbdBbdBbfrbqdbdDaafaaaaafaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiVbiWarRavtatvatvaMcauqauqbaXbiXbiYbfvbiZbaXbaXbaXaMfbjabjbbjcbjdbjcbjcbjcbjdbjcaMfaMfaWFaWFaWFbjeaWFbhtbhtbjfbhtbhtbhtbhtbhtbjgbjhbjibjjbjkbjlbjlbjlbjmbjnbjobjpbjqbjrbjsbjtbjubjubjvbjwbjxbjybjzbjAbjBbjCbMubjEbjFbjGbjHbjEbMvbjCbjJbeybjKbjLbjKaWWaWWaWWbjMbaGbjNaFCaFCbdfbjObjPbjQbgibjRbjSbglbgnbeObjTbjUbjVbjWbdlbjXbjYbjZbkabdlbisbkbbgvbgvbgxbgybdmbdrbdrbdrbdrbdrbgDbgEbkcbkdbkebkfbkgbkhbkibkjbkkbkkbklbgLbkmbdwbknbkobkpbdBbkqbkrbksbktbkubkvbdBbfrbkwaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaabiVarRarRavtaupaupbkxaupaupbaXbMtbiYbfvbfvbaXaaaaaaaaaaafaafbkzbkzbkzbkzbkzbkzbkzaaaaaabkAbkBbkCbkDbkEbhtbhtbhtbhtbhtbhtbhtbhtbkFbfJaZibkGbkHbkIbkJbkKbkLbhzaWLaWLbkMbkNbkObkPbkQbkRbkRbkSbkRbkTbkUbkRabVbkVbkWbjEbkXbjGbkXbjEbkYbkVbjJbkZblabbDblbblcbldbleblfblgblhaFCblibljblkbllbjQbgiblmbeKblnbgnbeObjUblobeOblpbdlbgqblqblrblsbdlbltblublvblwblxblwblyblzblzblzblzblzblAbgEblBbgGbgGbkfblCblDblEblFblGblGblHblIblJbdwblKbkoblLbdBblMblNblObktbgYblPbdBbfrblQaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauoavtavtblRblSawqaptblTblSbaXblUblVblWbdJbaXaaaaaaaaaaaaaaabkzbkzbkzbkzbkzbkzbkzaaaaaablXblYbhtblZbmabmabmabmabmabmbbmabmabmabmcbmdbmebmfbmgbmhbmibmjbblbmkbmlbmmbbnbmnbmobkPbkPbkRbmpbmqbmrbmsbmtbkRbmubmvbMsbmxbmybmzbmybmAbmBbmCbmDbkZbmEbbDbmFaWWbmGbjKbmHbmIblhaFCaFCbdfbmJbmKbjQbmLbmMbeKbmNbmObmPbmQbmRbeObmSbmTbmUbmVbmWbmXbdlbdmbmYbdmbdmbmZbmZbmZbmZbmZbmZbmZbmZbgDbgEbkcbkdbkebnabnbbncbndbnebnebneblHbgLbnfbngbnhbgSbnibdBbnjbnkbnlbnmbgYbnnbdBbfrbdDaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkzbkzbkzbkzbkzbkzbkzbnpbnqbnrbnsbhtbhtbhtbntbntbntbntbkDbhtbhtbhtbjgbnuaZibnvbnwbnxbnybnzbblaZibnAbnBbbnbmnbnCbnDbnEbnFbnGbnHbnIbnJbnKbkRabVbnLbnMbjEbmybnNbmybjEbnObnPbjJbnQbnRbnSbnTaWWbnUbjKbnVbmIblhaFCaFCbdfbnWbnXbjQbnYbnZbeKboabgnbeObobbocbLwboebdlbofbogbohboibdlbojbokbolbombonboobopboqborbosbotboubfdbfebovbowboxboybozbgKboAbnebnebneboBbgLboCbdwboDboDboEbdBboFboGboHboIbgYboJbdBbfrbdDbdDaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkzbkzbkzbkzbkzbkzbkzboKboLboKboMboNbhtbhtbhtbhtbhtbhtbkDbhtboOaWFaWFboPaZiaZiboQboRboSboTbblaZiaZiboUaFCbmnboVboWboXboYboZbpabpbbpcbpdbkRabVbnPbnPbpebpfbpgbjEbphbpibpjbpkbplbpmbpmbpmbpmbpmbpmbpnbpobppbdebdebKrbprbpsbptbpubeKbeKbpvbgnbeObeObeObeObpwbpxbeObpybeObpzbpAbpBbpCbeObpDbpEbpFbpGbpHbpIbpJbpKbmZbpLbpMbpNbpNbpObpPbpQbgKbpRbgLbgLbpSbpTbgLbpUbgKbpVbpWbpXbpYbpZbqabqbbqcbfnbdBbdBbfrbqdbdDaafaaaaafaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaeaaaaaaaaabkzbkzbkzbkzbkzbkzbkzbqebqfbqebqgbhtbhtbhtbntbntbntbntbkDbhtbqhbqiaWFbqjaZiaZiboQbqkbmiboTbqlbqmbmebqnbqobqpblhaOkboXbqqbqrbqsbqtbqubqvbqwbqxbqybqzbqAbqBbnNbqBbpibqCbqDbqDbplbqEbqFbqGbqHbqIbqJbqKbqLbqMaUlaUlbqNbqObqPbqQbqRbqSbqTbqUbqVbqUbqWbqUbqUbqXbqYbqUbqYbqUbqUbqUbqZbrabrbbrcbpEbrdbpGbrebrebrfbrgbmZbgDbgEbrhbribrjbrkbrkbgKbrlbrmbrnbgKbrobgLbrpbrqbrrbrsbrtbrubrubrvbrwbrxbrybrzbrAbfrbrBbdDaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaabkzbkzbkzbkzbkzbkzbkzbrCbnqbrDbrEbhtbhtbhtbhtbhtbhtbhtbkDbhtbqhbrFaWFbrGbaqaZibrHbmebrIbmebrJaZibnAbmmbbnaFCblhaOkboXbkRbrKbrLbrMbrNbrObkSbrPbrQbrRbrSbpjbrTbrUbrVbrWbrXbrYbplbrZbsabsbbscbsdbsdbsebsfbsgaFCaFCbshbsibgnbeObsjbskbslbsmbsnbsmbsobsmbspbsqbpBbsrbpBbpBbssbstbsubsubsvbswbsxbsybpGbszbsAbpJbrgbmZbdsbgEbffbsBbsCbsBbsBbgKbgKbgKbgKbgKbsDbsEbsFbsGbsHbsIbsJbsKbsKbsLbsMbkobsNbnhbnhbfrbrBbiUaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaabkzbkzbkzbkzbkzbkzbkzbqebqfbqebsObsPbhtbhtbsQbsRbsSbsRbsTbsRbsUbsVbcBbsWbsXbhCbsYbhCbsZbhDbsXbtabtbbnBbbnaFCbtcbtdbtebkRbtfbtgbthbtibtjbkSbtkbtlbtmbtnbtobtpbtqbtrbtsbttbtubtvbtwbtxbtxbtybtzbtAbtBbpobtCaFCaOlbdgbmNbtDbeObtEbtFbtGbtHbtIbtJbtKbtLbtGbtHbtMbtMbtHbtGbtNbdkbsubtObrebrebtPbpEbpGbtQbtRbtSbtTbmZbtUbtVbtWbtXbtYbsKbsKbtZbuabsKbubbucbudbuebufbsKbugbuhbuibujbukbulbumbumbumbumbumbfrbrBbkwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaabkzbkzbkzbkzbkzbkzbkzbqebqfbqebsObsPbhtbhtbsQbsRbsSbsRbsTbsRbsUbsVbcBbsWbsXbhCbsYbhCbsZbhDbsXbtabtbbnBbbnaFCbtcbtdbtebkRbtfbtgbthbtibtjbkSbtkbtlbtmbtnbtobtpbtqbtrbtsbttbtubtvbtwbtxbtxbtybtzbtAbtBbpobtCaFCaOlbLybmNbtDbeObtEbtFbtGbtHbtIbtJbtKbtLbtGbtHbtMbtMbtHbtGbtNbdkbsubtObrebrebtPbpEbpGbtQbtRbtSbtTbmZbtUbtVbtWbtXbtYbsKbsKbtZbuabsKbubbucbudbuebufbsKbugbuhbuibujbukbulbumbumbumbumbumbfrbrBbkwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaabkzbkzbkzbkzbkzbkzbkzbunbuobunbupbuqburburburburburbusbutbhtbqhbuuaWFbuvbuwbuxbuybjhbkHbuzbuAbkKaWLaWLbuBaFCbuCbuDboXbkRbuEbuFbuGbrLbuHbkSbuIbuJbuKbuLbuMbuNbuObuPbuQbuRbuSbplbuTbuUbuVbuWbtzbtAbtBbpobuXaFCaFCbuYbuZbvabeObtEbvbbtGbvcbvdbvebvfbvgbtGbvhbvibvibvjbtGbvkbeObsubvlbrebvmbvnbvobvpbvqbvrbvrbvsbvtbvubvvbvwbvxbvybrubrubvzbrubvAbrubrvbrubrubrubrubvBbvCbvDbvEbvFbvGbvHbvIbvJbvKbumbfrbrBbkwaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkzbkzbkzbkzbkzbkzbkzbvLbvMbvNaWFaWFbvObnqbnqbnqbvPaWFaWFbvQbvRbvSaWFbvTbvTbvTbvUbvTbvVbvWbvXbvYbvZbvVbbnaFCbwabwbaQObkRbqwbwcbwdbwdbwebwfbwgbwhbwibwgbwjbwkbwlbwmbwnbwnbwnbwobpmbpmbpmbpmbpmbpmbpmbpobuXaFCbwpbtGbtGbwqbwrbwsbtGbtGbwtbwubwvbwwbwwbwxbwybwzbwAbwybwBbvkbeObsubwCbwDbwEbwFbwGbwHbwIbwFbwFbwJbwKbwLbwMbwNbwNbwNbwNbwNbwObwNbwNbwPbwQbwRbwSbwSbwTbwUbwVbwWbvEbwXbwYbwZbxabxbbxcbumbfrbrBblQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnoaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkzbkzbkzbkzbkzbkzbkzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabxdaafaaaaaaaaaaaabvTbxebxfbxgbxhbvVbxibxjbxkbxlbvVbbnaFCbxmbxnbxobxnbxpbxqbxrbxsbxtbxuaUlbxvaUlbxwbxxbxybxzaIGbxAaFCaIVbxBaIWaFCbxCaFCaFCaFCbxDbxEbuXaFCbxFbtGbxGbxHbxIbxJbxKbxLbxMbxNbxObwwbwwbxPbwybxQbxRbxSbwBbvkbxTbsubxUbxVbxWbxXbxYbxZbyabybbycbmZbmZbdsbydbwNbyebyfbygbyhbyibyjbykbwPbylbymbynbwSbwSbyobwVbwWbypbyqbyrbysbytbyubyvbumbfrbrBbdDbdDbdDbdDbdDaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDeaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkzbkzbkzbkzbkzbkzbkzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvTbywbyxbyybyzbyAbyBbyCbyDbyEbvVbbnbyFbyGaFCaFCaFCaFCaFCbxraFCbyHaFCaFCbyIaFCaFCbyJbyKbyLaFCaFCaFCaFCbxBaFCaFCbxCaFCaFCaFCbyMbyNbuXbyObyPbyQbyRbySbyTbyUbyVbyWbyXbyYbyZbzabvgbtGbzbbzcbzdbzebtGbvkbeObsubsubsubsubsubmZbmZbmZbmZbmZbmZbzfbzgbzhbwNbzibzjbzkbzlbzmbznbzobwPbzpbzqbzrbzrbwSbzsbztbzubzvbzwbzxbyubzybzzbzAbumbfrbrBbdDbzBbzCbzCbdDaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbzDbzEbzEbzFbzGbzGbzHbzHbzHbzHbzIaafaafaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkzbkzbkzbkzbkzaaaaaaaaaaaaaaaaaaaaaaaabzJbzKbzLbzKbzMaaaaaaaaabvTbvTbzNbzObyybzObzPbzQbzRbzSbzTbvVbzUbbnbzVbzWbqobzXbqobzYbzZbqobqpaFCbAabAbbgdbgdbAcaUlaUlaUlaUlaUlaUlbAdbAeaUlbAfbAgaUlbAhbAibAjbAkaFCaFCbtGbAlbAmbAnbwsbtGbtGbtHbAobtHbtGbtGbtGbtGbtGbtGbtGbtGbvkbeObApbAqbArbvbbAsbmNbAtbAubAvbAwbAxbAybAzbAAbwNbABbACbygbADbAEbAFbAGbwPbAHbzqbzrbzrbwSbAIbAJbAKbALbAMbANbAObAPbAQbARbASbATbAUbAUbAUbAUbAVbdDaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbAWbAXbAYbAXbzGbzHbzHbAZbBabAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBbbBcbBdbBcbBbbBebBfbBgbvTbBhbzObBibBjbBkbBlbBmbBmbBnbBobvVbBpbBpbBqbBpaQOaQOaQOaQObBrbBrbBrbBrbBrbBrbBrbBrbBsbBtbBtbBubBubBubBubBvbBwbBubBubBubBubBxbBybBzaFHaHibBAbtGbBBbBCbBDbBEbBFbtGbBGbBHbBIbtHbBJbBJbBKbBLbBMbBNbtHbBObeObeObeObeObeObvkbmQbBPbBQbBRbBSbmNbBTbBUbBVbBVbBVbBVbBVbBVbBVbBVbBVbwPbBWbBXbBYbBYbwSbBZbCabCbbCcbCcbCcbCcbCdbCebCfbCgbCcbCcbCcbCcbrBbChbCiaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagbCjbAXbAXbCkbzHbzHbAZbAZbClbAZbAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzLbCmbCnbCmbzLbCobCpbCqbvTbCrbCsbzObCtbCubvVbCvbCwbCxbCybvVbCzbCzbCAbBpaaaaaaaaaaaabBrbCBbCCbCDbCEbCFbCGbBrbCHbCIbCJbBubCKbCLbCMbCNbCObCPbCQbCRbCSbCTbCUbCVbCWbCXbBxbtGbCYbBHbxObCZbDabtGbDbbBHbDcbDdbwwbwwbwwbwwbwwbDebDfbDgbpBbpBbpBbpBbssbvkbobbBPbBQbBRbDhbmNbBTbBUbBVbDibDjbDjbDkbDlbDmbDnbDobwPbDpbDqbDrbDrbwSbDsbDtbwWbDubDvbDwbDxbDybDzbDAbDBbDCbDDbDEbCcbrBbChbDFaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabDGbzHbCjbzHbzHbAZbAZbAZbAZbAZbAZbAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBbbCmbCmbCmbDHbDIbzObzObDJbDKbzObzObDLbDMbvVbvVbvVbDNbvVbvVbDObDPbDQbDRaaabDSbDTbDUbDVbDWbCGbDXbDYbDZbEabEbbEcbEdbEebEfbEgbEhbEibEjbEkbElbEmbBubBubEnbEobEpbEqbErbEsbEtbwwbBHbEubCZbwwbEvbEwbBHbExbtGbEybEzbwwbwwbEAbEBbmNbmNbmNbmNbmNbECbvkbvkbEDbBQbBQbBRbEEbEFbEGbBUbBVbEHbEIbDjbEJbDjbDjbDjbEKbwPbELbzqbEMbEMbwSbwUbENbEObEPbEQbEQbEQbEQbERbESbETbEUbEVbEWbCcbdDbEXbdDbEYbEYbEYbEYbEYaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbzGbzHbEZbFabFabAZbAZbAZbAZbAZbAZbAZbAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzLbCnbCnbCnbzLbFbbFcbFdbFebFfbzObFgbFhbFibFjbFkbFkbFlbFkbFkbFmbFnbFobFpaaabFqbFrbFsbFtbFubCGbFvbFwbFxbFybBrbFzbFAbFBbBubFCbFDbFEbFFbFGbFHbFIbFJbFKbFLbFMbFNbFObFPbFQbtMbFRbFSbFTbFUbFVbtGbFWbBHbFXbtGbFYbCZbwwbwwbFZbGabmNbGbbGcbGdbGebgnbvkbpzbGfbGgbGgbGgbGgbGhbGibGjbBVbDibGkbDjbDjbDjbDjbDjbGlbwPbGmbzqbGnbGnbwSbGobGpbwWbGqbGrbGrbGrbGrbGsbGtbGubGvbGrbGwbCcbGxbGybGzbGAbGBbGCbGDbGEaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabzHbzHbGFbAZbAZbAZbAZbAZbAZbAZbAZbAZbAZbAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaabBbbGGbGHbGIbBbbGJbBfbBgbvTbvTbGKbGKbGKbvTbvTbBpbBpbBpbBpbGLbBpbBpbGMbFpaaabFqbGNbGObGPbGQbGRbGSbGTbGQbGQbGUbGVbGWbCJbBubBubBubBubBubBubGXbBubBubGYbGZbHabHbbHcbHdbHcbtMbHebHfbHgbHhbHibtGbHjbHkbHlbtGbHmbHnbHobHpbHqbHrbmNbHsbeObgobHtbgnbHubpBbHvbHwbHxbHybHzbmNbBTbBUbBVbBVbHAbDjbDjbDjbHBbBVbBVbwPbHCbHDbGnbGnbwSbHEbGpbwWbDubHFbHGbHHbHIbHJbHKbHLbHMbHNbHObHPbHQbHRbHSbHTbHUbHVbGDbHWaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbzHbAZbAZbAZbAZbAZbAZbHXbAZbHYbAZbAZbAZbAZbAZbzHbzHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabHZbzKbIabzKbIbaaaaafaaaaaabvTbIcbIdbIebvTaaaaaaaaabBpbIfbIgbDObBpbGMbFpaaabFqbIhbIibIjbIkbCGbIlbImbInbIobBrbCHbIpbIqbIrbIsbIsbIsbIsbItbIubIubIubIvbIwbIxbIybIzbIAbIBbICbIDbIEbICbIFbIDbICbICbIEbIFbICbICbIFbICbICbIEbICbIGbIHbmNboebmNbIIbvkbIJbmNbmNbmNbmNbmNbmNbIKbBUbBVbILbIMbINbIObIPbIQbIRbILbwSbISbITbynbwSbwSbIUbGpbIVbEYbEYbCcbCcbCcbCcbCgbCcbIWbIXbIYbCcbIZbJabJbbEYbJcbJdbJebEYaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabzHbJfbJfbJfbJfbJfbJfbJgbAZbJhbJfbHYbAZbAZbAZbAZbzHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaafaaaaaaaaabBpbJibJjbJkbBpbGMbJlaaabJmbDTbJnbJobJpbCGbCGbJqbJrbJsbJtbJubJvbJwbJxbJybJybJybJybJzbHbbJAbJBbJCbJDbJEbJFbJGbJHbJIbJJbJKbJLbJMbJMbJKbJMbJMbJLbJMbJMbJMbJMbJMbJMbJLbJNboebJObJPbJQbJRbgnbJSbJTbmNbJUbJVbJWbBxbJXbBTbBUbBVbJYbJZbKabKbbKcbKdbKebKfbwSbwSbKgbwSbwSbKhbKibGpbkobKjaafbKkbKlbKmbKnbKobKpbKqbKrbKsbCcbKtbEXbdDbEYbKubKvbKwbKxaagaagaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKybAXbAXbAXbAXbAXbAXbAXbKzbBabAZbAZbAZbAZbKAbBabzHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafbBpbBpbBpbBpbBpbKBbBpaaaaaaaaaaaabBrbKCbKDbKEbKFbBrbKGbBrbKHbKIbKJbKKbKLbKMbKNbKNbKObKPbKQbKLbKLbKLbKRbKSbKLbKLbKTbKQbKUbKLbKLbKLbKRbKLbBxbBxbBxbBxbBxbBxbBxbBxbBxbBUboebKVbKWbKXbKYbKZbvkbLabmNbLbbLcbLdbBxbJXbBTbLebLfbLgbLhbLibLjbLkbLlbLlbLmbLnbLobLpbkobLqbkobKibGpbkobLraafbKkbLsbLsbLtbLubLvbLwbLxbLybCcbLzbChbLAbEYbEYbEYbEYbEYaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabzHbFabFabFabFabFabFabLBbAZbEZbFabLCbAZbAZbAZbAZbzHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabLDbLEbGMbBpbBpbBpbBpbBpbBrbBrbBrbBrbBrbBrbBrbBrbLFbLGbKJbKKbKLbLHbLIbLIbLJbLKbLLbLMbLNbLObLPbLQbLRbLSbLTbLUbLVbLWbLXbLYbLZbMaaafaaaaaaaaaaaaaaaagSbLdbMbbBUboebIHbmNboebmNbIHbMcboebmNbBxbMdbBxbBxbLdbBTbMebBVbMfbMfbMgbMhbMibMjbMhbMkbMlbMmbMnbMobkobMpbKibGpbMqbMraafbKkbLsbMsbMtbMubKpbMvbMwbMxbCcbMybChbMzbMAagSaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbzHbAZbAZbAZbAZbAZbAZbHXbAZbLCbAZbAZbAZbAZbAZbzHbzHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabkzbkzbkzbkzbkzaaaaaaaaaaaaaaaaaaaaaaaabzJbzKbzLbzKbzMaaaaaaaaabvTbvTbzNbzObyybzObzPbzQbzRbzSbzTbvVbzUbbnbzVbzWbqobzXbqobzYbzZbqobqpaFCbAabAbbgdbgdbAcaUlaUlaUlaUlaUlaUlbAdbAeaUlbAfbAgaUlbAhbAibAjbAkaFCaFCbtGbAlbAmbAnbwsbtGbtGbtHbAobtHbtGbtGbtGbtGbtGbtGbtGbtGbvkbeObApbAqbArbvbbAsbmNbAtbAubAvbAwbAxbAybAzbAAbwNbABbACbygbADbAEbAFbAGbwPbAHbzqbzrbzrbwSbAIbAJbAKbALbAMbANbAObHGbAQbARbASbATbAUbAUbAUbAUbAVbdDaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbAWbAXbAYbAXbzGbzHbzHbAZbBabAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBbbBcbBdbBcbBbbBebBfbBgbvTbBhbzObBibBjbBkbBlbBmbBmbBnbBobvVbBpbBpbBqbBpaQOaQOaQOaQObBrbBrbBrbBrbBrbBrbBrbBrbBsbBtbBtbBubBubBubBubBvbBwbBubBubBubBubBxbBybBzaFHaHibBAbtGbBBbBCbBDbBEbBFbtGbBGbBHbBIbtHbBJbBJbBKbBLbBMbBNbtHbBObeObeObeObeObeObvkbmQbBPbBQbBRbBSbmNbBTbBUbBVbBVbBVbBVbBVbBVbBVbBVbBVbwPbBWbBXbBYbBYbwSbBZbCabCbbCcbCcbCcbCcbDEbCebCfbCgbCcbCcbCcbCcbrBbChbCiaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagbCjbAXbAXbCkbzHbzHbAZbAZbClbAZbAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzLbCmbCnbCmbzLbCobCpbCqbvTbCrbCsbzObCtbCubvVbCvbCwbCxbCybvVbCzbCzbCAbBpaaaaaaaaaaaabBrbCBbCCbCDbCEbCFbCGbBrbCHbCIbCJbBubCKbCLbCMbCNbCObCPbCQbCRbCSbCTbCUbCVbCWbCXbBxbtGbCYbBHbxObCZbDabtGbDbbBHbDcbESbwwbwwbwwbwwbwwbDebEUbDgbpBbpBbpBbpBbssbvkbobbBPbBQbBRbDhbmNbBTbBUbBVbDibDjbDjbDkbDlbDmbDnbDobwPbDpbDqbDrbDrbwSbDsbDtbwWbDubDvbDwbDxbGvbDzbEVbEWbGsbGtbGwbCcbrBbChbDFaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabDGbzHbCjbzHbzHbAZbAZbAZbAZbAZbAZbAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBbbCmbCmbCmbDHbDIbzObzObDJbDKbzObzObDLbDMbvVbvVbvVbDNbvVbvVbDObDPbDQbDRaaabDSbDTbDUbDVbDWbCGbDXbDYbDZbEabEbbEcbEdbEebEfbEgbEhbEibEjbEkbElbEmbBubBubEnbEobEpbEqbErbEsbEtbwwbBHbEubCZbwwbEvbEwbBHbExbtGbEybEzbwwbwwbEAbEBbmNbmNbmNbmNbmNbECbvkbvkbEDbBQbBQbBRbEEbEFbEGbBUbBVbEHbEIbDjbEJbDjbDjbDjbEKbwPbELbzqbEMbEMbwSbwUbENbEObEPbEQbEQbEQbEQbERbGrbETbKmbHMbJGbCcbdDbEXbdDbEYbEYbEYbEYbEYaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbzGbzHbEZbFabFabAZbAZbAZbAZbAZbAZbAZbAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzLbCnbCnbCnbzLbFbbFcbFdbFebFfbzObFgbFhbFibFjbFkbFkbFlbFkbFkbFmbFnbFobFpaaabFqbFrbFsbFtbFubCGbFvbFwbFxbFybBrbFzbFAbFBbBubFCbFDbFEbFFbFGbFHbFIbFJbFKbFLbFMbFNbFObFPbFQbtMbFRbFSbFTbFUbFVbtGbFWbBHbFXbtGbFYbCZbwwbwwbFZbGabmNbGbbGcbGdbGebgnbvkbpzbGfbGgbGgbGgbGgbGhbGibGjbBVbDibGkbDjbDjbDjbDjbDjbGlbwPbGmbzqbGnbGnbwSbGobGpbwWbGqbGrbGrbKnbKobKpbKqbGubGrbGrbGrbCcbGxbGybGzbGAbGBbGCbGDbGEaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabzHbzHbGFbAZbAZbAZbAZbAZbAZbAZbAZbAZbAZbAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnobnobnobnobnobnobnobnobnobnobnobnoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaabBbbGGbGHbGIbBbbGJbBfbBgbvTbvTbGKbGKbGKbvTbvTbBpbBpbBpbBpbGLbBpbBpbGMbFpaaabFqbGNbGObGPbGQbGRbGSbGTbGQbGQbGUbGVbGWbCJbBubBubBubBubBubBubGXbBubBubGYbGZbHabHbbHcbHdbHcbtMbHebHfbHgbHhbHibtGbHjbHkbHlbtGbHmbHnbHobHpbHqbHrbmNbHsbeObgobHtbgnbHubpBbHvbHwbHxbHybHzbmNbBTbBUbBVbBVbHAbDjbDjbDjbHBbBVbBVbwPbHCbHDbGnbGnbwSbHEbGpbwWbDubHFbIXbHHbHIbHJbHQbIWbHObHPbHLbHKbHNbHRbHSbHTbHUbHVbGDbHWaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbzHbAZbAZbAZbAZbAZbAZbHXbAZbHYbAZbAZbAZbAZbAZbzHbzHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabHZbzKbIabzKbIbaaaaafaaaaaabvTbIcbIdbIebvTaaaaaaaaabBpbIfbIgbDObBpbGMbFpaaabFqbIhbIibIjbIkbCGbIlbImbInbIobBrbCHbIpbIqbIrbIsbIsbIsbIsbItbIubIubIubIvbIwbIxbIybIzbIAbIBbICbIDbIEbICbIFbIDbICbICbIEbIFbICbICbIFbICbICbIEbICbIGbIHbmNboebmNbIIbvkbIJbmNbmNbmNbmNbmNbmNbIKbBUbBVbILbIMbINbIObIPbIQbIRbILbwSbISbITbynbwSbwSbIUbGpbIVbEYbEYbCcbCcbCcbCcbCgbCcbJEbGrbIYbCcbIZbJabJbbEYbJcbJdbJebEYaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabzHbJfbJfbJfbJfbJfbJfbJgbAZbJhbJfbHYbAZbAZbAZbAZbzHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaafaaaaaaaaabBpbJibJjbJkbBpbGMbJlaaabJmbDTbJnbJobJpbCGbCGbJqbJrbJsbJtbJubJvbJwbJxbJybJybJybJybJzbHbbJAbJBbJCbJDbCdbJFbAPbJHbJIbJJbJKbJLbJMbJMbJKbJMbJMbJLbJMbJMbJMbJMbJMbJMbJLbJNboebJObJPbJQbJRbgnbJSbJTbmNbJUbJVbJWbBxbJXbBTbBUbBVbJYbJZbKabKbbKcbKdbKebKfbwSbwSbKgbwSbwSbKhbKibGpbkobKjaafbKkbKlbmwbjIbpqbjIbodbLxbKsbCcbKtbEXbdDbEYbKubKvbKwbKxaagaagaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKybAXbAXbAXbAXbAXbAXbAXbKzbBabAZbAZbAZbAZbKAbBabzHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaafbBpbBpbBpbBpbBpbKBbBpaaaaaaaaaaaabBrbKCbKDbKEbKFbBrbKGbBrbKHbKIbKJbKKbKLbKMbKNbKNbKObKPbKQbKLbKLbKLbKRbKSbKLbKLbKTbKQbKUbKLbKLbKLbKRbKLbBxbBxbBxbBxbBxbBxbBxbBxbBxbBUboebKVbKWbKXbKYbKZbvkbLabmNbLbbLcbLdbBxbJXbBTbLebLfbLgbLhbLibLjbLkbLlbLlbLmbLnbLobLpbkobLqbkobKibGpbkobLraafbKkbLsbLsbLtbLubLvbDdbDfbDybCcbLzbChbLAbEYbEYbEYbEYbEYaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabzHbFabFabFabFabFabFabLBbAZbEZbFabLCbAZbAZbAZbAZbzHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabLDbLEbGMbBpbBpbBpbBpbBpbBrbBrbBrbBrbBrbBrbBrbBrbLFbLGbKJbKKbKLbLHbLIbLIbLJbLKbLLbLMbLNbLObLPbLQbLRbLSbLTbLUbLVbLWbLXbLYbLZbMaaafaaaaaaaaaaaaaaaagSbLdbMbbBUboebIHbmNboebmNbIHbMcboebmNbBxbMdbBxbBxbLdbBTbMebBVbMfbMfbMgbMhbMibMjbMhbMkbMlbMmbMnbMobkobMpbKibGpbMqbMraafbKkbLsbkybjIbjDbjIaTHbdgbMxbCcbMybChbMzbMAagSaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbzHbAZbAZbAZbAZbAZbAZbHXbAZbLCbAZbAZbAZbAZbAZbzHbzHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbMBbMCbMDbMEbMEbMFbMGbMHbMIbMJbMKbMLbMMbMLbMNbMIbMObMPbMQbMRbKLbMSbMTbMTbMUbMVbLLbMWbLNbLObMXbLQbMYbMZbNabNbbLIbNcbLIbNdbNebNfaafbNgbNgbNgbNgbNgagSbNhbNibNjbJKbJLbJMbJKbNkbNlbNmbNnbNkbJMbJMbJMbJMbJMbNobNpbBVbNqbNrbNsbNtbNubNvbNwbBVbBVbnhbNxbnhbnhbnhbNybGpbNzbnhbCcbCcbCcbCcbCcbNAbCcbCcbCcbCcbCcbMybChbNBbNCagSaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabzHbzHbGFbAZbAZbAZbAZbAZbAZbAZbAZbAZbAZbAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNDaaaaafaafbNEbNEbNEbNEbNEbNEbNEbNEbNFbNGbMIbNHbMJbMJbMLbNIbMNbMIbNJbKIbNKbNLbNMbNNbLIbNObLZbNPbNQbNRbNSbNTbLIbLQbNUbMZbNVbLIbNWbNXbNYbNZbOabObbOcbOdbOebOfbOgbNgagSbOhbOibBxbOjbOkbOlbOmbJxbOnbOobOpbJxbJxbOqbOrbJxbJxbOsbBUbBVbBVbBVbBVbBVbBVbOtbBVbBVbOubOvbOwbLdbOxbnhbNxbOybOzbnhbOAbOBbOCbODbOEbMybrBbrBbOFbrBbrBbMybChbOGbdDbdDbdDaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbzGbzHbJhbJfbJfbAZbAZbAZbAZbAZbAZbAZbAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOHbOIbOJbOKbOKbOKbOLbOMbONbOObOPbOQbORbNEbOSbNGbMIbOTbMJbMKbMJbMLbOUbMIbOVbKIbOWbOXbOYbOZbLIbLIbLIbPabPbbPcbPdbLIbPebPfbLIbPgbPhbPibPjbPkbPlbPmbPnbPoaafbPpbPqbOgbPrbNgagSbPsbPtbBxaaaaaaaafaaabPubPvbPwbPxbPuaaaaafaaaaafbBxbPybPzbJMbJMbJMbJMbJMbJMbJKbJMbJMbJMbJMbJLbPAbJMbNkbPBbPCbPDbPEbPFbPFbPFbPFbPGbPHbPFbPFbPFbPFbPFbPIbPJbPKbPLbPMbdDbdDbdDbdDaaaaafaaaaaaaaaagSagSagSaafaaaaaaaafaaaaaaaafaaaaaabDGbzHbCjbzHbzHbAZbAZbAZbAZbAZbAZbAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPNbPNbPNbPNbPNbPObPPbPQbPRbPRbPSbNEbPTbPUbPVbPWbPXbPYbMJbMJbPZbMIbQabQbbQcbQdbQebQfbNRbLIbQgbQhbQibQjbQkbLIbLQbLIbQlbQmbQnbNWbQobQpbQqbQrbQsbQtbQubOdbQvbOgbOgbNgagSbLdbLdbBxaaaaaaaafaaaaafbQwbQxbQyaafaaaaafaaaaafbBxbQzbQAbQBbQCbQDbQDbFKbFKbQEbQFbQGbJxbJxbOqbOrbJxbJxbQHbQIbQJbQKbQKbQLbQMbQMbQNbQKbQKbQLbQMbQMbQNbQKbQObrBbQPbQQbQRbQSbQTbQUbQVbQWbQWbQWbQWbQWbQWbQWbQWbQWbQWbQWbQWbQWbQWbQWbQWbQXbQYbQYbQZbzHbzHbAZbAZbRabAZbAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaafaafbRbbRcbRdbRebRdbRfbRgbRhbRibRibRjbNEbRkbDObMIbRlbMJbRmbMJbMJbMJbRnbOVbKIbOWbRobOYbRpbRqbLIbLIbRrbLLbRsbRtbLIbLQbLIbNabMRbRubRvbRwbRxbRybRzbRybRAaafbNgbNgbNgbNgbNgagSbBxbRBbBxaafaafaafaafaafbRCbQxbRDaafaaaaaaaaaaafbBxbBxbBxbREbRFbRGbBxbBxbREbRFbRGbBxbBxaaaaaaaaaaaabRHbRIbRJbRKbRHaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaabdDbRLbRMbRNbdDbdDbdDbdDaaaaafaaaaaaaaaagSagSagSaafaaaaaaaafaaaaaaaafaafaafbRObRPbRQbCkbzGbzHbzHbAZbBabAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbRbbRRbRSbRTbRUbPQbRVbPQbRWbPQbRXbRYbRZbSabMIbSbbMJbRmbMJbMJbScbMIbSdbSebOWbSfbKLbMRbMRbSgbShbSgbLLbSibQlbSjbSkbSlbSmbSnbSobSpbSqbSrbSsbStbSubSvbOcbOdbSwbSxbSxbNgaafbLdbSybLdaaaaaaaafaaaaafbSzbQxbSAaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaabSBbSCbSDaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaabSEbSEbSFbSGbSEaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbSHbzEbzEbzFbzGbzGbzHbzHbzHbzHbzIaafaafaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbRbbSIbSJbSKbSJbSLbSMbSNbSObSPbSQbNEbGMbDObMIbSRbMJbSSbSTbSUbSVbMIbSWbKIbOWbSXbSYbSZbNebNebNebTabTbbNebTcbTdbTebNebTfbTgbThbTibTjbLIbTkbTlbTmbPoaafbPpbTnbTobTpbNgaafaaaaaaaaaaaaaaaaaaaaabTqbPubTrbTsbTqaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaabTtbSCbTuaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaabSEbTvbTwbTxbSEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafbPNbPNbPNbPNbPNbNEbNEbNEbNEbNEbNEbNEbGMbDObMIbMIbMIbMIbMIbMIbMIbMIbSWbKIbOWbSXbTybTzbTAbQlbTBbTCbTDbTEbTFbLIbLQbLIbTGbTHbTIbTJbTKbLIbTkbTLbTMbTNbQubOdbTObSxbSxbNgaafaaaaaaaaaaafaafaafaaabPubTPbTQbTRbPubPubPubPubPubPubPuaafaafaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaabTSbSCbTTaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaabSEbTUbTVbTWbSEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbDObBpbBpbBpbBpbTXbDObDObTYbTZbTZbTZbTZbUabUbbUbbUcbUdbUdbUdbUdbUdbUdbUdbMHbBpbUebKIbOWbUfbUgbUhbUibUjbUkbUlbUmbUlbUnbLIbLQbLIbNabLIbUobLIbUobLIbTkbTlbUpbPoaafbNgbNgbNgbNgbNgaafaaabUqbPubPubPubPubPubPubUrbUsbUtbUubUvbUwbUxbUybUvbPuaafaafaafaafaafaafaafbUzaafaafaafaafaafaafaafbUAbRHbUBbUCbUAaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaabSEbUDbUEbUFbSEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbUGbUHbUIbUJbUKbULbDObDObNFbUMbDObBpbBpbUNbUObBpbBpbUPbUQbUObBpbBpbURbDObNGbBpbSWbKIbOWbUSbUTbUUbUVbKLbKQbUWbUXbKLbKQbUYbLQbLIbNabUZbTIbRtbVabVbbVcbVdbVebSvbOcbOdbVfbVgbVhbNgaafaaabUqbVibVjbVkbVlbPubVmbVnbUsbVobUubVpbVqbVrbVsbVpbPuaaaaaaaaaaafaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaabRHbVtbVubVvbRHaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaabVwbVxbVybVzbVAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaabDObBpbBpbBpbBpbVBbVCbVCbVDbVEbVFbVEaaabVGaaaaaaaaaaaaaaaaaaaaabBpbVHbDObNGbBpbVIbVJbVKbVLbVMbVNbVObVPbVQbVRbVSbVTbKQbVUbVVbLIbNabUZbVWbRtbVabVXbTkbTlbVYbPoaafbPpbVZbWabWbbNgaafaaabUqbWcbWdbWebUubPubWfbUubWgbWfbUubWhbWibWjbWkbWlbPuaaaaaaaaaaafaaaaaaaaabRHbRHbRHbRHbRHbRHbRHbRHbRHbWmbWnbWobRHaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafbWpbWqbWpaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafbBpbWrbVEbVEbWsbVEbWtbVEbVEbWubWvbVEbVEbWwbWxbWvbVEbVEbVEbVEbWybWzbWAbWBbOWbWCbWDbWEbWFbWEbWEbWGbWEbWHbKQbWIbWJbLIbNabUZbTIbRtbWKbWLbWMbWNbWObTNbQubOdbWPbVgbVgbNgaafbWQbWRbWSbWTbWUbWVbWUbWWbWXbWYbWZbXabXbbXcbWUbXdbXebPuaaaaaaaaaaafaaaaaaaaabRHbXfbXgbXhbXibXjbXkbXlbXmbXnbXobXpbXqbXraaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafbXsbXtbXsaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajqajqajqajpajpajqajpajpajpajXajpajpajpajqajqaaaaaaaafaafaaaaaaaaaaaaaaaaaaaafbDRbWrbXubXvbXwbXxbXybXzbXAbXBbXCbXDbVEbXCbXEbXFbXGbXGbXHbVEbXIbXJbXKbXLbOWbWCbXMbWEbWFbWEbWEbWEbXNbXObXPbXQbXRbLIbNabLIbXSbLIbXTbXUbTkbTlbXVbPoaafbNgbNgbNgbNgbNgaafaaabUqbXWbXXbXYbXZbYabYbbYcbYdbYebXYbYfbYgbXYbYbbYhbPuaafaafaafaafaafaafaafbRHbYibYjbYibYkbYlbYmbYnbXmbYobYpbYobRHbRHaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaafaaabYqaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajqaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaajqaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaabFpbWrbYrbYsbYtbYubYvbYvbYvbYvbYwbYxbYybXGbYzbXGbXGbYAbXGbYBbCIbYCbYDbXLbOWbWCbYEbYFbWFbWEbYGbWEbWFbWEbYHbYIbYJbLIbNabLIbPhbYKbYLbYMbYNbYObYPbSvbOcbOdbYQbYRbYRbNgaafaaabYSbYTbYUbYVbPubYWbYXbYgbYYbYZbZabZbbWkbZcbZdbZebPuaaaaaaaaaaafaaaaaaaaabRHbYibYibYibZfbZgbXkbZhbZibZjbZkbZlbZmbRHaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaabZnaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajqaaabZobZpbZqaaabZobZpbZqaaabZobZpbZqaafbZraafaafaaaaaaaaaaaaaaaaaaaaaaaaaaabFpbWrbYrbZsbXGbYAbZtbXGbXGbXGbXGbXGbZsbZsbXGbXGbXGbXGbZubZvbCIbZwbCIbZxbZybYEbYEbZzbWFbZAbZBbZCbWFbWEbKQbZDbZEbZFbZGbSlbQnbZHbZIbSsbQobTlbZJbPoaafbPpbZKbZLbZMbNgaafaafaafaafaafaafbUqbZNbVpbZObZPbZQbRCbYcbZRbRCbZRbYcbPuaaaaaaaaaaafaaaaaaaaabRHbXmbXmbXmbXmbZSbYmbZTbZUbZVbZWbZXbZYbRHaaaaaaaaaaaaaaabZZbZZbZZcaaaafaafaafaafbZnaafaafaafaafaafajXbZZbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNDaaaaafaafbNEbNEbNEbNEbNEbNEbNEbNEbNFbNGbMIbNHbMJbMJbMLbNIbMNbMIbNJbKIbNKbNLbNMbNNbLIbNObLZbNPbNQbNRbNSbNTbLIbLQbNUbMZbNVbLIbNWbNXbNYbNZbOabObbOcbOdbOebOfbOgbNgagSbOhbOibBxbOjbOkbOlbOmbJxbOnbOobDCbJxbJxbOqbOrbJxbJxbOsbBUbBVbBVbBVbBVbBVbBVbOtbBVbBVbOubOvbOwbLdbOxbnhbNxbOybOzbnhbOAbOBbOCbODbOEbMybrBbrBbOFbrBbrBbMybChbOGbdDbdDbdDaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbzGbzHbJhbJfbJfbAZbAZbAZbAZbAZbAZbAZbAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabOHbOIbOJbOKbOKbOKbOLbOMbONbOObOPbOQbORbNEbOSbNGbMIbOTbMJbMKbMJbMLbOUbMIbOVbKIbOWbOXbOYbOZbLIbLIbLIbPabPbbPcbPdbLIbPebPfbLIbPgbPhbPibPjbPkbPlbPmbPnbPoaafbPpbPqbOgbPrbNgagSbPsbPtbBxaaaaaaaafaaabPubPvbPwbDDbPuaaaaafaaaaafbBxbPybPzbJMbJMbJMbJMbJMbJMbJKbJMbJMbJMbJMbJLbPAbJMbNkbPBbPCbPDbPEbPFbPFbPFbPFbPGbPHbPFbPFbPFbPFbPFbPIbPJbPKbPLbPMbdDbdDbdDbdDaaaaafaaaaaaaaaagSagSagSaafaaaaaaaafaaaaaaaafaaaaaabDGbzHbCjbzHbzHbAZbAZbAZbAZbAZbAZbAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPNbPNbPNbPNbPNbPObPPbPQbPRbPRbPSbNEbPTbPUbPVbPWbPXbPYbMJbMJbPZbMIbQabQbbQcbQdbQebQfbNRbLIbQgbQhbQibQjbQkbLIbLQbLIbQlbQmbQnbNWbQobQpbQqbQrbQsbQtbQubOdbQvbOgbOgbNgagSbLdbLdbBxaaaaaaaafaaaaafbQwbQxbQwaafaaaaafaaaaafbBxbQzbQAbQBbQCbQDbQDbFKbFKbQEbQFbQGbJxbJxbOqbOrbJxbJxbQHbQIbDAbQKbQKbQLbQMbQMbQNbQKbQKbQLbQMbQMbQNbQKbQObrBbQPbQQbQRbQSbQTbQUbQVbQWbQWbQWbQWbQWbQWbQWbQWbQWbQWbQWbQWbQWbQWbQWbQWbQXbQYbQYbQZbzHbzHbAZbAZbRabAZbAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaafaafbRbbRcbRdbRebRdbRfbRgbRhbRibRibRjbNEbRkbDObMIbRlbMJbRmbMJbMJbMJbRnbOVbKIbOWbRobOYbRpbRqbLIbLIbRrbLLbRsbRtbLIbLQbLIbNabMRbRubRvbRwbRxbRybRzbRybRAaafbNgbNgbNgbNgbNgagSbBxbRBbBxaafaafaafaafaafbRCbQxbRCaafaaaaaaaaaaafbBxbBxbBxbREbRFbRGbBxbBxbREbRFbRGbBxbBxaaaaaaaaaaaabRHbRIbRJbDBbRHaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaabdDbRLbRMbRNbdDbdDbdDbdDaaaaafaaaaaaaaaagSagSagSaafaaaaaaaafaaaaaaaafaafaafbRObRPbRQbCkbzGbzHbzHbAZbBabAZbzHbzHaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbRbbRRbRSbRTbRUbPQbRVbPQbRWbPQbRXbRYbRZbSabMIbSbbMJbRmbMJbMJbScbMIbSdbSebOWbSfbKLbMRbMRbSgbShbSgbLLbSibQlbSjbSkbSlbSmbSnbSobSpbSqbSrbSsbStbSubSvbOcbOdbSwbSxbSxbNgaafbLdbSybLdaaaaaaaafaaaaafbSzbQxbSzaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaabSBbSCbSBaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaabSEbSEbSFbSGbSEaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbSHbzEbzEbzFbzGbzGbzHbzHbzHbzHbzIaafaafaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbRbbSIbSJbSKbSJbSLbSMbSNbSObSPbSQbNEbGMbDObMIbSRbMJbSSbSTbSUbSVbMIbSWbKIbOWbSXbSYbSZbNebNebNebTabTsbNebTcbTdbTebNebTfbTgbThbTibTjbLIbTkbTlbTmbPoaafbPpbTnbTobTpbNgaafaaaaaaaaaaaaaaaaaaaaabTqbPubTrbPubTqaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaabTtbSCbTtaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaabSEbTvbTwbTxbSEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafbPNbPNbPNbPNbPNbNEbNEbNEbNEbNEbNEbNEbGMbDObMIbMIbMIbMIbMIbMIbMIbMIbSWbKIbOWbSXbTybTzbTAbQlbTBbTCbTDbTEbTFbLIbLQbLIbTGbTHbTIbTJbTKbLIbTkbTLbTMbTNbQubOdbTObSxbSxbNgaafaaaaaaaaaaafaafaafaaabPubTPbTQbTRbPubPubPubPubPubPubPuaafaafaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaabTSbSCbTSaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaabSEbTUbTVbTWbSEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbDObBpbBpbBpbBpbTXbDObDObTYbTZbTZbTZbTZbUabUbbUbbUcbUdbUdbUdbUdbUdbUdbUdbMHbBpbUebKIbOWbUfbUgbUhbUibUjbUkbUlbUmbUlbUnbLIbLQbLIbNabLIbUobLIbUobLIbTkbTlbUpbPoaafbNgbNgbNgbNgbNgaafaaabUqbPubPubPubPubPubPubUrbUsbTubUubUvbUwbUxbUybUvbPuaafaafaafaafaafaafaafbUzaafaafaafaafaafaafaafbUAbRHbUBbRHbUAaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaabSEbUDbUEbUFbSEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbUGbUHbUIbUJbUKbULbDObDObNFbUMbDObBpbBpbUNbUObBpbBpbUPbUQbUObBpbBpbURbDObNGbBpbSWbKIbOWbUSbUTbUUbUVbKLbKQbUWbUXbKLbKQbUYbLQbLIbNabUZbTIbRtbVabVbbVcbVdbVebSvbOcbOdbVfbVgbVhbNgaafaaabUqbVibVjbVobVlbPubVmbVnbUsbVkbUubVpbVqbVrbVsbVpbPuaaaaaaaaaaafaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaabRHbVtbVubVvbRHaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaabVwbVxbVybVzbVAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaabDObBpbBpbBpbBpbVBbVCbVCbVDbVEbVFbVEaaabVGaaaaaaaaaaaaaaaaaaaaabBpbVHbDObNGbBpbVIbVJbVKbTTbVMbVNbVObVPbVQbVRbVSbVTbKQbVUbVVbLIbNabUZbVWbRtbVabVXbTkbTlbVYbPoaafbPpbVZbWabWbbNgaafaaabUqbWcbWdbUtbUubPubWfbUubWgbUubUubWhbWibWjbWkbWlbPuaaaaaaaaaaafaaaaaaaaabRHbRHbRHbRHbRHbRHbRHbRHbRHbWmbWnbUCbRHaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaafbWpbWqbWpaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafbBpbWrbVEbVEbWsbVEbWtbVEbVEbWubWvbVEbVEbWwbWxbWvbVEbVEbVEbVEbWybWzbWAbWBbOWbWCbWDbWEbWFbWEbWEbWGbWEbWHbKQbWIbWJbLIbNabUZbTIbRtbWKbWLbWMbWNbWObTNbQubOdbWPbVgbVgbNgaafbWQbWRbWSbWTbXpbWVbWUbWWbWXbWYbWZbXabXbbXcbWUbXdbXebPuaaaaaaaaaaafaaaaaaaaabRHbXfbXgbXhbXibXjbXkbXlbXmbXnbXobWobXqbXraaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafbXsbXtbXsaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajqajqajqajpajpajqajpajpajpajXajpajpajpajqajqaaaaaaaafaafaaaaaaaaaaaaaaaaaaaafbDRbWrbXubXvbXwbXxbXybXzbXAbXBbXCbXDbVEbXCbVLbXFbXGbXGbXHbVEbXIbXJbXKbXLbOWbWCbXMbWEbWFbWEbWEbWEbXNbXObXPbXQbXRbLIbNabLIbXSbLIbXTbXUbTkbTlbXVbPoaafbNgbNgbNgbNgbNgaafaaabUqbXWbXXbWebXZbYabYbbYcbYdbXYbXYbYfbYgbXYbYbbYhbPuaafaafaafaafaafaafaafbRHbYibYjbYibYkbYlbYmbYnbXmbYobYpbXmbRHbRHaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaafaaabYqaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajqaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaajqaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaabFpbWrbYrbYsbYtbYubYvbYvbYvbYvbYwbYxbYybXGbYzbXGbXGbYAbXGbYBbCIbYCbYDbXLbOWbWCbYEbYFbWFbWEbYGbWEbWFbWEbYHbYIbYJbLIbNabLIbPhbYKbYLbYMbYNbYObYPbSvbOcbOdbYQbYRbYRbNgaafaaabYSbYTbYUbYVbPubYWbYXbYgbYYbYZbZabZbbWkbZcbZdbZebPuaaaaaaaaaaafaaaaaaaaabRHbYibYibYibZfbZgbXkbZhbZibZjbZkbQybZmbRHaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaaabZnaaaaafaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajqaaabZobZpbZqaaabZobZpbZqaaabZobZpbZqaafbZraafaafaaaaaaaaaaaaaaaaaaaaaaaaaaabFpbWrbYrbZsbXGbYAbZtbXGbXGbXGbXGbXGbZsbZsbXGbXGbXGbXGbZubZvbCIbZwbCIbZxbZybYEbYEbZzbWFbZAbZBbZCbWFbWEbKQbZDbZEbZFbZGbSlbQnbZHbZIbSsbQobTlbZJbPoaafbPpbZKbZLbZMbNgaafaafaafaafaafaafbUqbZNbVpbZObZPbZQbRCbYcbZRbRCbZRbYcbPuaaaaaaaaaaafaaaaaaaaabRHbXmbXmbXmbXmbZSbYmbZTbZUbZVbZWccebZYbRHaaaaaaaaaaaaaaabZZbZZbZZcaaaafaafaafaafbZnaafaafaafaafaafajXbZZbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajqaaabZocabbZqaaabZocabbZqaaabZocabbZqaafaafaafaafaaaaaaaaaaaaaaaaaaaafaafaafbFpbWrcacbZscadbXGcaecafcagcagbYzbXGbZscahbXGbXGbXGbXGcaicajcakcalbFAcamcancaocapcaqbWFbZAcarcasbWFbWEbKQbNabLIbLIbZHbNecatcaucavcawbLYcaxcaybTNbQubOdcazbYRbYRbNgaafaaaaaaaafaaaaaabUqcaAbVpbZObVpcaBbRCbVpbZObRCbZOcaCbPuaaaaaaaaaaafaaaaaaaaabRHbXfbXgbXhcaDcaEbXkcaFcaGcaHcaIbYmcaJbRHaaaaaaaaaaaaaaabZZaaaaafaaaaafaaaaaaaaacaKaaaaafaafaaaaaaaaaaaabZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaajpaafbZocabbZqaaabZocabbZqaafbZocabbZqaafaaaaaaaafaafaaaaaaaaaaaaaaaaafaaaaaabJlbWrbVEcaLbXGcaMcaNcaOcaPcaQcaPcaRcaPcaScaTbXCcaUbZsbZsbZvbCJcaVcaWcaXcaYcaZcbacbbcbccbdcbecbfcbgcbhbKQcbibLIbLIcbjbLIbLIbLIbNdbTgcbjbTlbUpbPoaafbNgbNgbNgbNgbNgaafaaaaaaaafaaaaaabUqcbkcblcbmcbncbocbpcbqcbrcbpcbrcbqbPuaafaafaafaafaafaafaafbRHbYibYibYicbsbYlbYmcbtcbucbvcbwbYmcbxbRHbRHbRHbRHaaaaaabZZaaacbycbycbycbycbyaafcbzaafcbycbycbycbycbyaaabZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaabZocabbZqaafbZocabbZqaaabZocabbZqaaaaaaaaaaaaaaaaafaaaaafaaaaafaafaaaaaabBpbWrbVEcbAcbBcbBcbCbVEbVEbVEbVEbVEbVEbVEbVEbVEbVEbVEbVEbVEbBpcbDbBpcbEcbFcbFcbFcbGcbHcbIcbJcbKcbLcbMbKQcbNcbOcbPcbQcbRcbScbRcbQcbTcbQcbUbZHcbVaafaafaafaafaafaafaafaaaaaaaaaaaaaaabUqbPubPucbWcbXbPubPucbYbPubPubPucbYbTqaaaaaaaaaaaaaaaaaaaaabRHbYibYibYicaDcbZbXkccaccbcccccdccecceccfccgcchbRHaafaafbZZaafcciccjccjccjccjcckcbzcclccmccmccmccmccnaafbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajqajqajpaafaaabZocabbZqaafbZocabbZqaaabZocabbZqaafaaaaaaaaaaaaaafaafccoccpccpccpccpbBpbBpbWrbVEccqccrccrccscctccuccvccvccvccvccvccvccvccvccvccwccwccvccxccycczccAccBccCccDccEccFcbFccGccHccIccJbNRccKccLccMccNccOccPccQbLIccRccSccTbMZaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaabPubYTccUbPuaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaabRHbXmbXmbXmbXmccVbYmcbtccWccXccYbYmbYmccZbYmcdabRHaaaaaabZZaafcdbcdbcdbcdbcdbaaacbzaaacdbcdbcdbcdbcdbaafbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajqaaaaafaaaaafaafcdcaafaafaafcdcaafaaaaafcdcaafaaaaaaaaaaaaaaacddcdecdfcdgcdhcdicdjcdkbVCcdlbVEbVEcdmcdnbVEbVEbKBcdocdocdocdocdocdocdocdocdocdocdocdocdpcdqcdrcdscdtcducdvcdwcdxcdyccGccHcdzcdAcdBcdCcdDcdEcdFcdGcdFcdEcdFcdHcdFcdHcdIaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaacdJaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaabRHbXfbXgbXhcdKcaEbXkcdLcdMcdNcdOcdOcdPcdQcdRcdSbRHaaaaaabZZaaaaafaaaaafaafaafaaacbzaaaaafaaaaafaaaaafaaabZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajpaafcdTcdUcdUcdVcdWcdWcdWcdWcdWcdWcdWcdWcdWcdWcdWcdWcdWcdWcdXcdYcdZceacebceccedceebDObDObWrcefbVEbVEbVEbVEbDObKBcdocegcegcehcdoceicejcekcelcemcenceocepceqcercescetceucevcewcexceycezceAceBcdoaafceCaafceDaafceCaafceDaafceEaafceEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceFaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaabRHbYibYjbYiceGbYlbYmbSCcdMceHbYmbYmceIbXmbXmbXmbRHaaaaaabZZaaacbycbycbycbycbyaafcbzaafcbycbycbycbycbyaafbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajqaaaaafaaaaafaafceJaafaaaaafceJaafaaaaafceJaafaaaaaaaaaaaaaaacddcdeceKceLceMceNccpceObDOcePbVCbVCbVCbVCbVCbVCceQcdoceRceSceTceUceVceWceXceXceYceZcfacfbcfccfdcfecffcfgceucewcfhcbFcficficficdobNgcfjbPpcfjbNgcfjbPpcfjbNgcfkbPpcflbNgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabRHbYibYibYicdKcfmcfncfocfpcfqbYmbYmcfrbYmcfsbYmbSBaafaafbZZaafcciccjccjccjccjcckcbzcclccmccmccmccmccnaafbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajqaaaaafaaaaafaafcdcaafaafaafcdcaafaaaaafcdcaafaaaaaaaaaaaaaaacddcdecdfcdgcdhcdicdjbTbbVCcdlbVEbVEcdmcdnbVEbVEbKBcdocdocdocdocdocdocdocdocdocdocdocdocdpcdqcdrcdscdtcducdvcdwcdxcdyccGccHcdzcdAcdBcdCcdDcdEcdFcdGcdFcdEcdFcdHcdFcdHcdIaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaacdJaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaabRHbXfbXgbXhcdKcaEbXkcdLcdMcdNcdOcdOcdPcdQcdRcdSbRHaaaaaabZZaaaaafaaaaafaafaafaaacbzaaaaafaaaaafaaaaafaaabZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajpaafcdTcdUcdUcdVcdWcdWcdWcdWcdWcdWcdWcdWcdWcdWcdWcdWcdWcdWcdXcdYcdZceacebbRDbRKbSAbSDbDObWrcefbVEbVEbVEbVEbDObKBcdocegcegcehcdoceibQJcekcelcemcenceocepceqcercescetceucevcewcexceycezceAceBcdoaafceCaafceDaafceCaafceDaafceEaafceEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceFaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaabRHbYibYjbYiceGbYlbYmbSCcdMceHbYmbYmceIbXmbXmbXmbRHaaaaaabZZaaacbycbycbycbycbyaafcbzaafcbycbycbycbycbyaafbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajqaaaaafaaaaafaafceJaafaaaaafceJaafaaaaafceJaafaaaaaaaaaaaaaaacddcdeceKceLcedbOpccpceObDOcePbVCbVCbVCbVCbVCbVCceQcdoceRceSceTceUceVbMwceXceXceYceZcfacfbcfccfdcfecffcfgceucewcfhcbFcficficficdobNgcfjbPpcfjbNgcfjbPpcfjbNgcfkbPpcflbNgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabRHbYibYibYicdKcfmcfncfocfpcfqbYmbYmcfrbYmcfsbYmbSBaafaafbZZaafcciccjccjccjccjcckcbzcclccmccmccmccmccnaafbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajqajqajpaafaafbZocftbZqaaabZocftbZqaaabZocftbZqaafaaaaaaaaaaaaaafaafcfuccpccpccpccpbBpbURbVHbDOcfvbDObDObDObDObNGcdocfwceTceTceUcfxcfycfycfycfycfycfycfzccHcfAcfBcfCcfDcfEcfFcfGcbFcfHcfIcfJcdobNgcfKcfLcfMbNgcfNcfOcfPbNgcfQcfRcfSbNgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabUAbRHcfTcfUcfUcfVcfWcfXcfWcfYcfZcgacgbcgcbXkcgdcgeaaaaaabZZaafcdbcdbcdbcdbcdbaaacbzaafcdbcdbcdbcdbcdbaaabZZaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZocftbZqaafbZocftbZqaaabZocftbZqaaaaaaaaaaafaaaaafaafaafaaaaaaaaaaaabBpcgfcggcggcghbBpbBpbDOcgibNGcdocgjcgjcgkcdocglcgmcgncgocgpcgqcgrcgscgtcgtcgucbFcbFcgvcgwcgxcbJcgycgzcgAcdobNgcgBcgCcgBbNgcgDcgEcgDbNgcgFcgGcgHbNgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdJaaabRHcgIcgJcgKcgLcgMcgJcgNcgOcgMcgJcgPbRHaaaaaacaaaaaaafaaaaafaaaaafaaacgQaaaaafaaaaafaafaafaafbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDeaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZocftbZqaafbZocftbZqaaabZocftbZqaaaaaaaaaaafaaaaafaafaafaaaaaaaaaaaabBpcgfcggcggcghbBpbBpbDOcgibNGcdocgjcgjcgkcdocglcgmcgncgocgpcgqcgrcgsbPxbPxcgucbFcbFcgvcgwcgxcbJcgycgzcgAcdobNgcgBcgCcgBbNgcgDcgEcgDbNgcgFcgGcgHbNgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdJaaabRHcgIcgJcgKcgLcgMcgJcgNcgOcgMcgJcgPbRHaaaaaacaaaaaaafaaaaafaaaaafaaacgQaaaaafaaaaafaafaafaafbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDeaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajpaafbZocftbZqaaabZocftbZqaaabZocftbZqaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaabBpbDOcgRbNGcdocgjcgjcgkcdocgScgTcgUcgVcgWcgXcgYcgZcgXcgYchachbchcchdchechfchgchdccHchhcdobNgcgBchicgBbNgcgDchjcgDbNgcgHchkcgHbNgaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachlaafbRHchmchnchobXmchpchqchrbXmchschtchubRHaaaaaabZZaaacbycbycbycbycbyaafbZnaafcbycbycbycbycbyaafbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajpaafbZocftbZqaaabZocftbZqaafbZocftbZqaafaafaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacdochvcdochwcdocgjcgkcgkcdochxchychzchAchechfchBchCchDchDchEchdccHccHcheccHccHccHccHchFcdobNgbNgbNgbNgbNgbNgbNgbNgbNgbNgbNgbNgbNgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaabRHchGbYibYibXmchGbYibYibXmchGbYibYibRHaafaafbZZaafcciccjccjccjccjchHchIchHccmccmccmccmccnaafbZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajXaafbZochJbZqaaabZochJbZqaaabZochJbZqaafajpaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacdochKcdochLcdocdocdocdochMchNcfacfacfachOchPchQchPchRchSchTcfacfacfachUcfacfacfachVchWcdoaafaaaaaaaaaaafaafaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabRHchXbYibYibXmchXbYibYibXmchXbYibYibRHaaaaaabZZaafcdbcdbcdbcdbcdbaaabZnaaacdbcdbcdbcdbcdbaaabZZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9433,18 +9457,18 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacABcACcACcACcACcACcACcACcACcACcACcACcACcADcBjcAFcADcADcADcADcAGcBjcBkcAIcAJcBlcBmcBncBncBncBncBlcBocBpcBpcBpcBpcBpcBpcBpcBqcBpcBpcBpcBqczhczhczhcBrczhczhcBsczhcBsczhczhcBrczhczhczhcBtczmczmczmczmczmcBtczmczmczmczmczmczmczmcBtcARcARcARcARcARczUczVczVcyGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWczWczWczWczWczWczWczWczWcAdcAScAfcAmczWcBucAKcAKcAkcAlczWcBvcBwcBwcBxcBycBzcBAczWcBBcBBcBBczWczhczhczXcBCcBDcBbcBEczhcBFcBfcBGcBCczYczhczhcBtczmczmczmczmczmcBtczmczmczmczmczmczmczmcBtcARcARcARcARcARcyGczBczBcyGcyGcyGcyGcyGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacABcACcACcACcACcACcACcACcACcACcACcACcACcADcBHcAFcADcADcADcADcAGcBHcBIcAIcAJcAmczWcAhcAKcAKcAkcAlczWcBJcBJcBJcBKcAKcBKcBLczWczWczWczWczWczhczhcAqcAZcBMczhcBsczhcBsczhcBMcAZczgczhczhcyGcBNcBOcBOcBOcBPcyGcyGcBQcyGcyGcyGczBcyGcyGcyGcBRcBRcBRcyGcyGczmczmczmcBSczmcBTcyGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWczWczWczWczWczWczWczWczWcAdcAScAfcAmczWcBUcBVcBVcBWcAlczWczWcBXcBYcBZcCacCbcCccBXaaaaaaaaacyGczhczhcAqcyGcyGcCdcCeczhcCfcCgcyGcyGczgczhczhcyGaaaaaaaaaaaaaaacyGcChcCicyGczAcCjczAczAcCkcClcCmcCmcCmcCncyGczmczmczDczDczmczmcCoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacABcACcACcACcACcACcACcACcACcACcACcACcACcADcCpcAFcADcADcADcADcAGcCpcCqcCrcAJcAmczWczWcCscCsczWczWczWaaacBXcCtcCucCvcCwcCxcBXaaaaaaaaacyGczhczhcAqcyGcyGczKczLczLczLczNcyGcyGczgczhczhcyGaaaaaaaaaaaaaaacyGcCicCicyGcCycCycCyczAcCkcCmcCmcCmcCmcCzcyGczmcCAczCczCcCBczmcCCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWczWczWczWczWczWczWczWczWczWczWczWczWczWcCDcCEcCEcCDaaaaaaaaacBXcCFcCvcCvcCvcCvcBXaaaaaaaaacyGczhczhcAYcyYcyYcyYcyYcyYcyYcyYcyYcyYcBhczhczhcyGaaaaaaaaaaaaaaacyGcCGcCicyGcCycCHcCyczAcCkcCkcCkcCkcCkcCkcyGczmcCAczCczCcCBczmcCCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCJcCJcCJcCJcCKcCKcCJcCJcCLaaacBXcCvcCvcCvcCvcCvcBXaaaaaaaaacyGcyGcyGcyGcyGcyGcyGcyGcCMcyGcyGcyGcyGcyGcyGcyGcyGaaaaaaaaaaaaaaacyGcCNcCicyGcAaczAczAczAcCkaaaaaaaaaaaaaaacyGczmcCAczCczCcCBczmcCCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCOcCPcCQcCRcCScCRcCRcCTcCUcCJcCLcBXcCvcCVcCWcCXcCYcBXaaaaaaaaaaaaaaaaaaaaaaaaaaacyGcCZcCZcCZcyGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyGcyGcyGcyGcyGcyGcyGcyGcCkaaaaaaaaaaaaaaacDaczmcCAczCczCcCBczmcCCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCOcCPcCQcCRcCRcCRcCRcCRcCRcDbcDccBXcCvcDdcDecDfcDecBXaaaaaaaaaaaaaaaaaaaaaaaacyGcyGcyGcDgcyGcyGcyGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDhczmczmcDicDiczmczmcDhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCOcCPcCQcDjcDjcDjcDjcDjcDjcCJcDkcBXcCvcCvcCvcCvcCvcBXaaaaaaaaaaaaaaaaaaaaaaaacyGcyXcBhczhcAYcyZcyGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyGcDlczmczmczmczmcDmcyGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDncCJcCJcCJcCJcCJcCJcCJcCJcDkaaacBXcBXcBXcBXcBXcBXcBXaaaaaaaaaaaaaaaaaaaaaaaacyGcDocDpcDqcDpcDrcyGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyGcyGcyGcyGcyGcyGcyGcyGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDsczgcDtczhcDucAqcCkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDvcDwcDxcDxcDxcDycDzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDsczrcBCcBscBCcDAcCkaaaaaaaaaaaaaaaaaaaaaaaaaaacDvcDBcDCcDDcDEcDDcDFcDGcDzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDscDHcDIcDJcDIcDKcCkaaaaaaaaaaaaaaaaaaaaaaaaaaacDLcDMcDNcDOcDOcDOcDPcDQcDLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDscDscDscDscDscDscDscDscDscDscDscDscDscDscDscDscDscDscDscDscDsczgczhcDRczhcAqcCkcCkcCkaaaaaaaaaaaaaaaaaaaaacDLcDScDNcDOcDOcDTcDPcDUcDLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWczWczWczWczWczWczWczWczWcAdcAScAfcAmczWcBUcBVcBVcBWcAlczWczWcBXcBYcBZcCacCbcCccBXbYeczmbXEcyGczhczhcAqcyGcyGcCdcCeczhcCfcCgcyGcyGczgczhczhcyGaaaaaaaaaaaaaaacyGcChcCicyGczAcCjczAczAcCkcClcCmcCmcCmcCncyGczmczmczDczDczmczmcCoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacABcACcACcACcACcACcACcACcACcACcACcACcACcADcCpcAFcADcADcADcADcAGcCpcCqcCrcAJcAmczWczWcCscCsczWczWczWaaacBXcCtcCucCvcCwcCxcBXbYeczmbXEcyGczhczhcAqcyGcyGczKczLczLczLczNcyGcyGczgczhczhcyGaaaaaaaaaaaaaaacyGcCicCicyGcCycCycCyczAcCkcCmcCmcCmcCmcCzcyGczmcCAczCczCcCBczmcCCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWcnWczWczWczWczWczWczWczWczWczWczWczWczWczWcCDcCEcCEcCDaaaaaaaaacBXcCFcCvcCvcCvcCvcBXbYeczmbXEcyGczhczhcAYcyYcyYcyYcyYcyYcyYcyYcyYcyYcBhczhczhcyGaaaaaaaaaaaaaaacyGcCGcCicyGcCycCHcCyczAcCkcCkcCkcCkcCkcCkcyGczmcCAczCczCcCBczmcCCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCIcCJcCJcCJcCJcCKcCKcCJcCJcCLaaacBXcCvcCvcCvcCvcCvcBXdpJczmdqgcyGcyGcyGcyGcyGcyGcyGcyGcCMcyGcyGcyGcyGcyGcyGcyGcyGaaaaaaaaaaaaaaacyGcCNcCicyGcAaczAczAczAcCkaaaaaaaaaaaaaaacyGczmcCAczCczCcCBczmcCCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCOcCPcCQcCRcCScCRcCRcCTcCUcCJcCLcBXcCvcCVcCWcCXcCYcBXczmczmczmczmczmczmczmczmcyGcyGcCZcCZcCZcyGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyGcyGcyGcyGcyGcyGcyGcyGcCkaaaaaaaaaaaaaaacDaczmcCAczCczCcCBczmcCCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCOcCPcCQcCRcCRcCRcCRcCRcCRcDbcDccBXcCvcDdcDecDfcDecBXczmczmdrOdqHdqOdrNczmczmcyGcyGcyGcDgcyGcyGcyGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDhczmczmcDicDiczmczmcDhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacCOcCPcCQcDjcDjcDjcDjcDjcDjcCJcDkcBXcCvcCvcCvcCvcCvcBXczmczmdrSdrQdrRdrPczmczmcyGcyXcBhczhcAYcyZcyGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyGcDlczmczmczmczmcDmcyGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDncCJcCJcCJcCJcCJcCJcCJcCJcDkaaacBXcBXcBXcBXcBXcBXcBXczmczmbZXcdkcecceeczmczmcyGcDocDpcDqcDpcDrcyGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyGcyGcyGcyGcyGcyGcyGcyGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyGczmczmcejceWcgtceNczmceMcDsczgcDtczhcDucAqcCkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDvcDwcDxcDxcDxcDycDzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyGczmczmczmczmczmczmczmdnIcDsczrcBCcBscBCcDAcCkaaaaaaaaaaaaaaaaaaaaaaaaaaacDvcDBcDCcDDcDEcDDcDFcDGcDzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacyGdordnKdnLdoWczmdoudoVdpicDscDHcDIcDJcDIcDKcCkaaaaaaaaaaaaaaaaaaaaaaaaaaacDLcDMcDNcDOcDOcDOcDPcDQcDLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDscDscDscDscDscDscDscDscDscDscDscDscDscDscDscDsbZlcDscDscDscDsczgczhcDRczhcAqcCkcCkcCkaaaaaaaaaaaaaaaaaaaaacDLcDScDNcDOcDOcDTcDPcDUcDLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDVcDWcDXcDXcDXcDXcDXcDXcDXcDXcDXcDXcDXcDXcDYcDWcDXcDXcDscDZcBCcEaczhcEbczhcEccBCcDZcCkaaaaaaaaaaaaaaaaaaaaacEdcEecEfcEecEgcEecEfcEecEhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDVcDWcDXcEicEjcEkcEicEjcEjcEjcElcEjcEjcEmcEncDWcDXcDXcDscDZcAMcEaczhczhczhcEccAMcDZcCkcCkcCkcCkcCkcCkaaaaaacDLcEocEpcEpcDOcEpcEpcEocDLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacDVcDWcEicEqcErcEscEtcEucEucEucEucEucEucEvcEncDWcDXcDXcDscDZcAMcEwczhczhczhcExcAMcDZcCkcEycEycEycEycCkaaaaaacDLcEzcDOcDOcDOcDOcDOcEAcDLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10244,16 +10268,16 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkmdk aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkmdkmdkFdkFdkFdkFdkFdkFdkmdkmdkmdkmdkmdkmdkmdkFdkFdkFdkFdkFdkFdkmdkmdkmdkmdildildlXdlXdlXdlXdlXdlXdlYdlZdlZdmadlXdlXdlXdlXdkQdildildhRddXddXddXddXddXddXddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddXddXddXddXdhRdhRdildildildildildhRdhRdhRdhRdhRddXddXddXddXddXddXddXddZddZddZddZdlydlydlydlydmbdmcdmddlydlCdmedlydlKdlydlydlydmfdmgdmhdlydildildildildildilaaaaaaaaaaaaaaaaaaaaaaaaaaaddXddXddXdhRdhRdildildildildildildktdkzdkvdildildildildildildildildildhRdhRddXddXddXddZddZddZddZddZddZddZddZddZddZddZddXddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkmdkmdkFdkFdkFdkFdkFdkFdkmdkmdkmdkmdkmdkmdkmdkFdkFdkFdkFdkFdkmdkmdhRdildildildlXdmidmjdmkdmldmmdmndmodmpdmpdmqdmjdmrdmsdkydildildhRdhRdhRdhRddXddXddXddXddXddXddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddXddXddXdhRdhRdildildildildildildildildildildhRdhRdhRdhRdhRddXddXddXddXddZddZddZdlydmtdmudmvdmwdmudmudlydlGdlHdmxdlEdlydmydmzdmAdmAdmAdlNdildildildildildildilaaaaaaaaaaaaaaaaaaaaaaaaaaadhRdhRdhRdildildildildildildildildmBdmCdmDdmEdmCdmCdildildildildildildhRddXddXddXddZddZddZddZddZddZddZddZddZddZddZddXddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkmdkmdkmdkFdkFdkFdkmdkmdkmdkmdkmdkmdkmdkmdkFdkFdkFdkmdkmddXdhRdildildildlXdmFdmjdmGdmHdmjdmjdmjdmjdmjdmIdmjdmrdmJdmKdildildildildildhRdhRdhRddXddXddXddXddXddXddXddZddZddZddZddZddZddZddZddZddZddZddZddXddXdhRdhRdjfdildildildildildildildildildildildildildildildhRdhRddXddXddXddXddXddXdlydmLdmudmMdmNdmOdmPdlydlydlydlydlEdlydmydmQdmQdmQdmRdlRdildildildildildildilaaaaaaaaaaaaaaaaaaaaaaaaaaadildildildildildildildildildildildmBdmSdmSdmSdmTdmCdildmUdildildildjxdjfdhRddXddXddZddZddZddZddZddZddZddZddZddZddXddXddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkmdkmdkFdkFdkFdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmddXdhRdildildildlXdmVdmjdmjdmWdmjdmjdmjdmjdmjdmqdmXdmYdmqdkvdildildildildildildildhRdhRdhRdhRddXddXddXddXddXddXddZddZddZddZddZddZddZddZddZddXddXdhRdhRdildlOdildildildildildildildildildildildildildildildildhRdhRdhRdhRddXddXddXdlydmZdmudnadmudnbdmudncdmRdnddnednfdlydmydmQdngdmQdnhdlWdildildildildildilaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadildildildildildnidnidnjdnkdmBdnldnmdnmdnndmCdmCdmCdmCdildildildildhRdhRddXddXddZddZddZddZddZddZddZddZddZddXddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmddZddZdhRdhRdildildlXdnodmjdnpdnqdnrdnsdntdmjdnudlXdlXdlXdlXdlXdkOdkydildildildildildildildildhRdhRdhRddXddXddXddXddXddZddZddZddZddZddZddZddXddXddXdhRdildildildildildildildildildildildkOdkydildildildildildildildildildhRdhRddXddXdlydlydlydlydlydlydlydnvdnwdnxdnvdnwdlydlydlydlydlydnydlydlydnzdnAdildilaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadildildnBdnkdnCdnDdnEdnFdnGdnHdnHdnIdnJdnKdnLdnMdkydildildildjgdhRddXddXddZddZddZddZddZddZddZddXddXddXddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmddZddZddXdhRdildildlXdnNdmjdnOdmHdnPdnQdnRdmjdnSdnTdnUdnVdnWdnXdkUdkVdkMdkMdkMdkMdkMdkLdildildildildhRdhRdhRddXddXddXddXddXddZddZddZddXddXddXddXdhRdhRdildildkRdkMdkMdkMdkMdkMdkMdkMdkMdkUdkVdkMdkMdkMdkMdkLdildildildildildhRddXddXddXddXddXdlydnYdnZdoadmQdnhdobdmRdnhdncdocdoddoedmRdnhdmQdmQdofdogdmgdmhdohdoidoidoidoidoidoidoidojdojdojdojdojdojdojdnjdokdoldomdnDdondoodopdoqdnHdnHdnHdordosdotdoudmKdildildildjgdhRddXddXddZddZddZddZddZddZddXddXddXddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkmdkmdkmdkmddZddZddXdhRdildildlXdlXdlXdlXdlXdovdowdoxdlXdlXdoydlXdlXdlXdlXdktdkvdildildildildildkCdildildildildhRdildhRdhRddXddXddXddXddXddXddXddXddXddXdhRdhRdildildildkCdildildildildildildildildktdkvdildildildildkCdildildildildildhRdhRdjfdhRdhRddXdlydlydlydlydozdnhdoAdoBdoCdnedoDdoEdoEdoFdoFdoGdoEdoHdoIdoEdoIdoJdoJdoJdoJdoJdoJdoJdoJdoKdoKdoKdoKdoKdoKdoKdoLdoMdoLdoNdoMdoOdoPdoQdoRdoSdoTdoUdnJdoVdoWdnMdkvdildildildildhRdhRddXddXddZddZddZddZddZddXddXddXddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkmdkmddZddZddXdhRdhRdildildildildildlXdoXdoYdoZdpadlXdjodpbdlvdildildildildildkEdildildildkKdkMdkMdkLdildildildildhRddXddXddXddXddXddXddXddXddXddXdhRdildildkRdkMdkSdildildildildhRdildildkEdildildildildildildkCdildildildildildildildlOdildhRdhRdhRdhRdhRdlydmQdpcdpddpedpedpddpfdpgdphdpedpedpidpddpjdpkdpldpmdpndpndpndpndpndpndpndpndpodpodpodpodpodpodppdpqdprdpsdptdpudpvdpwdpxdnidnidnidnidnidnidnidnidpydkudpzdkudlvdjgdhRddXddXddZddZddZddZddXddXddXddXddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddZddZddXdhRdhRdildildildildlXdpAdpBdpCdpDdlXdildildildildildildhRdhRdjfdhRdildildildildildkCdildildildildildhRddXddXddXddXddXdhRdhRdhRdhRdhRdildkRdkSdildildildhRdhRdhRdhRdhRdhRdjfdildildildildildildkCdildildildildildildildildildildildhRdhRdlydlydpEdpFdpEdlydlydpGdpHdpIdlydlydpEdpJdpEdlydpKdildildilaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaadpLdnkdnDdpMdpNdpOdpPdpQdpQdpRdnidpSdpTdpUdpVdpVdpVdpVdlvdildhRddXddXddZddZddZddZddXddXddXddZddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddZddZddZddXdhRdhRdildildildlXdlXdlXdlXdlXdlXdildildhRdhRdhRdhRdhRddXddXdhRdhRdildildildildkCdildildildildildildhRdhRdhRdhRdhRdhRdildildildildildkCdildildhRdhRdhRddXddXddXddXddXdhRdildildildildildildkCdildildildkOdkydildildildildildildildhRdlydpWdpXdpYdpXdlydpZdqadqbdqcdqddlydqedqfdqgdlydildildildildildilaaaaaaaafaaaaaaaaaaafaafaafaafaafaafaafaafaafdnidqhdqidoPdnidnidnidnidqjdnidqkdnidnidqldlvdlvdlvdlvdildhRddXddXddZddZddZddXddXddZddZddZddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkmdkmdkFdkFdkFdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmddXdhRdildildildlXdmVdmjdmjdmWdmjdmjdmjdmjdmjdmqdmXdmYdmqdkvdildildildildildildildhRdhRdhRdhRddXddXddXddXddXddXddZddZddZddZddZddZddZddZddZddXddXdhRdhRdildlOdildildildildildildildildildildildildildildildildhRdhRdhRdhRddXddXddXdlydmZdmudnadmudnbdmudncdmRdnddnednfdlydmydmQdngdmQdnhdlWdildildildildildilaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadildildildildildnidnidnjdnkdmBdnldnmdrTdnndmCdmCdmCdmCdildildildildhRdhRddXddXddZddZddZddZddZddZddZddZddZddXddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmddZddZdhRdhRdildildlXdnodmjdnpdnqdnrdnsdntdmjdnudlXdlXdlXdlXdlXdkOdkydildildildildildildildildhRdhRdhRddXddXddXddXddXddZddZddZddZddZddZddZddXddXddXdhRdildildildildildildildildildildildkOdkydildildildildildildildildildhRdhRddXddXdlydlydlydlydlydlydlydnvdnwdnxdnvdnwdlydlydlydlydlydnydlydlydnzdnAdildilaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadildildnBdnkdnCdnDdnEdnFdnGdnHdrWdrVdrUdrXdrYdnMdkydildildildjgdhRddXddXddZddZddZddZddZddZddZddXddXddXddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkmdkmdkmdkmdkmdkmdkmdkmdkmdkmdkmddZddZddXdhRdildildlXdnNdmjdnOdmHdnPdnQdnRdmjdnSdnTdnUdnVdnWdnXdkUdkVdkMdkMdkMdkMdkMdkLdildildildildhRdhRdhRddXddXddXddXddXddZddZddZddXddXddXddXdhRdhRdildildkRdkMdkMdkMdkMdkMdkMdkMdkMdkUdkVdkMdkMdkMdkMdkLdildildildildildhRddXddXddXddXddXdlydnYdnZdoadmQdnhdobdmRdnhdncdocdoddoedmRdnhdmQdmQdofdogdmgdmhdohdoidoidoidoidoidoidoidojdojdojdojdojdojdojdnjdokdoldomdnDdondoodopdoqdnHdnHdscdsbdosdotdrZdsadildildildjgdhRddXddXddZddZddZddZddZddZddXddXddXddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkmdkmdkmdkmddZddZddXdhRdildildlXdlXdlXdlXdlXdovdowdoxdlXdlXdoydlXdlXdlXdlXdktdkvdildildildildildkCdildildildildhRdildhRdhRddXddXddXddXddXddXddXddXddXddXdhRdhRdildildildkCdildildildildildildildildktdkvdildildildildkCdildildildildildhRdhRdjfdhRdhRddXdlydlydlydlydozdnhdoAdoBdoCdnedoDdoEdoEdoFdoFdoGdoEdoHdoIdoEdoIdoJdoJdoJdoJdoJdoJdoJdoJdoKdoKdoKdoKdoKdoKdoKdoLdoMdoLdoNdoMdoOdoPdoQdoRdoSdoTdoUdnJdsddsednMdkvdildildildildhRdhRddXddXddZddZddZddZddZddXddXddXddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkmdkmddZddZddXdhRdhRdildildildildildlXdoXdoYdoZdpadlXdjodpbdlvdildildildildildkEdildildildkKdkMdkMdkLdildildildildhRddXddXddXddXddXddXddXddXddXddXdhRdildildkRdkMdkSdildildildildhRdildildkEdildildildildildildkCdildildildildildildildlOdildhRdhRdhRdhRdhRdlydmQdpcdpddpedpedpddpfdpgdphdpedpedsfdpgdpjdpkdpldpmdpndpndpndpndpndpndpndpndpodpodpodpodpodpodppdpqdprdpsdptdpudpvdpwdpxdnidnidnidnidnidnidnidnidpydkudpzdkudlvdjgdhRddXddXddZddZddZddZddXddXddXddXddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddZddZddXdhRdhRdildildildildlXdpAdpBdpCdpDdlXdildildildildildildhRdhRdjfdhRdildildildildildkCdildildildildildhRddXddXddXddXddXdhRdhRdhRdhRdhRdildkRdkSdildildildhRdhRdhRdhRdhRdhRdjfdildildildildildildkCdildildildildildildildildildildildhRdhRdlydlydpEdpFdpEdlydlydpGdpHdpIdlydlydpEdshdsgdlydpKdildildilaaaaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaadpLdnkdnDdpMdpNdpOdpPdpQdpQdpRdnidpSdpTdpUdpVdpVdpVdpVdlvdildhRddXddXddZddZddZddZddXddXddXddZddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddZddZddZddXdhRdhRdildildildlXdlXdlXdlXdlXdlXdildildhRdhRdhRdhRdhRddXddXdhRdhRdildildildildkCdildildildildildildhRdhRdhRdhRdhRdhRdildildildildildkCdildildhRdhRdhRddXddXddXddXddXdhRdildildildildildildkCdildildildkOdkydildildildildildildildhRdlydpWdpXdpYdpXdlydpZdqadqbdqcdqddlydqedqfdsidlydildildildildildilaaaaaaaafaaaaaaaaaaafaafaafaafaafaafaafaafaafdnidqhdqidoPdnidnidnidnidqjdnidqkdnidnidqldlvdlvdlvdlvdildhRddXddXddZddZddZddXddXddZddZddZddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddZddZddXddXdhRdildildildildildildildildildildildhRddXddXddXddXddXddXddXdhRdhRdildildildkKdkMdkMdkMdkLdildildildildildildildildildildildildildkCdildhRdhRddXddXddXddXddXddXddXdhRdhRdildildildildildkKdkMdkMdkMdkUdkVdkMdkMdkMdkLdildildildildlydqmdqndqodqpdlydqqdqddqddqrdqsdlydqtdqudqvdlydildildildildildilaafaafaafaafaafaafaafdqwdqwdqwdqwdqwaafaaaaaadnidqxdqydoPdqzdqAdqBdpQdpQdqCdpQdpRdnidildildildildildhRdhRddXddXddZddZddXddXddXddZddZddZddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddZddZddZddXdhRdildildildildildildildildildhRdhRdhRddXddXddXddXddXddXddXddXdhRdhRdhRdildildildildildkKdkLdildildkOdkydildildkRdkMdkMdkMdkMdkMdkSdildhRddXddXddXddXddZddZddZddXddXdhRdhRdhRdildildildildildildildktdkvdildildildkCdildildildildlydlydlydlydlydlydqDdqEdqFdqGdqsdlydpEdqHdpEdlydildildildildildilaaaaaaaafaaaaaaaaaaafdqwdqwdqwdqwdqwaafaaadnBdnkdqIdqJdqKdnidnidnidnidnidnidqLdqMdnidildildildildildhRddXddXddZddZddZddXddXddXddXddZddZddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddZddZddZddZdhRdhRdhRdhRdildildildildhRdhRdhRddXddXddXddXddXddXddXddXddXddXddXddXdhRdhRdhRdildkEdildildkKdkMdkMdkUdkVdkMdkMdkSdildildildildildildildhRddXddXddXddZddZddZddZddZddXddXddXdhRdhRdhRdhRdildildildildildildildildildkKdkMdkMdkLdildildildildildildlydlydlydlydlydlydlydqNdqOdmKdqPdildildildildilaaaaaaaaaaafaaaaaaaaaaafdqwdqwdqwdqwdqwdqQdokdqRdqSdnDdqTdoPdqUdqUdqVdqWdqXdqYdqZdqMdnidildildildildhRdhRddXddXddZddZddXddXddXddXddZddZddZddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddZddZddZddXdhRdildildildildildildildildildhRdhRdhRddXddXddXddXddXddXddXddXdhRdhRdhRdildildildildildkKdkLdildildkOdkydildildkRdkMdkMdkMdkMdkMdkSdildhRddXddXddXddXddZddZddZddXddXdhRdhRdhRdildildildildildildildktdkvdildildildkCdildildildildlydlydlydlydlydlydqDdqEdqFdqGdqsdlydpEdsjdpEdlydildildildildildilaaaaaaaafaaaaaaaaaaafdqwdqwdqwdqwdqwaafaaadnBdnkdqIdqJdqKdnidnidnidnidnidnidqLdqMdnidildildildildildhRddXddXddZddZddZddXddXddXddXddZddZddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddZddZddZddZdhRdhRdhRdhRdildildildildhRdhRdhRddXddXddXddXddXddXddXddXddXddXddXddXdhRdhRdhRdildkEdildildkKdkMdkMdkUdkVdkMdkMdkSdildildildildildildildhRddXddXddXddZddZddZddZddZddXddXddXdhRdhRdhRdhRdildildildildildildildildildkKdkMdkMdkLdildildildildildildlydlydlydlydlydlydlydqNdskdmKdqPdildildildildilaaaaaaaaaaafaaaaaaaaaaafdqwdqwdqwdqwdqwdqQdokdqRdqSdnDdqTdoPdqUdqUdqVdqWdqXdqYdqZdqMdnidildildildildhRdhRddXddXddZddZddXddXddXddXddZddZddZddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddZddZddZddZddZddXdhRdhRdhRdhRdhRdhRddXddXddXddXddXddXddXddZddZddZddZddXddXddXddXddXdhRdhRdjfdhRdildildildildktdkvdildildildildkEdildhRdhRdhRdhRdhRddXddXddZddZddZddZddZddZddZddXddXddXddXddXdhRdhRdhRdhRdhRdhRdhRdhRdildildildildildkCdildildildildildildildildktdradrbdrbdrbdrbdrcdkvdildildildildildilaafaafaafaafaafaafaafaafdqwdqwdqwdqwdqwdrddnDdrddnDdnDdqTdoPdnDdnDdrednDdnDdrfdrgdrhdnidildildildildhRddXddXddXddZddZddXddXddXddZddZddZddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddZddZddZddZddZddZddXddXddXddXddXddXddXddXddXddZddZddZddZddZddZddZddZddZddXddXddXddXddXddXdhRdhRdildildildildildildildildildjfdhRdhRddXddXddXddXddXddZddZddZddZddZddZddZddZddXddXddXddXddXddXddXddXddXddXddXddXdhRdhRdildildildildkCdildildildildildildildildildildildildildildildildildildildildildildilaaaaaaaaaaaaaaaaaaaafdqwdqwdqwdqwdqwdnjdokdridrjdnDdqTdrkdpudpudrldpudpudrmdrndrodnidildildildkNdjfddXddXddXddZddXddXddXddXddZddZddZddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddZddZddZddZddXddZddZddXddXddXddXddZddZddZddZddZddZddZddZddZddZddZddZddZddZddXddXddXddXddXddXdhRdhRdhRdildildildhRdhRdhRdhRdhRddXddXddXddXddXddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddZddXddXddXddXddXdhRdildildildildkKdkMdkMdkMdkMdkMdkMdkMdkMdkMdkMdkMdkMdkMdkMdkMdkMdkMdkLdildildildildildilaaaaaaaaaaaaaaaaafdqwdqwdqwdqwdqwaafaaadpLdnkdrpdqTdoPdnDdnDdrqdqUdnDdnDdqLdrrdnidildildildildhRddXddXddXddXddXddXddXddZddZddZddZddZddZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -10581,3 +10605,4 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} + diff --git a/maptools/clean_map.bat b/maptools/clean_map.bat index 8ce90510b2e..804c8a41f46 100644 --- a/maptools/clean_map.bat +++ b/maptools/clean_map.bat @@ -1,2 +1 @@ -java -jar MapPatcher.jar -clean ../maps/tgstation.2.0.9.1.dmm.backup ../maps/tgstation.2.0.9.1.dmm ../maps/tgstation.2.0.9.1.dmm -del ../maps/tgstation.2.0.9.1.dmm.backup +java -jar MapPatcher.jar -clean ../maps/tgstation.2.1.0.0.1.dmm.backup ../maps/tgstation.2.1.0.0.1.dmm ../maps/tgstation.2.1.0.0.1.dmm \ No newline at end of file diff --git a/maptools/prepare_map.bat b/maptools/prepare_map.bat index 92a1aa44f7e..dec9fa9ecbc 100644 --- a/maptools/prepare_map.bat +++ b/maptools/prepare_map.bat @@ -1,2 +1,2 @@ cd ../maps -copy tgstation.2.0.9.1.dmm tgstation.2.0.9.1.dmm.backup +copy tgstation.2.1.0.0.1.dmm tgstation.2.1.0.0.1.dmm.backup