Merge pull request #3678 from Segrain/master

Bugfixes.
This commit is contained in:
Mloc
2013-09-13 09:39:38 -07:00
14 changed files with 72 additions and 49 deletions
+2 -2
View File
@@ -119,8 +119,8 @@ datum/controller/vote
if(winners.len > 1)
if(mode != "gamemode" || ticker.hide_mode == 0) // Here we are making sure we don't announce potential game modes
text = "<b>Vote Tied Between:</b>\n"
for(var/option in winners)
text += "\t[option]\n"
for(var/option in winners)
text += "\t[option]\n"
. = pick(winners)
for(var/key in current_votes)
+4 -1
View File
@@ -35,6 +35,9 @@
L.imp_in = H
L.implanted = 1
world << "<b>[H.real_name] is the captain!</b>"
var/datum/organ/external/affected = H.organs_by_name["head"]
affected.implants += L
L.part = affected
return 1
get_access()
@@ -83,4 +86,4 @@
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H), slot_r_hand)
else
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(H.back), slot_in_backpack)
return 1
return 1
+4 -3
View File
@@ -360,6 +360,7 @@
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
L.imp_in = H
L.implanted = 1
return 1
var/datum/organ/external/affected = H.organs_by_name["head"]
affected.implants += L
L.part = affected
return 1
+4 -1
View File
@@ -42,6 +42,9 @@
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
L.imp_in = H
L.implanted = 1
var/datum/organ/external/affected = H.organs_by_name["head"]
affected.implants += L
L.part = affected
return 1
@@ -162,4 +165,4 @@
else
H.equip_to_slot_or_del(new /obj/item/weapon/storage/box/survival(H.back), slot_in_backpack)
H.equip_to_slot_or_del(new /obj/item/weapon/handcuffs(H), slot_in_backpack)
return 1
return 1
+1 -1
View File
@@ -1150,7 +1150,7 @@ About the new airlock wires panel:
if(src.isElectrified())
if(src.shock(user, 75))
return
if(istype(C, /obj/item/device/detective_scanner))
if(istype(C, /obj/item/device/detective_scanner) || istype(C, /obj/item/taperoll))
return
src.add_fingerprint(user)
+47
View File
@@ -0,0 +1,47 @@
#define MODKIT_HELMET 1
#define MODKIT_SUIT 2
#define MODKIT_FULL 3
/obj/item/device/modkit
name = "hardsuit modification kit"
desc = "A kit containing all the needed tools and parts to modify a hardsuit for another user."
icon_state = "modkit"
var/parts = MODKIT_FULL
var/from_helmet = /obj/item/clothing/head/helmet/space/rig
var/from_suit = /obj/item/clothing/suit/space/rig
var/to_helmet = /obj/item/clothing/head/cardborg
var/to_suit = /obj/item/clothing/suit/cardborg
/obj/item/device/modkit/afterattack(obj/O, mob/user as mob)
var/flag
var/to_type
if(istype(O,from_helmet))
flag = MODKIT_HELMET
to_type = to_helmet
else if(istype(O,from_suit))
flag = MODKIT_SUIT
to_type = to_suit
else
return
if(!(parts & flag))
user << "<span class='warning'>This kit has no parts for this modification left.</span>"
return
if(istype(O,to_type))
user << "<span class='notice'>[O] is already modified.</span>"
return
if(!isturf(O.loc))
user << "<span class='warning'>[O] must be safely placed on the ground for modification.</span>"
return
playsound(user.loc, 'sound/items/Screwdriver.ogg', 100, 1)
var/N = new to_type(O.loc)
user.visible_message("\red [user] opens \the [src] and modifies \the [O] into \the [N].","\red You open \the [src] and modify \the [O] into \the [N].")
del(O)
parts &= ~flag
if(!parts)
del(src)
/obj/item/device/modkit/tajaran
name = "tajara hardsuit modification kit"
desc = "A kit containing all the needed tools and parts to modify a hardsuit for another user. This one looks like it's meant for Tajara."
to_helmet = /obj/item/clothing/head/helmet/space/rig/tajara
to_suit = /obj/item/clothing/suit/space/rig/tajara
+1 -3
View File
@@ -98,6 +98,7 @@
add_fingerprint(user)
/obj/item/weapon/melee/baton/throw_impact(atom/hit_atom)
. = ..()
if (prob(50))
if(istype(hit_atom, /mob/living))
var/mob/living/carbon/human/H = hit_atom
@@ -116,9 +117,6 @@
H.attack_log += "\[[time_stamp()]\]<font color='orange'> Stunned by thrown [src.name] last touched by ([src.fingerprintslast])</font>"
log_attack("Flying [src.name], last touched by ([src.fingerprintslast]) stunned [H.name] ([H.ckey])" )
return
return ..()
/obj/item/weapon/melee/baton/emp_act(severity)
switch(severity)
if(1)
-30
View File
@@ -1,33 +1,3 @@
//Species modification item.
/obj/item/weapon/modkit/tajaran
name = "hardsuit modification kit"
desc = "A kit containing all the needed tools and parts to modify a hardsuit for another species. This one looks like it's meant for Tajara."
icon = 'icons/obj/custom_items.dmi'
icon_state = "royce_kit"
/obj/item/clothing/head/helmet/space/rig/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I,/obj/item/weapon/modkit/tajaran))
user.drop_item()
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user."
new /obj/item/clothing/head/helmet/space/rig/tajara(user.loc)
del(I)
del(src)
return
..()
/obj/item/clothing/suit/space/rig/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I,/obj/item/weapon/modkit/tajaran))
user.drop_item()
playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1)
user << "\red You painstakingly modify [src] to make it more suitable for a Tajaran user."
new /obj/item/clothing/suit/space/rig/tajara(user.loc)
del(I)
del(src)
return
..()
//Regular rig suits
/obj/item/clothing/head/helmet/space/rig
name = "engineering hardsuit helmet"
+1 -1
View File
@@ -202,7 +202,7 @@
if(getBrainLoss() >= 50)
if(10 <= rn && rn <= 12) if(!lying)
src << "\red Your legs won't respond properly, you fall down."
lying = 1
resting = 1
proc/handle_stasis_bag()
// Handle side effects from stasis bag
+1 -1
View File
@@ -4,7 +4,7 @@
if (ending == "?")
return "queries, \"[text]\"";
else if (ending == "!")
return "declares, \"[copytext(text, 1, length(text))]\"";
return "declares, \"[text]\"";
return "states, \"[text]\"";
+1 -1
View File
@@ -42,7 +42,7 @@
/obj/item/weapon/stamp/cmo
name = "chief medical officer's rubber stamp"
icon_state = "stamp-cmo"
color = "medical"
color = "cmo"
/obj/item/weapon/stamp/denied
name = "\improper DENIED rubber stamp"
+1 -1
View File
@@ -157,7 +157,7 @@
/obj/item/device/destTagger
name = "destination tagger"
desc = "Used to set the destination of properly wrapped packages."
icon_state = "forensic0"
icon_state = "forensic0-old"
var/currTag = 0
//The whole system for the sorttype var is determined based on the order of this list,
//disposals must always be 1, since anything that's untagged will automatically go to disposals, or sorttype = 1 --Superxpdude
Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 20 KiB

+5 -4
View File
@@ -6195,7 +6195,7 @@
"cpg" = (/obj/structure/cable,/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless,/area/solar/starboard)
"cph" = (/turf/space,/area/vox_station/southwest_solars)
"cpi" = (/obj/machinery/the_singularitygen{anchored = 0},/turf/simulated/floor/plating,/area/engine/engineering)
"cpj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/modkit/tajaran,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
"cpj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/table/reinforced,/obj/machinery/cell_charger,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/weapon/cable_coil{pixel_x = 3; pixel_y = -7},/obj/item/device/modkit/tajaran,/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/ai_monitored/storage/eva)
"cpk" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/plating,/area/engine/engineering)
"cpl" = (/obj/machinery/power/emitter,/turf/simulated/floor/plating,/area/engine/engineering)
"cpm" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor{dir = 2; icon_state = "warning"},/area/engine/engineering)
@@ -9184,7 +9184,7 @@
"duF" = (/obj/structure/rack,/obj/item/clothing/suit/bio_suit/anomaly,/obj/item/clothing/head/bio_hood/anomaly,/obj/item/clothing/mask/breath,/obj/machinery/light/small{dir = 4},/obj/item/clothing/glasses/science,/obj/item/clothing/gloves/latex,/obj/machinery/camera{c_tag = "Research Outpost Hallway Starboard"; dir = 8; network = list("Research","SS13")},/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/research_outpost/hallway)
"duG" = (/obj/machinery/atmospherics/pipe/simple{color = "red"; icon_state = "intact-r-f"; level = 1; name = "pipe"},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/hallway)
"duH" = (/obj/machinery/atmospherics/pipe/simple{color = "blue"; icon_state = "intact-b-f"; level = 1; name = "pipe"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor{dir = 4; icon_state = "whitebluecorner"},/area/research_outpost/hallway)
"duI" = (/obj/machinery/door/airlock/research{name = "Anomalous Materials"; req_access_txt = "65"},/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.6; name = "Firelock North"},/obj/machinery/door/firedoor/border_only{layer = 2.6; name = "\improper Firelock South"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
"duI" = (/obj/machinery/door/airlock/research{name = "Anomalous Materials"; req_access_txt = "65"},/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.6; name = "Firelock North"},/obj/machinery/door/firedoor/border_only{layer = 2.6; name = "\improper Firelock South"},/obj/structure/disposalpipe/segment,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
"duJ" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/power/emitter{anchored = 1; state = 2},/obj/structure/cable,/turf/simulated/floor/plating{dir = 5; icon_state = "warnplate"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/anomaly)
"duK" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/simulated/floor{dir = 4; icon_state = "whitered"},/area/research_outpost/anomaly)
"duL" = (/obj/machinery/door/window/westleft{dir = 1; name = "Spectroscopy"; req_access_txt = "65"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/anomaly)
@@ -10171,7 +10171,8 @@
"dNE" = (/obj/structure/window/basic{dir = 1},/obj/structure/table,/obj/item/broken_device,/turf/simulated/shuttle/floor4,/area/shuttle/vox/station)
"dNF" = (/obj/machinery/embedded_controller/radio/airlock_controller{airpump_tag = "vox_east_vent"; exterior_door_tag = "vox_northeast_lock"; frequency = 1331; id_tag = "vox_east_control"; interior_door_tag = "vox_southeast_lock"; pixel_x = -24; req_access_txt = "150"; sensor_tag = "vox_east_sensor"},/turf/simulated/shuttle/plating,/area/shuttle/vox/station)
"dNG" = (/obj/item/clothing/head/collectable/petehat{desc = "It smells faintly of reptile."; name = "fancy leader hat"},/turf/simulated/shuttle/floor{icon_state = "floor4"; oxygen = 0},/area/shuttle/vox/station)
"dNH" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/modkit/tajaran,/turf/simulated/floor/plating,/area/engine/engineering)
"dNH" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/weapon/airlock_electronics,/obj/item/weapon/airlock_electronics,/obj/item/weapon/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/engine/engineering)
"dNI" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/research_outpost/anomaly)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -11256,7 +11257,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedpkdoedoedoedoedoedoedpkdpkdoedoedoedoedpkdpkdpkdpkdoedpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdoeaaaaaaaaaaaaaaaaaaaaaaaaaaadoSdpDdpndpEdpFdpGdpHdpIdpJdoTdpKdpKdpKdpKdpLdpvdpMdpNdpOdpddpddpddpddpPdpQdpRdpRdpRdpRdpRdBAdzTdAKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadpVdpWdpVaaaaaaaaaaaaaaadoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedoedpkdoedoedoedpkdpkdoedpkdpkdpkdoedoedpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdoedpkaaaaaaaaaaaaaaaaaaaaaaaadoSdoTdpXdpYdpYdpZdqadqbdqcdqddqedqfdqgdqhdqidqjdqkdqldqmdpddqndqodpddqpdqqdqrdqsdqtdqudqvdqwdqxdzkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqzdqAdqzaafaaaaaaaaadoedoedoedoedoedoedoedoedoedoedoedoedpkdpkdpkdpkdpkdpkdoedoedoedoedoedoedoedpkdpkdpkdpkdpkdoedoedoedpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkaaaaaaaaaaaaaaaaaaaaaaaadoSdoTdpXdqBdqBdpZdqadqCdqDdoTdqEdqedqFdqGdqHdqIdqJdqKdqLdqMdqNdqOdqPdqQdqRdpRdqSdqTdqUdqVdqWdqXdzkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqYdqZdradrbaafaaaaaadoedoedoedoedoedoedoedpkdoedoedpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkaaaaaaaaaaaaaaaaaaaaadogdrcdpDdrddpEdredrfdrgdrhdridoTdrjdqFdrkdrldrmdrndrndrndrodrndrndrndrndrpdrqdpRdrrdqTdrsdrtdrudqxdzkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadqYdqZdradrbaafaaaaaadoedoedoedoedoedoedoedpkdoedoedpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkaaaaaaaaaaaaaaaaaaaaadogdrcdpDdrddpEdredrfdrgdrhdridoTdrjdqFdrkdrldrmdrndNIdrndrodrndrndrndrndrpdrqdpRdrrdqTdrsdrtdrudqxdzkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadrvdrwdrwdrxdrydrzdqzaafaaaaaadoedoedoedoedpkdpkdpkdoedoedpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkaafdrAdrBdoCdoCdoCdrCdrDdoTdrEdrFdrGdpodrHdrIdrJdoTdrKdrLdrMdrNdrOdrPdrQdrRdrSdrTdrUdrVdrndrWdrXdpRdrYdrZdsadrtdpRdCRdDwaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsddsedsfdsgdshdsidsjaafaafdpkdpkdoedoedpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdskdskdskaafdsldrDaafaafaafaafaafdoTdoTdoTdoTdoTdoTdsmdsndoTdpKdpKdsodspdsqdrndsrdssdrSdstdsudsvdrndswdsxdsydszdsAdsBdsCdpRdsDdsEaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofaaadofdofdofdofdofaaadofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadsFdrwdrwdsGdsHdrzdsIdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdpkdskdskdskaaaaaadoSdsJdsJdsJdsJdsJdsJdsJdpddsKdoOdsLdsMdsNdsOdsPdsQdsRdsSdsTdsUdrndsVdsWdsXdsYdsZdtadtbdtcdtddtedtedtedtfdtgdthdtidtjdtjdtkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadofdofdofdofdofaaadofdofdofdofdofaaadofdofdofdofdofaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa