diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 9dfe1c3b196..7a923f14bd5 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -26,6 +26,10 @@ latejoin_gateway += loc qdel(src) return + if("JoinLateElevator") + latejoin_elevator += loc + qdel(src) + return if("JoinLateCryo") latejoin_cryo += loc qdel(src) diff --git a/code/game/objects/items/weapons/grenades/emgrenade.dm b/code/game/objects/items/weapons/grenades/emgrenade.dm index 25e65f924dc..632c82b4749 100644 --- a/code/game/objects/items/weapons/grenades/emgrenade.dm +++ b/code/game/objects/items/weapons/grenades/emgrenade.dm @@ -9,3 +9,16 @@ if(empulse(src, 4, 10)) qdel(src) return + +/obj/item/weapon/grenade/empgrenade/low_yield + name = "low yield emp grenade" + desc = "A weaker variant of the classic emp grenade" + icon_state = "lyemp" + item_state = "lyempgrenade" + origin_tech = list(TECH_MATERIAL = 2, TECH_MAGNET = 3) + + prime() + ..() + if(empulse(src, 4, 1)) + qdel(src) + return \ No newline at end of file diff --git a/code/game/objects/items/weapons/grenades/explosive.dm b/code/game/objects/items/weapons/grenades/explosive.dm index feb8e7db4ae..bef5e09dda0 100644 --- a/code/game/objects/items/weapons/grenades/explosive.dm +++ b/code/game/objects/items/weapons/grenades/explosive.dm @@ -1,16 +1,78 @@ +//obj/item/weapon/grenade/explosive + //desc = "A fragmentation grenade, optimized for harming personnel without causing massive structural damage." + //name = "frag grenade" + //icon = 'icons/obj/grenade.dmi' + //det_time = 50 + //icon_state = "frggrenade" + //item_state = "frggrenade" + //origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 3) + +//obj/item/weapon/grenade/explosive/prime() +// ..() + //spawn(0) + //explosion(src.loc,-1,-1,2) //If you're within two tiles of the grenade, you get hit twice, which tends to do 50+ brute and cause fractures. + //explosion(src.loc,-1,-1,3) //This is preferable to increasing the severity, so we don't decap with frags. + //qdel(src) + //return + +//Explosive grenade projectile, borrowed from fragmentation grenade code. +/obj/item/projectile/bullet/pellet/fragment + damage = 10 + range_step = 2 + + base_spread = 0 //causes it to be treated as a shrapnel explosion instead of cone + spread_step = 20 + + silenced = 1 //embedding messages are still produced so it's kind of weird when enabled. + no_attack_log = 1 + muzzle_type = null + /obj/item/weapon/grenade/explosive + name = "fragmentation grenade" desc = "A fragmentation grenade, optimized for harming personnel without causing massive structural damage." - name = "frag grenade" - icon = 'icons/obj/grenade.dmi' - det_time = 50 icon_state = "frggrenade" item_state = "frggrenade" - origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 3) + + var/num_fragments = 50 //total number of fragments produced by the grenade + var/fragment_damage = 10 + var/damage_step = 2 //projectiles lose a fragment each time they travel this distance. Can be a non-integer. + var/explosion_size = 2 //size of the center explosion + + //The radius of the circle used to launch projectiles. Lower values mean less projectiles are used but if set too low gaps may appear in the spread pattern + var/spread_range = 7 /obj/item/weapon/grenade/explosive/prime() ..() - spawn(0) - explosion(src.loc,-1,-1,2) //If you're within two tiles of the grenade, you get hit twice, which tends to do 50+ brute and cause fractures. - explosion(src.loc,-1,-1,3) //This is preferable to increasing the severity, so we don't decap with frags. - qdel(src) - return \ No newline at end of file + + var/turf/O = get_turf(src) + if(!O) return + + if(explosion_size) + explosion(O, -1, -1, 2, round(explosion_size/2), 0) + + var/list/target_turfs = getcircle(O, spread_range) + var/fragments_per_projectile = round(num_fragments/target_turfs.len) + + for(var/turf/T in target_turfs) + var/obj/item/projectile/bullet/pellet/fragment/P = new (O) + + P.damage = fragment_damage + P.pellets = fragments_per_projectile + P.range_step = damage_step + P.shot_from = src.name + + P.launch(T) + + //var/cone = new /obj/item/weapon/caution/cone (T) + //spawn(100) qdel(cone) + + //Make sure to hit any mobs in the source turf + for(var/mob/living/M in O) + //lying on a frag grenade while the grenade is on the ground causes you to absorb most of the shrapnel. + //you will most likely be dead, but others nearby will be spared the fragments that hit you instead. + if(M.lying && isturf(src.loc)) + P.attack_mob(M, 0, 0) + else + P.attack_mob(M, 0, 100) //otherwise, allow a decent amount of fragments to pass + + qdel(src) diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index e79de6840ef..dad28aeed92 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -298,6 +298,19 @@ new /obj/item/weapon/grenade/empgrenade(src) new /obj/item/weapon/grenade/empgrenade(src) +/obj/item/weapon/storage/box/empslite + name = "box of low yield emp grenades" + desc = "A box containing 5 low yield EMP grenades.
WARNING: Do not use near unshielded electronics or biomechanical augmentations, death or permanent paralysis may occur." + icon_state = "emp" + + New() + ..() + new /obj/item/weapon/grenade/empgrenade/low_yield(src) + new /obj/item/weapon/grenade/empgrenade/low_yield(src) + new /obj/item/weapon/grenade/empgrenade/low_yield(src) + new /obj/item/weapon/grenade/empgrenade/low_yield(src) + new /obj/item/weapon/grenade/empgrenade/low_yield(src) + /obj/item/weapon/storage/box/smokes name = "box of smoke bombs" desc = "A box containing 5 smoke bombs." @@ -327,7 +340,7 @@ /obj/item/weapon/storage/box/frags name = "box of fragmentation grenades (WARNING)" - desc = "A box containing 7 military grade fragmentation grenades.
WARNING: These devices are extremely dangerous and can cause limb loss or death in repeated use." + desc = "A box containing 5 military grade fragmentation grenades.
WARNING: These devices are extremely dangerous and can cause limb loss or death in repeated use." icon_state = "frag" @@ -338,8 +351,7 @@ new /obj/item/weapon/grenade/explosive(src) new /obj/item/weapon/grenade/explosive(src) new /obj/item/weapon/grenade/explosive(src) - new /obj/item/weapon/grenade/explosive(src) - new /obj/item/weapon/grenade/explosive(src) + /obj/item/weapon/storage/box/trackimp name = "boxed tracking implant kit" desc = "Box full of scum-bag tracking utensils." diff --git a/code/global.dm b/code/global.dm index 643073055ed..a05211c443b 100644 --- a/code/global.dm +++ b/code/global.dm @@ -66,10 +66,11 @@ var/list/wizardstart = list() var/list/newplayer_start = list() //Spawnpoints. -var/list/latejoin = list() -var/list/latejoin_gateway = list() -var/list/latejoin_cryo = list() -var/list/latejoin_cyborg = list() +var/list/latejoin = list() +var/list/latejoin_gateway = list() +var/list/latejoin_elevator = list() +var/list/latejoin_cryo = list() +var/list/latejoin_cyborg = list() var/list/prisonwarp = list() // Prisoners go to these var/list/holdingfacility = list() // Captured people go here diff --git a/code/modules/client/preferences_spawnpoints.dm b/code/modules/client/preferences_spawnpoints.dm index ac0d5447e64..309af7d5906 100644 --- a/code/modules/client/preferences_spawnpoints.dm +++ b/code/modules/client/preferences_spawnpoints.dm @@ -38,6 +38,14 @@ var/list/spawntypes = list() ..() turfs = latejoin_gateway +/datum/spawnpoint/elevator + display_name = "Elevator" + msg = "has arrived from the residential district" + +/datum/spawnpoint/elevator/New() + ..() + turfs = latejoin_elevator + /datum/spawnpoint/cryo display_name = "Cryogenic Storage" msg = "has completed cryogenic revival" diff --git a/icons/obj/grenade.dmi b/icons/obj/grenade.dmi index eb709096d1c..4c3ce8771d0 100644 Binary files a/icons/obj/grenade.dmi and b/icons/obj/grenade.dmi differ diff --git a/maps/polaris-1.dmm b/maps/polaris-1.dmm index ff4f890a51b..ec9fc52fc46 100644 --- a/maps/polaris-1.dmm +++ b/maps/polaris-1.dmm @@ -903,14 +903,14 @@ "ars" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable/green,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/detectives_office) "art" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/lino,/area/security/detectives_office) "aru" = (/obj/structure/table/rack,/obj/item/weapon/storage/briefcase{pixel_x = -2; pixel_y = -5},/obj/item/weapon/storage/briefcase{pixel_x = 3; pixel_y = 0},/obj/machinery/light,/turf/simulated/floor/lino,/area/security/detectives_office) -"arv" = (/obj/structure/closet{name = "Evidence Closet"},/turf/simulated/floor/lino,/area/security/detectives_office) +"arv" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/swabs{layer = 5},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue{pixel_y = -3},/obj/item/weapon/folder/yellow{pixel_y = -5},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) "arw" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/detectives_office) "arx" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/camera/network/security{c_tag = "SEC - Detective Office"; dir = 1},/obj/structure/disposalpipe/segment,/obj/structure/flora/pottedplant{tag = "icon-plant-10"; icon_state = "plant-10"},/turf/simulated/floor/lino,/area/security/detectives_office) "ary" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light,/turf/simulated/floor/lino,/area/security/detectives_office) "arz" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/machinery/light_switch{pixel_x = 12; pixel_y = -24},/turf/simulated/floor/lino,/area/security/detectives_office) "arA" = (/obj/structure/noticeboard{pixel_y = -30},/turf/simulated/floor/lino,/area/security/detectives_office) "arB" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/closet/wardrobe/detective,/turf/simulated/floor/lino,/area/security/detectives_office) -"arC" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/swabs{layer = 5},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/item/weapon/folder/red,/obj/item/weapon/folder/blue{pixel_y = -3},/obj/item/weapon/folder/yellow{pixel_y = -5},/obj/machinery/light{dir = 1},/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/evidence,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"arC" = (/turf/simulated/floor/lino,/area/security/detectives_office) "arD" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/detectives_office) "arE" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/detectives_office) "arF" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/security/detectives_office) @@ -6185,9 +6185,9 @@ "coW" = (/obj/machinery/light{dir = 8},/obj/machinery/camera/network/civilian{c_tag = "CIV - Residential Elevator Port"; dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) "coX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) "coY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) -"coZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) +"coZ" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/closet{name = "Evidence Closet"},/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/evidence,/obj/item/weapon/storage/box/bodybags,/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) "cpa" = (/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) -"cpb" = (/obj/machinery/computer/cryopod/dorms{pixel_y = -30},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) +"cpb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/landmark{name = "JoinLateElevator"},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) "cpc" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) "cpd" = (/turf/simulated/wall,/area/hallway/secondary/docking_hallway) "cpe" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/tiled,/area/hallway/secondary/docking_hallway) @@ -9488,7 +9488,7 @@ "dAx" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; frequency = 1380; id_tag = "d1a4_dock_pump"},/obj/machinery/light/small,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1) "dAy" = (/obj/machinery/door/airlock/medical{name = "Operating Theatre 1"; req_access = list(45)},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/white,/area/medical/surgery) "dAz" = (/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -25},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) -"dAA" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = -32},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/freezer,/area/security/detectives_office) +"dAA" = (/obj/machinery/computer/cryopod/dorms{pixel_y = -30},/obj/effect/landmark{name = "JoinLateElevator"},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) "dAB" = (/obj/machinery/door/airlock/glass{name = "Central Access"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) "dAC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/lino,/area/security/detectives_office) "dAD" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/carpet,/area/security/detectives_office) @@ -9503,6 +9503,7 @@ "dAM" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/security/detectives_office) "dAN" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/security/detectives_office) "dAO" = (/obj/machinery/door/airlock{name = "Cargo Emergency Storage"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/storage/emergency_storage/emergency6) +"dAP" = (/obj/effect/landmark{name = "JoinLateElevator"},/turf/simulated/floor/tiled,/area/crew_quarters/sleep/elevator) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9589,11 +9590,11 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamoampamqampamramsamtamsamraahaahaahaahaahaahalkamuamvamwalkamxairadTaddaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahahuahuahUahralYamyahqaahaahaahaahaahaahaahaahaktalZalZalZamzamfamAamBamCamDakuabqamEamFaiTajBamGamHammamIahuahuahuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarDarEarEarFaaaamoampamJampamramsamKamsamraahaahaahaahaahaahalkamLamMalkalkaddairamNaddaahaahaahaahamOamOamOamOamOamOamOamOamOamOamPamPamPamPamPamPamPamPahuahuahUamQamRahHahqaahaahaahaahaahaahaahaahaktamSalZalZakuamTamUamVamTamUakuaktaaSamWaiTaiTamXaiTaiTaiTaahahuahuahuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamoamYamZamoamoamoanaanbamoamoarwaqxaqAarsamoamoampancampamramsandamsamraahaahaahaahaahaahaneanfanganeanhaddairadTaddaahaahaahamOamOanianjankanlanjanmanmanjannamPanoanpanqanransantamPamPahuahUahSanuanvahqaahaahaahaahaahaahaahaahaktanwanxanyanzanAanBanCanDanEanFaktanGanHanIanJanKanLanLanManManManManNahuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahuamoamoanTanPanQanRanSapNapKaqyaqzarCaqvaqvaqwaquamoanUanVanWamranXanYanZamraahaahaahaahaahaahaneaoaaobaneaddaddaocaddaddaahaahaahamOaodaoeaofanmanmanmanmaogaoganjamPaohaoiaojaokaojaojaolaomahuaonahralYahHahqaahaahaahaahaahaahaahaahaktaooaopaoqaoraosaotaouaovaowaoxaoyaozaozaoAaoBaoCaoDaoEaoFaoGaoHaoIaoJahuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahuamoamoanTanPanQanRanSapNapKaqyaqzarvaqvaqvaqwaquamoanUanVanWamranXanYanZamraahaahaahaahaahaahaneaoaaobaneaddaddaocaddaddaahaahaahamOaodaoeaofanmanmanmanmaogaoganjamPaohaoiaojaokaojaojaolaomahuaonahralYahHahqaahaahaahaahaahaahaahaahaktaooaopaoqaoraosaotaouaovaowaoxaoyaozaozaoAaoBaoCaoDaoEaoFaoGaoHaoIaoJahuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahuahuamoaoKaoLaoMaoNaoOaoNaoPaoQaoKaoWapLapLapLaoTapIamoaoXaoYaoZamrapaaoYapbamraneaneaneaahaahaahaneapcanganeapdapeapfapgaphaphaphaphaphapiapjapkapkaplanmapmaogaoganmamPapnaojaojapoaojaojappamPaomahqahralYapqahqaahaahaahaahaahaahaahaahaktapralZalZapsaptapuapvalZalZapwaktapxanGapyapzapAanGapBapCapDapEaoIapFahuahuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahuahuahuamoapGapHaoRapHapJaoSaoRapHapGaoUaoTapMapLaOoaoVamoaneapOapPamraneapQapPamrapRapRaneaneaneaneaneanfapSapTapUapVapWapeaphapXapYapZaqaanmanmaqbaqbaqbanmapmapmanmanmamPaqcaojaqdaqeaqdaqfaqgaqhaqiakpaqjaqkaqlahqaahaahaahaahaahaahaahaahaktaqmaqnaqoaqpaqqaqraqnaqoaqmaktaktanManManManMaqsanManManManManManManMahuahuaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahuahuahuahuahuahuahuahuahuahuahuamoaqtapHapHdAGdAEdADdAFdAFdAKdALdAMdANdAHbfidAJaqBaqCaqDaqEaqFaqGaqHaqIaqJaqKaqKaqLaqKaqKaqKaqKaqKaqMaqKaqNaqOaqPaqQaqRaqSaqTaqUaphaqVanmanmanmanmanmanmanmanmaqVamPaqWaojaqdaqXaqYaqZaraarbarcardarearfargahqaahaahaahaahaahaahaahaahaktarhariarjarkarlarmarnaroarpaktaahaahaahaahanMarqarranMaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahuahuahuahuahuahuahuahuahuahuahuahuamoarBartaruarvdACarxaryarzarAbgsdAzdAAasobgUarGamoanfarHarIarJarKarLarKarKarMarNarOarNarParNarQarNarRarKarSarTarUapeapharVarWarXapharYarZasaasbascasdanmanmanmarYamPaseaojaojasfaojasgashamPaomahqahralYahHahqaahaahaahaahaahaahaahaahaktaqmaqmaqmaqpaqqaqraqmaqmaqmaktaahaahaahaahanMasiarranMaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahuahuahuahuahuahuahuahuahuahuahuahuamoarBartaruarCdACarxaryarzarAbgsdAzcoZasobgUarGamoanfarHarIarJarKarLarKarKarMarNarOarNarParNarQarNarRarKarSarTarUapeapharVarWarXapharYarZasaasbascasdanmanmanmarYamPaseaojaojasfaojasgashamPaomahqahralYahHahqaahaahaahaahaahaahaahaahaktaqmaqmaqmaqpaqqaqraqmaqmaqmaktaahaahaahaahanMasiarranMaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahuahuahuahuasjasjasjaskaslasmaslasnasjasjamoaspaspasqasrassastasraspaspamoamoamoamoamoamoaspasuasvasvasvasvasvaneapeaswapeaneaneaneaneaneaneaneaneasxasyaszasAaphaphaphaphaphasBanmasCasDanmanmanmanmasCasEamPaohaojaojasFaojasgasGaomahualuasHasIasJahqaahaahaahaahaahaahaahaahaktalZasKanDaqpaqqaqrasKanDasLaktaahaahaahaahanMarqanManMaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahuahuasMasMasMasMasNasOasPasQasRasSasTasUasVasWasXasYasZataatbatcatdateatfatgathatiatkatjatpatlasuatnatoatLatqasvaneatratsatraneaahaahaahaahaahaahaneattatuatvaneaneaahaahaahamOamOatwatxatyanmatzatAatBatCatDamPatEatFaojaojatGatHamPamPaahahqahrahsatIahqaahaahaahaahaahaahaahaahaktaqmatJatKaqpaqqaqratJatKaqmaktaahaahaahaahanMarqanMaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahuahuasMasMauAatMatNatOatPatQatRatSatTatUatVatWatXatYatZauaaubaucaudaueaufaueaugauhauiaujaukaujaulasuaumaunauoaupasvaahatrauqatraahaahaahaahaahaahaahaneasxaurarUaneaahaahaahaahaahamOamOamOausamOamOamOamOamOamOamPamPamPautauuamPamPamPaahaahahqahralYahHahqaahaahaahaahaahaahaahaahaktauvauwaktauxauyauzaktauvauwaktahuaahaahanManMarqanMaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -9683,7 +9684,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaahaahchPclBclCclDclEclFchPclGclHclIclJclKclLclMclNclOclPclQckRcgIaahaahaahaahaahaahaahaahaahckSclRclSclTcjUclUclUclVclUclWcjUaahaahbYIclXcidbYIaahaahaahaahahuahucjVclYclZcmacmbcjrcmccmdcmecjrcmfciiahuahuahuahuaZvbiUbdkcgWbCEbCFbdkcliceAcmgceAcmhcmicmjcmkceAcmlcmgceAceAcmmcmgcmnceAcmoceAcmgceAcitcmpcfScmqcdecdecmrcdecmscdecdecdecmtcmucmvcdecmscdecdecdecdecmscdecmwcdecdecdecmrcmxcmycmzcmAceAckGcmBahuaahaahaahaahaahaahaahaahaahaahaahaahaahbYxbYxbYxbYxbYxbYxbYxbYxbYxbYxcmCchFceWbYxbYxbYxbYxbYxbYxaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahahuahuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbJYaahaahchPcmDcjGcmEcmFcmGcmHcmIcmJcmKcmJcmLcmMcmNcjNcjNcmOcgIckRcgIaahaahaahaahaahaahaahaahaahckScmPcmQcmRcjUcmScmTcmUclUcmVcjUaahaahbYIcmWcidbYIaahaahaahaahaahahucmXcjocjocmYcmZcjrcjrcnacjrcjrcnbciiahuahuahuahubaybaycnccgWbbwbdkcndbaycjtcjucjvchpcjtcjvchpcnecnfcngcnhdABcnjcngcnkcnechpcjtcjucjvchpcnlciRcnmclkcnnchpcjtcjucjvchpchpchpchpchpcjtcjucjucjucjucjucjucjvchpcjtcjucjvchpcnociRciRceAcnpchpchpaahaahaahaahaahaahaahaahaahaahaahaahaahbYxbYxcnqcnrcnscnscnscnscnscnscnscnscntcnucnucnucnvcnwcnxbYxbYxaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbJYaahaahchPcnyciWcnzckJcnAcnBcnCcnDcnEcmJcnFcnGcnHcnIcnJcnKcgIcnLcgIaahaahaahaahaahaahaahaahaahckScnMcmQcnNcjUcnOcnPcnQcnRcmTcjUaahaahcnSbYIcnTbYIcnSaahaahaahaahahuahuahuahuciicnUcnVcnWcnXcnYcnZcoaciiahuahuahuahuahubaybaycobcocclibaybayahuahuahuahuahuahucnecodcoecofcogcohcoicojcokcolcneahuahuahuchpchpcomconciSchpchpahuahuahuahuaahaahaahaahahuahuahuahuahuahuahuahuahuahuahuahuchpchpcircircitchpchpaahaahaahaahaahaahaahaahaahaahaahaahaahaahbYxcoocopcoqbYxbYxbYxbYxbYxbYxbYxbYxbYxbYxbYxbYxbYxcorcnvcosbYxaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaahaahaahchPcotcoucovcowcoxcoycozcmJcoAcmJcoBcgIcoCdAIcoCcoEcoFcgJcgIcoGcoGcoGcoGcoGcoGcoGcoGcoGckSckSdAOckScjUcjUcoIcoJcjUcoIcjUcoGcnScnScoKcoLcoMcnScnScnScnScnScoNcoOcoOcoPciiciiciiciicoQciiciiciiciicoNcoOcoOcoOcoPcnScoRcoScoTcoUcoVcnScnSahuahuahuahuahucnecoWcoXcoYcoZcpacpbcpacokcpccneahuahuahuahucpdcpecpfcpgcpdahuahuahuahuahuahuaahaahaahaahaahaahahuahuahuahuahuahuahuahuahuahucphciRcpicpjchpaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahbYxcpkceWbYxbYxaahaahaahaahaahaahaahaahaahaahaahbYxbYxceWcplbYxaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaahaahaahchPcotcoucovcowcoxcoycozcmJcoAcmJcoBcgIcoCdAIcoCcoEcoFcgJcgIcoGcoGcoGcoGcoGcoGcoGcoGcoGckSckSdAOckScjUcjUcoIcoJcjUcoIcjUcoGcnScnScoKcoLcoMcnScnScnScnScnScoNcoOcoOcoPciiciiciiciicoQciiciiciiciicoNcoOcoOcoOcoPcnScoRcoScoTcoUcoVcnScnSahuahuahuahuahucnecoWcoXcoYcpbdAPdAAcpacokcpccneahuahuahuahucpdcpecpfcpgcpdahuahuahuahuahuahuaahaahaahaahaahaahahuahuahuahuahuahuahuahuahuahucphciRcpicpjchpaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahbYxcpkceWbYxbYxaahaahaahaahaahaahaahaahaahaahaahbYxbYxceWcplbYxaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaahaahaahchPcpmciWcpncpocppcpqcprcprcpscptcpucpvcpwcpwcpxcpycpzcpAdtWcpCcpDcpEcpFcpGcpGcpGcpwcpHcpIcpGcpJcpKcpGcpGcpwcpLcpMcpNcpOcpPcpQcpRcpScpTcpUcpVcpWcpXcpYdzRcqacqbcqccqccqdcqccpQcqecqfcqgcqhcqidzScqicqkcqicqlcqicqhcqicqmcqncqocqccqpcqqahuahuahuahuahucqrcpacqscqtcqtcqucqtcqtcokcpacqrahuahuahuahucqvcqwcqxcpgcqvahuahuahuahuahuahuahuahuaahaahaahaahaahaahcqycqycqycqzcqAcqBcqCcqycqycqDcqEcqDcqycqycqycqyaahaahaahaahaahaahaahcqFcqFcqFcqFcqFbYxcqGcqHcqHcqHcqHcqHaahaahaahaahaahaahaahcqIcqIcqIcqIcqIcqJbYxcqKcqKcqKcqKcqKaahaahaahaahaahaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaahaahchPcqLciWciWcqMcqNcqOcqPcqPcqQcqPcqRcqScqTcqUcqVcqVcqVcqWcqXcqYcqZcqYcqYcqYcracqYcqYcqYcrbcqYcqYcqYcracqYcqYcqYcrbcqYcqYcrccrdcrecrfcrgcrecrecrdcrecrecrecrhcricrjcqccqccqccpQcqccrkcrecrlcrecrmcrecrecrecrncrecrdcrecrocrpcrqcqccrrcrsahuahuahuahuahucrtcpacqscqtcrucrucrucqtcokcpacrtahuahuahucrvcrwcqwcrxcrycrzcrAahuahuahuahuahuahuahuahuaahaahaahaahcqycqycrBcrCcrDcrEcrFcrGcrGcrHcrIcrGcrJcrKcrLcrMcqycqyaahaahcqFcqFcqFcqFcqFcrNcrOcrPcqFcrQcrRcqHcrScrTcrUcqHcqHcqHcqHcqHcqIcqIcqIcqIcrVcrWcrXcqIcrYcrZcqKcsacsbcsccqKcqKcqKcqKcqKaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaaaaaaaaaaabJYbJYchPcsdcsecsfcsgckJchPcshcsicsjcskcslcsmcsncsocspcpNcpNcpNcsqcsrcsscpNcstcsucsvcpNcsncswcpNcpNcsxcsycszcsAcsBcsycsycsCcsDcsEcpWcpXcsFcsGcsHcsIcsJcsIcsIcsIcsIcsKcsLcsIcsIcsIcsJcsMcsNcsIcsJcsIcsOcsIcsPcsQcsIcsIcsJcsIcsRcqccsScqccsTcsUahuahuahuahuahucrtcsVcsWcqtcrucsXcrucqtcsYcsVcrtahuahuahucsZcpgcqwcqxcpgcpgcsZahuahuahuahuahuahuahuahuahuahuaahaahcqycvmcrGcrGcrGcrGcrGcrGcrGcrGcrGcrGcrJcrGcrGcrGctbcqyaahaahcqFctcctdctccqFctectfctgcqFcthcticqHctjctkctlcqHctmctnctmcqHctoctpctocqIctqctrctscqIcttctucqKctvctwctxcqKctyctzctycqKaahaahaahaahaahaahaahaahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa