x XXXXXXXXXXXXXXXXXXXXX X X X X X X X X X X X X X X X X X X X::::::::::; ;:::::::: X X::::::::;;:::::::X X:::::::::::X X,,,,,,X X,,,,,,X X,,,,,,X X ::: X X ::: X X ::: X X ::: X X ::: X X ::: X X ::: X X ::: X X :::::::::::::::::::::::::::::::::::: X X ::::::::::::::::::::::::::::::::::X X::::::::::::::::::::::::::::::X XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX