From 37e972ec489448a49fbdc2652953cc950c37b08b Mon Sep 17 00:00:00 2001 From: "vageyenaman@gmail.com" Date: Sat, 24 Mar 2012 02:11:47 +0000 Subject: [PATCH] More work on shuttle transit stuff. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3352 316c924e-a436-60f5-8080-3fe189b3f50e --- code/datums/shuttle_controller.dm | 22 +++++++-------- code/defines/procs/helpers.dm | 2 +- maps/tgstation.2.0.8.dmm | 46 +++++++++++++++---------------- 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/code/datums/shuttle_controller.dm b/code/datums/shuttle_controller.dm index 5a0611ef951..8d63e3a3b09 100644 --- a/code/datums/shuttle_controller.dm +++ b/code/datums/shuttle_controller.dm @@ -102,21 +102,21 @@ datum/shuttle_controller var/area/start_location = locate(/area/shuttle/escape/transit) var/area/end_location = locate(/area/shuttle/escape/centcom) - start_location.move_contents_to(end_location, null, 4) + start_location.move_contents_to(end_location, null, NORTH) //pods start_location = locate(/area/shuttle/escape_pod1/transit) end_location = locate(/area/shuttle/escape_pod1/centcom) - start_location.move_contents_to(end_location) + start_location.move_contents_to(end_location, null, NORTH) start_location = locate(/area/shuttle/escape_pod2/transit) end_location = locate(/area/shuttle/escape_pod2/centcom) - start_location.move_contents_to(end_location) + start_location.move_contents_to(end_location, null, NORTH) start_location = locate(/area/shuttle/escape_pod3/transit) end_location = locate(/area/shuttle/escape_pod3/centcom) - start_location.move_contents_to(end_location) + start_location.move_contents_to(end_location, null, NORTH) start_location = locate(/area/shuttle/escape_pod5/transit) end_location = locate(/area/shuttle/escape_pod5/centcom) - start_location.move_contents_to(end_location) + start_location.move_contents_to(end_location, null, EAST) online = 0 @@ -200,23 +200,23 @@ datum/shuttle_controller var/area/end_location = locate(/area/shuttle/escape/transit) settimeleft(SHUTTLETRANSITTIME) - start_location.move_contents_to(end_location, null, EAST) + start_location.move_contents_to(end_location, null, NORTH) //pods start_location = locate(/area/shuttle/escape_pod1/station) end_location = locate(/area/shuttle/escape_pod1/transit) - start_location.move_contents_to(end_location) + start_location.move_contents_to(end_location, null, NORTH) start_location = locate(/area/shuttle/escape_pod2/station) end_location = locate(/area/shuttle/escape_pod2/transit) - start_location.move_contents_to(end_location) + start_location.move_contents_to(end_location, null, NORTH) start_location = locate(/area/shuttle/escape_pod3/station) end_location = locate(/area/shuttle/escape_pod3/transit) - start_location.move_contents_to(end_location) + start_location.move_contents_to(end_location, null, NORTH) start_location = locate(/area/shuttle/escape_pod5/station) end_location = locate(/area/shuttle/escape_pod5/transit) - start_location.move_contents_to(end_location) + start_location.move_contents_to(end_location, null, EAST) - world << "The Emergency Shuttle has left the station! [timeleft()/60] until the shuttle docks in Central Command." + world << "The Emergency Shuttle has left the station! [timeleft()/60] minutes until the shuttle docks at Central Command." // Some aesthetic turbulance shaking for(var/mob/M in end_location) diff --git a/code/defines/procs/helpers.dm b/code/defines/procs/helpers.dm index aa6a384c23a..dd8f72af490 100644 --- a/code/defines/procs/helpers.dm +++ b/code/defines/procs/helpers.dm @@ -1415,7 +1415,7 @@ proc/listclearnulls(list/list) // Find a new turf to take on the property of var/turf/nextturf = get_step(corner, direction) - if(!nextturf) + if(!nextturf || !istype(nextturf, /turf/space)) nextturf = get_step(corner, turn(direction, 180)) diff --git a/maps/tgstation.2.0.8.dmm b/maps/tgstation.2.0.8.dmm index d09a206305c..ac8beac91f9 100644 --- a/maps/tgstation.2.0.8.dmm +++ b/maps/tgstation.2.0.8.dmm @@ -5645,22 +5645,22 @@ "ceC" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/holodeck/source_emptycourt) "ceD" = (/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/holodeck/source_emptycourt) "ceE" = (/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/holodeck/source_emptycourt) -"ceF" = (/obj/step_trigger/thrower{name = "thrower_leftnostop"},/turf/space/transit/east/one,/area) +"ceF" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/one,/area) "ceG" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/holodeck/source_emptycourt) "ceH" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/holodeck/source_emptycourt) "ceI" = (/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/holodeck/source_emptycourt) -"ceJ" = (/obj/step_trigger/thrower{name = "thrower_leftnostop"},/turf/space/transit/east/two,/area) +"ceJ" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/two,/area) "ceK" = (/turf/space,/area/shuttle/escape_pod5/transit) "ceL" = (/obj/step_trigger/thrower{direction = 1; name = "thrower_throwup"; nostop = 0; tiles = 0},/turf/space/transit/east/two,/area) "ceM" = (/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/holodeck/source_emptycourt) "ceN" = (/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/holodeck/source_emptycourt) -"ceO" = (/obj/step_trigger/thrower{name = "thrower_leftnostop"},/turf/space/transit/east/three,/area) -"ceP" = (/obj/step_trigger/thrower{direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/east/three,/area) +"ceO" = (/obj/step_trigger/thrower{affect_ghosts = 1; name = "thrower_leftnostop"},/turf/space/transit/east/three,/area) +"ceP" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/east/three,/area) "ceQ" = (/turf/unsimulated/wall{tag = "icon-iron7"; icon = 'mineral_walls.dmi'; icon_state = "iron7"},/area) "ceR" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/unsimulated/wall{tag = "icon-iron12"; icon = 'mineral_walls.dmi'; icon_state = "iron12"},/area) "ceS" = (/turf/unsimulated/wall,/area) "ceT" = (/turf/unsimulated/wall{tag = "icon-iron11"; icon = 'mineral_walls.dmi'; icon_state = "iron11"},/area) -"ceU" = (/obj/step_trigger/thrower{direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/east/one,/area) +"ceU" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/east/one,/area) "ceV" = (/turf/simulated/floor/grass,/area/holodeck/source_beach) "ceW" = (/obj/structure/table/holotable,/obj/machinery/readybutton,/turf/simulated/floor{icon_state = "red"; dir = 9},/area/holodeck/source_thunderdomecourt) "ceX" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/weapon/melee/energy/sword/holosword/red,/turf/simulated/floor{icon_state = "red"; dir = 5},/area/holodeck/source_thunderdomecourt) @@ -5696,16 +5696,16 @@ "cfB" = (/turf/simulated/floor{icon = 'beach.dmi'; icon_state = "sand"; name = "Sand"},/area/holodeck/source_beach) "cfC" = (/turf/simulated/floor{icon_state = "blue"; dir = 8},/area/holodeck/source_thunderdomecourt) "cfD" = (/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/holodeck/source_thunderdomecourt) -"cfE" = (/obj/step_trigger/thrower{direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/three,/area) -"cfF" = (/obj/step_trigger/thrower{direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/one,/area) -"cfG" = (/obj/step_trigger/thrower{direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/two,/area) -"cfH" = (/obj/step_trigger/thrower{direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/three,/area) -"cfI" = (/obj/step_trigger/thrower{direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/two,/area) -"cfJ" = (/obj/step_trigger/thrower{direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/three,/area) -"cfK" = (/obj/step_trigger/thrower{direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/one,/area) -"cfL" = (/obj/step_trigger/thrower{direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/two,/area) +"cfE" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/three,/area) +"cfF" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/one,/area) +"cfG" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/two,/area) +"cfH" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 8; name = "thrower_escapeshuttletop(left)"; tiles = 0},/turf/space/transit/north/three,/area) +"cfI" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/two,/area) +"cfJ" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/three,/area) +"cfK" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 4; name = "thrower_escapeshuttletop(right)"; tiles = 0},/turf/space/transit/north/one,/area) +"cfL" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/two,/area) "cfM" = (/turf/space,/area/shuttle/escape/transit) -"cfN" = (/obj/step_trigger/thrower{direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/one,/area) +"cfN" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/turf/space/transit/north/one,/area) "cfO" = (/turf/simulated/floor{icon = 'icons/misc/beach2.dmi'; icon_state = "sandwater"; name = "Beach Front"},/area/holodeck/source_beach) "cfP" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/holodeck/source_thunderdomecourt) "cfQ" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/holodeck/source_thunderdomecourt) @@ -5713,8 +5713,8 @@ "cfS" = (/turf/simulated/floor{icon_state = "bluecorner"},/area/holodeck/source_boxingcourt) "cfT" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/holodeck/source_boxingcourt) "cfU" = (/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/holodeck/source_boxingcourt) -"cfV" = (/obj/step_trigger/thrower{direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/one,/area) -"cfW" = (/obj/step_trigger/thrower{direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/two,/area) +"cfV" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/one,/area) +"cfW" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/two,/area) "cfX" = (/obj/effect/overlay{anchored = 1; icon = 'beach.dmi'; icon_state = "water2"; layer = 10; mouse_opacity = 0; name = "water"},/turf/simulated/floor{icon = 'beach.dmi'; icon_plating = "water"; icon_regular_floor = "water"; icon_state = "water"; name = "Water"},/area/holodeck/source_beach) "cfY" = (/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/holodeck/source_thunderdomecourt) "cfZ" = (/obj/structure/table/holotable,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/weapon/melee/energy/sword/holosword/green,/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/holodeck/source_thunderdomecourt) @@ -5754,7 +5754,7 @@ "cgH" = (/turf/simulated/shuttle/floor,/area/centcom/evac) "cgI" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/shuttle/floor{tag = "icon-floor2"; icon_state = "floor2"},/area/centcom/evac) "cgJ" = (/turf/simulated/shuttle/wall{tag = "icon-swall7"; icon_state = "swall7"; dir = 2},/area/centcom/evac) -"cgK" = (/obj/step_trigger/thrower{direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/three,/area) +"cgK" = (/obj/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdownside"; nostop = 1; tiles = 0},/turf/space/transit/north/three,/area) "cgL" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/centcom/evac) "cgM" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/shuttle/floor,/area/centcom/evac) "cgN" = (/obj/structure/table,/obj/item/weapon/stamp/captain,/turf/simulated/shuttle/floor,/area/centcom/evac) @@ -8688,11 +8688,11 @@ cdZcdZceacdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcebce cejcejcekcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacelcemcewcemcewcemcenceoceoceoceoceocencepcepcepcepcepcenceDcescescesceEcet ceuceucevceuceuceuceuceuceuceuceuceuceuceuceuceuceuceuceuceuceuceuceuceuceucebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacelcemcemcemcemcemcenceoceoceoceoceocencepcepcepcepcepcenceDcescescesceEcet cejcejcekcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacelcemcemcemcemcemcenceoceoceoceoceocencepcepcepcepcepcenceDcescescesceEcet -cdZcdZceacdZcdZcdZcdZcdZceFceFceFceFceFcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacelcemcewcemcewcemcenceoceoceoceoceocencepcexcepcexcepcenceDceGceHceIceEcet +cdZcdZceacdZcdZcdZcdZceFceFceFceFceFceFcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacelcemcewcemcewcemcenceoceoceoceoceocencepcexcepcexcepcenceDceGceHceIceEcet cejcejcekcejcejcejcejceJceKceKceKceKceLcejcejcejcejcejcejcejcejcejcejcejcejcejceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacelcemcemcemcemcemcenceoceoceoceoceocencepcepcepcepcepcenceMceNcesceMceNcet ceuceucevceuceuceuceuceOceKceKceKceKcePceuceuceuceuceuceuceuceuceuceuceuceucebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceQceRceRceRceRceRceSceRceRceRceRceRceSceRceRceRceRceRceSceRceRceRceRceRceT cdZcdZceacdZcdZcdZcdZceFceKceKceKceKceUcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacelceVceVceVceVceVcenceWceXceYceZcfacencfbcfccfdcfecffcet -cdZcdZceacdZcdZcdZcdZcdZceFceFceFceFceFcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacelceVcfgceVcfhceVcencficfjcfkcflcfmcencfncfocfpcfqcfrcet +cdZcdZceacdZcdZcdZcdZceFceFceFceFceFceFcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcdZcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacelceVcfgceVcfhceVcencficfjcfkcflcfmcencfncfocfpcfqcfrcet cejcejcekcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacelceVceVceVceVceVcencficfscfscfscfmcencfncfdcfdcfdcfrcet ceuceucevceuceuceuceuceuceuceuceuceuceuceuceuceuceuceuceuceuceuceuceuceuceucebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacelceVceVceVceVceVcencficfscfscfscfmcencfncfdcfdcfdcfrcet cejcejcekcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcejcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacelceVceVceVceVceVcencftcfucfucfucfvcencfncfdcfdcfdcfrcet @@ -8718,8 +8718,8 @@ cglcglcglcglcglcglcglcglcglcglcglcglcglcglcglceccebcedcebceccebcebceccebcedcebce cglcglcglcglcglcglcglcglcglcglcglcglcglcglcglceccebcedcebceccebcebceccebcedcebceccebcedcebceccebcedcebceccebcfVcfMcfMcfMcfMcfMcfMcfMcfMcfMcfWceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgmcgmcgmaaacgncgncgnaaacgocgocgoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cglcglcglcglcglcglcglcglcglcglcglcglcglcglcglceccebcedcebceccebcebceccebcedcebceccebcedcebceccebcedcebceccebcfVcfMcfMcfMcfMcfMcfMcfMcfMcfMcfWceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgqcgrcgscgrcgrcgrcgscgrcgrcgrcgscgrcgrcgrcgscgrcgrcgtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cglcglcglcglcglcglcglcglcglcglcglcglcglcglcglceccebcedcebceccebcebceccebcedcebceccebcedcebceccebcedcebceccebcfVcfMcfMcfMcfMcfMcfMcfMcfMcfMcfWceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgqcgucgvcgwcgxcgycgzcgwcgAcgBcgCcgwcgDcgDcgDcgwcgEcgwcgFcgtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cglcglcglcglcglcglcglcglcglcglcglcglcglcglcglceccebcedcebceccebcebceccebcedcebceccebcedcebceccebcedcebceccebcedcfVcfMcfMcfMcfMcfMcfMcfMcfVcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgqcgrcgrcgGcgucgwcgHcgHcgHcgHcgHcgHcgHcgHcgHcgHcgHcgHcgHcgHcgHcgIcgJcgtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cglcglcglcglcglcglcglcglcglcglcglcglcglcglcglceccebcedcebceccebcebceccebcedcebceccebcedcebceccebcedcebceccebcedcedcfWcgKcfWcfVcfWcgKcfWcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgLcgMcgNcgOcgPcgwcgHcgQcgQcgHcgQcgQcgHcgQcgQcgHcgQcgQcgHcgHcgHcgRcgJcgSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +cglcglcglcglcglcglcglcglcglcglcglcglcglcglcglceccebcedcebceccebcebceccebcedcebceccebcedcebceccebcedcebceccebcfVcfVcfMcfMcfMcfMcfMcfMcfMcfVcfWceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgqcgrcgrcgGcgucgwcgHcgHcgHcgHcgHcgHcgHcgHcgHcgHcgHcgHcgHcgHcgHcgIcgJcgtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +cglcglcglcglcglcglcglcglcglcglcglcglcglcglcglceccebcedcebceccebcebceccebcedcebceccebcedcebceccebcedcebceccebcedcfVcfWcgKcfWcfVcfWcgKcfWcfVcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgLcgMcgNcgOcgPcgwcgHcgQcgQcgHcgQcgQcgHcgQcgQcgHcgQcgQcgHcgHcgHcgRcgJcgSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cgTcglcglcglcglcglcglcglcglcglcglcglcglcglcglceccebcedcebceccebcebceccebcedcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgUcgUcgUcgUaaaaaaaaacgVcgWcgXcgHcgPcgwcgHcgQcgQcgHcgQcgQcgHcgQcgQcgHcgQcgQcgHcgHcgHcgYcgZchaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cebceccebcebcedcebcebceccebceccebcebcedcebcebceccebcedcebceccebcebceccebcedcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgUcgUcgUcgUaaaaaaaaacgVchbcgXcgHchccgwcgwcgwcgwcgwcgwcgwcgwcgwcgwcgwcgwcgwcgwcgwcgwchdcgZchaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cebceccebcebcedcebcebceccebceccebcebcedcebcebceccebcedcebceccebcebceccebcedcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacgUcgUcgUcgUaaaaaaaaacgVcgWcgXcgHcgPchecgHcgXchfchgchfchhchicgrcgrcgrchjcgrchkchkcgrchjcgZchaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -8737,10 +8737,10 @@ cebceccebcebcedcebcebceccfWchIchIchIcfVcebcebceccebcedcfWchJchJchJcgKcebcedcebce cebceccebcebcedcebcebceccfWchIchIchIcfVcebcebceccebcedcfWchJchJchJcgKcebcedcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cebceccebcebcedcebcebceccfWchIchIchIcfVcfWcfGcfHcfIcfVcfWchJchJchJcgKcebcedcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cebceccebcebcedcebcebceccfWchIchIchIcfVcfWchKchKchKcfVcfWchJchJchJcgKcebcedcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cebceccebcebcedcebcebceccebcgKcfWcfWcedcfWchKchKchKcfVcebcfVcfWcfWceccebcedcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +cebceccebcebcedcebcebceccfWcgKcfWcfWcfVcfWchKchKchKcfVcfWcfVcfWcfWcgKcebcedcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cebceccebcebcedcebcebceccebceccebcebcedcfWchKchKchKcfVcebcedcebcebceccebcedcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cebceccebcebcedcebcebceccebceccebcebcedcfWchKchKchKcfVcebcedcebcebceccebcedcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -cebceccebcebcedcebcebceccebceccebcebcedcebcfWcgKcfWcedcebcedcebcebceccebcedcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +cebceccebcebcedcebcebceccebceccebcebcedcfWcfWcgKcfWcfVcebcedcebcebceccebcedcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cebceccebcebcedcebcebceccebceccebcebcedcebcebceccebcedcebcedcebcebceccebcedcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cebceccebcebcedcebcebceccebceccebcebcedcebcebceccebcedcebcedcebcebcecchLchMchLchNchLchMchLchNchLchMchLchNchLchMchMchLchNchLchMchLchNchLchMchLchNchLchMchLchNchLchMchLchNchLchMchLchNchLchMchLchNceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa cebceccebcebcedcebcebceccebceccebcebcedcebcebceccebcedcebcedcebcebcecchLcedcebceccebcedcebceccebcedcebceccebcedcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebceccebcedcebcecceeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa