diff --git a/baystation12.dme b/baystation12.dme index 35771b67a21..1c5182a856f 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -252,6 +252,7 @@ #define FILE_DIR "icons/vending_icons" #define FILE_DIR "interface" #define FILE_DIR "maps" +#define FILE_DIR "maps/backup" #define FILE_DIR "maps/RandomZLevels" #define FILE_DIR "sound" #define FILE_DIR "sound/AI" @@ -1327,6 +1328,7 @@ #include "code\modules\scripting\Scanner\Tokens.dm" #include "code\modules\security levels\keycard authentication.dm" #include "code\modules\security levels\security levels.dm" +#include "code\WorkInProgress\autopsy.dm" #include "code\WorkInProgress\buildmode.dm" #include "code\WorkInProgress\explosion_particles.dm" #include "code\WorkInProgress\surgery.dm" diff --git a/code/WorkInProgress/autopsy.dm b/code/WorkInProgress/autopsy.dm new file mode 100644 index 00000000000..2137141996f --- /dev/null +++ b/code/WorkInProgress/autopsy.dm @@ -0,0 +1,189 @@ +/datum/autopsy_data_scanner + var/weapon = null // this is the DEFINITE weapon type that was used + var/list/organs_scanned = list() // this maps a number of scanned organs to + // the wounds to those organs with this data's weapon type + var/organ_names = "" + +/datum/autopsy_data + var/weapon = null + var/pretend_weapon = null + var/damage = 0 + var/hits = 0 + var/time_inflicted = 0 + + proc/copy() + var/datum/autopsy_data/W = new() + W.weapon = weapon + W.pretend_weapon = pretend_weapon + W.damage = damage + W.hits = hits + W.time_inflicted = time_inflicted + return W + +/obj/item/weapon/autopsy_scanner/proc/add_data(var/datum/organ/external/O) + if(!O.autopsy_data.len && !O.trace_chemicals.len) return + + for(var/V in O.autopsy_data) + var/datum/autopsy_data/W = O.autopsy_data[V] + + if(!W.pretend_weapon) + /* + // the more hits, the more likely it is that we get the right weapon type + if(prob(50 + W.hits * 10 + W.damage)) + */ + + // Buffing this stuff up for now! + if(1) + W.pretend_weapon = W.weapon + else + W.pretend_weapon = pick("mechanical toolbox", "wirecutters", "revolver", "crowbar", "fire extinguisher", "tomato soup", "oxygen tank", "emergency oxygen tank", "laser", "bullet") + + + var/datum/autopsy_data_scanner/D = wdata[V] + if(!D) + D = new() + D.weapon = W.weapon + wdata[V] = D + + if(!D.organs_scanned[O.name]) + if(D.organ_names == "") + D.organ_names = O.display_name + else + D.organ_names += ", [O.display_name]" + + del D.organs_scanned[O.name] + D.organs_scanned[O.name] = W.copy() + + for(var/V in O.trace_chemicals) + if(O.trace_chemicals[V] > 0 && !chemtraces.Find(V)) + chemtraces += V + +/obj/item/weapon/autopsy_scanner/verb/print_data() + set src in view(usr, 1) + set name = "Print Data" + if(usr.stat) + usr << "No." + return + + if(wdata.len == 0 && chemtraces.len == 0) + usr << "* There is no data about any wounds in the scanner's database. You may have to scan more bodyparts, or otherwise this wound type may not be in the scanner's database." + return + + var/scan_data = "" + + if(timeofdeath) + scan_data += "Time of death: [worldtime2text(timeofdeath)]

" + + var/n = 1 + for(var/wdata_idx in wdata) + var/datum/autopsy_data_scanner/D = wdata[wdata_idx] + var/total_hits = 0 + var/total_score = 0 + var/list/weapon_chances = list() // maps weapon names to a score + var/age = 0 + + for(var/wound_idx in D.organs_scanned) + var/datum/autopsy_data/W = D.organs_scanned[wound_idx] + total_hits += W.hits + + var/wname = W.pretend_weapon + + if(wname in weapon_chances) weapon_chances[wname] += W.damage + else weapon_chances[wname] = max(W.damage, 1) + total_score+=W.damage + + + var/wound_age = W.time_inflicted + age = max(age, wound_age) + + var/damage_desc + + var/damaging_weapon = (total_score != 0) + + // total score happens to be the total damage + switch(total_score) + if(0) + damage_desc = "Unknown" + if(1 to 5) + damage_desc = "negligible" + if(5 to 15) + damage_desc = "light" + if(15 to 30) + damage_desc = "moderate" + if(30 to 1000) + damage_desc = "severe" + + if(!total_score) total_score = D.organs_scanned.len + + scan_data += "Weapon #[n]
" + if(damaging_weapon) + scan_data += "Severity: [damage_desc]
" + scan_data += "Hits by weapon: [total_hits]
" + scan_data += "Approximate time of wound infliction: [worldtime2text(age)]
" + scan_data += "Affected limbs: [D.organ_names]
" + scan_data += "Possible weapons:
" + for(var/weapon_name in weapon_chances) + scan_data += "\t[100*weapon_chances[weapon_name]/total_score]% [weapon_name]
" + + scan_data += "
" + + n++ + + if(chemtraces.len) + scan_data += "Trace Chemicals:
" + for(var/chemID in chemtraces) + scan_data += chemID + scan_data += "
" + + for(var/mob/O in viewers(usr)) + O.show_message("\red \the [src] rattles and prints out a sheet of paper.", 1) + + sleep(10) + + var/obj/item/weapon/paper/P = new(usr.loc) + P.name = "Autopsy Data ([target_name])" + P.info = "[scan_data]" + P.overlays += "paper_words" + + if(istype(usr,/mob/living/carbon)) + // place the item in the usr's hand if possible + if(!usr.r_hand) + P.loc = usr + usr.r_hand = P + P.layer = 20 + else if(!usr.l_hand) + P.loc = usr + usr.l_hand = P + P.layer = 20 + + if(istype(usr,/mob/living/carbon/human)) + usr:update_inv_l_hand() + usr:update_inv_r_hand() + +/obj/item/weapon/autopsy_scanner/attack(mob/living/carbon/human/M as mob, mob/living/carbon/user as mob) + if(!istype(M)) + return + + if(!can_operate(M)) + return + + if(target_name != M.name) + target_name = M.name + src.wdata = list() + user << "\red A new patient has been registered.. Purging data for previous patient." + + src.timeofdeath = M.timeofdeath + + var/datum/organ/external/S = M.get_organ(user.zone_sel.selecting) + if(!S) + usr << "You can't scan this body part." + return + if(!S.open) + usr << "You have to cut the limb open first!" + return + for(var/mob/O in viewers(M)) + O.show_message("\red [user.name] scans the wounds on [M.name]'s [S.display_name] with \the [src.name]", 1) + + src.add_data(S) + + return 1 diff --git a/code/datums/organs/organ.dm b/code/datums/organs/organ.dm index ba7b1bf014c..7c219e899b6 100644 --- a/code/datums/organs/organ.dm +++ b/code/datums/organs/organ.dm @@ -1,6 +1,11 @@ /datum/organ var/name = "organ" var/mob/living/carbon/human/owner = null + var/list/datum/autopsy_data/autopsy_data = list() + + var/list/trace_chemicals = list() // traces of chemicals in the organ, + // links chemical IDs to number of ticks for which they'll stay in the blood + ///datum/organ/proc/process() // return 0 @@ -12,4 +17,4 @@ return 0 proc/receive_chem(chemical as obj) - return 0 \ No newline at end of file + return 0 diff --git a/code/datums/organs/organ_external.dm b/code/datums/organs/organ_external.dm index 8e31e6db0f2..4e44edf173d 100644 --- a/code/datums/organs/organ_external.dm +++ b/code/datums/organs/organ_external.dm @@ -122,6 +122,8 @@ if(status & ORGAN_BROKEN) owner.emote("scream") + + if(used_weapon) add_autopsy_data(used_weapon, brute + burn) owner.updatehealth() @@ -519,6 +521,17 @@ 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 + /datum/organ/external/chest name = "chest" icon_name = "chest" diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 8bf17c2e040..5e3a7af556f 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -1964,3 +1964,17 @@ icon_state = "capacitor" desc = "A debug item for research." origin_tech = "materials=8;programming=8;magnets=8;powerstorage=8;bluespace=8;combat=8;biotech=8;syndicate=8" + +/obj/item/weapon/autopsy_scanner + name = "autopsy scanner" + desc = "Extracts information on wounds." + icon = 'icons/obj/autopsy_scanner.dmi' + icon_state = "" + flags = FPRINT | TABLEPASS | CONDUCT + w_class = 1.0 + origin_tech = "materials=1;biotech=1" + +/obj/item/weapon/autopsy_scanner/var/list/datum/autopsy_data_scanner/wdata = list() +/obj/item/weapon/autopsy_scanner/var/list/datum/autopsy_data_scanner/chemtraces = list() +/obj/item/weapon/autopsy_scanner/var/target_name = null +/obj/item/weapon/autopsy_scanner/var/timeofdeath = null diff --git a/code/defines/procs/helper_type2type.dm b/code/defines/procs/helper_type2type.dm index b98c8c07905..ca0668bfb71 100644 --- a/code/defines/procs/helper_type2type.dm +++ b/code/defines/procs/helper_type2type.dm @@ -260,5 +260,7 @@ proc/tg_list2text(list/list, glue=",") return dir2text(angle2dir(degree)) //Returns the world time in english -proc/worldtime2text() - return "[round(world.time / 36000)+12]:[(world.time / 600 % 60) < 10 ? add_zero(world.time / 600 % 60, 1) : world.time / 600 % 60]" \ No newline at end of file +proc/worldtime2text(var/time = 0) + if(time == 0) + time = world.time + return "[round(time / 36000)+12]:[(time / 600 % 60) < 10 ? add_zero(time / 600 % 60, 1) : time / 600 % 60]" \ No newline at end of file diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 0ef35d726dc..2024fefdbc7 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -141,7 +141,7 @@ shock_damage *= siemens_coeff if (shock_damage<1) return 0 - src.take_overall_damage(0,shock_damage) + src.take_overall_damage(0,shock_damage,used_weapon="Electrocution") //src.burn_skin(shock_damage) //src.adjustFireLoss(shock_damage) //burn_skin will do this for us //src.updatehealth() diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 0199d048ba2..a8f55c066f8 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -272,34 +272,36 @@ // focus most of the blast on one organ var/datum/organ/external/take_blast = pick(organs) - update |= take_blast.take_damage(b_loss * 0.9, f_loss * 0.9) + update |= take_blast.take_damage(b_loss * 0.9, f_loss * 0.9, used_weapon = "Explosive blast") // distribute the remaining 10% on all limbs equally b_loss *= 0.1 f_loss *= 0.1 + var/weapon_message = "Explosive Blast" + for(var/datum/organ/external/temp in organs) switch(temp.name) if("head") - update |= temp.take_damage(b_loss * 0.2, f_loss * 0.2) + update |= temp.take_damage(b_loss * 0.2, f_loss * 0.2, used_weapon = weapon_message) if("chest") - update |= temp.take_damage(b_loss * 0.4, f_loss * 0.4) + update |= temp.take_damage(b_loss * 0.4, f_loss * 0.4, used_weapon = weapon_message) if("l_arm") - update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05) + update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message) if("r_arm") - update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05) + update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message) if("l_leg") - update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05) + update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message) if("r_leg") - update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05) + update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message) if("r_foot") - update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05) + update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message) if("l_foot") - update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05) + update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message) if("r_arm") - update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05) + update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message) if("l_arm") - update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05) + update |= temp.take_damage(b_loss * 0.05, f_loss * 0.05, used_weapon = weapon_message) if(update) UpdateDamageIcon() @@ -945,11 +947,11 @@ return gender /mob/living/carbon/human/proc/increase_germ_level(n) - if(gloves) - gloves.germ_level += n - else - germ_level += n - + if(gloves) + gloves.germ_level += n + else + germ_level += n + /mob/living/carbon/human/revive() for (var/datum/organ/external/O in organs) O.status &= ~ORGAN_BROKEN diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index c748488b635..301406f9d4c 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -116,7 +116,7 @@ if(update) UpdateDamageIcon() // damage MANY external organs, in random order -/mob/living/carbon/human/take_overall_damage(var/brute, var/burn, var/sharp = 0) +/mob/living/carbon/human/take_overall_damage(var/brute, var/burn, var/sharp = 0, var/used_weapon = null) if(nodamage) return //godmode var/list/datum/organ/external/parts = get_damageable_organs() var/update = 0 @@ -126,7 +126,7 @@ var/brute_was = picked.brute_dam var/burn_was = picked.burn_dam - update |= picked.take_damage(brute,burn,sharp) + update |= picked.take_damage(brute,burn,sharp,used_weapon) brute -= (picked.brute_dam - brute_was) burn -= (picked.burn_dam - burn_was) @@ -154,7 +154,7 @@ zone = "head" return organs_by_name[zone] -/mob/living/carbon/human/apply_damage(var/damage = 0,var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/sharp = 0) +/mob/living/carbon/human/apply_damage(var/damage = 0,var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/sharp = 0, var/used_weapon = null) if((damagetype != BRUTE) && (damagetype != BURN)) ..(damage, damagetype, def_zone, blocked) return 1 @@ -176,10 +176,10 @@ switch(damagetype) if(BRUTE) - if(organ.take_damage(damage, 0, sharp)) + if(organ.take_damage(damage, 0, sharp, used_weapon)) UpdateDamageIcon() if(BURN) - if(organ.take_damage(0, damage, sharp)) + if(organ.take_damage(0, damage, sharp, used_weapon)) UpdateDamageIcon() updatehealth() return 1 diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 8ea99b9fc95..21928e3e188 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -133,7 +133,7 @@ emp_act if(armor >= 2) return 0 if(!I.force) return 0 - apply_damage(I.force, I.damtype, affecting, armor , I.sharp) + apply_damage(I.force, I.damtype, affecting, armor , I.sharp, I.name) var/bloody = 0 if(((I.damtype == BRUTE) || (I.damtype == HALLOSS)) && prob(25 + (I.force * 2))) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index ea79c01a5b2..92522f701be 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -459,15 +459,18 @@ radiation = 0 else + var/damage = 0 switch(radiation) if(1 to 49) radiation-- if(prob(25)) adjustToxLoss(1) + damage = 1 updatehealth() if(50 to 74) radiation -= 2 + damage = 1 adjustToxLoss(1) if(prob(5)) radiation -= 5 @@ -479,13 +482,17 @@ if(75 to 100) radiation -= 3 adjustToxLoss(3) + damage = 1 if(prob(1)) src << "\red You mutate!" randmutb(src) domutcheck(src,null) emote("gasp") updatehealth() - + + if(damage && organs.len) + var/datum/organ/external/O = pick(organs) + if(istype(O)) O.add_autopsy_data("Radiation Poisoning", damage) proc/breathe() if(reagents.has_reagent("lexorin")) return @@ -688,22 +695,22 @@ switch(breath.temperature) if(-INFINITY to 120) - apply_damage(COLD_GAS_DAMAGE_LEVEL_3, BURN, "head") + apply_damage(COLD_GAS_DAMAGE_LEVEL_3, BURN, "head", used_weapon = "Excessive Cold") fire_alert = max(fire_alert, 1) if(120 to 200) - apply_damage(COLD_GAS_DAMAGE_LEVEL_2, BURN, "head") + apply_damage(COLD_GAS_DAMAGE_LEVEL_2, BURN, "head", used_weapon = "Excessive Cold") fire_alert = max(fire_alert, 1) if(200 to 260) - apply_damage(COLD_GAS_DAMAGE_LEVEL_1, BURN, "head") + apply_damage(COLD_GAS_DAMAGE_LEVEL_1, BURN, "head", used_weapon = "Excessive Cold") fire_alert = max(fire_alert, 1) if(360 to 400) - apply_damage(HEAT_GAS_DAMAGE_LEVEL_1, BURN, "head") + apply_damage(HEAT_GAS_DAMAGE_LEVEL_1, BURN, "head", used_weapon = "Excessive Heat") fire_alert = max(fire_alert, 2) if(400 to 1000) - apply_damage(HEAT_GAS_DAMAGE_LEVEL_2, BURN, "head") + apply_damage(HEAT_GAS_DAMAGE_LEVEL_2, BURN, "head", used_weapon = "Excessive Heat") fire_alert = max(fire_alert, 2) if(1000 to INFINITY) - apply_damage(HEAT_GAS_DAMAGE_LEVEL_3, BURN, "head") + apply_damage(HEAT_GAS_DAMAGE_LEVEL_3, BURN, "head", used_weapon = "Excessive Heat") fire_alert = max(fire_alert, 2) if(oxyloss >= 50 && prob(oxyloss / 5)) @@ -1063,6 +1070,19 @@ dizziness = max(0, dizziness - 3) jitteriness = max(0, jitteriness - 3) + + if(life_tick % 10 == 0) + // handle trace chemicals for autopsy + for(var/datum/organ/O in organs) + for(var/chemID in O.trace_chemicals) + O.trace_chemicals[chemID] = O.trace_chemicals[chemID] - 1 + if(O.trace_chemicals[chemID] <= 0) + O.trace_chemicals.Remove(chemID) + for(var/datum/reagent/A in reagents.reagent_list) + // add chemistry traces to a random organ + var/datum/organ/O = pick(organs) + O.trace_chemicals[A.name] = 100 + updatehealth() return //TODO: DEFERRED diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 74ce8062ee8..be3d13fc85d 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -57,6 +57,6 @@ P.on_hit(src,2) return 2 if(!P.nodamage) - apply_damage((P.damage/(absorb+1)), P.damage_type, def_zone) + apply_damage((P.damage/(absorb+1)), P.damage_type, def_zone, used_weapon = "Projectile([P.name])") P.on_hit(src, absorb) - return absorb \ No newline at end of file + return absorb diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index eda167dfd9f..3f16dc09a45 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -112,6 +112,12 @@ killing = 0 hud1.icon_state = "disarm/kill" return + + if(ishuman(affecting)) + var/mob/living/carbon/human/H = affecting + var/datum/organ/external/head = H.get_organ("head") + head.add_autopsy_data("Strangulation", 0) + affecting.Weaken(5) // Should keep you down unless you get help. affecting.Stun(5) // It will hamper your voice, being choked and all. affecting.losebreath = min(affecting.losebreath + 2, 3) @@ -293,4 +299,4 @@ /obj/item/weapon/grab/Del() del(hud1) ..() - return \ No newline at end of file + return diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 307314e42d6..3bc626696d4 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -527,7 +527,7 @@ obj/structure/cable/proc/cableColor(var/colorC) /obj/item/weapon/cable_coil/attack(mob/M as mob, mob/user as mob) if(hasorgans(M)) - var/datum/organ/external/S = M:organs[user.zone_sel.selecting] + var/datum/organ/external/S = M:get_organ(user.zone_sel.selecting) if(!(S.status & ORGAN_ROBOT) || user.a_intent != "help") return ..() if(S.burn_dam > 0) diff --git a/html/changelog.html b/html/changelog.html index c1b7cf1c227..34a0e782a7f 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -63,9 +63,11 @@ should be listed in the changelog upon commit though. Thanks. -->
  • Virologist are now alt title of Medical Doctor, like Surgeon or EMT. All medical jobs now have virology access.
  • Added scientist alt titles.
  • +

    CIB updated:

    diff --git a/maps/tgstation.2.0.9.1.dmm b/maps/tgstation.2.0.9.1.dmm index ad777ed68bb..ea0b0b33ec8 100644 --- a/maps/tgstation.2.0.9.1.dmm +++ b/maps/tgstation.2.0.9.1.dmm @@ -3932,7 +3932,7 @@ "bxF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bxG" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) "bxH" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/stamp/cmo,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) -"bxI" = (/obj/structure/table,/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/item/clothing/tie/stethoscope,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) +"bxI" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 7; pixel_y = -3},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = -3},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = 3; pixel_y = -2},/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/toxin{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = 5; pixel_y = -2},/obj/item/weapon/storage/pill_bottle/tramadol,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bxJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/medical/cmo) "bxK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bxL" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) @@ -4253,7 +4253,7 @@ "bDO" = (/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 7; pixel_y = 1},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = 4; pixel_y = -6},/obj/structure/table,/turf/simulated/floor,/area/medical/cryo) "bDP" = (/obj/machinery/atmospherics/unary/cryo_cell,/turf/simulated/floor,/area/medical/cryo) "bDQ" = (/obj/structure/closet/wardrobe/pjs,/turf/simulated/floor,/area/medical/cryo) -"bDR" = (/obj/structure/table,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 7; pixel_y = -3},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = -4; pixel_y = -3},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = 3; pixel_y = -2},/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/glass/bottle/toxin{pixel_x = 4; pixel_y = 2},/obj/item/weapon/reagent_containers/syringe/inaprovaline{pixel_x = 5; pixel_y = -2},/obj/item/weapon/storage/pill_bottle/tramadol,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) +"bDR" = (/obj/structure/table,/obj/item/weapon/autopsy_scanner,/turf/simulated/floor,/area/medical/surgery) "bDS" = (/obj/effect/landmark/start{name = "Geneticist"},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bDT" = (/obj/machinery/computer/cloning,/turf/simulated/floor,/area/medical/genetics) "bDU" = (/turf/simulated/wall/r_wall,/area/crew_quarters/hor) @@ -4597,7 +4597,7 @@ "bKu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bKv" = (/obj/structure/closet/secure_closet/medical3,/turf/simulated/floor{icon_state = "whitehall"; dir = 4},/area/medical/medbay) "bKw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) -"bKx" = (/obj/machinery/camera{c_tag = "Genetics Cloning"; dir = 4; network = "SS13"},/obj/structure/table,/obj/item/weapon/book/manual/medical_cloning{pixel_y = 6},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/paper/genetics_side_effects,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) +"bKx" = (/obj/structure/table,/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/item/clothing/tie/stethoscope,/obj/item/clothing/glasses/hud/health,/turf/simulated/floor{dir = 8; icon_state = "barber"},/area/medical/cmo) "bKy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/medical/medbay) "bKz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "bKA" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/cryo) @@ -4787,7 +4787,7 @@ "bOc" = (/turf/simulated/floor,/area/medical/surgery) "bOd" = (/obj/machinery/computer/operating,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/medical/surgery) "bOe" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/medical/surgery) -"bOf" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/turf/simulated/floor,/area/medical/surgery) +"bOf" = (/obj/machinery/camera{c_tag = "Genetics Cloning"; dir = 4; network = "SS13"},/obj/structure/table,/obj/item/weapon/book/manual/medical_cloning{pixel_y = 6},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/weapon/paper/genetics_side_effects,/turf/simulated/floor{icon_state = "white"},/area/medical/genetics) "bOg" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/toxins/server) "bOh" = (/turf/simulated/wall,/area/toxins/server) "bOi" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/door/airlock/glass_command{name = "Server Room"; req_access_txt = "30"},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server) @@ -5205,7 +5205,7 @@ "bWe" = (/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "caution"; dir = 5},/area/hallway/primary/aft) "bWf" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/atmos) "bWg" = (/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,/area/atmos) -"bWh" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/atmos) +"bWh" = (/obj/structure/table,/obj/machinery/requests_console{department = "Virology"; name = "Virology Requests Console"; pixel_x = -32},/obj/item/weapon/storage/beakerbox{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/syringes,/obj/item/weapon/virusdish/random,/obj/item/weapon/virusdish/random,/obj/item/weapon/virusdish/random,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bWi" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "tox_in"; name = "Toxin Supply Control"; output_tag = "tox_out"; sensors = list("tox_sensor" = "Tank")},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/atmos) "bWj" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "tox_sensor"},/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) "bWk" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/engine{carbon_dioxide = 0; name = "plasma floor"; nitrogen = 0; oxygen = 0; toxins = 70000},/area/atmos) @@ -5241,7 +5241,7 @@ "bWO" = (/turf/simulated/floor{icon_state = "cautioncorner"; dir = 2},/area/hallway/primary/aft) "bWP" = (/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor,/area/atmos) "bWQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/atmos) -"bWR" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/atmos) +"bWR" = (/obj/structure/table,/obj/item/device/radio/intercom{pixel_x = -25},/obj/machinery/camera{c_tag = "Virlogy West"; dir = 4; network = "SS13"},/obj/item/clothing/gloves/latex,/obj/item/clothing/mask/surgical,/obj/item/device/antibody_scanner,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "bWS" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; icon_state = "manifold"; level = 2},/obj/machinery/meter,/turf/simulated/floor,/area/atmos) "bWT" = (/obj/machinery/atmospherics/trinary/filter{dir = 1; icon_state = "intact_on"; name = "Gas filter (Toxins tank)"; on = 1},/turf/simulated/floor,/area/atmos) "bWU" = (/obj/machinery/atmospherics/pipe/simple{color = "green"; dir = 4; icon_state = "intact-g"; level = 2},/turf/simulated/floor{dir = 6; icon_state = "warning"},/area/atmos) @@ -5751,7 +5751,7 @@ "cgE" = (/obj/machinery/air_sensor{frequency = 1443; id_tag = "air_sensor"; output = 7},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) "cgF" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; external_pressure_bound = 0; frequency = 1443; icon_state = "in"; id_tag = "air_out"; internal_pressure_bound = 2000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) "cgG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/airless{icon_state = "circuit"},/area) -"cgH" = (/obj/structure/table,/obj/machinery/requests_console{department = "Virology"; name = "Virology Requests Console"; pixel_x = -32},/obj/item/weapon/storage/beakerbox{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/syringes,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"cgH" = (/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/atmos) "cgI" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cgJ" = (/obj/machinery/disease2/incubator,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "cgK" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/virology) @@ -5788,7 +5788,7 @@ "chp" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) "chq" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) "chr" = (/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/atmos) -"chs" = (/obj/structure/table,/obj/item/device/radio/intercom{pixel_x = -25},/obj/machinery/camera{c_tag = "Virlogy West"; dir = 4; network = "SS13"},/obj/item/clothing/gloves/latex,/obj/item/clothing/mask/surgical,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) +"chs" = (/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/atmos) "cht" = (/obj/structure/stool/bed/chair/office/light{dir = 4},/obj/effect/landmark/start{name = "Virologist"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "chu" = (/obj/machinery/disease2/isolator,/turf/simulated/floor{icon_state = "white"},/area/medical/virology) "chv" = (/obj/machinery/light{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology) @@ -9112,20 +9112,20 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablublublublublublublublublublublublublublublublublubluaaaaaaaaaaaaaaaaaaaaaaaaaaabiybiybiybiybiybiybiybsObsPbsObsQbsQbsQbsQbsQbsRbsQbsSbsTbsUbsVbsWbsXbsYbsZbtabfBbtbbtcboSbtdbteblDblEbtfbetbetbkkbrLbrMbtgbthbtibtjbtkbqIbtlbtmbtnbtobtpbtqbtrbtsbttbtubtvbkybtwbtxbtybtzbtAbtBbtCbtDbtEbtFbtGbtHbtIbtJbdabtKbtKbdabdabbzbtLbtLbtLbspbtMbspbsqbtNbkLbtObtObtObtObtPbtObtQbtRbtQbtSbtSbtTbtUbtSbtSbtVbtWbtXbtYbVmbuabubbucbudbuebufbugbuhbrCbuibujbukbsIbsJbsJbsKbsLbsMbrDaafaafbljbsNbljaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaZuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablublublublublublublublublublublublubluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiybiybiybiybiybiybiybulbumbunbuobupblwblwblwblwbuqaVraVraVraVrburaVrbusbutbuubuvbuwbuxbuybuzbuAbuubuubuBbuCbuCbkkbkkbkkbuDbuEbuFbuFbuFbuGbuHbuIbuJbuHbuKbuLbuMbuNbuObuObuObuPbuQbkAbkAbuRbuSbuTbkAbkBbuUbuCbuCbqYbuVbuWbuXbuYbuZbvabdabbzbvbbtLbsmbtLbspbspbvcbvdbvebvfbvgbvhbvibvjbvkbsxbnWbsxbvlbvmbvnbvobvpbtSbvqbvrbtXbtYbvsbvtbvubvvbvwbvxbvybvzbvAbvBbvCbvDbvEbvEbvFbvEbvGbvHbvIbrDaafaafbljbsNbljaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaagQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablublublublublublublublublublublubluaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiybiybiybiybiybiybiyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvJbvKbvLbvMbvNbvObvPbvQbvRbvSbvTbvUbvVbvWbuubvXbvYbvYbvYbvZbwabvYbwbbvYbvYbvYbvYbwcbwdbwabwebwfbwgbwhbwibwjbvYbwkbwlbvYbvYbvYbwmbvYbvYbvYbwnbwobvYbvYbwpbwqbwrbuXbuYbuYbvabwsbbzbtLbtLbtLbtLbtLbwtbsqbwubkLbwvbwwbwxbwybwzbwAbsxbnWbsxbwBbwCbwDbwEbwFbvlbwGbwHbwIbwJbwKbwLbwLbwLbwMbwNbufbsGbwObrCbrCbwPbwQbwRbwRbwRbwSbwRbwTbrDaafaafbljbsNbljaafaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaagQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDwaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablublublublublublublublublublublublubluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiybiybiybiybiybiybiyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvJbwUbwVbwVbwWbwXbwYbvQbvQbwZbxabxbbxcbxdbuubxebxfbvYbvYbvYbwabvYbvYbvYbvYbvYbvYbvYbwdbwabvYbxgbxhbxibvYbvYbvYbvYbwlbvYbvYbvYbwmbvYbvYbxjbxkbwobxlbxmbxnbxobxpbdabxqbxrbdabdabbzbxsbxtbxubxvbxwbxxbsqbwubxybtPbxzbxAbxBbxCbxDbxEbxFbsxbwBbwCbxGbxHbxIbxJbxKbxLbxMbxNbxObxPbxQbxRbxSbxTbufbxUbxVbxWbxXbxYbxZbyabybbycbydbyebyfbrDaafaafbljbsNbljaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaZuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablublublublublublublublublublublublubluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiybiybiybiybiybiybiyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvJbwUbwVbwVbwWbwXbwYbvQbvQbwZbxabxbbxcbxdbuubxebxfbvYbvYbvYbwabvYbvYbvYbvYbvYbvYbvYbwdbwabvYbxgbxhbxibvYbvYbvYbvYbwlbvYbvYbvYbwmbvYbvYbxjbxkbwobxlbxmbxnbxobxpbdabxqbxrbdabdabbzbxsbxtbxubxvbxwbxxbsqbwubxybtPbxzbxAbxBbxCbxDbxEbxFbsxbwBbwCbxGbxHbKxbxJbxKbxLbxMbxNbxObxPbxQbxRbxSbxTbufbxUbxVbxWbxXbxYbxZbyabybbycbydbyebyfbrDaafaafbljbsNbljaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaZuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablublublublublublublublublublublublublublublublublubluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiybiybiybiybiyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabvJbvJbvJbvJbwWbwXbygbyhbvQbyibyjbykbylbymbuubvXbvXbvXbvXbvXbynbyobyobyobyobyobyobypbyqbyrbysbytbytbytbytbytbyubytbyvbywbytbytbyxbvYbyybyzbyAbyBbvYbvYbqYbbzbyCbbzbbzbbzbbzbbzbbzbsqbyDbsqbsqbsqbsqbsqbyEbyFbtPbyGbyHbyIbyJbyKbsxbnWbsxbyLbwCbyMbyMbyNbtYbufbyObyPbtYbyQbyRbySbucbudbuebufbyTbyUbyVbrCbyWbyXbyYbyZbzabzbbyebyfbrDaafaafbzcbsNbzcaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablublublublublublublublublublublublublublublublublubluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaabvJbzdbwWbwXbuubuubzebzfbzgbzgbzhbuubuubzibzjbzkbzlbzlbzmbznbzobzobzpbzqbzrbzobzobzsbztbuCbuCbuCbzubzvbzvbzvbzwbzxbzvbzvbzvbzvbzybzzbyFbzAbzBbzCbbGbzDbzEbzFbzGbzGbzFbzHbzIbzJbzKbzLbzybzMbzNbzObwubzPbtPbzQbzRbyJbzSbvkbsxbzTbzUbzVbzWbzXbzYbzZbtYbAabAbbAcbAdbAebAcbAfbAgbAgbAgbAhbAibAjbAkbAkbAkbAkbAkbAkbAlbAmbAlbAlbAlbAlaafbcbbAnbcbaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbAobApbApbAqbArbArbAsbAsbAsbAsbAsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablublublublublublublublublublublublublublublublublubluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaabvJbwVbwWbAtbAubAvbAwbAxbAybAzbAAbuuaaaaaaaaabABbACbADbAEaaaaafaaabAFbAGbAHaaaaafaaabAIbAJbvYbvYbzBbzvbAKbALbAMbANbAObAPbAQbARbASbATbAUbAVbAVbAVbAWbAXbAYbAZbBabBbbBcbBdbBebBfbBabBabBabBgbBhbBibwubkLbtPbtObBjbyJbBkbBlbsxbdobdobBmbBnbBobBpbBqbtYbBrbBsbBtbBtbBubBvbwLbBwbwLbwLbBxbsGbBybAkbBzbBAbBBbBCbBDbBEbBFbBEbBGbBHbBIaafbcbbsNbjHaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbBJbBKbBLbBKbArbAsbAsbBMbBNbBMbAsbAsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablublublublublublublublublublublublublublublublubluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbvJbvJbvJbBObBPbBQbuubBRbBSbBTbBUbBVbuuaaaaaaaaabABbACbBWbBXaafbBYbBYbBYbBZbBYbBYbBYaafbCabAJbvYbvYbzAbzvbCbbCcbCdbCebCfbCgbzvbzvbChbCibCjbCkbClbCmbzFbCnbCobkLbzybzybzybzybCpbCqbzGbzGbCrbCsbzMbCtbwubpEbCubCvbCwbCxbCybwAbsxbdobCzbtSbtSbtSbtSbtSbtYbCAbCBbySbucbtYbCCbCDbufbCEbCFbufbCGbCHbCIbCJbCKbCLbCMbCKbCNbCObCPbCQbCQbBIaafbcbbsNbljaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagaagbCRbBKbBKbCSbAsbAsbBMbBMbCTbBMbBMbAsbAsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablublublublublublublublublublublublublublubluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaabCUbCVbCWbCVbCXaaaaaaaaaaaabvJbACbCYbCZbDabDbbuubDcbDdbuubDebDfbuubDgbDhbDhbDibACbDjbBXaaabBYbDkbDlbDmbDnbDobBYaaabCabAJbvYbvYbzCbzvbDpbDqbDrbDsbDtbDubDvbBcbDwbDxbDybDzbDAbBabBcbDBbDCbDDbzyaafaafbDEbDFbzybzybzybzybDGbDHbDIbDJbDKbtPbtObtObtObtObtObDLbdobDMbDNbDObDPbDPbDQbufbKxbCBbDSbDTbtYbDUbDUbDUbDUbDUbDUbsGbDVbDWbDXbDYbDZbEabEbbBEbEcbBEbEdbCQbBIaafbcbbsNbzcaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabEebAsbCRbAsbAsbBMbBMbBMbBMbBMbBMbBMbAsbAsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablublublublublublublublublublublublublublubluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaabCUbCVbCWbCVbCXaaaaaaaaaaaabvJbACbCYbCZbDabDbbuubDcbDdbuubDebDfbuubDgbDhbDhbDibACbDjbBXaaabBYbDkbDlbDmbDnbDobBYaaabCabAJbvYbvYbzCbzvbDpbDqbDrbDsbDtbDubDvbBcbDwbDxbDybDzbDAbBabBcbDBbDCbDDbzyaafaafbDEbDFbzybzybzybzybDGbDHbDIbDJbDKbtPbtObtObtObtObtObDLbdobDMbDNbDObDPbDPbDQbufbOfbCBbDSbDTbtYbDUbDUbDUbDUbDUbDUbsGbDVbDWbDXbDYbDZbEabEbbBEbEcbBEbEdbCQbBIaafbcbbsNbzcaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabEebAsbCRbAsbAsbBMbBMbBMbBMbBMbBMbBMbAsbAsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaablublublublublublublublublublublubluaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEfbEgbEhbEhbEfbEibDhbEjbvJbvJbEkbElbElbEmbEnbEobEpbEqbErbEsbEtbEubEvbEwbExbEybEzbEAbEBaafbBYbECbEDbDmbDnbEEbBYaafbCabAJbvYbEFbzubzvbzvbEGbzvbzvbEHbzvbzvbzMbEIbEJbEKbELbzybzybEMbENbEObEPbzyaafaafbEQaafaafbERbESbERbzMbzMbETbEUbEVbEWbEXbEYbEZbFabdmbFbbdobdobDNbFcbFdbFdbFebufbFfbFgbySbFhbtYbFibFjbFkbFlbFmbFnbFobFpbFqbFrbFsbFtbFubFvbFwbFxbAlbAlbAlbAlbAlbcbbFybcbbAlbAlbAlbAlbAlaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbArbAsbFzbFAbFAbBMbBMbBMbBMbBMbBMbBMbBMbAsbAsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCWbFBbFBbEhbCWbFCbFDbFEbvJbFFbACbACbACbACbACbFGbACbFHbFIbFJbFKbFLbFMbFNbFObFPbFQbDjbFRaaabBYbFSbEDbFTbDnbFUbBYaaabCabFVbFWbFXbFYbFZbGabGbbzGbzGbzGbzGbzGbzGbGcbzGbGdbGebzyaaaaaabhxbGfaaaaaaaaaaaabEQaaaaaabzybzybzybzybzybzybzybEVbGgbGhbgjbGibGjbGkbGlbGmbdobGnbGobGpbGqbGrbufbGsbGtbGsbtYbtYbGubGvbGwbGxbGxbGybGzbgybGAbGBbGCbGDbGEbGEbGFbGFbGGbGHbGFbGIbGJbGKbGLbGMbGNbGObGPbGQbGRaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabAsbAsbGSbBMbBMbBMbBMbBMbBMbBMbBMbBMbBMbBMbAsbAsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEfbEhbEhbEhbGTbGUbACbACbGVbACbACbACbACbFGbACbACbACbGWbvJbvJbvJbvJbvJbGXbGYbGZbHabHbbHcbHdbHebHfbHgbHhbHibHjbHebHdbHkbHlbHmbHnbHobHpbHobHobHqbHrbHsbHtbzLbzMbzMbHubHvbHwbAVbHxbHxbHybHzbHAbHAbHAbHAbHBbHAbHAbHAbHAbHAbHAbHAbHAbHCbHDbHEbHFbdobdobHGbnSbdobHHbHIbxDbHJbHKbHJbHLbHMbGobGobHNbDUbHObHPbHQbHRbHSbHTbHUbHVbgybHWbHXbHXbHXbHXbHXbCKbCKbCKbCKbCKbHYbHZbIabIbbIcbGNbCKbIdbGQbIeaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbAsbBMbBMbBMbBMbBMbBMbIfbBMbIgbBMbBMbBMbBMbBMbAsbAsaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCWbFBbFBbFBbCWbIhbIibIjbvJbIkbACbIlbACbACbACbACbACbImbvJbInbIobIobIpbIqbIrbIsbItbIubBYaaabBYbIvbBYbBYbBYbBYbBYaaabIwbIxbIybIzbHrbIAbIBbICbIDbIEbIEbIEbIEbIEbIEbIFbIGbIEbIEbIHbIIbIJbIKbIKbIKbIKbILbEQaaaaaaaaaaaaaaaaafaafaafbjHbIMbINbIObIPbIQbIRbISbIQbITbIPbIUbIVbIWbIXbIYbIZbGobJabJbbDUbJcbGxbGxbJdbJebJfbJgbJhbJibAkbJjbJjbJjbJkbJlbJmbJnbJobJpbJqbAlbAlbcbbFybcbbAlbJrbJsbJtbAlaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaafaaaaaabAsbJubJubJubJubJubJubJvbBMbJwbJubIgbBMbBMbBMbBMbAsaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEfbJxbJybJzbEfbJAbDhbEjbvJbvJbJBbJCbJDbJEbJFbJGbJGbJGbvJbJHbJIbJJbJKbJLbJMbJNbJObJKbBYaaaaafbJPbJQbJRbJSbJTbJUbJUbJVbJWbJXbJYbHrbIAbIBbJZbKabKbbKcbKdbKebKfbKgbKhbKibKjbKkbKlbKmbKnbKobKpbKqbKrbKsbKtaaaaaaaaaaaeaaaaafaaaaaabljbKubEWbKvbKwbdobDRbKybdobKzbKwbGnbGobKAbKBbKCbKDbKEbGobHNbDUbKFbKGbGxbKHbKIbKJbDUbGzbKKbKLbKLbKLbKLbKLbKLbKLbKLbKLbKLbKMbKNbKObKPbKQbKRbAlbKSbKTbKUbKVaagaagaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKWbBKbBKbBKbBKbBKbBKbBKbKXbBNbBMbBMbBMbBMbKYbBNbAsaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEfbJxbJybJzbEfbJAbDhbEjbvJbvJbJBbJCbJDbJEbJFbJGbJGbJGbvJbJHbJIbJJbJKbJLbJMbJNbJObJKbBYaaaaafbJPbJQbJRbJSbJTbJUbJUbJVbJWbJXbJYbHrbIAbIBbJZbKabKbbKcbKdbKebKfbKgbKhbKibKjbKkbKlbKmbKnbKobKpbKqbKrbKsbKtaaaaaaaaaaaeaaaaafaaaaaabljbKubEWbKvbKwbdobxIbKybdobKzbKwbGnbGobKAbKBbKCbKDbKEbGobHNbDUbKFbKGbGxbKHbKIbKJbDUbGzbKKbKLbKLbKLbKLbKLbKLbKLbKLbKLbKLbKMbKNbKObKPbKQbKRbAlbKSbKTbKUbKVaagaagaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKWbBKbBKbBKbBKbBKbBKbBKbKXbBNbBMbBMbBMbBMbKYbBNbAsaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabKZbCVbLabCVbLbaaaaafaaaaafbvJbvJbLcbLdbLdbLdbLdbLebvJbvJbLfbLgbLhbJKbLibLjbLkbLlbLmbLnbLobLobLpbLqbLrbLobLsbLtbLtbLubLvbLwbLxbLybLzbLAbLBbLCbKbbLDbLEbLFbLFbLEbLGbKibLHbLIbLJbLGbLFbLKbLFbLLbLMbLNaafbLObLObLObLObLOaafaaaaaabljbKubEWbLPbLQbdobdobLRbdobKzbLSbDNbLTbLUbLUbLVbKDbGobLWbHNbDUbLXbLYbLZbMabMbbMcbLXbMdbMebMfbMgbMhbMibMjbMkbMlbMmbMnbMobMpbKNbjGbsNbcbbcbbAlbAlbAlbAlbAlaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabAsbFAbFAbFAbFAbFAbFAbMqbBMbFzbFAbMrbBMbBMbBMbBMbAsaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaaaaafaafaaaaafaaaaaaaaaaafbJKbLibMsbJKbJObJKbBYbBYbBYbJSbMtbMubJSbJSbMvbMwbMxbMybMzbMAbMBbMCbMDbLFbMEbMFbLFbLFbLFbLFbMGbMHbMIbMJbLIbMKbLFbMLbMMbMNbMObMPbMQbMRbMSbMTbMUbMVbLOaafaafaafbljbKubEWbMWbMXbMYbMZbdmbdobKzbKwbNabNabNabNabNabNbbNcbNabNabNabLXbNdbNebNfbNgbNhbLXbGzbNibNjbNkbNlbNmbNlbNlbNnbNobMobNobMobKNbNpbsNbNqaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbAsbBMbBMbBMbBMbBMbBMbIfbBMbMrbBMbBMbBMbBMbBMbAsbAsaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaafaaaaaaaaaaafbJKbLibNrbNsbNtbNsbNsbNubzmbNvbNwbNxbNybNzbMvbNAbNBbvYbMzbNCbNDbNEbNFbLFbNGbKbbNHbLFbLFbLFbNIbLFbLFbLFbNJbKlbNKbNLbNMbNNbNObNPbNQaafbNRbNSbMVbNTbLOaafaaaaaabNUbKubEWbdmbdmbdmbdmbdmbyKbNVbNWbNabNXbNYbNZbOabObbOcbOdbOebOfbLXbOgbOhbOibOhbOgbLXbGzbvAbOjbOkbOlbNlbNlbOmbNjbOnbOobOobOpbKNbKNbsNbOqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabAsbAsbGSbBMbBMbBMbBMbBMbBMbBMbBMbBMbBMbBMbAsbAsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaaaaafaaaaaaaaaaafbJKbLibNrbNsbNtbNsbNsbNubzmbNvbNwbNxbNybNzbMvbNAbNBbvYbMzbNCbNDbNEbNFbLFbNGbKbbNHbLFbLFbLFbNIbLFbLFbLFbNJbKlbNKbNLbNMbNNbNObNPbNQaafbNRbNSbMVbNTbLOaafaaaaaabNUbKubEWbdmbdmbdmbdmbdmbyKbNVbNWbNabNXbNYbNZbOabObbOcbOdbOebDRbLXbOgbOhbOibOhbOgbLXbGzbvAbOjbOkbOlbNlbNlbOmbNjbOnbOobOobOpbKNbKNbsNbOqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabAsbAsbGSbBMbBMbBMbBMbBMbBMbBMbBMbBMbBMbBMbAsbAsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafaafaafaafbJKbLibOrbOsbOtbOubOubOvbOwbOwbOxbOybIobIobOzbOAbNBbOBbOCbODbHrbHrbNFbLFbOEbKbbOFbOGbOHbLFbNIbOIbOJbOJbOKbOLbMLbOMbONbOObOPbOQbORbOSbMSbOTbMVbMVbLOaafaaaaaabcbbKubOUbOVbOWbOXbOYbOZbPabPbbPcbPdbPebPfbPgbPhbPibPjbPkbPlbPmbLXbPnbPobPpbPqbPrbLXbPsbxVbMfbPtbPubPvbPvbPvbPwbPvbPxbPybPzbPAbKNbsNbcbbcbaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbArbAsbJwbJubJubBMbBMbBMbBMbBMbBMbBMbBMbAsbAsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaafaafaaaaaaaaabPBbLibPCbJKbJKbJKbOzbOzbOzbOzbOzbPDbOzbOzbOzbPEbPFbvYbMzbvYbPGbPHbNFbKrbPIbPJbHrbHrbHrbHrbPKbPLbPMbLFbPNbPObPPbPQbPRbPSbPTbPSbPUaafbLObLObLObLObLOaafaafaafbjHbPVbpFbIPbPWbPXbdobPYbmwbPZbQabQbbQcbQdbQebQfbQgbQhbQibQhbQjbLXbQkbQlbQmbQnbQkbLXbQobQpbNjbQqbQrbQsbQtbQsbQubQsbQvbQwbQwbQxbQybQzbQAbcbbcbbcbaaaaaaaafaaaaaaaafagQagQagQaaaaaaaaaaafaaaaaaaafaaaaaaaafaaaaaabEebAsbCRbAsbAsbBMbBMbBMbBMbBMbBMbBMbAsbAsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaaaabQBbLibPCbJKaafaaabOzbQCbQDbQEbQFbQGbQHbQIbOzbOzbQJbQKbJXbvYbPGbQLbQMbMCbQNbQObQPbQQbQRbHrbQSbPLbLFbQTbLMbQUbQVbQWbQXbQYbQZbRabRbbMRbMSbRcbRdbRdbLOaafaaaaaabljbKubdmbRebEWbdmbdmbdmbRfbRgbRhbRibRjbRkbRlbRmbRnbRobRpbRqbRrbLXbLXbLXbLXbLXbLXbLXbRsbRtbNjbRubRvbRwbRxbRybRzbRAbRBbRCbRDbREbKNbRFbRGbRHbRIbRJbRKbRLbRLbRLbRLbRLbRLbRLbRLbRLbRLbRLbRLbRLbRLbRLbRLbRLbRLbRLbRMbRNbRObRObRPbAsbAsbBMbBMbRQbBMbBMbAsbAsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9133,7 +9133,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaaabPBbTjbTkbTlbTmbTnbTobTmbTpbTqbTrbTsbQIbQIbQIbQIbQIbQIbSbbScbSdbvYbMzbvYbTtbTubOJbTvbOJbTwbTxbTybTzbTAbTBbTCbTDbTEbTFbTGbTHbTIbLFbSsbTJbTKbTLbOSbMSbTMbRdbRdbLOaafaafaafbljbKubdmbTNbTObTPbTQbTRbdobRgbTSbNabNabNabNbbNabNabTTbNabNabRrbTUbTVbTUbTWbTXbTYbTZbTZbUabNjbNjbKNbUbbUcbUcbUcbUdbUcbUebKNbKNbKNbUfbUgbUhbUiaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbUjbApbApbAqbArbArbAsbAsbAsbAsbAsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaafaaabQBbUkbUlbUmbIobIobJKbLfbUnbLhbOzbUobQIbQEbQEbQEbQIbUpbOzbOzbQJbUqbMzbvYbTtbUrbUsbHrbUtbQObUubUvbUwbHrbUxbUybHrbHrbHrbUzbLFbUAbLFbSsbStbUBbNQaafbLObLObLObLObLOaafaaaaaabNUbKubdmbdmbdmbdmbdmbdmbUCbUDbdobsCbUEbUFbUGbUHbUIbUJbUKbULbRrbUMbTUbUNbTWbUObUPbUQbUQbURbUSbUTbKNbUUbUVbUcbUWbUXbUVbUcbKNbUYbUZbVabVbbcbaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaabJKbJKbJKbJKbIobUmbIobIobJKaaabVcaaabOzbVdbQIbRYbRZbSabQIbQIbQIbQIbVebvYbMzbVfbzubHrbHrbHrbVgbVhbVibVjbVkbKbbNIbPLbVldpjdpkbTGdpibTGbVnbVobVpbVqbRbbMRbMSbVrbVsbVtbLOaafaaaaaabcbbVubVvbVvbVvbVvbVwbdmbVxbRgbdobdobVybQhbVzbQhbQhbVAbQhbVBbRrbVCbVDbVEbVFbVGbVDbVHbVIbVJbVKbVKbKNbUcbVLbUcbUcbUcbVLbUcbKNbTdbcbbVMbVNbcbaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaabJKbVObVPbVQbVRbVSbVTbVUbVTaaabVcaaabOzbVVbQIbQIbQIbVWbQIbVXbVYbQIbVZbWabLwbWabWbbWcbWdbWcbWebWfbWgbMEbLFbKbbNIbPLbWhbLFbWRdphdpibTGbVnbSsbStbWibNQaafbNRbWjbWkbWlbLOaafaafaafbcbbcbbWmbWnbVNbcbbWobpFbPXbWpbWqbWrbUEbWsbWsbWtbWsbQhbWubWvbRrbWwbVDbVDbWxbVDbVDbWybWzbWAbWBbWCbKNbKNbKNbKNbKNbKNbKNbKNbKNbTdbcbaafaafaafaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaabJKbVObVPbVQbVRbVSbVTbVUbVTaaabVcaaabOzbVVbQIbQIbQIbVWbQIbVXbVYbQIbVZbWabLwbWabWbbWcbWdbWcbWebWfbWgbMEbLFbKbbNIbPLcgHbLFchsdphdpibTGbVnbSsbStbWibNQaafbNRbWjbWkbWlbLOaafaafaafbcbbcbbWmbWnbVNbcbbWobpFbPXbWpbWqbWrbUEbWsbWsbWtbWsbQhbWubWvbRrbWwbVDbVDbWxbVDbVDbWybWzbWAbWBbWCbKNbKNbKNbKNbKNbKNbKNbKNbKNbTdbcbaafaafaafaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaeaaaaaaaaaaaabWDbIobWEbVTbVTbWFbVTbWGbVTbVTbWHbWIbVTbVTbWJbWKbWLbVTbWMbVTbVTbOzbQJbWNbMzbvYbOBbvYbSdbWObNCbMFbLGbWPbWQbMFbNIbPLdpvdpxdpydpwdpibWSbVnbSsbWTbWUbTLbOSbMSbWVbVsbVsbLOaafaaaaaaaafaafaafaafaaabcbbsNbdmbdmbWWbdmbdmbNabNabNabNabNabWXbNabNabRrbWYbVDbWZbWxbXabXbbXcbXdbXebWBbWBbXfbXgbXhbUZbUZbUZbUZbUZbXibVabcbaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajmajmajmajlajlajmajlajlajlajXajlajlajlajmajmaaaaaaaafaafaaaaaaaaaaaaaaaaaabXjbIobWEbXkbXlbXmbXmbXmbXnbXobXpbXqbXrbVTbXsbXtbXubXvbXmbXmbXwbvYbXxbvYbMzbXybzubXzbXAbXzbXBbKbbKbbQObKbbKbbXCbXDbHrbHrbHrbXEbLFbXFbXGbSsbStbLFbNQaafbLObLObLObLObLOaafaaaaaaaaaaaaaaaaafaafbcbblhbXHbXIbXJbXKbXLbXMbXMbXMbXMbXMbXMbXNbQAbXfbXfbXfbXfbXfbXfbXfbXfbXfbXObXfbXfbXfbsNbXPbXQbXQbXQbXQbXQbXQbXQbXQaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajmaaaaaaaafaafaaaaafaafaaaaaaaafaafaafaaaajmaaaaafaafaaaaaaaaaaaaaaaaaaaaabXjbIobXRbXSbXTbXmbXmbXmbXmbXmbXmbXUbXmbXVbXWbXXbXWbXWbXYbXmbXZbvYbYabYbbMzbYcbYdbYebYfbYebYebYgbYhbYibKbbYjbYkbPLbYlbYmbYnbKlbYobYpbYqbVobYrbYsbRbbMRbMSbYtbYubYubLOaafaaaaaaaaaaaaaaaaaaaafbcbbcbbcbbYvbYwbYvbcbbYxbYybjGbYzbjGbjGbYAbXMbXMbUZbUZbUZbUZbUZbUZbXibYBbYCbYDbXibUZbYEbYFbXQbYGbYHbYIbYJbYKbYLbYMbYMbYMbYMbYMaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9145,8 +9145,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajmaaaaafaaaaafaafcdjaafaafaafcdjaafaaaaafcdjaafaaaaaaaaaaaaaaacdkcdlcdmcdncdocdpcdqbIobIobWEbVTbVTcdrcdsbVTbVTcdtcducducducducducducducducdvcdwcdwcdwcdxcdycdzcdAcdBcdCcdDcdEcdFcdGcdHcdIcdJcdIcdKcdLcdMcdNcdMcdLcdMcdNcdMcdOcdMcdOcdPaafaafaaaaaaaaaaaaaafaaaaaaaaaaaaccTcdQcdRcdScdTcdUcdVcdWcdXcdYcdZceacebceccedbZpaaaaaaaaaaaaaafaaaaaaaaaaaaaaaceecefcegcehceiaaaaaaaaaaafaafcejaafcekaaaaafaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajlaafcelcemcemcenceoceoceoceoceoceoceoceoceoceoceoceoceoceocepceqcercescetceucevcewccuccucexbIobVTbVTbVTbVTbIocdtcduceyceycezcduceAceBceCceDceEceFceGceHceIceJceKceLcduceMcdIceNceOcePceQceRcdIaafceSaafceTaafceSaafceTaafceUaafceUaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaceVceWceXceYceZcfacfbcfccfdcfdcfecffcfdcfgcfhbZpaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafcficfjcfkaafaaaaaaaafaafaaacflaafcekaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajmaaaaafaaaaafaafcfmaafaaaaafcfmaafaaaaafcfmaafaaaaaaaaaaaaaaacdkcfncfocfpcfqcfrccpcfsbIocftbVRbVRbVRbVRbVRbVRcfucducfvcfwcfxcfycfzcfAcfBcfBcfCcfDcfEcfFcducfGcduceLcfHcfIcfJcfKcfLcfMcfNcfOcdIbLOcfPbNRcfPbLOcfPbNRcfPbLOcfQbNRcfRbLOaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaabZscfSbZpbZpbZpcfTcffcfUcfVcbTcfWcdbcfXcfYcfZbZpaaaaaaaaaaaaaafaafaafaafaafaafaafcgacgbcgaaafaaaaafaafaaaaaaaaaaaacgcaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajmajmajlaafaafbYNcgdbYPaaabYNcgdbYPaaabYNcgdbYPaafaaaaaaaaaaaaaafaafcgeccpccpccpccpbJKbTjbUkbIocgfbIobIobIobIobLicducggcfxcfxcfycghcgicgjcgjcgjcgkcglcgmcgncgocgncgpcgqcfIcgrcgscgtcgucgvcgwcdIbLOcgxcgycgzbLOcgAcgBcgCbLOcgDcgEcgFbLOaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaafaafcgGaafaafbZpcgHccecgIcgJcgKcfbcgLcgKcgLcfbbZpaaaaaaaaeaaaaafaaaaaaaaaaaaaaaaafaaacgMaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYNcgdbYPaafbYNcgdbYPaaabYNcgdbYPaaaaaaaaaaafaaaaafaafaafaaaaaaaaaaaabJKcgNcgOcgOcgPbJKbJKbIocgQbLicducgRcgRcgScducgTcgUcgVcgVcgWcgXcgYcgZchachbchcchdchechbchfchgchhchichjchkcdIbLOchlchmchlbLOchnchochnbLOchpchqchrbLOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgGaaaaaabZpchsccechtchucgKcanccecgKccechvbZpaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaachwaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDwaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajmajmajlaafaafbYNcgdbYPaaabYNcgdbYPaaabYNcgdbYPaafaaaaaaaaaaaaaafaafcgeccpccpccpccpbJKbTjbUkbIocgfbIobIobIobIobLicducggcfxcfxcfycghcgicgjcgjcgjcgkcglcgmcgncgocgncgpcgqcfIcgrcgscgtcgucgvcgwcdIbLOcgxcgycgzbLOcgAcgBcgCbLOcgDcgEcgFbLOaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaafaafcgGaafaafbZpbWhccecgIcgJcgKcfbcgLcgKcgLcfbbZpaaaaaaaaeaaaaafaaaaaaaaaaaaaaaaafaaacgMaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYNcgdbYPaafbYNcgdbYPaaabYNcgdbYPaaaaaaaaaaafaaaaafaafaafaaaaaaaaaaaabJKcgNcgOcgOcgPbJKbJKbIocgQbLicducgRcgRcgScducgTcgUcgVcgVcgWcgXcgYcgZchachbchcchdchechbchfchgchhchichjchkcdIbLOchlchmchlbLOchnchochnbLOchpchqchrbLOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgGaaaaaabZpbWRccechtchucgKcanccecgKccechvbZpaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaachwaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDwaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajlaafbYNcgdbYPaaabYNcgdbYPaaabYNcgdbYPaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaabJKbIochxbLicducgRcgRcgScduchychychzchAchBchCchDchEchFchGchHchIchJchKcdEchLchMchNcdIcdIcdIbLOchlchOchlbLOchnchPchnbLOchrchQchrbLOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaachRaaaaaabZpchSchTchUchVchWchXchYchWchYchXbZpaaaaaaaaaaaaaZuaZuaZuchZaafaafaafaafchwaafaafaafaafaafajXaZuaZuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajlaafbYNcgdbYPaaabYNcgdbYPaafbYNcgdbYPaafaafaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacduciacducibcducgRcgScgScduciccidciecifcgWcigcihciicijcfIcigcikcilcfIcigcijcimcinciocipcdubLObLObLObLObLObLObLObLObLObLObLObLObLOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabZpbZpciqcirbZpbZpbZpbZpbZpbZpbZpbZpaaaaaaaaaaaaaZuaaaaafaaaaafaaaaaaaaacisaaaaafaafaaaaaaaaaaaaaZuaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajXaafbYNcitbYPaaabYNcitbYPaaabYNcitbYPaafajlaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacduciucducivcducducducduciwcixciycizcizcizciyciAciyciBciCciDciEciFciGciyciyciHciyciIciJcduaaaaaaaaaaaaaafaafaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbZpbZpbZpbZpaaaaafaafaafaafaafaaaaaaaaaaaaaaaaZuaaaciKciKciKciKciKaafciLaafciKciKciKciKciKaaaaZuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa