if extraterrestrials were to visit planet earth, how would they explain the orderliness of things here on this planet? the slow turning tide of all the humans waking up at the same time every day, a wave of daily wakings and dreamings mathematically tuned to the motion of the planet around the sun.
if the extraterrestrials could not understand human timekeeping, the extraterrestrials would be very confused about many things. especially if these extraterrestrials were persistent data structures from the 5th dimension with different rules for processing 3D spacetime.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-------XXXXXXOOOOOOOXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXXOOXXXXXOOOXXOXXXXXXXXXXOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXOXXXOXXXXXXXXXXXOOOOOOOXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXXOOOOOOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXXXXXXXXXXXXXXXXXOOXXXXOOXXXXXXXXXXOXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-------XXXXXXOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXXOOOXXXXOOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXOXXXXXXXXXXXOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXXOXXXXOOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOOOXXXOOXXXXXXXXXXOXXXXXXXXXXXXXXXXXXXXXXXXXXOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXOXXXXXXXOXXXXOOXXOOOOXXXOOOOOXXOOOOXXXXXOOOXXXOOOOXXOXXOOOOOXXXOXXOOOOOXXXXOOOOOXXXXXOXXXOOXXOOXOXOOOOXOOOOOXXXXXXXOXXXXXXXOXXXXOOXXOOOOXXXOOOOOXXOOOOXXXXXOXXXXXOOXOOOOXXOOOOXXXXOOOXXXXOOOOXXXOOOOXXXOOOOXXXOXXOOOOOXXXXOOOOOXXXXXXOOOXXXOOXXXOOOOXXOOOOOXXXOOXXOOXXOOOOXXXOOOOXOXXOOXXOOOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXOOXXXXXXOOXXXOXXOOXOOOXXOOOOOOXOOOXXXXXXOOOXXXOOOOXXOXXOOOOOOXXOXXOOOOOOXXOOXOOOXXXXXOOXXOOXXOOXOXOOOXXOOOOOOXXXXXXOOXXXXXXOOXXXOXXOOXOOOXXOOOOOOXOOOXXXXXXOXXXXXOOOOOOOXOOXOOOXXOOXOOXXOOXOOOXOOOOOOXOOOOOOXXOXXOOOOOOXXOOXOOOXXXXXXOXOOXXOOXXOOXOOOXOOOXOOXXOOXXOOXOOXOOOXOOOOOXOXOOOXOOOOOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXOOOOOOOXOOXXOOXOOXXXOOXXOXXXOOXXOXXXXXXXOXOOXXOXOOXXOXXOXXXOOXXOXXOXXXOOXOOXXXOOXXXXXOOXOOOXXOXXOXXOXXXOXXXOOXXXXXXOOOOOOOXOOXXOOXOOXXXOOXXOXXXOOXXOXXXXXXXOOOOOOOXOOXXXOOXXXOOXOOXXXOOOOXXXOOXOOXXXOXOOXXXOXXOXXOXXXOOXOOXXXOOXXXXXXOXXOOXOOXOOXXXOOXXOXXOOXOOOXXOXOOXXXOOXOOXXXXOOOOXXOOXXXOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXOOXXXXXXXOOXOOXOOOOOOOXXOXXXOOXXOXXXXXXXOXOOXOOXOOXXOXXOXXXOOXXOXXOXXXOOXOOXXXOOXXXXXOOXOOOXOOXXOXXOXXXOXXXOOXXXXXXOOXXXXXXXOOXOOXOOOOOOOXXOXXXOOXXOXXXXXXXOOOOOOXXOOXXXOOXXXXOXOOXXXXXOOOOOOOXOOOOOXXOOOOOXXXOXXOXXXOOXOOXXXOOXXXXXXOXXOOXOOXOOOOOOOXXOXXOOXOOOXOOXOOXXXXOXOOXXXXOOOXXXOOOOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXOXXXXXXXXOOXOXXOOOOOOOXXOXXXOOXXOXXXXXXXOXXOXOOXOOXXOXXOXXXOOXXOXXOXXXOOXOOXXXOOXXXXXXOXOXOOOOXXOXXOXXXOXXXOOXXXXXXOXXXXXXXXOOXOXXOOOOOOOXXOXXXOOXXOXXXXXXXOXXXXXXXOOXXXOOXXXXOXOOXXXXXOOOOOOOXXXOOOOXXXOOOOXXOXXOXXXOOXOOXXXOOXXXXXXOXXXOOOOXOOOOOOOXXOXXXOXOXOOOOXOOXXXXOXOOXXXXOOOOXXXXOOOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXOXXXXXXXXXOOOXXOOXXXXOXXOXXXOOXXOXXXXXXXOXXOOOXXOOXXOXXOXXXOOXXOXXOXXXOOXOOXXXOOXXXXXXOOOXOOOXXXOXXOXXXOXXXOOXXXXXXOXXXXXXXXXOOOXXOOXXXXOXXOXXXOOXXOXXXXXXXOXXXXXXXOOXXXOOXXXOOXOOXXXOOOOXXXXOXOOXXOOXOOXXOOXXOXXOXXXOOXOOXXXOOXXXXXXOXXXXOOOXOOXXXXOXXOXXXOOOXOOOXXOOXXXOOXOOXXXXOXOOXXOOXXOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXOOOOOOOXXXOOOXXXOOXOOOXXOXXXOOXXOOXXXXXXOXXOOOXXOOXXOXXOXXXOOXXOXXOXXXOOXXOOXOOOXXXXXXOOOXXOOXXXOXXOOXXOXXXOOXXXXXXOOOOOOOXXXOOOXXXOOXOOOXXOXXXOOXXOOXXXXXXOXXXXXXXOOXXXXOOXOOOXXOOXOOXXOOXOOOXOOXXOOXOOXXOOXXOXXOXXXOOXXOOXOOOXXXXXXOXXXXOOOXXOOXOOOXXOOXXOOOXXOOXXXOOXOOOXOOXXXXOXXOOXOOXXOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXOOOOOOOXXXOOXXXXOOOOOXXXOXXXOOXXOOOXXXXXOXXXOXXXOOXXOXXOXXXOOXXOXXOXXXOOXXXOOOOOXXXXXXXOOXXOOXXXOXXOOOXOXXXOOXXXXXXOOOOOOOXXXOOXXXXOOOOOXXXOXXXOOXXOOOXXXXXOXXXXXXXOOXXXXOOOOOXXXOOOOOXXOOOOOXXXOOOOOXXOOOOOXXOXXOXXXOOXXXOOOOOXXXXXXOXXXXXOOXXOOOOOXXXOOOXXOOXXOOXXXOOOOOXXOOXXXXOXXXOOXOOOOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOOXXXOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOOXXXOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOOOXOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOOOXOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOOOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOOOOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X-------------------------------XX--------------XXXXX---------------------------------------XX--------------------------------XX----XX---XX---------XX------------------------XXX----XX---------------------------------------XXX--------------------------XX------------------------------------XX----XXX----------------------XX----------XX----------XXXXX---------------------XX-------X----------XXX--------------------------------------XX------XX-------------------------------------------
-------X----OOX------------------------OO--------------OOOOOOO-------------------------------------OO--------------------------------OOX--OOO---OO---------OO--XO--------------------OOOX--OOOO------------------------------------XOOOOOO--XO--------------------OO------------------------------------OO---OOOX----------------------OO----------OO----------OOOOOOO-------------------OO------XOO-------OOOOOOX----------OOX-----------------------OO------OO-------------------------------------------
-------X----OOX------------------------XX--------------OOXXOOOX------------------------------------OO--------------------------------XOX--OOOX-XOO---------OO--OO--------------------OOOX--OOOO------------------------------------OOXXXOOX-OO--------------------OO------------------------------------OO--OOOX-----------------------XX----------OO----------OOXXOOOO------------------XX------XOO------XOOXXOOO----------OOX-----------------------OO------OO-------------------------------------------
-------X----OOX-------XOOOX---OO--XOX--XX--XOOOX-------OO---XOO--OOOX---OOOOOOOOOX-XOOOX----XOOO---OOXOOX----XOOOX---OXXOOX----------XOO-XOOOO-XOO-XOOOO---OO-OOOOX--OOOX---OOOOX----OOOO--OOOO--XOOOO---OXXOOX---OXXOOX----------XOOX--XOXOOOOX--OOOX---OXXOOX---OOXOOX---XOOOO---OXXOOX----OOOX-------OO-XOOX---XOOOO---XOOOX---OOOOOOX---OOOX---OO----------OO---XOOX-XOOOO--OOX--XOX-XX---OOOXOO------OOX---OOX---------OOX------OO--XOX---XOOO---OO--OOX-OOXOOX---XOOOO---OOXOOXXOOX------------------
-------X----OOX------OOOOOOX--OO--XOX--OO-XOOOOOO------OO---OOO-OOOOOO--OOOOXOOOOXOOOOOOX--OOOOOO--OOOOOOX--OOOOOOX--OOOOOOX----------OO-XOXOO-OOX-OOOOOO--OO-OOOOX-OOOOOO--OOOOX----OOOO-XOOOO--OOOOOO--OOOOOOX--OOOOOOX----------OOOOX---OOOOX-OOOOOO--OOOOOOX--OOOOOOX--OOOOOO--OOOOOOX--OOOOOO------OOOOOX----OOOOOO-XOOOOOO--OOOOXOO--OOOOOO--OO----------OO----OOX-OOOOOO-XOX--OOX-OO--OOOOOOO-----XOO----------------OOX------OO--XOX--OOOOOO--OOXOOO--OOOOOOX--OOOOOO-XOOOOOOOOOOX-----------------
-------X----OOX-----XOOX-XOO--OO--XOX--OO-XOO--XX------OOOOOOOXXOO--OO--OOX--OOX-XOOX-XOO-XOO--OOX-OOX-XOX-XOOX-XOO--OOX-XOO----------OOXOO-OOXOO--OX-XOO--OO--OO--XOO--OO--OOX------OOOOXOOXOO--OX-XOO--OOX-XOO--OOX-XOO----------XOOOOOO--OO--XOO--OO--OOX-XOO--OOX-XOX--OX-XOO--OOX-XOO-XOO--OO------OOOOOO----OX-XOO-XOO--XX--OOX--OO-XOO--OO--OO----------OO----OOX-OX-XOO-XOO-XOO--OO-XOO--OOO-----XOO----------------OOX------OO--XOX-XOO--OOX-OOOOO---OOX-XOX--OX-XOO-XOOX-OOX-XOX-----------------
-------X----OOX-----XOO---OO--OO--XOX--OO-XOOOOX-------OOOOOOX-XOOXOOOX-OO---OO--XOO---OO-XOO------OO--XOO-XOO---OO--OO--XOO----------OOOOO-XOOOO---XOOOO--OO--OO--XOOXOOOX-OO-------OOXOOOOXOO---XOOOO--OO--XOO--OO--XOO------------XXOOOX-OO--XOOXOOOX-OO---OO--OO--XOO---XOOOO--OO--XOO-XOOXOOOX-----OOOOOOX----XOOOO-XOOOOX---OO---OO-XOOXOOOX-OO----------OO----OOX--XOOOO--OOXXOX--OO-XOO--XOO-----XOO----------------OOX------OO--XOX-XOO------OOOOX---OO--XOO---XOOOO-XOO--OOX-XOX-----------------
-------X----OOX-----XOO---OO--OO--XOX--OO--XOOOOO------OO------XOOOOOOX-OO---OO--XOO---OO-XOO------OO--XOO-XOO---OO--OO--XOO----------XOOOX-XOOOO-XOOOOOO--OO--OO--XOOOOOOX-OO-------OO-OOOOXOO-XOOOOOO--OO--XOO--OO--XOO---------XOX---XOO-OO--XOOOOOOX-OO---OO--OO--XOO-XOOOOOO--OO--XOO-XOOOOOOX-----OOX-XOO--XOOOOOO--XOOOOO--OO---OO-XOOOOOOX-OO----------OO----OOXXOOOOOO--XOOOO---OO-XOO--XOO-----XOO----OOX---------OOX------OO--XOX-XOO------OOOOO---OO--XOO-XOOOOOO-XOO--OOX-XOX-----------------
-------X----OOX-----XOO--XOO--OO--OOX--OO-XXX-XOOX-----OO------XOO--XX--OO---OO--XOO--XOO-XOO--OOX-OO--XOO-XOO--XOO--OO--XOO----------XOOOX--OOOX-XOX--OO--OO--OO--XOO--XX--OO-------OO-OOOXXOO-XOX--OO--OO--XOO--OO--XOO---------XOOX--OOX-OO--XOO--XX--OOX-XOO--OO--XOO-XOX--OO--OO--XOO-XOO--XX------OO---OOO-XOX--OO-XXX-XOOX-OO---OO-XOO--XX--OO----------OO---XOO-XOX--OO---OOOO---OO-XOO--XOO------OOO--XOOX---------OOX------OO--OOX-XOO--OOX-OOXOOX--OO--XOO-XOX--OO-XOO--OOX-XOX-----------------
-------X----OOOOOOOX-OOOOOOX--OOOOOOX--OO-XOOXOOO------OO-------OOOOOO--OO---OO---OOOOOOX--OOOOOO--OO--XOO--OOOOOOX--OO--XOO--OO-------OOO---OOOX-XOOXOOO--OO--OOOX-OOOOOO--OO-------OO-XOOXXOO-XOOXOOO--OO--XOO--OO--XOO--OO------OOOOOOOX-OOOX-OOOOOO--OOOOOOX--OO--XOO-XOOXOOO--OO--XOO--OOOOOO------OO---XOOXXOOXOOO-XOOXOOO--OO---OO--OOOOOO--OO--OO------OOOOOOOX-XOOXOOO---XOOX---OO--OOOOOOO------XOOOOOOO--OO------OOOOOOOX-OOOOOOX--OOOOOO--OO-XOO--OO--XOO-XOOXOOO-XOO--OOX-XOX-----------------
-------X----OOOOOOOX--OOOOX---XOOOOOX--OO--XOOOOX------OO-------XOOOO---OO---OO----OOOOX----OOOOX--OO--XOO---OOOOX---OO--XOO--OO-------OOO---XOO---OOOOOOX-OO--XOOX-XOOOO---OO-------OO-XOO-XOO--OOOOOOX-OO--XOO--OO--XOO--OO-------OOOOOX--XOOX-XOOOO---OOOOOO---OO--XOO--OOOOOOX-OO--XOO--XOOOO-------OO----OOO-OOOOOOX-XOOOOX--OO---OO--XOOOO---OO--OO------OOOOOOX---OOOOOOX--XOO----OO--XOOOOOO-------XOOOOX---OO------OOOOOOOX-XOOOOOX---OOOOX--OO--OOX-OO--XOO--OOOOOOXXOO--OOX-XOX-----------------
-------X----------------------------------------------------------------------------------------------------------------------XO-------------------------------------------------------------------------------------------XO----------------------------OO--------------------------------------------------------------------------------------------XO--------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------XOX------------------------------------------------------------------------------------------XOX----------------------------OO-------------------------------------------------------------------------------------------XOX--------------------------------------------------------------------------------------------------------------------------------------------------
-------X-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------OO------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----XXXXXXX--X-------------------XXXXXXX--X-------X------------X------XXXXX-------------------X---XXXX-----------------X------------X-----------------XXX---------------------XX---------------------------------------------------------------------X-----XX---------------------------X---------------X----------------------XXXXX-----X----------------------------------------------------------------------------X------XXXXX-----------------------------XX------X---X-----------------------
-------X---OOOOOOOOX-OX-----------------OOOOOOOOX-OX------OX----------XO------OOOOOOO-----------------OX-OOOXOX---------------XOO-----------OX--------------OOOOOOX------------------OOOX--------------------------------------------------------------------OX---XOO--------------------------XOX-------------XO----------------------OOOOOOO---OX--------------------------------------------------------------------------XO------OOOOOOO-----------OX--------------OOX----XOO--OX----------------------
-------X------XO-----OX--------------------XO-----OX------------------XO------OX---XOO-------------------OX-------------------OOO--------------------------XOX---OO------------------OX----------------------------------------------------------------------OX--OOX---------------------------XOX-------------XO----------------------OX---XOO------------------------------------------------------------------------------XO------OX---XOO----------OX--------------OOO----OOO--------------------------
-------X------XO-----OOOOO----OOOX---------XO-----OOOOO---O--OXOO--OOOOO------OX----OO--OOOO----OOOX--OXOOOO-O---OOOX--------XOXOX---XOOOX--O---OOOO-------OX-----OX--OOOX---OXOOO--OOOO--OOOX---OXOO--OOOX---OXOOO----OOOX---OOOX--------OOOX---OXOOO-------OX-OOX---OXOOO----OOOX--OX--XO--XOXOX--OOOX----OOOOO---OOOXO---OOOX-------OX----XOX-O--XOOOX---OOOX---OOOX--OX---XO--OOOX---OXOOOX---XO------OOOO---OXOOO----OOOOO------OX----XOX--OOOO--OOOX--OOOO-------OOO---XOOO--O--OXOOO----------------
-------X------XO-----OOXXOO--OOXXOO--------XO-----OOXXOO--OXXOOOO-OOXOOO------OX----OO-OOXXOO--OOXXOX-OXXOOX-OX-OOXXOX-------OO-XO--XOXXOO--OX-OOXXOO-----XOX--------OOXXOO--OOXXOO-XOOX-OOXXOO-XOOOO-OOXXOO--OOXXOO--OOXXOX-OOXXOO------OOXXOO--OOXXOO------OXOOX----OOXXOO--OOXXOO-OO--OO--XOXOX-OOXXOO--OOXOOO--OOXOOO--OOXXOO------OX----XOX-OXXOXXOO--OOXXOX-OOXXOO-XO---OX-OOXXOO-XOOOOXO---OX-----OOXXOO--OOXXOO--OOXOOO------OX----XOX-OOXXOO-XOOX-OOXXOO------OXOX--XOOO--OX-OOXXOO---------------
-------X------XO-----OX--XO-XO---XO--------XO-----OX--XO--OXXOX--XO---OO------OOOOOOOX-O---XO-XOX--XO-OX-OX--OXXOX--XO-------OX--OX-XOX--X--OX-O---XO-----XOX-------XOX--XOX-OX--XO--OX-XO---XO-XOX--XO---XO--OX--XO-XOX--XOXO---XO-----XOX--XOX-OX--XO------OOOOO----OX--XO-XOX--XOXXO--OOX-OXXOXXO---XO-XO---OO-XO---OO-XO---XO------OX-----OX-OXXOX--X-XOX--XOXOX--XOX-OX-XOXXO---XO-XOX---OX-XOX-----O---XO--OX--XO-XO---OO------OX-----OX-O---XO--OX--O---XO------OXXO--OXOO--OX-OX--XO---------------
-------X------XO-----OX--XO-XOOOOOOX-------XO-----OX--XO--OXXOX--XO---XO------OOOOOO----XXOOO-XO------OX-OX--OXXO-----XOOO--XOOXXOO--OOOX---OX--XXOOO-----XOX-------XO----OX-OX--XO--OX-XOOOOOOXXOX--XOOOOOOX-OX--XO-XO-----XOOOOOOX----XO----OX-OX--XO------OOXXOX---OX--XO-XO----OX-OXXOOX-O-XOXXOOOOOOXXO---XO-XO---XO-XOOOOOOX-----OX-----OX-OX-OOOX--XO-----XO----OX-OO-OO-XOOOOOOXXOX---OO-XO-------XXOOO--OX--XO-XO---XO------OX-----OX--XXOOO--OX---XXOOO------OXXO-XO-OO--OX-OX--XO---------------
-------X------XO-----OX--XO-XOXXXXX--------XO-----OX--XO--OXXOX--XO---XO------OX------XOOOXOO-XO------OX-OX--OXXO-----XOOOX-OOOOOOO---XOOOX-OXXOOOXOO-----XOX-----OXXO----OX-OX--XO--OX-XOXXXXX-XOX--XOXXXXX--OX--XO-XO-----XOXXXXX-----XO----OX-OX--XO------OX--OO---OX--XO-XO----OX-OXOXXOXO-XOXXOXXXXX-XO---XO-XO---XO-XOXXXXX------OX----XOX-OX--XOOOXXO-----XO----OX-XO-OX-XOXXXXX-XOX---XOXOX-----XOOOXOO--OX--XO-XO---XO------OX----XOXXOOOXOO--OX-XOOOXOO------OX-OXXO-OO--OX-OX--XO---------------
-------X------XO-----OX--XO-XO----X--------XO-----OX--XO--OXXOX--XO---XO------OX------XO---XO-XO---XO-OX-OX--OXXO---XO-----XOX----OXXX---OX-OXXO---XO------OO----XOXXO---XOX-OX--XO--OX-XO----X-XOX--XO----X--OX--XO-XO---XOXO----X-----XO---XOX-OX--XO------OX--XOO--OX--XO-XO---XOX-XOOXXOOX-XOXXO----X-XO---XO-XO---OO-XO----X------OX----OO--OXXX---OXXO---XOXO---XOX--OOO--XO----X-XOX----OOO------XO---XO--OX--XO-XO---XO------OX----OO-XO---XO--OX-XO---XO------OX-OOOX-OO--OX-OX--XO---------------
-------X------XO-----OX--XO--OOXXOO--------XO-----OX--XO--OXXOX---OO-XOO------OX------XOX-XOO--OO-XOX-OX-OX--OX-OO-XOX-----XO-----OOXOX-XOX-OXXOX-XOO------XOOXXXOO--OO-XOO--OX--XO--OX--OOXXOO-XOX---OOXXOO--OX--XO--OO-XOX-OOXXOO------OO-XOO--OX--XO------OX---XOX-OX--XO--OO-XOO--XOO--OOX-XOX-OOXXOO--OO-XOO--OOXXOO--OOXXOO------OOXXXOOX--OXXOX-XOX-OO-XOX-OO-XOO---OOO---OOXXOO-XOX----XOO------XOX-XOO--OX--XO--OO-XOO------OOXXXOOX-XOX-XOO--OOXXOX-XOO------OX-XOO--OO--OX-OX--XO---------------
-------X------XO-----OX--XO--XOOOO---------XO-----OX--XO--OXXOX---XOOOOO------OX-------OOOOXO--XOOOO--OX-OX--OX-XOOOO------OX-----XOXXOOOX--OX-OOOOXO-------XOOOOO---XOOOO---OX--XO--OX--XOOOO--XOX---XOOOO---OX--XO--XOOOO--XOOOO-------XOOOO---OX--XO------OX----OOXOX--XO--XOOOO----OO--OO--XOX-XOOOO---XOOOOO---OOOOO--XOOOO-------OOOOOOX---OX-XOOOX--XOOOO--XOOOO----XOX---XOOOO--XOX----XOX-------OOOOXO--OX--XO--XOOOOO------OOOOOOX---OOOOXO--XOO-OOOOXO------OX--OX--OO--OX-OX--XO---------------
-------X-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X---XO----------------------------------------------------------------------XO----------------------------------------------------------------------------------------------------------
-------X----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------XOOXOOX---------------------------------------------------------------------OOX----------------------------------------------------------------------------------------------------------
-------X-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------XOOOX---------------------------------------------------------------------XOO-----------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----XX----XXX-----------------------------------------------X-------------------XXXXXXX-----------------------------------------------------------------------------------X--------------------------------------------------------------------------------------------------X--------------X----------------------------------------------------------------------------------X--X------------------X--X--------------------------------X---------------------------------------------------------
-------X----OO---OOOX----------------------------------------------XOO------------------OOOOOOOX------------------------OX--------------------------------------------------------OX--------------------------------------------------------OX--------------------------------------XOX---------OX--OX---------------------------------------------------------OX---------------------XO--OX--------OX-------OX-OX--------------OX--------------XO---------------------------------------------------------
-------X----OO--OOOX-----------------------------------------------XOO------------------OX------------------------------OX------------------------------------------------------------------------------------------------------------------OX--------------------------------------XOX---------OX-------------------------------------------------------------OX---------------------XO------------OX----------OX--------------OX--------------XO---------------------------------------------------------
-------X----OO-XOOX----OOOX--OOX--XOXOO--XOX--OO--XOOOX---OOOOX-OOOXOO--XOOOX---XX------OX------OX---XO--OOOX---OXOOO--OOOX-----OXOOX---OXOO--OOOX----OOOX---OOOX---XOOOX--XOOOX--O--OXOOO----OOOXO-----------OOOX--OX---XO--OOOX---OXOOO--OOOX------OOOX---OOOX---OXOOXOXOO--OOOX--XOX--OOOO--OOOX-O---OOOX---OXOOO------------OOOO----OOOXO---OOOX---OXOOO--OOOX-XOOOX-----------OOOOO--O--XOOOX-OOOX-OXOO-O--OOOOX---O---XO-OOOX--OOOX----OOOOO-------OOOX---OOOX---OXOOX-OOO---OXOOX---O---------------
-------X----OOOOOX----OOOOOO-XOX--OOXOOX-OOO-XOO-OOOOOOX--OOOOXOOOOOOO-XOOOOOO--OO------OO------XO---OX-OOXXOO--OOXXOO-XOOX-----OOXXOO-XOOOO-OOXXOO--OOXXOX-OOXXOO-XOXXOO-XOXXOO--OX-OOXXOO--OOXOOO----------OOXXOO-XO---OX-OOXXOO--OOXXOO-XOOX-----OOXXOX-OOXXOO-XOOOOXOOOO-OOXXOO-XOX-OOXXOO-XOOX-OX-OOXXOO--OOXXOO----------OOXXOO--OOXOOO--OOXXOO--OOXXOO-XOOXXOXXOO----------OOXOOO--OXXOXXOO-XOOXXOOOO-OX-OOXXOO-XOX--XO-XOOX-OOXXOO--OOXOOO------OOXXOX-OOXXOO--OOXOOOOXOO--OOXXOO-XOX--------------
-------X----OOOOOO---XOO--OO-XOO-XOO-XOX-OOO-OOXXOOX-XOO--OOX-XOO--OOO-XOO--XX----------OOOOOOO--OX-XOXXO---XO--OX--XO--OX------OX--XO-XOX--XOX--XOXXOX--XOXO---XO-XOX--X-XOX--X--OX-OX--XO-XO---OO---------XO---XO--OX-XOXXO---XO--OX--XO--OX-----XOX--XOXOX--XOXXOX--XOX--XO---XO-XOX-O---XO--OX--OXXOX--XOX-OX--XO----------O---XO-XO---OO-XO---XO--OX--XO--OX-XOX--X---------XO---OO--OXXOX--X--OX-XOX---OX-OX--XO-XOX--XO--OX-XO---XO-XO---OO-----XOX--XOXOX--XOX-OX--OO--XO--OX--XO-XOX--------------
-------X----OOOOOOX--XOOXOOOX-OOXXOX--OOXOOOXOO-XOO---OO--OO--XOO--XOO-XOOOOX-----------OO-------OO-OO-XOOOOOOX-OX--XO--OX------O----OXXOX--XO----OXXO-----XOOOOOOX-OOOX---OOOX---OX-OX--XO-XO---XO---------XOOOOOOX-OO-OO-XOOOOOOX-OX--XO--OX-----XO-----XO----OXXOX--XOX--XOOOOOOXXOX--XXOOO--OX--OXXO----OX-OX--XO-----------XXOOO-XO---XO-XOOOOOOX-OX--XO--OX--OOOX----------XO---XO--OX-OOOX---OX-XOX---OX-O----OXXOX--XO--OX-XOOOOOOXXO---XO-----XO-----XO----OX-OX--OX--XO--O----OXXOX--------------
-------X----OOX-XOO--XOOOOOOX-XOOOOX--OOOOXOOOO-XOO---OO--OO--XOO--XOO--XOOOOO----------OX-------XO-OX-XOXXXXX--OX--XO--OX------O----OXXOX--XO----OXXO-----XOXXXXX---XOOOX--XOOOX-OX-OX--XO-XO---XO---------XOXXXXX--XO-OX-XOXXXXX--OX--XO--OX-----XO-----XO----OXXOX--XOX--XOXXXXX-XOXXOOOXOO--OX--OXXO----OX-OX--XO---------XOOOXOO-XO---XO-XOXXXXX--OX--XO--OX---XOOOX--------XO---XO--OX--XOOOX-OX-XOX---OX-O----OXXOX--XO--OX-XOXXXXX-XO---XO-----XO-----XO----OX-OX--OX--XO--O----OXXOX--------------
-------X----OO---OOO-XOO--XX---OOOO---XOOO-OOOX-XOO--XOO--OO--XOO--XOO-XXX-XOOX---------OX--------OOO--XO----X--OX--XO--OX------OX--XO-XOX--XO---XOXXO---XOXO----X-XX---OXXX---OX-OX-OX--XO-XO---OO---------XO----X---OOO--XO----X--OX--XO--OX-----XO---XOXO---XOXXOX--XOX--XO----X-XOXXO---XO--OX--OXXO---XOX-OX--XO---------XO---XO-XO---OO-XO----X--OX--XO--OX-XX---OX--------XO---XO--OXXX---OX-OX-XOX---OX-OX--XOXXOX--XO--OX-XO----X-XO---XO-----XO---XOXO---XOX-OX--OX--XO--OX--XO-XOX--------------
-------X----OO---XOOX-OOOOOO---OOOX----OOO-OOO---OOOOOOX--OO---OOOOOOO-XOOXOOO--XX------OOXXXXXX--OOO---OOXXOO--OX--XO--OOX-----OOXXOO-XOX---OO-XOO--OO-XOX-OOXXOO-XOX-XOXXOX-XOX-OX-OX--XO--OOXXOO--XX------OOXXOO---OOO---OOXXOO--OX--XO--OOX-----OO-XOX-OO-XOO-XOX--XOX---OOXXOO-XOXXOX-XOO--OOX-OX-OO-XOO--OX--XO--XX-----XOX-XOO--OOXXOO--OOXXOO--OX--XO--OOXXOX-XOX-XX------OO-XOO--OXXOX-XOX-OOXXOX---OX-OOXXOO--OO-XOO--OOX-OOXXOO--OO-XOO------OO-XOX-OO-XOO--OX--OX--XO--OOXXOO--OO--------------
-------X----OO----OOO-XOOOO----XOO-----OOX-XOO----OOOOX---OO---XOOOOOO--XOOOOX--OO------OOOOOOOX--XOX---XOOOO---OX--XO--XOO-----OOOOO--XOX---XOOOO---XOOOO--XOOOO---XOOOX--XOOOX--OX-OX--XO---OOOOO--OO------XOOOO----XOX---XOOOO---OX--XO--XOO-----XOOOO--XOOOO--XOX--XOX---XOOOO--XOX-OOOOXO--XOO-OX-XOOOO---OX--XO--OO------OOOOXO---OOOOO--XOOOO---OX--XO--XOO-XOOOX--OO------XOOOOO--OX-XOOOX--XOOXOX---OX-OOOOO---XOOOXO--XOO-XOOOO---XOOOOO------XOOOO--XOOOO---OX--OX--XO--OOOOO---XOO-------------
-------X-----------------------XOO----------------------------------------------------------------------------------------------OX-----------------------------------------------------------X---XO--XO----------------------------------------------------------------------------------------------------------------XO--------------X---XO-----------------------------XO-------------------------------------------------------------------------------------------------------OX----------------------
-------X---------------------XOOOX----------------------------------------------------------------------------------------------OX----------------------------------------------------------XOOXOOX--OX----------------------------------------------------------------------------------------------------------------OX-------------XOOXOOX-----------------------------OX-------------------------------------------------------------------------------------------------------OX----------------------
-------X---------------------XOOX-----------------------------------------------------------------------------------------------O------------------------------------------------------------XOOOX-------------------------------------------------------------------------------------------------------------------------------------XOOOX---------------------------------------------------------------------------------------------------------------------------------------O-----------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----------------------------------------------------------------------------------XXXXXXX------------------X--X---------X--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----OOX---------------------------------------------------------------------------OOOOOOOX----------------XOX-OX--------OX-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----OOX---------------------------------------------------------------------------OX----------------------XOX-----------OX-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----OOX------XOOOO---OXXOOX----OOOXOX--OO--XOX--XOOOO----OOOXOX---OOOX---XOX------OX-------OXOOO----OOOXO-XOX-O--XOOOX--OOOOO----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----OOX------OOOOOO--OOOOOOX--OOOOOOO--OO--XOX--OOOOOO--OOOOOOO--OOOOOO--OOX------OO-------OOXXOO--OOXOOO-XOX-OXXOXXOO--OOXXOO---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----OOX------OX-XOO--OOX-XOO-XOO--OOO--OO--XOX--OX-XOO-XOO--OOO-XOO--OO--XX-------OOOOOOO--OX--XO-XO---OO-XOX-OXXOX--X--OX--XO---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----OOX-------XOOOO--OO--XOO-XOO--XOO--OO--XOX---XOOOO-XOO--XOO-XOOXOOOX----------OO-------OX--XO-XO---XO-XOX-OX-OOOX---OX--XO---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----OOX-----XOOOOOO--OO--XOO-XOO--XOO--OO--XOX-XOOOOOO-XOO--XOO-XOOOOOOX----------OX-------OX--XO-XO---XO-XOX-OX--XOOOX-OX--XO---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----OOX-----XOX--OO--OO--XOO-XOO--OOO--OO--OOX-XOX--OO-XOO--OOO-XOO--XX-----------OX-------OX--XO-XO---OO-XOX-OXXX---OX-OX--XO---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----OOOOOOOXXOOXOOO--OO--XOO--OOOOOOO--OOOOOOX-XOOXOOO--OOOOOOO--OOOOOO--OOX------OOXXXXXX-OX--XO--OOXXOO-XOX-OXXOX-XOX-OX--XO--XX-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----OOOOOOOX-OOOOOOX-OO--XOO---OOOXOO--XOOOOOX--OOOOOOX--OOOXOO--XOOOO---OOX------OOOOOOOX-OX--XO---OOOOO-XOX-OX-XOOOX--OX--XO--OO-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X-----------------------------XOX--XOO------------------XOX--XOO------------------------------------X---XO------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X------------------------------OOOOOOX-------------------OOOOOOX-----------------------------------XOOXOOX------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X-------------------------------OOOOX---------------------OOOOX-------------------------------------XOOOX-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X-------XX-----XX-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X------XOOX----OO---------------XO------------------------XO----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X------OOOO----OO---------------OO------------------------OO----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X-----XOOOOX---OOXOOX---XOOOX--OOOOX-OOOOXXOOOO----XOOO--OOOOX-XOX----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X-----OOXXOO---OOOOOOX-XOOOOOO-OOOOX-OOOOXOOOOOO--OOOOOO-OOOOX-OOX----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X-----OO--OO---OOX-XOO-XOO--XX--OO---OOX-XOX-XOO-XOO--OOX-OO---XX-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----XOOXXOOX--OO---OO-XOOOOX---OO---OO----XOOOO-XOO------OO----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----OOOOOOOO--OO---OO--XOOOOO--OO---OO--XOOOOOO-XOO------OO----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---XOOOXXOOOX-OOX-XOO-XXX-XOOX-OO---OO--XOX--OO-XOO--OOX-OO----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---XOO----OOO-OOOOOOX-XOOXOOO--OOOX-OO--XOOXOOO--OOOOOO--OOOX-OOX----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---OOX----XOO-OOOOOO---XOOOOX--XOOX-OO---OOOOOOX--OOOOX--XOOX-OOX----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----XXXXXXX---------------------------------XX------X---X----------X---------------------------X--X----------------------------------------------------------------------------X-----------X----------X--X---------------------------------X-----------XX--------------------------------------X-------------------------------------------X------X--------------------------------X---------------X----------------------X-----------------------------------------------X------------------------
-------X----OOOOOOOX------------------------OX------OOX----XOO--OX---------OX-------------------------XO--OX--------------------------------------------------------------------------XO----------XO---------XOX-OX--------------------------------OX---------OOOX---------------------------------OX--OX-----------------------------------------XO------OX------------------------------XOX-------------XO----------------------OX---------------------------------------------XOX------OX---------------
-------X----OX------------------------------OX------OOO----OOO----------------------------------------XO------------------------------------------------------------------------------XO----------XO---------XOX----------------------------------------------OX-----------------------------------OX---------------------------------------------XO------OX------------------------------XOX-------------XO---------------------------------------------------------------------XOX------OX---------------
-------X----OX------OX---XO--OOOX---OXOOO--OOOX-----OOO---XOOO--O--OXOOO---O--OXOOO----OOOXO-------OOOOO--O--XOOOX---OOOX---OOOX--OX---XO--OOOX---OXOO-XOOOX-------OOOO---OXOOO----OOOOO-------OOOOO---OOOX--XOX-OXOX---XO--OOOX---OXOO-XOOOX------O--OXOOO--OOOO--OOOX---OXOO-OXOOX-OOO----OOOO--OOOX-O---OOOX---OXOOO--------OOOO---OXOOO----OOOOO------OX-XOX-OXOOO----OOOX--OX--XO--XOXOX--OOOX----OOOOO---OOOXO---OOOX-------O--OXOOO--------OOOO-------OXOO--OOOX----OOOO--XOX-----OOOX--------------
-------X----OO------XO---OX-OOXXOO--OOXXOO-XOOX-----OXOX--XOOO--OX-OOXXOO--OX-OOXXOO--OOXOOO------OOXOOO--OXXOXXOO--OOXXOX-OOXXOO-XO---OX-OOXXOO-XOOOOXOXXOO------OOXXOO--OOXXOO--OOXOOO------OOXOOO--OOXXOO-XOX-OXXO---OX-OOXXOO-XOOOOXOXXOO------OX-OOXXOO-XOOX-OOXXOO-XOOOO-OOXOOOOXOO--OOXXOO-XOOX-OX-OOXXOO--OOXXOO------OOXXOO--OOXXOO--OOXOOO------OXXOO--OOXXOO--OOXXOO-OO--OO--XOXOX-OOXXOO--OOXOOO--OOXOOO--OOXXOO------OX-OOXXOO------OOXXOO-----XOOOO-OOXXOO--OOXXOO-XOX-----XOOX--------------
-------X----OOOOOOO--OX-XOXXO---XO--OX--XO--OX------OXXO--OXOO--OX-OX--XO--OX-OX--XO-XO---OO-----XO---OO--OXXOX--X-XOX--XOXOX--XOX-OX-XOXXO---XO-XOX--XOX--X------O---XO--OX--XO-XO---OO-----XO---OO-XO---XO-XOX-OX-OX-XOXXO---XO-XOX--XOX--X------OX-OX--XO--OX-XOX--XOXXOX---OX--OO--XO--O---XO--OX--OXXOX--XOX-OX--XO------O---XO--OX--XO-XO---OO------OXOO---OX--XO-XOX--XOXXO--OOX-OXXOXXO---XO-XO---OO-XO---OO-XO---XO------OX-OX--XO------O---XO-----XOX--XO---XO--O---XO-XOX------OX---------------
-------X----OO-------OO-OO-XOOOOOOX-OX--XO--OX------OXXO-XO-OO--OX-OX--XO--OX-OX--XO-XO---XO-----XO---XO--OX-OOOX--XO-----XO----OX-OO-OO-XOOOOOOXXOX---OOOX--------XXOOO--OX--XO-XO---XO-----XO---XO-XOOOOOOXXOX-OX-OO-OO-XOOOOOOXXOX---OOOX-------OX-OX--XO--OX-XO----OXXOX---OX--OX--XO---XXOOO--OX--OXXO----OX-OX--XO-------XXOOO--OX--XO-XO---XO------OOOX---OX--XO-XO----OX-OXXOOX-O-XOXXOOOOOOXXO---XO-XO---XO-XOOOOOOX-----OX-OX--XO-------XXOOO-----XOX--XOOOOOOX--XXOOO-XOXXOOO--OX---------------
-------X----OX-------XO-OX-XOXXXXX--OX--XO--OX------OX-OXXO-OO--OX-OX--XO--OX-OX--XO-XO---XO-----XO---XO--OX--XOOOXXO-----XO----OX-XO-OX-XOXXXXX-XOX----XOOOX----XOOOXOO--OX--XO-XO---XO-----XO---XO-XOXXXXX-XOX-OX-XO-OX-XOXXXXX-XOX----XOOOX-----OX-OX--XO--OX-XO----OXXOX---OX--OX--XO-XOOOXOO--OX--OXXO----OX-OX--XO-----XOOOXOO--OX--XO-XO---XO------OOOO---OX--XO-XO----OX-OXOXXOXO-XOXXOXXXXX-XO---XO-XO---XO-XOXXXXX------OX-OX--XO-----XOOOXOO-----XOX--XOXXXXX-XOOOXOO-XOXXOOOX-OX---------------
-------X----OX--------OOO--XO----X--OX--XO--OX------OX-OOOX-OO--OX-OX--XO--OX-OX--XO-XO---OO-----XO---XO--OXXX---OXXO---XOXO---XOX--OOO--XO----X-XOX--XX---OX----XO---XO--OX--XO-XO---XO-----XO---XO-XO----X-XOX-OX--OOO--XO----X-XOX--XX---OX-----OX-OX--XO--OX-XO---XOXXOX---OX--OX--XO-XO---XO--OX--OXXO---XOX-OX--XO-----XO---XO--OX--XO-XO---XO------OX-OX--OX--XO-XO---XOX-XOOXXOOX-XOXXO----X-XO---XO-XO---OO-XO----X------OX-OX--XO-----XO---XO-----XOX--XO----X-XO---XO-XOX------OX---------------
-------X----OOXXXXXX--OOO---OOXXOO--OX--XO--OOX-----OX-XOO--OO--OX-OX--XO--OX-OX--XO--OOXXOO------OO-XOO--OXXOX-XOX-OO-XOX-OO-XOO---OOO---OOXXOO-XOX--XOX-XOX----XOX-XOO--OX--XO--OO-XOO------OO-XOO--OOXXOO-XOX-OX--OOO---OOXXOO-XOX--XOX-XOX-----OX-OX--XO--OX--OO-XOO-XOX---OX--OX--XO-XOX-XOO--OOX-OX-OO-XOO--OX--XO-----XOX-XOO--OX--XO--OO-XOO------OX-XOX-OX--XO--OO-XOO--XOO--OOX-XOX-OOXXOO--OO-XOO--OOXXOO--OOXXOO------OX-OX--XO-----XOX-XOO-----XOX---OOXXOO-XOX-XOO-XOX------OOX--------------
-------X----OOOOOOOX--XOX---XOOOO---OX--XO--XOO-----OX--OX--OO--OX-OX--XO--OX-OX--XO---OOOOO------XOOOOO--OX-XOOOX--XOOOO--XOOOO----XOX---XOOOO--XOX---XOOOX------OOOOXO--OX--XO--XOOOOO------XOOOOO--XOOOO--XOX-OX--XOX---XOOOO--XOX---XOOOX------OX-OX--XO--OX--XOOOO--XOX---OX--OX--XO--OOOOXO--XOO-OX-XOOOO---OX--XO------OOOOXO--OX--XO--XOOOOO------OX--OO-OX--XO--XOOOO----OO--OO--XOX-XOOOO---XOOOOO---OOOOO--XOOOO-------OX-OX--XO------OOOOXO-----XOX---XOOOO---OOOOXO-XOX------XOO--------------
-------X------------------------------------------------------------------------------X---XO------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X---XO---------------------------------------------------------------------------------------
-------X-----------------------------------------------------------------------------XOOXOOX-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------XOOXOOX---------------------------------------------------------------------------------------
-------X------------------------------------------------------------------------------XOOOX-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------XOOOX----------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------X-------X------------------------------------------------------------------------------X-------------------X-----------------------------------------------X---------------------X----------------------------------------------------------------------X------------------------------------------X-------------------------------XX------XX------------------------------X--------------------------------------------------------------------------------
-------X---------------------------------------OX------OX-------------------------------------OX--OX----------------------------------OX-----------------XO----------OX----------------------------------XO---------------------OX-----------------------------------------------------OX--------------OX-------------OX----------------------OX--OX-----------------------------OOOX----OOOX----------------------------XO----------------------OX--OX----------------------------------------------------
-------X---------------------------------------OX---------------------------------------------OX--OX-----------------------------------------------------XO----------OX----------------------------------XO---------------------OX-----------------------------------------------------OX--------------OX-------------OX----------------------OX---------------------------------OX------OX------------------------------XO----------------------OX--OX----------------------------------------------------
-------X----XOOOX---OOOX----OOOO---OXOO--OOOX--OOOOO---O--OXOOO----OOOXO------OXOOX----OOOO--OOOXOOOX--OOOX---OXOO-OXOOO---XOOOX------O--OXOOO--------OOOOO---OOOO--OOOX--OOOO--------OOOO---OXOOO----OOOOO------XOOOX--O---XO--OOOOX---XOOOX---OOOX----OOOXX--O---XO---OOOX---OXOOO--OOOX------OOOO---OOOOX---XOOOX-OOOX-OXOO--OOOO----OOOX-OOOX-O---OOOX---OXOOO--------OOOX--OOOO----OOOO--OOOX---O---XO--OXOOO----OOOOO------OXOOX----OOOO--OOOXOOOX--OOOX---OXOO-OXOOO---XOOOX-------OOOX-------------
-------X---XOXXOO--OOXXOO--OOXXOO-XOOOO-OOXXOX-OOXXOO--OX-OOXXOO--OOXOOO------OOXXOO--OOXXOO-XOOXXOOX-OOXXOO-XOOOO-OOXXOO-XOXXOO------OX-OOXXOO------OOXOOO--OOXXOO-XOOX-OOXXOO------OOXXOO--OOXXOO--OOXOOO-----XOXXOO-XOX--XO--OOXXOO-XOXXOO--OOXXOO--OOXOOO-XOX--XO--OOXXOO--OOXXOO-XOOX-----OOXXOO--OOXXOO-XOXXOO-XOOXXOOOO-OOXXOO--OOXXOXXOOX-OX-OOXXOO--OOXXOO------OOXXOO-XOOX----XOOX-OOXXOO-XOX--XO--OOXXOO--OOXOOO------OOXXOO--OOXXOO-XOOXXOOX-OOXXOO-XOOOO-OOXXOO-XOXXOO------OOXXO-------------
-------X---XOX--X-XO---XO--O---XO-XOX--XOX--XO-OX--XO--OX-OX--XO-XO---OO------OX--XO--O---XO--OX--OX-XO---XO-XOX---OX--XO-XOX--X------OX-OX--XO-----XO---OO--O---XO--OX--O---XO------O---XO--OX--XO-XO---OO-----XOX--X-XOX--XO--OX--XO-XOX--X-XO---XO-XO---OO-XOX--XO-XO---XO--OX--XO--OX------O---XO--OX--XO-XOX--X--OX-XOX---O---XO-XOX--XO-OX--OXXOX--XOX-OX--XO-----XOX--XOX-OX------OX-XOX--XOXXOX--XO--OX--XO-XO---OO------OX--XO--O---XO--OX--OX-XO---XO-XOX---OX--XO-XOX--X-----XOX--X-------------
-------X----OOOX--XOOOOOOX--XXOOO-XOX--XO------OX--XO--OX-OX--XO-XO---XO------O----OX--XXOOO--OX--OX-XOOOOOOXXOX---OX--XO--OOOX-------OX-OX--XO-----XO---XO---XXOOO--OX---XXOOO-------XXOOO--OX--XO-XO---XO------OOOX--XOX--XO--O----OX-OOOX--XOOOOOOXXO---XO-XOX--XO-XOOOOOOX-OX--XO--OX-------XXOOO--O----OX-OOOX---OX-XOX----XXOOO-XO------OX--OXXO----OX-OX--XO-----XO----OX-OX------OX-XO----OXXOX--XO--OX--XO-XO---XO------O----OX--XXOOO--OX--OX-XOOOOOOXXOX---OX--XO--OOOX------XO-----------------
-------X-----XOOOXXOXXXXX-XOOOXOO-XOX--XO------OX--XO--OX-OX--XO-XO---XO------O----OXXOOOXOO--OX--OX-XOXXXXX-XOX---OX--XO---XOOOX-----OX-OX--XO-----XO---XO-XOOOXOO--OX-XOOOXOO-----XOOOXOO--OX--XO-XO---XO-------XOOOXXOX--XO--O----OX--XOOOXXOXXXXX-XO---XO-XOX--XO-XOXXXXX--OX--XO--OX-----XOOOXOO--O----OX--XOOOX-OX-XOX--XOOOXOO-XO------OX--OXXO----OX-OX--XO-----XO----OX-OX------OX-XO----OXXOX--XO--OX--XO-XO---XO------O----OXXOOOXOO--OX--OX-XOXXXXX-XOX---OX--XO---XOOOX----XO-----------------
-------X---XX---OXXO----X-XO---XO-XOX--XO---XO-OX--XO--OX-OX--XO-XO---OO------OX--XO-XO---XO--OX--OX-XO----X-XOX---OX--XO-XX---OX-----OX-OX--XO-----XO---XO-XO---XO--OX-XO---XO-----XO---XO--OX--XO-XO---XO-----XX---OXXOX--XO--OX--XOXXX---OXXO----X-XO---XO-XOX--XO-XO----X--OX--XO--OX-----XO---XO--OX--XOXXX---OX-OX-XOX--XO---XO-XO---XO-OX--OXXO---XOX-OX--XO-----XO---XOX-OX------OX-XO---XOXXOX--XO--OX--XO-XO---XO------OX--XO-XO---XO--OX--OX-XO----X-XOX---OX--XO-XX---OX----XO---X-------------
-------X---XOX-XOX-OOXXOO-XOX-XOO-XOX---OO-XOX-OX--XO--OX-OX--XO--OOXXOO------OOXXOO-XOX-XOO--OOX-OOX-OOXXOO-XOX---OX--XO-XOX-XOX-----OX-OX--XO------OO-XOO-XOX-XOO--OOXXOX-XOO-----XOX-XOO--OX--XO--OO-XOO-----XOX-XOX-OO-XOO--OOXXOO-XOX-XOX-OOXXOO--OO-XOO--OO-XOO--OOXXOO--OX--XO--OOX----XOX-XOO--OOXXOO-XOX-XOX-OOXXOX--XOX-XOO--OO-XOX-OOX-OX-OO-XOO--OX--XO------OO-XOO--OX------OX--OO-XOO--OO-XOO--OX--XO--OO-XOO------OOXXOO-XOX-XOO--OOX-OOX-OOXXOO-XOX---OX--XO-XOX-XOX-----OO-XO-------------
-------X----XOOOX--XOOOO---OOOOXO-XOX---XOOOO--OX--XO--OX-OX--XO---OOOOO------OOOOO---OOOOXO--XOO-XOO-XOOOO--XOX---OX--XO--XOOOX------OX-OX--XO------XOOOOO--OOOOXO--XOO-OOOOXO------OOOOXO--OX--XO--XOOOOO------XOOOX--XOOOXO--OOOOO---XOOOX--XOOOO---XOOOOO--XOOOXO--XOOOO---OX--XO--XOO-----OOOOXO--OOOOO---XOOOX--XOOXOX---OOOOXO--XOOOO--XOO-OX-XOOOO---OX--XO------XOOOO---OX------OX--XOOOO---XOOOXO--OX--XO--XOOOOO------OOOOO---OOOOXO--XOO-XOO-XOOOO--XOX---OX--XO--XOOOX------XOOOO-------------
-------X----------------------------------------------------------X---XO------OX---------------------------------------------------------------------------------------------------------------------------------------------------------------------------XO--------------------------------------------------------------------------------------------------------------------------------------------------------------------OX------------------------------------------------------------------------
-------X---------------------------------------------------------XOOXOOX------OX---------------------------------------------------------------------------------------------------------------------------------------------------------------------------XO--------------------------------------------------------------------------------------------------------------------------------------------------------------------OX------------------------------------------------------------------------
-------X----------------------------------------------------------XOOOX-------O----------------------------------------------------------------------------------------------------------------------------------------------------------------------------XX--------------------------------------------------------------------------------------------------------------------------------------------------------------------O-------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----------------------------------X---------------------------------XX------------------------------------------------------------X-------------------XX----------------------------------------------------------------------------------------------X-----------------------------------------------------------------------X--XXXXXXX--XXXXX-------X-----------XX-------------------------------------X----------------------X-------------------------------------------X--X-------------------
-------X----------------------------------OX--------OX---------------------OOOX--------------------------------OX-------------------------OX-----------------OOOX-----------------------------------OX--------------------------------------------------------OX-----------------------------------------------------OX--------------XO--OOOOOOOX-OOOOOOO----XOO-----------OX------------------------------------OX---------------------OX-----------------------------------------XOXXOX------------------
-------X--------------------------------------------OX---------------------OX----------------------------------OX-------------------------OX-----------------OX-------------------------------------OX---------------------------------------------------------------------------------------------------------------OX--------------OX--OX-------OX---XOO---OOO-----------XO------------------------------------------------------------------------------------------------------XOXXOX------------------
-------X-----OOOX---OOOX---OXOOO---XOOOX--O--XOOOX-OOOX-XOOOX-------OOOX--OOOO------OOOO-------OXOOO----OOOX--OOOOOX--XO--XO--OOOX---OXOO-OX-XOX------OOOX--OOOO------OOOX--OX---XO--OOOX---OXOOO--OOOX-----OXOOX---OXOO--OOOX----OOOX---OOOX---XOOOX--XOOOX--O--OXOOO----OOOXO-------OOOO----OOOXO---OOOX---OXOOO--OOOX-XOOOX------XO---OX-------OX----OO--XOXOX---XOOOX---OX------OXOOXO---XO--OXOOO---OXOOO---O--OXOOO----OOOXO------O--OXOOO-------OXOOX----OOOO---OXOO--OOOO--XOXXOX--OOO-------------
-------X----OOXXOX-OOXXOO--OOXXOO-XOXXOO--OXXOXXOO-XOOXXOXXOO------OOXXOO-XOOX-----OOXXOO------OOXXOO--OOXXOO-XOOXOO--OO--XO-OOXXOO-XOOOO-OXXOO------OOXXOO-XOOX-----OOXXOO-XO---OX-OOXXOO--OOXXOO-XOOX-----OOXXOO-XOOOO-OOXXOO--OOXXOX-OOXXOO-XOXXOO-XOXXOO--OX-OOXXOO--OOXOOO------OOXXOO--OOXOOO--OOXXOO--OOXXOO-XOOXXOXXOO------OX---OO-------OX----OO--OO-XO--XOXXOO---OX-----XOOOOXOX--XO--OOXXOO--OOXXOO--OX-OOXXOO--OOXOOO------OX-OOXXOO------OOXXOO--OOXXOO-XOOOO-OOXXOO-XOXXOX-OOXX-------------
-------X---XOX--XOXOX--XOX-OX--XO-XOX--X--OXXOX--X--OX-XOX--X-----XOX--XOX-OX------O---XO------OX--XO-XO---XO--OX-XO--OOX-OXXOX--XOXXOX---OXOO------XOX--XOX-OX-----XO---XO--OX-XOXXO---XO--OX--XO--OX------OX--XO-XOX--XOX--XOXXOX--XOXO---XO-XOX--X-XOX--X--OX-OX--XO-XO---OO------O---XO-XO---OO-XO---XO--OX--XO--OX-XOX--X------OX---OOOOOOO--OOOOOOOX--OX--OX-XOX--X---XO-----XOX--XOX--XO--OX--XO--OX--XO--OX-OX--XO-XO---OO------OX-OX--XO------OX--XO--O---XO-XOX---O---XO-XOXXOXXO----------------
-------X---XO-----XO----OX-OX--XO--OOOX---OX-OOOX---OX--OOOX------XO----OX-OX-------XXOOO------OX--XO-XOOOOOOX-OX--OXXOOX-O-XO----OXXOX---OOOX------XO----OX-OX-----XOOOOOOX-OO-OO-XOOOOOOX-OX--XO--OX------O----OXXOX--XO----OXXO-----XOOOOOOX-OOOX---OOOX---OX-OX--XO-XO---XO-------XXOOO-XO---XO-XOOOOOOX-OX--XO--OX--OOOX------XOX---OO-------OOOOOO---XOOXXOO--OOOX----XO-----XOX--XOX--XO--OX--XO--OX--XO--OX-OX--XO-XO---XO------OX-OX--XO------O----OX--XXOOO-XOX----XXOOO-XOXXOXXOOOO-------------
-------X---XO-----XO----OX-OX--XO---XOOOX-OX--XOOOX-OX---XOOOX----XO----OX-OX-----XOOOXOO------OX--XO-XOXXXXX--OX--OXOXXOXO-XO----OXXOX---OOOO------XO----OX-OX-----XOXXXXX--XO-OX-XOXXXXX--OX--XO--OX------O----OXXOX--XO----OXXO-----XOXXXXX---XOOOX--XOOOX-OX-OX--XO-XO---XO-----XOOOXOO-XO---XO-XOXXXXX--OX--XO--OX---XOOOX----XOX---OX-------OX-------OOOOOOO---XOOOX--XO-----XOX--XOX--XO--OX--XO--OX--XO--OX-OX--XO-XO---XO------OX-OX--XO------O----OXXOOOXOO-XOX--XOOOXOO-XOXXOXXOXXX-------------
-------X---XO---XOXO---XOX-OX--XO-XX---OX-OXXX---OX-OX-XX---OX----XO---XOX-OX-----XO---XO------OX--XO-XO----X--OX--XOOXXOOX-XO---XOXXOX---OX-OX-----XO---XOX-OX-----XO----X---OOO--XO----X--OX--XO--OX------OX--XO-XOX--XO---XOXXO---XOXO----X-XX---OXXX---OX-OX-OX--XO-XO---OO-----XO---XO-XO---OO-XO----X--OX--XO--OX-XX---OX-----OX---OX-------OX------XOX----OXXX---OX--XO-----XOX--XOX--XO--OX--XO--OX--XO--OX-OX--XO-XO---OO------OX-OX--XO------OX--XO-XO---XO-XOX--XO---XO-XOXXOXXO----------------
-------X----OO-XOX-OO-XOO--OX--XO-XOX-XOX-OXXOX-XOX-OOXXOX-XOX-----OO-XOO--OX-----XOX-XOO------OX--XO--OOXXOO--OOX-XOO--OOX--OO-XOO-XOX---OX-XOX-----OO-XOO--OX------OOXXOO---OOO---OOXXOO--OX--XO--OOX-----OOXXOO-XOX---OO-XOO--OO-XOX-OOXXOO-XOX-XOXXOX-XOX-OX-OX--XO--OOXXOO-----XOX-XOO--OOXXOO--OOXXOO--OX--XO--OOXXOX-XOX-----OX---OOXXXXXX-OX------XO-----OOXOX-XOX--OX-----XOX---OO-XOO--OX--XO--OX--XO--OX-OX--XO--OOXXOO------OX-OX--XO------OOXXOO-XOX-XOO-XOX--XOX-XOO-XOXXOX-OOXX-------------
-------X----XOOOO--XOOOO---OX--XO--XOOOX--OX-XOOOX--XOO-XOOOX------XOOOO---OX------OOOOXO------OX--XO--XOOOO---XOO--OO--OO---XOOOO--XOX---OX--OO-----XOOOO---OX------XOOOO----XOX---XOOOO---OX--XO--XOO-----OOOOO--XOX---XOOOO---XOOOO--XOOOO---XOOOX--XOOOX--OX-OX--XO---OOOOO------OOOOXO---OOOOO--XOOOO---OX--XO--XOO-XOOOX------OO---OOOOOOOX-OX------OX-----XOXXOOOX---OX-----XOX---XOOOXO--OX--XO--OX--XO--OX-OX--XO---OOOOO------OX-OX--XO------OOOOO---OOOOXO-XOX---OOOOXO-XOXXOX-XOOO-------------
-------X----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------OX-----------------------------------------------------------X---XO--------------X---XO---------------------------------XO-------------------------------------XO-----------------------------------------------X---XO---------------------OX--------------------------------------------------
-------X----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------OX----------------------------------------------------------XOOXOOX-------------XOOXOOX----------------------------------OX------------------------------------OX----------------------------------------------XOOXOOX---------------------OX--------------------------------------------------
-------X----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------O------------------------------------------------------------XOOOX---------------XOOOX------------------------------------O-----------------------------------XO------------------------------------------------XOOOX----------------------O---------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X----------------------------XXXX------------------------------------X----------------------------------------------------X-----------------------------------------X-----------------------------------XX----------------------------------X-------------------------------------------------------X------------------------------------------------------------------XXXXXXX--X----------------------------------------X---------------X---------X----------------------X-----------X-------------
-------X---------------------------OOOXOX----------------------------------XO--------------OX--------------------------------OX--OX----------------------------------------OX---------------------------------OOOX--------------------------------XOX---------------------OX--OX--------------------------XOX----------------------------------------------------------------OOOOOOOOX-OX--------------------------------------XO--------------XOX--------OX---------------------OX---------OO-------------
-------X---------------------------OX--------------------------------------XO--------------OX--------------------------------OX-------------------------------------------------------------------------------OX----------------------------------XOX---------------------OX--OX--------------------------XOX-------------------------------------------------------------------XO-----OX--------------------------------------XO--------------XOX------------------------------------------OX-------------
-------X-----OOOX---OOOX---OXOOO--OOOO-O---OOOXO--O---XO--OXOO--OOOX----OOOOO-------OOOO--OOOX-----OXOOXO---XO--OXOOO-------OOOX-O--OXOOX-OOO----OOOX-------O---XO--XOOOX--O--OXOOO----OOOXO-------OOOO------OOOO--OOOX---OXOO-OXOOX-OOO----OOOO--XOX-----OXOOX----OOOO--OOOXOOOX--OOOX---OXOO-OXOOO------XOX--OOOO---OXOOO----OOOXO--O---XO---OOOO----OOOXO---OOOX-------------XO-----OOOOO----OOOX-------O---XO--OXOOO----OOOOO---OOOX---OXOOXOXXX---XO-O--OXOOO----OOOXO------O--OXOOO--OOO-------------
-------X----OOXXOX-OOXXOO--OOXXOO-XOOX-OX-OOXOOO-XOX--XO-XOOOO-OOXXOO--OOXOOO------OOXXOO-XOOX----XOOOOXOX--XO--OOXXOO------XOOX-OX-OOXOOOOXOO--OOXXOO-----XOX--XO-XOXXOO--OX-OOXXOO--OOXOOO------OOXXOO-----XOOX-OOXXOO-XOOOO-OOXOOOOXOO--OOXXOO-XOX-----OOXXOO--OOXXOO-XOOXXOOX-OOXXOO-XOOOO-OOXXOO-----XOX-OOXXOO--OOXXOO--OOXOOO-XOX--XO--OOXXOO--OOXOOO--OOXXOO------------XO-----OOXXOO--OOXXOO-----XOX--XO--OOXXOO--OOXOOO--OOXXOO-XOOOOXOXXO---OX-OX-OOXXOO--OOXOOO------OX-OOXXOO-XOO-------------
-------X---XOX--XOXOX--XOX-OX--XO--OX--OXXO---OO-XOX--XO-XOX--XO---XO-XO---OO------O---XO--OX-----XOX--XOX--XO--OX--XO-------OX--OX-OX--OO--XO-XO---XO-----XOX--XO-XOX--X--OX-OX--XO-XO---OO------O---XO------OX-XOX--XOXXOX---OX--OO--XO--O---XO-XOX-----OX--XO--O---XO--OX--OX-XO---XO-XOX---OX--XO-----XOX-O---XO--OX--XO-XO---OO-XOX--XO--O---XO-XO---OO-XO---XO------------XO-----OX--XO-XO---XO-----XOX--XO--OX--XO-XO---OO-XO---XO-XOX--XOX-OX-XOX-OX-OX--XO-XO---OO------OX-OX--XO--OX-------------
-------X---XO-----XO----OX-OX--XO--OX--OXXO---XO-XOX--XO-XOX--XOOOOOOXXO---XO-------XXOOO--OX-----XOX--XOX--XO--OX--XO-XOOO--OX--OX-OX--OX--XO-XOOOOOOX----XOX--XO--OOOX---OX-OX--XO-XO---XO-------XXOOO------OX-XO----OXXOX---OX--OX--XO---XXOOO-XOX-----O----OX--XXOOO--OX--OX-XOOOOOOXXOX---OX--XO-----XOX--XXOOO--OX--XO-XO---XO-XOX--XO---XXOOO-XO---XO-XOOOOOOX-----------XO-----OX--XO-XOOOOOOX----XOX--XO--OX--XO-XO---XO-XOOOOOOXXOX--XOX-OO-XO--OX-OX--XO-XO---XO------OX-OX--XO--OX-------------
-------X---XO-----XO----OX-OX--XO--OX--OXXO---XO-XOX--XO-XOX--XOXXXXX-XO---XO-----XOOOXOO--OX-----XOX--XOX--XO--OX--XO-XOOOX-OX--OX-OX--OX--XO-XOXXXXX-----XOX--XO---XOOOX-OX-OX--XO-XO---XO-----XOOOXOO------OX-XO----OXXOX---OX--OX--XO-XOOOXOO-XOX-----O----OXXOOOXOO--OX--OX-XOXXXXX-XOX---OX--XO-----XOXXOOOXOO--OX--XO-XO---XO-XOX--XO-XOOOXOO-XO---XO-XOXXXXX------------XO-----OX--XO-XOXXXXX-----XOX--XO--OX--XO-XO---XO-XOXXXXX-XOX--XOX-XOXOX--OX-OX--XO-XO---XO------OX-OX--XO--OX-------------
-------X---XO---XOXO---XOX-OX--XO--OX--OXXO---OO-XOX--XO-XOX--XO----X-XO---XO-----XO---XO--OX-----XOX--XOX--XO--OX--XO-------OX--OX-OX--OX--XO-XO----X-----XOX--XO-XX---OX-OX-OX--XO-XO---OO-----XO---XO------OX-XO---XOXXOX---OX--OX--XO-XO---XO-XOX-----OX--XO-XO---XO--OX--OX-XO----X-XOX---OX--XO-----XOXXO---XO--OX--XO-XO---OO-XOX--XO-XO---XO-XO---OO-XO----X------------XO-----OX--XO-XO----X-----XOX--XO--OX--XO-XO---XO-XO----X-XOX--XOX--OOO---OX-OX--XO-XO---OO------OX-OX--XO--OX-------------
-------X----OO-XOX-OO-XOO--OX--XO--OX--OX-OOXXOO--OO-XOO-XOX---OOXXOO--OO-XOO-----XOX-XOO--OOX----XOX---OO-XOO--OX--XO-------OOX-OX-OX--OX--XO--OOXXOO------OO-XOO-XOX-XOX-OX-OX--XO--OOXXOO-----XOX-XOO------OX--OO-XOO-XOX---OX--OX--XO-XOX-XOO-XOX-----OOXXOO-XOX-XOO--OOX-OOX-OOXXOO-XOX---OX--XO-----XOXXOX-XOO--OX--XO--OOXXOO--OO-XOO-XOX-XOO--OOXXOO--OOXXOO--XX--------XO-----OX--XO--OOXXOO------OO-XOO--OX--XO--OO-XOO--OOXXOO-XOX--XOX--XOO---OX-OX--XO--OOXXOO------OX-OX--XO--OX-------------
-------X----XOOOO--XOOOO---OX--XO--OX--OX--OOOOO--XOOOXO-XOX---XOOOO---XOOOOO------OOOOXO--XOO----XOX---XOOOXO--OX--XO-------XOO-OX-OX--OX--XO--XOOOO-------XOOOXO--XOOOX--OX-OX--XO---OOOOO------OOOOXO------OX--XOOOO--XOX---OX--OX--XO--OOOOXO-XOX-----OOOOO---OOOOXO--XOO-XOO-XOOOO--XOX---OX--XO-----XOX-OOOOXO--OX--XO---OOOOO--XOOOXO--OOOOXO---OOOOO--XOOOO---OO--------XO-----OX--XO--XOOOO-------XOOOXO--OX--XO--XOOOOO--XOOOO--XOX--XOX--XOX---OX-OX--XO---OOOOO------OX-OX--XO--OX-------------
-------X----------------------------------X---XO--------------------------------------------------------------------------------------------------------------------------------------X---XO--------------------------------------------------------------OX------------------------------------------------------------------X---XO------------------X---XO----------------------------------------------------------------------------------------XO---------------X---XO--------------------------------
-------X---------------------------------XOOXOOX-------------------------------------------------------------------------------------------------------------------------------------XOOXOOX--------------------------------------------------------------OX-----------------------------------------------------------------XOOXOOX-----------------XOOXOOX---------------------------------------------------------------------------------------OOX--------------XOOXOOX--------------------------------
-------X----------------------------------XOOOX---------------------------------------------------------------------------------------------------------------------------------------XOOOX---------------------------------------------------------------O-------------------------------------------------------------------XOOOX-------------------XOOOX---------------------------------------------------------------------------------------XOO----------------XOOOX---------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X-----------------------------------------XXXX-----------------------------------X-------------------------------XX---------X--------------------------------------------------------------------------X---------------------X--------------------------------------------------X-----------------------------X------------------------------------------------------------------------------------------------------------------------------------------------------X------------------------------
-------X----------------------------------------OOOXOX------------------------------OX--OX-----------------------------OOOX----OX--OX-------------------------------------------------------------------------OX----------------OX--OX---------------------OX-------------------------XOX----------------------------OX--------------OX------------------------------------------------------------------------OX---------------------OX--------------------------------OX--OX-----------------------------
-------X----------------------------------------OX----------------------------------OX---------------------------------OX------OX--OX-------------------------------------------------------------------------------------------OX-------------------------OX-------------------------XOX----------------------------OX--------------OX------------------------------------------------------------------------OX---------------------OX--------------------------------OX---------------------------------
-------X----OXOO--OOOX----OOOX---OOOX---OXOOO--OOOO-O---OOOXO--O---XO--OXOO--OOOO--OOOX-O---OOOX---OXOOO--------OOOX--OOOO----OOOX-OOOOO----OOOX--------OOOX---OOOX---OXOOX-OOO---OXOOX-OOO---O---XO--OXOOO---O---OOOX---OOOO--OOOX-O---OOOX---OXOOO------OOOX--OOOX---OXOOX----OOOX--XOX--OOOX----OOOXO-XX---XO-----OOOOX----OOOX--OOOOOX--XO--XO--OOOX----OOOX---OXOOO--------OOOO----OOOXO---OOOX---OXOOO--OOOX-XOOOX-------OOOO--OOOX-----OXOOXO---XO--OXOOO-------OOOX-O--OXOOX-OOO----OO-------------
-------X---XOOOO-OOXXOO--OOXXOX-OOXXOO--OOXXOO-XOOX-OX-OOXOOO-XOX--XO-XOOOO-OOXXOO-XOOX-OX-OOXXOO--OOXXOO------OOXXOO-XOOX----XOOX-OOXXOO--OOXXOO------OOXXOX-OOXXOO--OOXOOOOXOO--OOXOOOOXOO-XOX--XO--OOXXOO--OX-OOXXOX-OOXXOO-XOOX-OX-OOXXOO--OOXXOO-----XOOX-OOXXOO--OOXXOO--OOXXOO-XOX-OOXXOO--OOXOOO-XO---OX-----OOXXOO--OOXXOO-XOOXOO--OO--XO-OOXXOO--OOXXOO--OOXXOO------OOXXOO--OOXOOO--OOXXOO--OOXXOO-XOOXXOXXOO------OOXXOO-XOOX----XOOOOXOX--XO--OOXXOO------XOOX-OX-OOXOOOOXOO--OOX-------------
-------X---XOX--XO---XO-XOX--XOXOX--XOX-OX--XO--OX--OXXO---OO-XOX--XO-XOX---O---XO--OX--OXXOX--XOX-OX--XO-----XOX--XOX-OX------OX--OX--XO-XO---XO-----XOX--XOXOX--XOX-OX--OO--XO--OX--OO--XO-XOX--XO--OX--XO--OXXOX--XOXO---XO--OX--OXXOX--XOX-OX--XO------OX-XOX--XOX-OX--XO-XOX--XOXXOXXOX--XOXXO---OO--OX-XOX-----OX--XO-XO---XO--OX-XO--OOX-OXXO---XO-XO---XO--OX--XO------O---XO-XO---OO-XO---XO--OX--XO--OX-XOX--X------O---XO--OX-----XOX--XOX--XO--OX--XO-------OX--OX-OX--OO--XO-XO---------------
-------X---XOX--XOOOOOOXXO-----XO----OX-OX--XO--OX--OXXO---XO-XOX--XO-XOX----XXOOO--OX--OXXO----OX-OX--XO-----XO----OX-OX------OX--OX--XO-XOOOOOOX----XO-----XO----OX-OX--OX--XO--OX--OX--XO-XOX--XO--OX--XO--OXXO-------XXOOO--OX--OXXO----OX-OX--XO------OX-XO----OX-O----OXXO----OXXOXXO----OXXO---XO--OO-XO------O----OXXOOOOOOX-OX--OXXOOX-O-XOOOOOOXXOOOOOOX-OX--XO-------XXOOO-XO---XO-XOOOOOOX-OX--XO--OX--OOOX--------XXOOO--OX-----XOX--XOX--XO--OX--XO-XOOO--OX--OX-OX--OX--XO-XOOO-------------
-------X---XOX--XOXXXXX-XO-----XO----OX-OX--XO--OX--OXXO---XO-XOX--XO-XOX--XOOOXOO--OX--OXXO----OX-OX--XO-----XO----OX-OX------OX--OX--XO-XOXXXXX-----XO-----XO----OX-OX--OX--XO--OX--OX--XO-XOX--XO--OX--XO--OXXO-----XOOOXOO--OX--OXXO----OX-OX--XO------OX-XO----OX-O----OXXO----OXXOXXO----OXXO---XO--XOXOX------O----OXXOXXXXX--OX--OXOXXOXO-XOXXXXX-XOXXXXX--OX--XO-----XOOOXOO-XO---XO-XOXXXXX--OX--XO--OX---XOOOX----XOOOXOO--OX-----XOX--XOX--XO--OX--XO-XOOOX-OX--OX-OX--OX--XO-XOXX-------------
-------X---XOX--XO----X-XO---XOXO---XOX-OX--XO--OX--OXXO---OO-XOX--XO-XOX--XO---XO--OX--OXXO---XOX-OX--XO-----XO---XOX-OX------OX--OX--XO-XO----X-----XO---XOXO---XOX-OX--OX--XO--OX--OX--XO-XOX--XO--OX--XO--OXXO---XOXO---XO--OX--OXXO---XOX-OX--XO------OX-XO---XOX-OX--XO-XO---XOXXOXXO---XOXXO---OO---OOO-------OX--XOXXO----X--OX--XOOXXOOX-XO----X-XO----X--OX--XO-----XO---XO-XO---OO-XO----X--OX--XO--OX-XX---OX----XO---XO--OX-----XOX--XOX--XO--OX--XO-------OX--OX-OX--OX--XO-XO---------------
-------X---XOX---OOXXOO--OO-XOX-OO-XOO--OX--XO--OX--OX-OOXXOO--OO-XOO-XOX--XOX-XOO--OOX-OX-OO-XOO--OX--XO------OO-XOO--OX------OOX-OX--XO--OOXXOO------OO-XOX-OO-XOO--OX--OX--XO--OX--OX--XO--OO-XOO--OX--XO--OX-OO-XOXXOX-XOO--OOX-OX-OO-XOO--OX--XO------OOX-OO-XOO--OOXXOO--OO-XOO-XOX-OO-XOO--OOXXOO---XOO-------OOXXOO--OOXXOO--OOX-XOO--OOX--OOXXOO--OOXXOO--OX--XO-----XOX-XOO--OOXXOO--OOXXOO--OX--XO--OOXXOX-XOX----XOX-XOO--OOX----XOX---OO-XOO--OX--XO-------OOX-OX-OX--OX--XO--OOX-------------
-------X---XOX---XOOOO---XOOOO--XOOOO---OX--XO--OX--OX--OOOOO--XOOOXO-XOX---OOOOXO--XOO-OX-XOOOO---OX--XO------XOOOO---OX------XOO-OX--XO--XOOOO-------XOOOO--XOOOO---OX--OX--XO--OX--OX--XO--XOOOXO--OX--XO--OX-XOOOO--OOOOXO--XOO-OX-XOOOO---OX--XO------XOO-XOOOO---OOOOO---XOOOO--XOX-XOOOO----OOOOO---XOX-------OOOOO---XOOOO---XOO--OO--OO---XOOOO---XOOOO---OX--XO------OOOOXO---OOOOO--XOOOO---OX--XO--XOO-XOOOX------OOOOXO--XOO----XOX---XOOOXO--OX--XO-------XOO-OX-OX--OX--XO--XOO-------------
-------X-----------------------------------------------X---XO----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------OX-------------------------X---XO---XO--------------------------------------------------------------------------X---XO--------------------------------------------------------------------------------------------------------------
-------X----------------------------------------------XOOXOOX----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------OX------------------------XOOXOOX--OOX-------------------------------------------------------------------------XOOXOOX--------------------------------------------------------------------------------------------------------------
-------X-----------------------------------------------XOOOX-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------O--------------------------XOOOX--XOO---------------------------------------------------------------------------XOOOX---------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------X-------------------------------------X---------------------X--X-----------------------------X-------------------------------XX-----XXXXXXX--XXXXX-------X-------------------------------------X--X---XX--XX------------------------------------------X---------------------------------X----------------------------------X----------------------------------------------------------------------------------------------------X--X---XX--XX---------------------------------------------
-------X--------XO-------------------------------------OX-------------------XOXXOX------------------------OX--OX-----------------------------OOOX----OOOOOOOX-OOOOOOO----XOO---------------OX------------------XO--OX-OOOXOOOX-----------------------------OX------OX--OX-------------------------------XO---------------------------------XO---------------------------------------------------------------------------------------------------XO--OX-OOOXOOOX-----------------------------OX-------------
-------X--------XO----------------------------------------------------------XOXXOX------------------------OX---------------------------------OX------OX-------OX---XOO---OOO---------------OX------------------XO-----OX--OX-------------------------------OX------OX--OX-------------------------------XO---------------------------------XO---------------------------------------------------------------------------------------------------XO-----OX--OX-------------------------------OX-------------
-------X-----OOOOO-XX---XO-OXOOO----OOOO---OXOOX-OOO---O---OOOX-------OOOO--XOXXOX--OOOX----OOOX---OOOO--OOOX-O---OOOX---OXOOO--------OOOX--OOOO-----OX-------OX----OO--XOXOX---XOOOX-----OOOX--OOOX--------OOOOO--OXOOOOOOOO--OOOX---OXOO--OOOX---OXOOO--OOOX----OOOX-OOOOO---OXOO--OOOX----OOOO----OOOOO--XOOOX-------OOOO---OXOOO----OOOOO------OXOOX---OXOO--OOOX----OOOX---OOOX---XOOOX--XOOOX---OOOX---XOOOX-------OOOX---OXOOO--------OOOOO--OXOOOOOOOO--OOOX---OXOO--OOOX---OXOOO--OOO-------------
-------X----OOXOOO-XO---OX-OOXXOO--OOXXOO--OOXOOOOXOO--OX-OOXXOX-----OOXXOO-XOXXOX-OOXXOO--OOXXOX-OOXXOO-XOOX-OX-OOXXOO--OOXXOO------OOXXOO-XOOX-----OO-------OX----OO--OO-XO--XOXXOO-----XOOX-OOXXOO------OOXOOO--OXXOOXXOOX-OOXXOO-XOOOO-OOXXOO--OOXXOO-XOOX----XOOX-OOXXOO-XOOOO-OOXXOO--OOXXOO--OOXOOO-XOXXOO------OOXXOO--OOXXOO--OOXOOO------OOXXOO-XOOOO-OOXXOO--OOXXOX-OOXXOO-XOXXOO-XOXXOO--OOXXOO-XOXXOO------OOXXOO--OOXXOO------OOXOOO--OXXOOXXOOX-OOXXOO-XOOOO-OOXXOO--OOXXOO-XOO-------------
-------X---XO---OO--OX-XOX-OX--XO--O---XO--OX--OO--XO--OXXOX--XO-----O---XO-XOXXOXXOX--XOXXOX--XOXO---XO--OX--OXXOX--XOX-OX--XO-----XOX--XOX-OX------OOOOOOO--OOOOOOOX--OX--OX-XOX--X------OX-XOX--XOX----XO---OO--OX-OX--OX-XO---XO-XOX--XO---XO--OX--XO--OX------OX--OX--XO-XOX--XO---XO--O---XO-XO---OO-XOX--X------O---XO--OX--XO-XO---OO------OX--XO-XOX--XOX--XOXXOX--XOXO---XO-XOX--X-XOX--X-XO---XO-XOX--X-----XOX--XOX-OX--XO-----XO---OO--OX-OX--OX-XO---XO-XOX--XO---XO--OX--XO--OX-------------
-------X---XO---XO--OO-XO--OX--XO---XXOOO--OX--OX--XO--OXXO-----------XXOOO-XOXXOXXO----OXXO-------XXOOO--OX--OXXO----OX-OX--XO-----XO----OX-OX------OO-------OOOOOO---XOOXXOO--OOOX-------OX-XO----OX----XO---XO--OX-OX--OX-XOOOOOOXXOX--XOOOOOOX-OX--XO--OX------OX--OX--XO-XOX--XOOOOOOX--XXOOO-XO---XO--OOOX--------XXOOO--OX--XO-XO---XO------O----OXXOX--XO----OXXO-----XOOOOOOX-OOOX---OOOX--XOOOOOOX-OOOX------XO----OX-OX--XO-----XO---XO--OX-OX--OX-XOOOOOOXXOX--XOOOOOOX-OX--XO--OX-------------
-------X---XO---XO--XOXOX--OX--XO-XOOOXOO--OX--OX--XO--OXXO---------XOOOXOO-XOXXOXXO----OXXO-----XOOOXOO--OX--OXXO----OX-OX--XO-----XO----OX-OX------OX-------OX-------OOOOOOO---XOOOX-----OX-XO----OX----XO---XO--OX-OX--OX-XOXXXXX-XOX--XOXXXXX--OX--XO--OX------OX--OX--XO-XOX--XOXXXXX-XOOOXOO-XO---XO---XOOOX----XOOOXOO--OX--XO-XO---XO------O----OXXOX--XO----OXXO-----XOXXXXX---XOOOX--XOOOXXOXXXXX---XOOOX----XO----OX-OX--XO-----XO---XO--OX-OX--OX-XOXXXXX-XOX--XOXXXXX--OX--XO--OX-------------
-------X---XO---XO---OOO---OX--XO-XO---XO--OX--OX--XO--OXXO---XO----XO---XO-XOXXOXXO---XOXXO---XOXO---XO--OX--OXXO---XOX-OX--XO-----XO---XOX-OX------OX-------OX------XOX----OXXX---OX-----OX-XO---XOX----XO---XO--OX-OX--OX-XO----X-XOX--XO----X--OX--XO--OX------OX--OX--XO-XOX--XO----X-XO---XO-XO---XO-XX---OX----XO---XO--OX--XO-XO---XO------OX--XO-XOX--XO---XOXXO---XOXO----X-XX---OXXX---OXXO----X-XX---OX----XO---XOX-OX--XO-----XO---XO--OX-OX--OX-XO----X-XOX--XO----X--OX--XO--OX-------------
-------X----OO-XOO---XOO---OX--XO-XOX-XOO--OX--OX--XO--OX-OO-XOX----XOX-XOO-XOXXOX-OO-XOO--OO-XOXXOX-XOO--OOX-OX-OO-XOO--OX--XO------OO-XOO--OX------OOXXXXXX-OX------XO-----OOXOX-XOX-----OOX-OO-XOO------OO-XOO--OX-OX--OX--OOXXOO-XOX---OOXXOO--OX--XO--OOX-----OOX-OX--XO-XOX---OOXXOO-XOX-XOO--OO-XOO-XOX-XOX----XOX-XOO--OX--XO--OO-XOO------OOXXOO-XOX---OO-XOO--OO-XOX-OOXXOO-XOX-XOXXOX-XOX-OOXXOO-XOX-XOX-----OO-XOO--OX--XO------OO-XOO--OX-OX--OX--OOXXOO-XOX---OOXXOO--OX--XO--OO-------------
-------X----XOOOOO---XOX---OX--XO--OOOOXO--OX--OX--XO--OX-XOOOO------OOOOXO-XOXXOX-XOOOO---XOOOO--OOOOXO--XOO-OX-XOOOO---OX--XO------XOOOO---OX------OOOOOOOX-OX------OX-----XOXXOOOX------XOO-XOOOO-------XOOOOO--OX-OX--OX--XOOOO--XOX---XOOOO---OX--XO--XOO-----XOO-OX--XO-XOX---XOOOO---OOOOXO--XOOOOO--XOOOX------OOOOXO--OX--XO--XOOOOO------OOOOO--XOX---XOOOO---XOOOO--XOOOO---XOOOX--XOOOX--XOOOO---XOOOX------XOOOO---OX--XO------XOOOOO--OX-OX--OX--XOOOO--XOX---XOOOO---OX--XO--XO-------------
-------X-------------XO----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------OX------------------------------------------------------------------------------------------------------------------------------------------------------
-------X------------OOX----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------OX------------------------------------------------------------------------------------------------------------------------------------------------------
-------X-----------XOO-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------O-------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X-------X--------------------X--X----------X-------X---------------XXXX--X-------------------------XXXXX-------------------------------------XX-----------------------------------------------------------------------------------------------------------------------------XXX--------XXX----X--X-------X---------------------XX-----------------------------------------------------------------------------------------------------------------------------XXX--XX-------------------------------
-------X------XOO-------------------OXXOX---------OX-----XOX-------------OOOXOXXOX------------------------OOOOOOO-----------------------------------OOO--------------------XX-----------------------------XX------XXXXXXX-----------------XX---------------------XX---------XX-----OOO------XOOOOOX-XOX-OX-----XO---------------------OOO--------------------XX-----------------------------XX------XXXXXXX-----------------XX---------------------XX---------XX-----OOO--OOO------------XX----------------
-------X------OOO---------------------XOX---------OX-----XOX-------------OX----XOX------------------------OX---XOO----------------------------------OX----------------------------------------------------XX------XX----XX----------------XX--------------------------------XX------XO------OO---OOXXOX--------XO---------------------OX----------------------------------------------------XX------XX----XX----------------XX--------------------------------XX------XO--OX-------------------------------
-------X-----XOXOX--OX---XO--OOOO---O-XOX--OOOO---OOOOX--XOX--OOOX------OOOO-O-XOX--OOOX---XOOOX--XX------OX----OO--OOOO---OXOOX----OOOX---OXOO-----OX-------XXXXX-XXXXXXX-X--XXXXX---XXXXX----XXXX----XXXXX------XX----XX--XXXX---XXXXX-XXXX-XXXXX---XXXX--XXXX-X--XXXXX--XXXX-----XO------OX----O-XOX-O---OOOOO---OOOX---XOOOX------OX-------XXXXX-XXXXXXX-X--XXXXX---XXXXX----XXXX----XXXXX------XX----XX--XXXX---XXXXX-XXXX-XXXXX---XXXX--XXXX-X--XXXXX--XXXX-----XO--OX-----XXXXXXX-X--XX-------------
-------X-----OO-XO--XO---OX-OOXXOO--OXXOX-OOXXOO--OOXXOO-XOX-OOXXOO-----XOOX-OXXOX-OOXXOO-XOXXOO--OO------OX----OO-OOXXOO--OOXXOO--OOXXOO-XOOOO-----OX------XXXXXX--XXXXXX-XX-XXXXXX--XXXXXX--XXXXXX--XXXXXX------XX----XX-XXXXXX--XX-XX-XXXX-XX-XX--XXXXXX-XXXX-XX-XXXXXX-XXXX-----XO------OOOX----XOX-OX-OOXOOO--OOXXOO-XOXXOO------OX------XXXXXX--XXXXXX-XX-XXXXXX--XXXXXX--XXXXXX--XXXXXX------XX----XX-XXXXXX--XX-XX-XXXX-XX-XX--XXXXXX-XXXX-XX-XXXXXX-XXXX-----XO--OX------XXXXXX-XX-XX-------------
-------X-----OX--OX--OX-XOX-O---XO--OXXOX-O---XO--OX--XO-XOXXO---XO------OX--OXXOXXO---XO-XOX--X----------OOOOOOOX-O---XO--OX--XO-XO---XO-XOX-------OX-----XX---XX-----XX--XX-XX--XX--XX--XX--X----X-XX---XX------XXXXXXXXXX---XXX-XX--X--XX--XX--X--XX--XX-XX---XX-XX--XX--XX------XO-------OOOOOX-XOX-OXXO---OO-XO---XO-XOX--X------OX-----XX---XX-----XX--XX-XX--XX--XX--XX--X----X-XX---XX------XXXXXXXXXX---XXX-XX--X--XX--XX--X--XX--XX-XX---XX-XX--XX--XX------XO--OX---------XX--XX-XX-------------
-------X----XOOXXOO--OO-OO---XXOOO--OXXOX--XXOOO--O----OXXOXXOOOOOOX-----OX--OXXOXXOOOOOOX-OOOX-----------OOOOOO----XXOOO--O----OXXOOOOOOXXOX-------OX-----XX----X----XX---XX-X----XX-X----XXXXXXXXXXXX---XX------XXXXXX--XX----XX-XXXX---XX--XXXX--XX------XX---XX-X----XX-XX------XO---------XXOOXXOX-OXXO---XO-XOOOOOOX-OOOX-------OX-----XX----X----XX---XX-X----XX-X----XXXXXXXXXXXX---XX------XXXXXX--XX----XX-XXXX---XX--XXXX--XX------XX---XX-X----XX-XX------XO--OX--------XX---XX-X--------------
-------X----OOOOOOO--XO-OX-XOOOXOO--OXXOXXOOOXOO--O----OXXOXXOXXXXX------OX--OXXOXXOXXXXX---XOOOX---------OX------XOOOXOO--O----OXXOXXXXX-XOX-------OX-----XX----X---XX----XX-X----XX-X----XXXXXXXXX-XX---XX------XX------XX----XX--XXXXX-XX---XXXXXXX------XX---XX-X----XX-XX------XO-----XO-----OOXOX-OXXO---XO-XOXXXXX---XOOOX-----OX-----XX----X---XX----XX-X----XX-X----XXXXXXXXX-XX---XX------XX------XX----XX--XXXXX-XX---XXXXXXX------XX---XX-X----XX-XX------XO--OX-------XX----XX-X--------------
-------X---XOX----OX--OOO--XO---XO--OXXOXXO---XO--OX--XOXXOXXO----X------OX--OXXOXXO----X-XX---OX---------OX------XO---XO--OX--XO-XO----X-XOX-------OX-----XX---XX--XX-----XX-XX---X--XX---X-XX----X-XX---XX------XX------XX----XX-X---XX-XX--X---XXXX---XX-XX---XX-XX---X--XX------XO-----XOX----OXXOX-OXXO---XO-XO----X-XX---OX-----OX-----XX---XX--XX-----XX-XX---X--XX---X-XX----X-XX---XX------XX------XX----XX-X---XX-XX--X---XXXX---XX-XX---XX-XX---X--XX------XO--OX------XX-----XX-XX-------------
-------X---XO-----OO--OOO--XOX-XOO--OXXOXXOX-XOO--OOXXOO-XOX-OOXXOO------OX--OXXOX-OOXXOO-XOX-XOX-XX------OX------XOX-XOO--OOXXOO--OOXXOO-XOX-------OX------XX-XXX-XXX-----XX-XX--XX--XX--XX--XX--XX--XX-XXX------XX-------XX--XX-XXX-XXX-XX-XXX-XXX-XX--XX-XX---XX-XX--XX--XX------XO------OOOXXOOXXOX-OX-OO-XOO--OOXXOO-XOX-XOX-----OX------XX-XXX-XXX-----XX-XX--XX--XX--XX--XX--XX--XX-XXX------XX-------XX--XX-XXX-XXX-XX-XXX-XXX-XX--XX-XX---XX-XX--XX--XX------XO--OX-----XXX-----XX-XX-------------
-------X---OX-----XOX-XOX---OOOOXO--OXXOX-OOOOXO--OOOOO--XOX-XOOOO-------OX--OXXOX-XOOOO---XOOOX--OO------OX-------OOOOXO--OOOOO---XOOOO--XOX-------OX-------XXXXX-XXXXXXX-XX-XXXXX---XXXXX----XXXX----XXXXX------XX--------XXXX---XXXXX--XXX-XXXXX---XXXX--XX---XX-XXXXX---XXX-----XO-------OOOOOX-XOX-OX-XOOOOO--XOOOO---XOOOX------OX-------XXXXX-XXXXXXX-XX-XXXXX---XXXXX----XXXX----XXXXX------XX--------XXXX---XXXXX--XXX-XXXXX---XXXX--XX---XX-XXXXX---XXX-----XO--OX-----XXXXXXX-XX-XX-------------
-------X-------------------------------------------------------------------------------------------------------------------OX-----------------------OX------X---XX------------XX------XX----------------------------------------------------------------------------XX--------------XO------------------------------------------------OX------X---XX------------XX------XX----------------------------------------------------------------------------XX--------------XO--OX----------------XX-------------
-------X-------------------------------------------------------------------------------------------------------------------OX-----------------------OOX-----XX-XXX------------XX------XX----------------------------------------------------------------------------XX-------------XOO------------------------------------------------OOX-----XX-XXX------------XX------XX----------------------------------------------------------------------------XX-------------XOO--OOX---------------XX-------------
-------X-------------------------------------------------------------------------------------------------------------------O------------------------OOX------XXXX-------------X-------X-----------------------------------------------------------------------------X--------------XOO------------------------------------------------OOX------XXXX-------------X-------X-----------------------------------------------------------------------------X--------------XOO--OOX---------------X--------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
---------XOOX--------------------------------X----------------OOOX--------------X--------------------------XX-----------X----------------------X-------------------------XOOX---X---------------OO--------------XX-----X----X-------XX----------------------XX-X---------------OOOX---X--------------XOX--------------X---XXX----------XOOXX--------XX---XXOOX-----XOOXX----XXXOXX----------------------------------------------------------------------------------------------------------X--------------
--------XOOOOO------------------------------XO---------------OOOOOX------------XX--------------------------OX----------XO----------------------OX-----------------------XOOOOO-XO--------------XOO--------------XO----XO---XO-------XO----------------------XO-OX-------------OOOOOX-OX--------------OOO--------------O--XOOOX--------XOOOOOX-----XOOO--XOOOOOO---XOOOOOX--XOOOOOOX---------------------------------------------------------------------------------------------------------X--------------
-------XOX--XO------------------------------OX---------------OX--OO------------OX--------------------------OX----------XO---------------------XO------------------------OO--XO-OX--------------OX---------------OX----OO---XO---------------------------------XO--------------OX--OO-OX--------------OX---------------O--XOOOX-------XOO--XOO-----OOOX--OOX--XOX-XOO--XOX--XOX--------------------------------------------------------------------------------------------------------------X--------------
-------OO----O--OOO---OXOXXOO--XXOO--XX--XXXOO--OOX--XXOO----OX--XXXX--XX-OOX-XOO--OOX--XXOOXXOO--XOOX-----OX-----OOO--XOOO---XOOX--XXOX-OOO--OOO-XOOX--XXOOX--XO-------OO---OXOOX-OOO--XXXOX-XOOX-OOO--XXOO-OOXOX----OX---XO-XXOO--XXXX--XX-OOO--XXOO-OOO--XXOOOXX--XX-------OX--XXOOO-XOOX--XXOOX-OOO-XOOX--XXOX-OOXO-XOOOOX-------XOX---OO----OOOOX--XX---XOX-OOX--XOX--OOX--------------------------------------------------------------------------------------------------------------X--------------
-------OX------OOXOO-XOOOOOXOX-OOXOX-XO--OXXOX-OOXOX-XOOX----OOX---OO--OXOOXOXXOX-OOXOX-XOOOOOOO--OXOO----XO-----OOXOX-XOOOO--OOXO--OOOXOOXOX-OOXXOOOO--OOOOO--OX-------XOX---XOO-OOXOO-XOOOO-XOOXOOXOX-XOOXXOXOOX----OX---OX-OOXOX-OXOX--OXOOXOX-XOOXXOXOO-OXOOXOX--OX-------OOX---OOX-OOXOX-OOOOO-OOXXOOXO--OOOXOOXOO-XOXXOO------XOOX--XOO---XOOOOX------XOOXXOO---XOX--OOOOOX-----------------------------------------------------------------------------------------------------------X--------------
-------OX------OX-XO-XOX-OX-OX-OX-XO-XO--OXXO-XOX-XO-OOX-----XOOO--XO-XO-OX-OXXO-XO--OO-OO-XOX-O-XO--OX---XO----XO--OO-OO-XO-OO--OX-OO-XOX-OO-OO-OO--OX-OX-XO-XOX--------OOO--XO--OX-XO-XOX-OX-O-XOX-OO-OOX-OX-XO-----OX---OX-OX-OX-OXOX-XOXOX-XO-XOX-OO-XO-O-OO-XO-XO--------XOOO--XO-XO--OX-OO-XO-XO-OO--OX-OO-XOX-OOXOO-XXOX------OOX--XOO--XOXXOOX----XOOOX-XOX---XOX-XOOXXOOX----------------------------------------------------------------------------------------------------------X--------------
-------OX-----XO---O-OO-XO--OXXO--XO-OX--O-XO-OOXXOO-OX-------XOOO-XO-OO-OOX--XO-OOXXOO-OX-XO--O--OO------XO-----XXXOX-OX--OXOX--OXXO---XXXOO-OX-OX--OXXO---O-XO---------XOOO-XO--XXXOO-OO--O-XO-OO--XO-OX-XO--XO-----O----OXXO--OX-O-XX-OXXOXXOO-OO--XOX-XXO-OX-XO-OX---------XOOX-XO--XXOOX-OX-XO-XO-OX--OX-OX-XO--OOOOX-XOOX------XOOXOOOX-XOO-XOX-----XOOOX-XOX---XOX-XXX--XOX----------------------------------------------------------------------------------------------------------X--------------
-------OX----XXO--XO-OX-XO--O-XO--XO-OX-XO-XO-OOOOOX-OX-----X---OO--O-OX-XOOX-XO-OOOOOX-OX-OX-XO--XOO-----OO----XOOOOX-O---OXO---OXXO--XOOOOX-OX-O---OXXO---O-OX-----------XOXXO--OOOOX-OX-XO-XO-OX--XO-OX-XO--XO----XO----O-XO--OXXO-XO-O-XOOOOO-OX---OOO-XO-OX-XO-O--------X---OO-OX-XOOOOXXO--XO-OX-O---OXXO--OX--OXOOOOOOOX-------OOOOOOXXOOOXOOOX------XOXXXOX---XOX------XOXX---------------------------------------------------------------------------------------------------------X--------------
-------OX---OOXO--XO-OX-OO-XO-XO--XO-O--XO-OX-OOXXXXXO------O----OX-OOO----OO-OX-OOXXXXXO--OX-XO-X-XOO----OX----OOXXOXXO--XO-O---OXXO--OOXXOX-O--O---OXOX---OXO--------OX---OXXO-XOXXOX-OX-XO-XO-OX--XOXO--XO--XO----XO---XO-OX--O-XO-XOOO-OOXXXX-O-----OOXXO-OX-XOOO--------O----OXOX-OOXXO-XO--OX-OX-O---OXXO--OX--OXOOOOOOOX--------XXXOOXXOOOOOOOXXX----XOXXXOX--XOOX-X----XOX----------------------------------------------------------------------------------------------------------X--------------
-------OO--XOXXO--OO-O--OX-XO-OO--OX-O--OO-OX-OX--OXXO------OX--XOX-OOX-OO--OXOX-OX--O-XO--OX-XX-OX-XO----OX----OX-XO-XO--OO-OX-XO-OX--OX-XOXXO--O--XO-OX---OOO--------OO---OXOX-OX--OX-O--XO-OX-OX--OXXO--XO--OX----XO---OO-OX-XO-XO-XOOX-OO--OX-O--XO--OXOXXO---OOX--------OX--XOXOX-OX-XO-XO--OX-OX-OX-XOXOO--OX-XOXXX---XOX-----XOX--XOX-----XOOX-XOOX--XOX-XOX--XOX-XOX---OOX----------------------------------------------------------------------------------------------------------X--------------
-------XOXXOO-XOXXOX-O--OX-XO-OOXXOX-OXOOX-OO-XOXOO-XO------OOXXOO--OO--XOXXOXOO-XOXOO-XO--O--OX-OO-OO----OOXXX-OO-OO-XOXXOX-OO-OO-OX--OO-OO-XOX-OXXOO-OX---OOX--O-----XOXXOOXOO-OO-OOXXO--OX-OX-OOXOO-XO--XOXXOX-----OOXOOX-OX-XO-OX--OO--XOXXOXXO--XOX-OXOXXOX--OO--XO-----OOXXOO-OX-OXXOO-XO--OX-O--OO-OO-OX--XOXOO------XOX-----XOOXXOOX-----XOO---OOO-XOOX-XOOXXOO--XOOX-OOO-XOX-------------------------------------------------------------------------------------------------------X--------------
--------OOOO---OOOX-XO--OX-OX-OOOOX--OOOOX-OO--OOOX-XO-------OOOOX--OO---OOOX-OO--OOOX-XO-XO--OX-XOOOX---XOOOOO-XOOOO-XOOOX--XOOO--OX--XOOOOX-OO-XOOO--OX---OO--XO------OOOOX-OOXXOOOOXXO--OX-OX--OOOX-XO---OOOOX-----XOOOX--O--XO-OX--OX---OOOX-XO---OOOO-OX-OO--OO--XO------OOOOX-OO-XOOOO-OX--O--O--XOOO--OX---OOOO------XOOX-----XOOOOX------XOX----OOOOOX---XOOOO----XOOOOX--XOX-------------------------------------------------------------------------------------------------------X--------------
---------XX-----XX------------OXXX----X-----X---XX------------XX----OX----XX---X---XX-------------XXX-----XXXXX--XX-----XX----XX--------XX----X---XX--------OX---O-------XXX---X--XX---------------XX--------X---------XXX-------------------XX--------XX-----X---OX--XO-------XX----X--XX--------------XX---------X------------------XXX----------------XXX------XXX-------XXX---XOX-------------------------------------------------------------------------------------------------------X--------------
-----------------------------XO-----------------------------------XOO--------------------------------------------------------------------------------------XO---XX----------------------------------------------------------------------------------------------XOO---OX----------------------------------------------------------------------------------------------------------XO--------------------------------------------------------------------------------------------------------X--------------
-----------------------------XO-----------------------------------XOX-------------------------------------------------------------------------------------XOO---X-----------------------------------------------------------------------------------------------OOX---X-----------------------------------------------------------------------------------------------------------XX--------------------------------------------------------------------------------------------------------X--------------
------------------------------X-----------------------------------XX--------------------------------------------------------------------------------------XO----------------------------------------------------------------------------------------------------XX--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------X------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------O----------------------XO--------------O-OX----XOOO---OOOX------OOOX--XOOO-----------O---XOOO---OOO---XOOX--------XOOOOX--------O-OXXO---------------------XOOOO--O-----OX------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------O----------------------OOX-------------X-OX----OOOOX-XOOOO-----XOOOOX-OOOOX---------OO---OOOOX-OOOOO-XOOOOX-------OOOOOO--------O-XXXX--------------------XOOOOOX-O-----XX------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------X---XX----XX-----------OOO----XX----XX---OX---XO--OO-OX--O-----OO--OX-O--OX--------XOO--XO--XO-OX-XO-XO--OX-------OO--XO---XX---X--------XX----XX---------OO---OO-OXXX------XX----XXX-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------O-XOOOX--XOOOX--------XOXO--XOOOX--OOOXO-OX---XX--XO-O-X-------XX--OX-OX-OX--------OXO--XO--XO-O---OXOX--XO-------OO---O--XOOX--O-XXXX-OOOOX--OOOOX-------OX---XX-OOOOX-XX-OOOO--XOOOX------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------O-OOXOO-XOXOOX--------OO-OX-XOXXOX-OOXXO-OX-------OXXOOOO---------XOX-OOXOX----------O--XO--XOXOX--OXOO--OO-------OOXXOO-XOXXOX-O-OXXO-OOXOO-OOXOOX-------O-------OOXOO-OX-OOXOX-OOXOO------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------O-OX-XO-OO--OX--------OX-OX-XO--OXXO---O-OX------XOX-OOXOO--------OO--OOOO-----------O--XOX-OO-OX-XOXXO--OO-------XOOOOO-OO--OX-O-OXXO-OX-XO-OX-XOX-------O-------OX-XO-OXXO--OX-O--XO------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------O-OX--O-OX--OX--------OXXOO-XO--OOXO---O-OX------OO--OX-XO-XXX---XOX-XOX-OO----------O---OOOOO-XOOOOX-OOOOO-------OOXXXOXOOOOOO-O-OXXO-O--XO-OX--OX-------O-------O--XO-OXXO--XX--XOOO------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------O-OX--O-OX--XX-------XOOOOO-XX--XOXO---O-OX-----OO--XO---OXOOOX-XOO--XO--XO----------O----OXXO--XOXOX-XOXOO-------OO---OOOOOOOX-O-OXXO-O--XO-O---OX-------O-----X-O--XO-OXXO--XX-OOOOO------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------O-OX--O-OX--OX-------OOXXXOXXX--OOXO---O-OX----OOX---O---OXXXX--OO---XO--XO----------O---X--XO-X---OXXX--OO-------OX---OOOX--XX-O-OXXO-O--XO-OX--OX-------OX---XO-O--XO-OXXO--XX-OOXXO------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------O-OX--O-XO-XOX-X-----OX---OOXO--OXXO---O-OX---XOO----OX-XO-----XOX---XO--XO----------O---O--OO-OX-XO-XO--OX-X-----OO--XOXOO--OX-O-OXXO-O--XO-OO-XOX-X-----XOX--OO-O--XO-OXXO--XXXO--OO--X---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------O-OX--O--OOOOX-OX---XOX---XOXOOOO-XO---O-OX---XOOOOX-XOXOO-----OOOOOX-OOXOX-XO-------O---OOXOX-OOXOX-XOOOO--OX----OOOOOO-XOOOOX-O-OXXO-O--XO-XOOOOX-OX-----OOXOOX-O--XO-OXXO--OX-OOXOO-XO---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------O-XX--O--XOOOX-OX---XO-----OXOOOX--O---O-OX---XOOOOO--OOO------OOOOOX-XOOO--XO-------O---XOOX---OOO---OOOX--OX----XOOOOX--XOOX--O-OXXX-O--XX--OOOO--OX-----XOOOX--O--XX-XX-O--XX-XOOXO-XO---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------XX--OX--------------XO----------------------------------------------XO----------------------------------------------------OX---------XX-XO--OX--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------XOXXOX--------------XO----------------------------------------------XX---------------------------------------------------XOX---------OOXOO--O---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
---------------OOOX---------------XX---------------------------------------------------------------------------------------------------OO----------XOOOX------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
----------------XX---------------------------------------------------------------------------------------------------------------------XX-----------XXX-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-------------X-------------------------------------X--------X------------------------X------------------X-----------------------------------XXXXXX----XX---XXXXX---X--XXXX----XXXXXX--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
----------OX-OX------------------------------------OX----O--O------------------------OX-------OX-------XO-----------------------------------OOOOOOX---OO---OOOOOO-XO-XOOOOOX-XOOOOOO--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
----------OX-X-------------------------------------OX----O--X------------------------OX-------OX-------XO-----------------------------------OO--XOO---OOX--OO--XOXXO-XOX-XOO-XOX------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-------X-XOO-X-XXOOX---OOXX-------XXOX-XOO----OOX--OX---OOO-X-XXOO-XOX---OOX------XOXO---OOX-XOOX-XOO--XOOOX---OOO---OOX---OOX---OOX--------OX---XO--XOOX--OO---OXXO-XO---XOXXO-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-------OXXOO-O-XOOOO--OOOOO-------XOOO-OOOO--OOOOX-OX---OOO-O-XOOOOOOO--OOOOX----XOOOO--OOOOXXOOXXOOOO-XOOOO--OOOOX-XOOOX-OOOOX-OOOOX-------OX---OO--OXXO--OX---OXXO-XO----OXXO-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-------OX-OX-O-XOXXOXXOXXOO-------OOXXOO-XOX-OX-OX-OX---XOX-O-OOXXOXXOXXOX-OO----OO-OO-XO--OX-OX-OO-XO-XOX-OX-OX-OO-OX-OX-OX-OO-OX-OX-------OOOOOOX--OX-O--OOXXXOXXO-XO----OXXOOOOOX--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-------OX-OX-O-XO--OXXO--OO-------OO--OOXXOO-X-XOX-OX----O--O-OX-XO--OXXOX-XO----OX--O--X-XOX-OX-X--XO-XO--XO-X-XXO-OOX--XOX-XO-OOX---------OOOOOO---OX-OX-OOOOOO-XO-XO----OXXOOOOOX--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-------OX-OX-O-XX--OXXX--XO-------OO--OOOOOX-XOOOX-OX---XO--O-OX-XO--OXXOOOOO----OX--OX-XOOOX-OX--XOOO-XO--XO--OOOO-XOOX-XOOOOO-OOOX--------OO-XOX--XOOOOO-OOOOX--XO-XO----OXXO-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-------OX-OX-O-XX--OXXO--XO-------OO--OOXXXXXOOXOX-OX---XO--O-OX-XO--OXXOXXXX----OX--O-XOOXOX-OX-OOOXO-XO--XO-OOXOO--XOOOXOXXXX--XOOO-------OX--OO--OOOOOO-OO-----XO-XO----OXXO-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-------OX-OX-O-XX--OXXO--OO-------OO--OX--XXXO--XX-OX---XO--O-OX-XO--OXXO---X----OX--O-XO--OX-OX-OX-XO-XO--OOXO--XO-X--XOXO---X-X--OO-------OX--XOX-OX---OXOO-----XO-XO---XO-XO-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------XOX-OX-O-XX--OX-OXXOO-XX----OO--XO-XOXXO-XOO-OX----OX-O-OX-XO--OX-OX-OO----OO-XO-XO-XOX-OO-OX-OO-XOX-OXXO--OO-OX-OO-OX-OO-OX-OO-XX----OX---OOXO----OXOO-----XO-XOXXXOO-XOXXXXX-X------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------OOX-OOXO-OO--OX-XOOOO-OO----OO---OOOO-XOOOOO-OX----OOXO-OX-XO--OX-OOOOX----XOOOO-XOOOOO-XOXOOOOOXXOOOO--OOOOO-XOOOX-XOOOX-XOOOX-OX----OX---XOOO----OOOO-----XO-XOOOOO--XOOOOOO-OX-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------XX--XX-X-XX--X--XXXOX-XO----XX---XXXX--XOXXX-X-----XX-X-X---X--X---XOX------XOXX--XOXXX--XX-XXXX--XXXX--XOXXX--XOX---XOX---XOX--OX----XX----XXX-----XXX------X--XXXX----XXXXXX-X------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
---------------------XO--OX-XX--------------------------------------------------------------------------------------------------------OX----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
---------------------XOOOOX-X---------------------------------------------------------------------------------------------------------X-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
----------------------XOOX------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------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--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------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-----------------------------------------------------------------XOX-------X----------------------------------------------------------------------------XX---X----X---------------XX-------------------------XX---------------------X----------------------------------------------------------------XOX-------X------------------XX-------------------------XX------------------------------------X-----------------XX-X------------------------------------------------------------X--------------
------O--------------------------OX-------------------------------------OOX------XO--------OX----------------------------------------------------OX------------XO--XOO--OO---------------XO----------------------XO-XO-----------XX----XO-XO----------------------------------------------------------------OOO------XO------------------XOX-----------------------XOX-----------------------------------XOX---------------XOO-OX-----------------------------------------------------------X--------------
------X--------------------------OX-------------------------------------OX--------O--------OX----------------------------------------------------OX------------XO--XOO--OX---------------XX----------------------OO-XO-----------OX----XO--O----------------------------------------------------------------OX--------O--------------------------------------------XOX-----------------------------------XOX---------------XXO-OX-----------------------------------------------------------X--------------
------X-XXOO-XOX---OOX------OOX-XOO-XXOX-XOX---XOOX--XXOX-OO------XOO--XOO-----XOOO--XOOX-XOO--OOO----------OOX--XXOX----XOO--X---XX-XOO---XOOX-XOO--OOX--------O--OOO--OX-XOO------XOO--XOOOX---OOX-XX--X--XX---OOXXOOOX---OOX-XOOX---OOOXOXOX---XOX------XOOX--XXO--OOX---XOO---OOX---OOX--XOO------XOO--XOOX----XOOOXXX--XOOX---XXXOOXXX--XXXOOX----XOOXXX------XOX--XXXXXXXOOX----XOOOX--XXX--XX---XXOOX---OOOX-----OOOOOO-OOOO--X---XX-------------------------------------------------X--------------
------O-XOOOOOOO--OOOOX----OOOOXXOO-OOOXXOOOX-XOOOO--OOOOOOOX----XOOOO-XOO----XOOOO-XOOOO-XOO-OOOOO--------OOOOX-OOOX---XOOOO-OX--OXXOOOO-XOOOO-XOO-OOOOX-------OX-OXOX-O-XOOOO-----OOOO-XOOOO--OOOOXXO-XOX-OX---OOXXOOOO--OOOOXXOOX---OOX-OOOOX-XOOOX----XOOOO--OOOXOOOOX-XOOOO-OOOOX-OOOOX-OOOO-----OOOO-XOOX---XOOOOOXXXOOOOOO--XOOOOXXOX-OOOOOOX--XOOOOOOX-----XOX-XOO-XOOOOOOX--XOOOOOXXXOX--OOX-XOXOOX-XOOOOOO--XOOOOOOO-OOOOX-OX--OX-------------------------------------------------X--------------
------O-OO-OOXXOXXOX-OO----OX-OX-OX-OOX-OX-XO-OO-XOX-OXXOO-OO----OO-XOX-OX----OO-OO-XO--OX-OX-OX-XO-------XOX-OO-OOX----OO-XOXXO--O-OO-XO-XOXXOX-OX-OX-OX-------OX-O-OX-O-OO-XOX---XO-XO-XOXXOXXOX-OOXO-XOX-OX---OO-XOXXOX-OX-OO-OO----XOX-OX-OX-OX-XO----XOX-OX-OOXXOX-OO-OO-XOXOX-OO-OX-OXXO-XO----XOXXOX-OX----OO-OOOXXOOX--OOX-XOOXXXXOXXOOX-XOO-XOOX-XOOX-----XOXXOOX-XOOX-XOO-XOOX-XOOXXOX-XOOX-XOXXOXXOOX--OOX-XOX-XOOO-OO-XO-OO-XO--------------------------------------------------X--------------
------O-OX-XO--OXXOXXOO----OOX---OX-OX-XOXXXO-XX-XOX-O--OX-XO----OX--OO-OX----O--XO-XX-XOX-OX-X-XXO-------XO--XO-OX-----OXXXOXXO-XO-OXXXOXXO--OX-OX-OXX---------XXXO-XXXO-OOXXOX---XOX---XO--OXXO--XO-OXXOXXO----OX-XO--OX-X-XOO-OX----XO--O--XX-OXXXOX---XO--XO-O--XO---O-OX--XXOXXXO-OOX--XOX------OX--OO-OX----OX-XOOX-OOXX-XOXXXOX---XOXXOX--XXO-XOX---OOX-----XOOOOX--XOO---OXXXOO---XOO-OO-XOOOXXOXXOXXOOX--OOOXXOX--XOX-OX--OXXO-XO--------------------------------------------------X--------------
------O-OX-XO--OXXOOOOO----XOOX--OX-OX-XOOOOO--XOOO--O--OX-XO----OX--XO-OX---XO---O--XOOOX-OX--OOOO-------XX---O-OX-----OOOOOX-OXOX-OOOOOXXO--OX-OX-OOOX--------XOXO-XOOX-OOOOOX----OOOX-XO--OXXX---O-OXXOOXO----OO-XO--OX-XOOOX-OX----XO--O--XX-OOOOOX---XO--XO-O--XO---OXOX---XOOOOO-OOOX--OOOX----OX--XO-OX----O---OOX-OOOOOOOXXXOX---XOXXOX--XOO-XOX---XOX-----XOOOOX--XOO---OXXXOX----OX-OOXXOOOXXO-XOXXOOOOOOOXXXX---XXX-O---OXXOXOX--------------------------------------------------X--------------
------O-OX-XO--OXXOXXXX-----XOOO-OX-OX-XOXXXX-OOOXOX-O--OX-XO----OX--XO-OX---XO--XO-XOOXOX-OX-OOXOO-------XO--XO-OX-----OOXXX--OXOX-OOXXX-XO--OX-OX--XOOX--------OOX-XOOX-OOXXX------XOOXXO--OXXO---O-XOOXOOX----OO-XO--OXXOOXOX-OX----XO--O--XX-OXXXX----XO--XO-O--XO---OXOX---XOXXXX--XOOO--OOOX---OX--XO-OX----O---OX-XOOXXXXX-XXOX---XOXXOX--XOO-XOX---OOX-----XOOOOX--XOO---OXXXOX---XOX-XOOOXXOOOX-XOXXOOOXXXXXXXO---XXX-OX--OX-OXOX--------------------------------------------------X--------------
------O-OX-XO--OXXO---X----X--XO-OX-OX-XO---X-OX--OX-O--OX-XO----OX--OO-OX----OX-XO-OO--OX-OXXO--XO-------XO--XO-OX-----OX--XX-XOO--OX--X-XO--OX-OX-X--OO--------OOX--OO--OX--XX---XX--OXXO--OXXO--XO-XOO-OOX----OO-XO--OXXO--XO-OX----XO--O--XX-O---X----XO--OO-O--XO--XO-OX--OOO---X-X--OOXX--OX---OX--OO-OX----OX-XO--XOO----XXXXOX---XOXXOX--XOO-XOX---OOX-----XOX-OOX-XOO---OXXXOO---XOO--OOOX-OOOX-XOXXOOX--XXXXOOX--XOX-OX--OX-OOO---------------------------------------------------X--------------
------O-OX-XO--OX-OX-OO----OX-OO-OX-OX--OO-XO-OX-OOX-O--OX-XO----XO-XOX-OX----OO-OO-OO-XOX-OXXO--OO--X----XOX-OO-OX-----OO-XOX-XOO--OO-XO-XO--OX-OXXOX-OO-X------OOX--OO--OO-XOX---XO--OXXO--OX-OX-OO--OO-OO-----XO-XO--OXXO--OO-OO----XOXXO--XX-OO-XO----XOX-OX-O---OX-OO-OO-XOXOX-OO-OX-OOXO--OX---XO-XOX-OX----OO-OO---OOO--OOX-XOX---XOXXOX--XOO-XOOXXOOOX-----XOX-XOO-XOO---OXX-OOX-XOOX--OOOX-OOO--XOXXXOO--OOX-XOO--OOO-OO-OO--XOO---------------------------------------------------X--------------
------O-OX-XO--OX-XOOOX----XOOOX-OOXOX--XOOOX-OOOOOXXO--OX-XO-----OOOO--OX----XOOOO-XOOOOO-OOXOOOOO-XO-----OOOO--OX-----XOOOO---OX--XOOOO-XO--OX-OOXOOOOX-OX-----OO---OO---OOOO-----OOOO-XO--OX-OOOOX--OO-OO-----XOOXO--OX-OOOOO-XOX----OOXO--OX-XOOOX----XOOOO--O---XOOOX-XOOOX-XOOOX-XOOOX-OOOO-----OOOO--OX----XOOOO----OOOOOO--XOX---XOXXOX--XOO--XOOOOOOX-----XOX--OOOXOO---OOX-XOOOOOX---XOOX-XOO--XOX--OOOOOO---XOOOOOO-OOOOX---OX---------------------------------------------------X--------------
------X-X---X--X---XXX------XXX--XX-X----XXX---XXXXX-X--X---X-----XXX---X------XXXX--XXXXX-XX-XXXXX--O------XXX--X-------XXX----X----XXX---X--X--XX--XXX--X-------X---XX---XXX------XXXX--X--X---XXX---XX-XX------XX-X--X--XXXXX--XX----XX-X--XX--XXX-----XOXXX--X----XXX---XXX---XXX---XXX--XXX------XXXX--X------XXXX-----XXXX----X-----X--X----XX--XXXXXOOX------X----XXXXX---XX---XXXXX-----XX---XX---X----XXXX-----XXXXXX-XXXX----O----------------------------------------------------X--------------
----------------------------------------------------------------------------------------------------XO----------------------------------------------------------------------------------------------------------------------------------------------------XO-----------------------------------------------------------------------------------------XOX--XOO-------------------------------------------------------------------------XO----------------------------------------------------X--------------
----------------------------------------------------------------------------------------------------XX----------------------------------------------------------------------------------------------------------------------------------------------------XO-----------------------------------------------------------------------------------------XOOOOOOX------------------------------------------------------------------------XOX----------------------------------------------------X--------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X-------------------------------------------------------------------------------------------XOOOX-------------------------------------------------------------------------XO-----------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------XX-----------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-----------------------XX---------------------------------OXXO-----------OX----O---------------------------XO-----XX-OX--------------------X------------------------------------------------XO------------------------------------------------XO------------------------------------------------------------XX---------OOOOOOX----------------------------------------------------------XXX---------------------------------------OX-----------------------------------XO-------------------X--------------
-----------------------OX---------------------------------OX-X-----------OX----X---------------------------XO-----OX-X--------------------XO------------------------------------------------XO------------------------------------------------XO------------------------------------------------------------OX---------OOXXOOOX---------------------------------------------------------XOX---------------------------------------XX-----------------------------------XX-------------------X--------------
---------XX----XXX-----OOXX----XX-------XXX----XX-----XX--OX-X--XXX----XXOX----X---XX------XXX--XX----XXX--XO----XOO-----XX--XX---XXX-----OOX--XX-------XXX-------XX----XX----XX--XX----XX--XO--XXX--X---X--------XXX---XXX--X---X--XXX---XXX-XOXXX--XXX--XXX----XX----XX---X---X--XXX------XX--X------XXX-XOX--XXX----X----XOOX-------X----XXX--------XXX----------X---XXX-------XXX---OOOX-------XXXX-----XXXX---XXX------XXXX------XX----XX--------XX-----XX---XXX-------XX----XX--------X--------------
--------OOOO--OOOOX----XOOOX--XOOO-----XOOOX-XOOOO--OOOOX-OXXO-XOOOX--OOOOX----O-XOOOX-----OOO-XOOO--XOOOX-XO----XOO-OXXOOOXOOO--XOOOX----OOO-XOOO-----XOOOX-----XOOO--OOOX--OOOOXOOX-XOOOX-XO-XOOOX-OX-XO-------XOOOX--OOOXXO--XOXOOOO--XOOOXXOOOO--OOOXXOOOX-XOOOX--XOOO--OX-XO-XOOOX----XOOO-XX--XXXOOO-XOO-XOOOX-XO------OOX-OO---XOX-XOOOOX-----XOOOOO--XOX--XXOX-XOOOOX--XOOOOOX-XOOOO-----XXOOOOO---OOOOX-XOOOOX---XOOOOOX-XX-OOOO--XOOOO-----XOOX--OOOOX--OOOO-XO-OOOOX--OOOX-------X--------------
------XXOXXOX-OOXOO----XOXOO--OXXOX----OO-OO-XOXXOX-OO-OO-OXXO-OO-OO-XOXOOX----O-XOXOO----XOOX-OOXOO-OO-OO-XO----XOO-OXXOXXOOXOX-OO-OO----XOXXOXXOO----OOXOO-----OOXOXXOXOOX-OOXOOXOO-OOXOO-XO-OO-OO-XOXOX-------OOXOO-XO-OO-OX-XO-OOXOX-OOXOOXOOXOX-OOOXOOXOO-XOXXO-XOXXOX-OX-XO-OO-OO----OXXOXXO--OXOOXOXXOO-OO-OO-XO------XOO-OO---XOX-OOOOXX----XOOXXXOOXXOO--XOXXXOOXXOOX-XOOXXOOX-OOOX-----XOOXXXOO--OOOOXXOOXXOOO--OOOXXOO-OXXOOXOX-OOXOO----XOXXOX-OOXOO-OOXOOXXO-OOXOO-XOXXOX------X--------------
------OXX--OX-O--XO----OO--OXXO--XO----OX--O-XO--OO-OX-XO-OXXO-O---O-OX--OX----O-XO--OX---XOX-XO--XO-OX--O-XO-----OX-OXXO--OX-OX-O---O----XO-XO--XO----OX--O----XO--XOOX--OX-O--OX-XO-OO--OXXOXO--XO--OOO--------OX--O-XO--X-OX-OX-O--XX-OX-XOXO--OX-OX-XO--XO-XO--OXXO--XO-OX-XO-OO--X----OX-XXXO--O-OX-XX-OX-O---O-XO------XOO-OO---XOX-OOX-------XOO---OOX-OO--OOXXOOX--XOX-XOX--XOX-XOX------XOO--XOOX-OO---XOX---OOXXOX----X-OXXO--OX-O--XO----OO--OO-OX-XO-OX-XOXXO-OX-XO-OX--OX------X--------------
--------XXOOX-O--XO----OX--OXXOOOOO-----XXOO-XO--XO-O---O-OXXOXOOOOOXOX--OX----O-XX--OX---XO--XOOOOO--XXOO-XO-XXX-OX-OXXO--O--OX-OOOOO----XO-XO--XO-----XXOO----XO----OX--OXXO--OX-XO-OX--OXXOXOOOOO--OOX---------XXOO-XOOX--XO-OX-O--XX-O----XO--OX-OX-XO---O-XX--OXXO--XO-OX-XO-OOOX-----OOOX--OXXO-OOOX--OX-OOOOO-XX------XOO-OO---XOX-OOX-------XOOOOOOOX-OOXXOO-XOOOOOOOO-XOX--XOX-XOX------XOO---XOXXOO---XOX---XOXXOX--OX--OXXO--XXXO--XO----OOOOOO-O--XO-O---OXXO-OX-XO-OOOOOX------X--------------
-------XOOOOX-O--XO----OX--OXXOOOOX----OOOOO-XO--XO-O---O-OXXOXOOOOXXOX--OX----O-XX--OX---XO--XOOOOX-OOOOO-XOXOOO-OX-OXXO--O--OX-OOOOX----XO-XX--XO----XOOOO----XO----OX--XXXO--OX-XO-OX--OXXOXOOOOX--XOX--------XOOOO--XOOO-XOXO--O--XX-O----XO--OX-OX-XO---O-XX--OXXX--XO-OX-XO--XOOO-----OOOX-OXXX--XOOX-OX-OOOOX-XX------XOX-OO---XOX-OOX-------XOOOOOOXX-XOXXOX-XOOOXOOXX-XOX--XOX-XOX------XOX---XOXXOO---XOX---XOXXOX--OOO-OXXO--OXXO---O----OOOOOX-O--XO-O---OXXO-OX-XO-OOOOOX------X--------------
------XOOX-OX-O--XO----OX--OXXO---X----OOXXO-XO--XO-O---O-OXXOXOX--X-OX--OX----O-XX--OX---XO--XO---X-OOXXO-XO-XXX-OX-OXXO--O--OXXO---X----XO-XO--XO----OOXXO----XO--XOOX--OXXO--OX-XO-OX--OXXOXO---X--OOO--------OOXXO---XXOX-OOO--O--XX-O---XXO--OX-OX-XO---O-XX--OXXO--XO-OX-XO-X-XOO----X-XOO-XOOX-X-XOO-OXXOX--X-XX-----XOOX-OO---XOX-OOX-------OOX---XXX--XOOOX-XOOX--XXX-XOX--XOX-XOX------XOX---XOX-OO---XOX---XOXXOX--XXOXOXXO--OXXO--XO----OO--XX-O--XO-OX--OXXO-OX-XO-OX--XX------X--------------
------OOX-XOX-O--XO----XO-XOXXO--XX----OX-XO-XOX-OO-OX-XO-OXXO-OX-XO-OO-XOX----O-XX--OX---XO--XOX-XO-OX-XO-XO-----OX-OXXO--O--OX-OX-XO----XO-XO--OO----OX-XO----XOX-OOOO--OX-O--OX-XO-OO-XOXXO-OX-XO-XOXOX-X-----OX-XO-XO--OX-OOX--O--XX-OX-XOXO--OX-OX--OX-XO-XX--OXXO--OO-OX-OO-OX-XO----O--OO-XOO--OX-XO-OX-OX-XO-XOXX--XOOO--OOX-XOOX-OOX-------XOO--XOOX--XOOO--XOOX--XOX-XOX--XOX-XOO------XOOX-XOOX-OO---XOO--XOOXXOOX---OXOXXO--OX-OX-OO----XO--OX-O--XO-OO-XOXXO-OX-XO-OO--OX------X--------------
------XOOXOOX-O--XO----XOOOO--OOXOX----OOXOOXXOOOOX-OOXOX-OXXO-XOXOO-XOOOOX----O-OX--OX---XO---OOXOX-OOXOO-XO-----OO-OXXO--O--OX-OOXOO-----OO-OOXOX----OOXOOX----OOXOXXOXOO-XO--OX-XO-XOOOO-XO-OOXOO-OO-OO-OX----OOXOOXXOXOO--XOX--O--XX-XOXOXXO--OX-OX--OOXOO-OX--OX-OOXOX-OOXOO-OOXOO----OOXOX--OO--OOXOO-OO-OOXOO-XOOOXOOOOX--XOOXOOOX-OOX--------OOOOOOO---XOOX---XOOOOOOX-XOX--XOX-XOOX------OOOOOOX-XOO----OOOXOOX--XOOXXOO-OXXO--OX-XOOOO----XOOOOX-O--XO-XOOOO-XO-OX-XO-XOOOO-------X--------------
-------XOOOOX-O--XX----XOOOX--XOOO-----XOOXOXXOOOX--OOOO--OX-O--OOO---XOOO-----O-XX--O-----O----OOO--XOOXOXXO-----XOXX-XX--O--XX--OOO------OO-XOOO-----XOOXOX----XOOX--XOOX--O--OX-XX-OOOOX-XO--OOO--O---O-OX----XOOXOX-OOOX--XO---O--XX--OOO--O--XX-O----OOO--XX--O--XOOO---OOXX--OOO-----XOOO---OX---OOO--XOX-OOO--XXOOOOOX-----XOOOXX--XOX---------XOOOX-----XOX----XOOOOX--XOX--XXX--XOOX----XOOOOOX---OX-----XOOOX----XOOOOX-XXXO--XX--OOOO-----XOOX--O--XX--OOOO-XO-O--XX--XOOX-------X--------------
---------------------------------------------XO-----O---------------------------------------------------------------------------------------------------------------------------------OX-------------------XX-----------------XO------------------------------------------------------------------OX---------------------------------------------------------------------------------------------XOX---------------------------------------X--XO-----------------X--XO----------------------X--------------
---------------------------------------------XO-----O---------------------------------------------------------------------------------------------------------------------------------OX-------------------O-----------------XOX-----------------------------------------------------------------OO----------------------------------------------------------------------------------------------XOO---------------------------------------OOXOO-----------------OOXOO----------------------X--------------
---------------------------------------------XX-----O---------------------------------------------------------------------------------------------------------------------------------XX-------------------------------------OO-----------------------------------------------------------------XOX----------------------------------------------------------------------------------------------XXX---------------------------------------XOOO------------------XOOOX----------------------X--------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------XX------------------------------------------------------------------X------------------------------------------------------------------------------------------------------------------------------------------XX--------------------XXX-----------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
---------X--------X------------------X---------------------------------------------------XX------------------------------X-----------XX-XX--------------------------X---------------------------------------------------------------------------XX----------------XX--------XO-----------------------------------------------XXXXXXXXXX-XX------------------------------------------------------------------------------------X-------------------------------------------------------------X--------------
---------OX---XO--O-----------XO-----O-------XO------------------------OX----------------OX-----------------------------XO-----------XO-OX------------XO-----------XO-----------------------------OO--------------------------------------------OX----------------XO-------XOO----------------XO-----------------XO---------XOOOOOOOOOX-OO----------------------------------------------------------OOX-----------------------O-------------------------------------------------------------X--------------
---------OX---XO--O-----------XO-------------XO------------------------OX-----------------------------------------------XO-----------XX---------------XO-----------XO-----------------------------OX-----------------------------------------------------------------------XO-----------------XO-----------------XO-------------XOO-----OO----------------------------------------------------------OOX-----------------------O-------------------------------------------------------------X--------------
------X--OX---OOO-OOOO---OOO--OOO----X-XXOOX-OOO--OOX--XXOX-OOO---XOO-XOOX---XX--X--XOO--XX-XOOX---OOXX-----XOOX------OOOO--XOOX---OOOX-XX-XOOX--OOO--OOO--OOX---OOOO-----XOOX-XX--XX-XOOX--XXOO-XOOX---XXOOX--XOO--OOX---XOO---OOX--XOOX--XOO--XX-XOOX---OOXX----XX-XXOO-XOOXXXOX-XOOX--XOOX-OOXXXOOXX--XX--OOX-OOXXX----------XOO-----XOOOOOX---XOOOX---------XOOOOX---XOOOXXX---XOOOX---XXXOOX--XOOOX-XOOOX--------XOOOX---OOOX---OOX----------------------------------------------------X--------------
------OX-OX---OOX-OOOOX-OOXOO-OOX----O-XOOOO-OOX-OOXOX-OOOXOOXOO-XOOOOXOO----OX--OXXOXOO-OX-OOOOX-OOOOO----XOOOOX----OOOOO-XOOOO--OOOOX-OX-OOOO-OOXOO-OOX-OOOOX-OOOOO-----OOOO-XO--OXXOOOO--OOOOX-OOX---XOOOO--OOO-OOXOX-XOXOO-OOXOX-OOOOXXOXOO-OXXOOOOX-OOOOO----XO-OOOOX-OOXXOOXXOOOO--OXOO-OOXXOOOXO--OX-OOXOXOOXXO----------XOO-----OOOOOOOX-XOOOOOOX------XOOOOOOX-XOOOOOOX--OOOOOOX--OOOOOOX-XOOOXXOOXOOOX-----XOOOOOOXXOOOO--OOXOX---------------------------------------------------X--------------
------OO-OX---XOX-OX-OX-OX-XO-XO-----O-OO-XO-XOXXO--OO-OOX-OX-XO-OO-XOXOX----OO--OXXO-XO-OXXOX-OX-OX-OO----XO--OX----OX-OO-OO--OXXOX-OX-OXXO-XOXOX-XO-XO-XO--OO-OX-OO----XO--OX-O--OXOO--OX-OX-OO-OO----XOX-OX-OXXXOX-OO-OO-XOXOX-OO-OX-OXXO-XO-OXXOX-OX-OX-OO----XO-OX-OO-XO-OOX-XO--OXXO--O-OO-XOX-XO--OX-OX-OOXO-XO----------XOO-----OOX-XOOX-OOX--XOX------OOX--OOX-OOX-XOOX-XOO--XOOX-OOX-XOO--OOX-OOX--XXX-----OOX-XOOOXOX-OX-OX-XO---------------------------------------------------X--------------
------OO-OX---XO--O--XX-X-XOO-XO-----O-OX--O-XO-XOXXOO-OX--X-XOO-OX--X-OX----OO--OXXOXX--OXXO--XXXO--XO-----X-XOX---XO--XO-OOXXOOXO--XX-OXOO--XXX-XOO-XO-XOXXOOXO--XO----OOXXOO-OXXO-OOXXOO-O--XO-OX----XO--XO-O--XO---O-OX--XXOXXOO-OOX--XOXX--OXXO--XXXO--XO----XO-O--XO-XX-OO--XXXXOXXOOX--XO-XO--XO--OXXO--XXXO-XO----------XOO-----OO---XOX-OOXXXOOO------XX-XXOOXXOO---XOX-OOOXXXOOX-OO---XOX-OOX-OOOXX--------OO----XX-O--OOXOXXOO---------------------------------------------------X--------------
------OO-OX---XO--O--XX-XOOOO-XO-----O-OX--O-XO-XOOOOO-OX--XOOOO-OX----OX----OO--OX-OOOX-OXXO--XXXO---O-----XOOOX---XO--XO-OOOOOXXX--XX-OXOX----XOOOO-XO-XOOOOXXO--XO----OOOOOX-OXXO-OOOOOX-O--XX-OX----XO--XOXO--XO---OXO----XOOOOO-XOOX--OOOX-OXXO--XXXO---O----XO-O--XO-XO-OO---XOOOX-OOOX-XO-XO--XO--OXXO----XO-XO----------XOO-----OO---XOX-OOOOOOOX------XXOOOOOXXOX----OX-OOOOOOOOX-OO--XXO--OOX-XOOOOOX-----XOO-------O--XOXOOOOO---------------------------------------------------X--------------
------XX-OX---XO--O--XX-OOXXO-XO-----O-OX--O-XO-XOXXXX-OX--OOXXO-OX----OX----OO--OX--XOO-OXXO--OXXO--XO----XOOXOX---XO--XO-OOXXXXXO--XX-OXOX---XOOXXO-XO-XOXXXXXO--XO----OOXXXX-XOOX-OOXXXX-O--XO-OX----XO--XO-O--XO---OXOX---XOXXXX--XOOO--XOO-OXXO--OXXO--XO----XO-O--XO-XO-OO--OOOXOX--XOOXXO-XO--XO--OXXO----XO-XO----------XOO-----OO---XOX-OOXXXXXX-----XOOOXXOOXXOO---XOX-OOOXXXXX--OO--XXO--OOX---XXOOOX----XOO-----XXO--XOXOXXXX---------------------------------------------------X--------------
------XX-OX---XO--O--XX-O--XO-XO-----O-OX--O-XO-XO--XX-OX-XO--XO-OO--OXOX----OO--OXXX--OXOXXO--OX-OX-XO----OO--OX----OX-XO-OX--XXXO--OX-OXOO--OOO--XO-XO-XO--XXXO--XO----OO--XX--OOX-OX--XX-O--XO-OX----XO--OO-O--XO--XO-OX-XOOO--XX-O--OOXX--OXOXXO--OX-O--XO----XO-O--XO-XO-OO--OX--OXXX--OXXO-XO--XO--OXXO--XOXO-XO----------XOO-----OO---XOX-OO----XX-----XOO---OOX-OOX--XOX-OOX---XXX-OO--XXO--OOX-XX---XOX-----OO---XOOOO--OOXO---X---------------------------------------------------X--------------
------OX-OX---XOX-O--XX-OX-OO-XOX----O-OX--O-XOX-OX-OO-OX--OX-OO-XOXXOXOO----XOXOO-XO-XO-OXXO--OX-OOXOO----OO-XOX----OO-OO-XOXXOX-OXXOX-OXXOXXOXOX-OO-XOXXOX-OX-OO-OO----XOXXOX--OO--XOXXOX-O--XO-OO----XOXXOX-O---OX-OO-OO-OOXOX-OO-OX-OOXO-XO-OXXO--OX-OOXOO----XO-O--XO-XO-OO--OO-OOXXO-XOXXOXXO--XOXXOX-OX-OXXOXXOX---------XOO-----OO---XOX-XOO-XOOX-----XOOX-XOOX-XOOXXOOX-XOOX-XOO--OO--XXOX-OOX-OOX-XOOX-----OOO-XOOOOOXXOX-OX-OO---------------------------------------------------X--------------
------O--OX----OOXO--XX-OOOOOX-OO----O-OX--O--OO-XOOO--OX--OOOOO--OOOX-XOX----OOOOX-OOOO-OXXO--OX--OOOO----XOOOOO----XOOOO--OOOO--XOOOX-OX-OOOX-OOOOO--OO-OOOO--XOOOO-----OOOO---OO---OOOO--O--XO-XOO---XOOOO--O---XOOO---OOOX-XOOOX-XOOO--OOOO-OXXO--OX--OOOO----XO-O--XO-XO-OO--XOOOOX-OOOO-XOOXO---OOOOX-XOOO--OO-OO---------XOO-----OO---XOX--XOOOOX-------XOOOOOOO--XOOOOOX--XOOOOOX--OO--XOOX-XOOXXOOOOOX-------XOOOOX-XOOOO--XOOOX---------------------------------------------------X--------------
---------X-----XX-X------XX-X--XX----X--------XX--XXX--X----XX-X---XX---X-----XXX----XX-----X-----X-XXO-----XXX-------XXXX---XX----XXX------XX---XX-X--XX--XX----XXX-------XX----------XX---X------X----XOXX---X----XXX---XXX---XXX---XXX---XX-----------XXXXO-------X-------------XX-----XX---XX-----XXX----XX---XX--X----------X-----------------XXXX---------XXXX----XXXXXXOX---XXXX--------------XX---XXXX---------XXXX---XXX----XXX----------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------OX-OO-------------------------------------------------------------------------------------------------XO-----------------------------------------------OX-OO----------------------------------------------------------------------------------------------------------OOX-XOOX------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------OOOOX-------------------------------------------------------------------------------------------------XO-----------------------------------------------OOOOX----------------------------------------------------------------------------------------------------------XOOOOOX-------------------------------------------------------------------------------------------------------------X--------------
---------------------------------------------------------------------------------------------------OOX---------------------------------------------------------------------------------------------------X------------------------------------------------OOX------------------------------------------------------------------------------------------------------------XOOOX--------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------X------------------------------------------------------------X-------XX---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------O----------------XX-----------------XX-----------------------O----O--XO----------------------------OX----OX--------------------------------------OX----------XX-----------------XX------------------------------------------------OX-------------O--O--------------------------------------XO-----------------XO---------------------------XOO-------XX--XOX-------------------------------------XOX-OO-----------------O-----------------------------XO------------------------------X--------------
------X----------------XO-----------------XO----------------------OO---OO---OX---------------------------X-----OX--------------------------------------OX----------OX-----------------OX------------------------------------------------XX------------XO--X--------------------------------------XO------------------X---------------------------XOO------XOO--XOX-------------------------------------OOXXOO-----------------OX----------------------------XX------------------------------X--------------
------X-XXX-XOO---XOX--OOX-XXXXX--X---XOX-OOX-X--X--XXX--XOX------OX--OOO---XO-----XXOX--XXXX-XOX--X---X-X---OXOX--XOX---XOX------XOX----XO-------XOX--OOXX---XOX--OOX-XXX-XOX----XO--OOX-----XO---XOX---XXO--OX--XXOX-XX---X--X--XXOX--X---XO---XOX--OOX-X--XOX----XOX-----XXOX-XO----XO----XOX-XOXOX---XOX--X-XX---X------XOOX-----XXOX-----XXXXOO------OOOX-XOXXOX---XX----X----XOXX---------XOOX---XOXXOO---XOOX---X----XXOXX---XX--XX----OOX--XXOX-XX---X--XOX-------------------------X--------------
------XXOOOXOOOO--OOOO-OOXXOOOXO--OX-XOOOXOOXXO--OX-OOO-XOOOX----XO---OXO---XO-----OOOOX-OOOXXOOOX-OX--OXXX-OOOOX-XOOOX-XOOOX----XOOOX-XOOOO-----XOOOX-OOOOX--OOOXXOOXXOOXXOOOO--XOOOXOOX----OOOO-XOOOX-XOOOOOOOX-OOOOXOOO-XO--XX-OOOOX-XX-XOOO-XOOOO-OOO-O-XOOOX-XOOOO-----OOOOXOOO--OOOO--XOOOXXOOOO--XOOOX-XOOOX-XO----XOOOOOX--XOOOOOOX--XOOOOOO-----XOOOOXXOOOOOX--OOX--XOX-XOOOOOX------XOOOOOX--XOXXOO--XOOOOX-XOX--XOOO-OX--OXXOOOX--OOOO--OOOOOOOX-XX-XOOO-------------------------X--------------
------XOOOXXO-XOXXO-XO-OO-XOOXOO--OX-OOXOXOOXXO--OX-OOX-OO-OO----XO-----O----OX----OO-OO-OOXXOOXOO-OO--OXOXXOXOOX-OO-OO-OO-OX----OO-OO-XOXXOX----OX-OO-XOXXO-XO-OO-OO-OOOXOO-XO-XOXXOXOO----XOXXOXOO-OO-XOXXOOXOX-OOXOOXXO-XO--OX-OOXOO-OXXOXXOXOO-XO-XOX-O-OO-OO-XOXXOX----OOXOOXXO-XOXXOX-OO-OOXOXXOX-OX-OO-OOXOO-XO----OOO-XOOX-XOOXXOOX-XOOXXOOO------XOOX-XOOXXOOX-OOX--XOX-OOO-XOOX-----OOO-XOOX-XOXXOO-XOOXXOOXXOOX-OOOO-XO--OXOOXOO-XOXXOX-OOXOOXOO-XO-OO-OX------------------------X--------------
-------OO--XX--OXXO--X-XO-OO--OO--OXXO--XXXO-XO--OX-OX-XO--XO----XO-----O----OX----OX-XO-OX--OX--OXXO-XO-OXOO--OXXO--XO-OX-XX----O--XO-XO--OX----O--XO-OX--OXXO--X-OX-OO--XX--O-XO--XXXX----XO--XXOX--OXXO--OX-XX-OX-XO--O-XO--OX-OX-XO-OXXO--XXXX-XO-XO--OXOX--OXXO--OX----OX-XO--O-OO--OO-O--XOXO--OX-O--XO-OX--O-XOX---XX---XOX-XOX--XOX-XOX--XOO------XOO--XOX--XOX-OOX--XOX-OOX--XX------OX---XOX-XOXXOOXOOX--XOOXXOX-OOOO-XO--O-OX--O-XX--OX-OX-OO-XO-XOXO--XX------------------------X--------------
-------OO---XXOOX-OOO--OO-OO--OO--OXXO----XO-XO--OX-O--XOOOOO----OO-----O----OX----O---O-OX--O---OX-O-XO-OXOX--OXXOOOOO-OOOX------XOOO-XX--OX-----XOOO-OX--OXXOOX--OX-OX---XOOO-XO----OO----OO----O---OXXO--O--XX-OX-XO--O-XO--OX-O--XO-OXXO-----XOOO-XO--OXO---OXXO--OX----OX-XO--O-XOOOOOXO----XO--OX--XOOO-OX--O-XO------XOOOOX-XOX--XOXXXOX--XOO------XOO--XOX--XOX-OOX--XOX-XOOOOX---------XOOOOX-XOXXOOXOX----OXXXOOXOOOO--OXXO-OX--O---XOOX-O--XX-XO-XOXO----------------------------X--------------
-------OO--XOOOOX-XOOO-XO-OO--OO--OXXO----XO-XO--OX-O--XOOXXX----OO-----O----OX----O---O-OX--O---OX-OXOX-OXOX--OXXOOXXX--XOOX----OOOOO-XX--OX----OOOOO-OX--OX-XOOO-OX-OO--OOOOO-XO----OO----OX----O---OXXO--O--XX-OX-XO--O-XO--OX-O--XO-OXXO----OOOOO-XO--OXO---OXXO--OX----OX-XO--O-XOXXXXXO----XO--OX-OOOOO-OX--O-XO----OOOOOOOX-XOX--XOXXXOX--XOO------XOO--XOX--XOX-OOX--XOX---XOOOOX-----OOOOOOOX-XOXXOOXOX----OXXXOOOXXXOX-OXOX-OX--O-XOOXOX-O--XX-XO-XOXO----------------------------X--------------
-------OO--OO--OX-X-XOXXO-OO--OO--OXXO--XXXO-XO--OX-O--XO---X----XO-----O----OX----O---O-OX--O---OX-XOO--OXOX--OXXO---X-X-XOO---XOX-XO-XX--OX---XOX-XO-OX--OXXX-XO-OX-OO--OO--O-XO--XXOX----OO--XOO---OXXO--O--XX-OX-XO--O-XO--OX-O--XO-OXXO--XOOX-XO-XO--OXO---OXXO--OX----OX-XO--O-OO--XXXO--XOXO--OXXOX-XO-OX--O-XO---XOOX--XOX-XOX--XOXXXOX--XOO------XOO--XOX--XOX-OOX--XOX-XX--XOOX----XOOX--XOX-XOXXOOXOO---XOOX-XOOXXXO--XOOX-OX--O-OOX-OX-O--XX-XO-XOXO--XO------------------------X--------------
-------OO--OX-XOXXO--OXXO-OO--XO-XOX-OX-OOXO-XO-XOX-O---OX-XO----XO-----O----OX----OX-OO-OX--OO-XOX-XOO--OXXO-XOX-OX-XO-OX-OO---XO--OO-XX--OX---XO--OO-OO-XOXXO--O-OO-OO--OX-XO-XOX-OXXO----XO--OXOO-XO-XO--O--XX-OX-XO--O-XO-XOX-O--XO-OXXOX-OOOX-XO-XOX-O-OO-XO-XO--OX----OX-XO--O-XO--OX-OX-OOXO--OXXO--OO-OX--O-XOX--XOO--XOOX-XOX--XOX-XOO--OOO------XOO--XOX--XOX-OOX-XOOX-OOX--OOX----XOO--XOOX-XOXXOO-OOX--XOO--XOOX-XO--XOO--OX--O-OO--OX-O--XX-XO-XO-OX-OO------------------------X--------------
-------OO--OOOOOXXOOOO-XOXOO--XOOOOX-OOOOXXOO-OOOOX-O---OOOOX----XO-----O---XO-----OOOOX-OX--XOOOO---OO--OX-OOOOX-OOOOX-OOOOX----OOOOO-OO--OX---XOOOOO-OOOOO-XOOOO-XOXOO--OOOOOX-OOOO-XOX----OOOO-XOOOO-XO--OX-OX-OX-XO--O--OOOOX-O--XO-OX-OOOOXOOOOOX-OOXO-XOOOO-XO--OX----OX-XO--O--OOOOX-OOOOXXO--OX-OOOOO-OX--O-XO----OOOOOOOX-XOX--XOX--OOOOOOO-------OOOXXOX--XOX-XOOOOOOX-XOOOOOOX-----OOOOOOOX-OOXXOO-XOOOOOOX--XOOX--O---OO--OX--O-XOOOOO-O--OX-XO-XO-OOOOX------------------------X--------------
-------XX--XOOXXX-XOOX--OXXX---XOOXX--OOX--OO-XOOXX-O----OOO------O-----X---XO-----OOOO--XX---XOO----OX--XX-XOOOX--OOO---OOO-----XOOXO-XX--X-----XOOXO-XXOO---XOOX--OXXX--XOOXXX-XOOX--OX----XOOX--OOO--XX--X--XX-X--XX--X--XOOXX-X--XX-XX-XOOX-XOOXOX-XO-X--OOO--XX--XX----X--XX--X--XOOX---OOX-XX--XX-XOOXO-XX--X--X----XOOOXXOX-XXX--XXX---XOOOOX-------XOOXXX---XXX--XOOOXXX--XOOOX-------XOOOXXOX-XXX-XX--XOOOOX----XX---O---OX--XX--X--OOOXX-X--XX--X-XX--OOX-------------------------X--------------
------------------------------------------------------------------OX--------OX-----O---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------XOX--------------------------------------------------------X--------------
------------------------------------------------------------------XO--------O------O---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------OO---------------------------------------------------------X--------------
-------------------------------------------------------------------O-------XO------O--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------XOX---------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-----------------------------XX------O--XOOX-XX----------------------------O-----X-----------------X------------------------------------------------------X--------XX-------------------X--O------------------XX----------XX------------------------------XX--------------X-----------------------------------------------XXXXXX-----------XX------------X--------------------XOOOOOOOOX--XX-------------------------------------X---------------------------------XX-X---------------------X--------------
-----------------------------OX-----OO-XOOOO-XO----------------------------O-----OX----------------OX-----------------------------------------------------O--------OX-------------------OX-OX-----------------OX----------XO------------------------------OX--------------O-------------------------------------------O--XOOXXOO-----------OO-----------XOX-------------------XOOOOOOOOO-XOX-------------------------------------O---------------------------------XO-OX--------------------X--------------
-----------------------------XX-----O--OX-XO--OX---------------------------------OX---------------XOX----------------------------------------------------XOX-------OX-------------------OX--------------------------------XO------------------------------OX-------------XOX------------------------------------------O--XOOXXOO----------XOO-----------OOX-----------------------OOX----XOX------------------------------------XOX--------------------------------XO-OX--------------------X--------------
------OX-----XOOO--XXOOX--XOOOX----XO--O---OX-OO-----OOOX--OOOX-OOO--O---OXX--XOOO--XOOX--XOOX----OOOXOOOX-OOO--XXOOX--OOOX-XXOOX--XOOO--OOOX-OOO--XXOOX-OOO-------OX-XOOX---OOO--XOOX-XOO-X--XOOX--XOOO------X-XXOOX--XOOOO--OOO--XXOOX---OOO--XXOOX--XOOOX--OOO--XXOOX-OOO-----OOOX--XOOX--OOO--XOOX--XOOX--OOO----XO---OOXXOO-------OOOOOO---XOOOO--XOOOX--XOOOO---------------XOX----XOOOOOX----XOOOX---XOOOOX---XOOOX----X-OOOXO--XX-XOOX-OOO---OOO------OOOX-XO-OX-XOOX-OX-XO--O------X--------------
------OO-----OOXOO-XOOOO--OOOOX----OO-----XOX-XO-----OOXOX-OOOXOOXOO-OX-XO-O-XOXOO--OOXOX-OXXOX---XOO-OOOXOOXOO-XOOOO-XOXOO-XOXOO-XOXXOX-OOO-OOXOX-XOXOO-XOX-------OXXOOOOX-OOXOXXOXOOXXOO-O-XOXOO--OOXOX-----OXXOOOOX-OOOOO-XOXOO-XOOXOX-OOXOX-XOXOO-XOOOOX-OOXOO-XOOOO-XOO----OOXOO-XOXOO-OOXOXXOOOOX-OXOO-XOXOO----OOX-OOXXOO-----XOOOXOOO--OOOXOOO-XOOOXXOOOXOOO--------------XOX----XOOOXOOX--XOOXOOO--OOXXOOX-XOOXOOOX--O-XOXXO--XO-OOOXXOXOO-XOXOO----OOXOO-XO-O-XOXOO-OX-OO-XO------X--------------
-------OX----OX-XO-XO-XOXXO--OX----OX-----OO--XO-----OX-OO-OO--OX-XO-OO-XO-OXOO-XO-XO--XO-OX-XX----OX-OX--O--XO-XO-XO-XO--O-OO-XOXXO--OX-OX-XO--XO-OO-XO-XOX-------OXOO--OO-OX-OOXO--OX-OX-OXOO--OX-OX-OO-----OXXO--OXXOX-OO-OX--OXXOX-OO-O--XO-OO-XO-XO--OX-OX-XO-XO-XO-XOX----OX-XO-OO-XOXOX-OOXO--OXXO--O-OO-XX----OOX-OOXXOO-----XOO--XOO-XOO---OOX-XOX-XOX--XOO--------------XOX----XOOX-XOO-XOO---OOXXOO--XOXXOOX--XOX--O-XOX-O--XO-OO--OX--OXOO-XX----OX--O-XO-OXOO--OXXO-OO-XO------X--------------
------XOO----X-XOO-OX--OXXO--OX----OX----XOX--XO----XO--XO-OX-XO---O-XO-OO-OXOX--OXXOXXOO-OOX------OX-O---X-XOO-OX--O-XOOX--OX--OX-XXOOX-O--XOXXOO-OX--O-XO--------OXOX--XOXO---X-XXOOX-OX-OXOX--OX-O--XX-XXX-OXXO--OXXO--XX-OOXXOXXO--XOXOXXOO-OX--O-OO--OXXOOXOO-XX--OX-O-------XOO-OX--XXO---XOOXXOO-OOX--OOOX-----OOX-OOXXOO-----OOX---OO---XXXOOOX-XOX----XXOOO--------------XOX----XOX--XOO-XOOXXXOOXXOOOXX--XOOOXXOOO--O--O--O--XO-OX--OOXXOXXOOX-------XOO-XO-OXOX--OOXO-OOXOX------X--------------
------OOX----XOOOO-OX--OXXX--XX----OX---XOO----O----XO--XO-OX-XO---OXXO-OX-OXOX--OXXOOOOO-XOOO-----OX-O---XOOOO-OX--O--OOOX-OX--OX-OOOOX-O--XOOOOO-OX--O-XO--------OXOX--XOXO-----OOOOX-OX-OXOX--XX-O--XX-OOO-OXXO--OXXX--XX-OOOOOXXO--XOXOOOOO-OX--O-OX--XXXOOOOO-OX--O-XO-----XOOOO-OX---XO----OOOOOX-XOOO--OOOX----OOX-OOXXOO-----XO----OO--XOOOOOOX-XOX--XOOOOOO--------------XOX----XOX--XOO-XOOOOOOOX-XOOOOX-XOOOOOOOX--O-XO--O--XO-OX--OOOOOX-OOOX----XOOOO-XO-OXOX--XX-OXOOXOX------X--------------
------XXX----OOXXO-OX--OXXO--XX----OX---OO----XO----XO--XO-OX-XO---OX-OOO--OXOX--OXXOXXXX--XOOX----OX-OX-XOOXXO-OX--OX--XOO-OX--OXXOOXOX-O--XOXXXX-OX--O-XO--------OXOX--XOXO---XOOXXOX-OX-OXOX--OX-O--XX-OOO-OXXO--OXXO--XX-OXXXX-XO--XOXOXXXX-OX--O-OX--OXXOXXXX-OX--O-XO-----OOXXO-OX--XXO---XOOXXXX--XOOX--XOO----OOX-OOXXOO-----XOX---OO-XOOOXXOOX-XOX-XOOOXXOO--------------XOX----XOX--XOO-XOOXXXXX----XOOOOXOOXXXXXX--O-XO--O--XO-OX--OXXXX---XOO----OOXXO-XO-OXOX--OO-OOXXOO-------X--------------
-------XX---XO--XO-OX--OXXO--OX----OX--OO-----XO----XOX-XO-OX-XOX-XO--OOO--OXOX-XO-XO--XX-O--OO----OX-OX-XO--XO-OX--O-XX--OXOO--OXOO--OX-O--XO---X-OX--O-XO--------OXOO--OOXO--XOOO--OX-OX-OXOX--OX-O--XX-----OXXO--OXXO--OX-OX--O-XO--OOXO--XX-OX--O-XO--OX-O---O-OX--O--OX---XO--XO-OO--OXOX-XOOO--XXXO--OXXX-XO----OOX-OOXXOO-----XOX--XOO-XOO---OOX-XOX-XOX--XOO--------------XOX----XOX--XOO-XOX---XXXXXX--XOOXOOX--XXX--O--OX-O--OO-OX--OX--OXXX-XOX---OX-XO-XO-OXOO--OX-OOXXOO-------X--------------
------XOX---XOXXOO-OX--OX-OXXOX----OX--OOXXX--XO-----OOXOX-OX--OO-OO--XOX--O-XOXOO--OXXOX-OXXOX----OO-OX-XOXXOO-OX--O-XOXXO-XOXOO-XO-XOX-O---OO-OO-OX--O--OX-OX----OXXOXXOX-OOXOXOO-OOX-OO-OXXOXXOX-O--XX-----OXXO--OX-OOXOO-OOXOO-XOXXOX-OO-OO-OX--O-XOXXOX-OO-OO-OX--O--OX----OXXOO-XOXXO-OO-OXXOXXOXXOXXOXOOXOO----XOX-OOXXOO-----XOOXXOOO-XOOXXOOOX-XOOXXOOXXOOO--XOX---------XOX----XOX--XOO--OOXXXOOXXOOXXXOX-XOOXXOOX--OX-OX-OOXOO-OX--OOXOO-OOXXO----OO-OO-XO-OXXOXXOX-XOX-OO-------X--------------
------OO-----OOOOO-XX--OX-XOOOX----XO--OOOOOX-XO-----OOOO--OX--XOOOX---OX--O--OOOO--XOOO--XOOO-----OOXO---OOOOO-OX--OX-OOOX-OOOOX-XOOOOO-O---XOOOX-OX--O--OO-OX----OX-OOOO--XOOO-XOOOOO-OOXO--OOOX--O--XX-----OXXO--OX-XOOOO--OOOX-XOOOO--XOOO--OX--O--XOOOX-XOOOX-OX--OX-OO----OOOOO--OOOX-XOOO--OOOO--OOOO--OOOX----XOX-OOXXOO------XOOOOOO--XOOOOOOX-XOOXXOOOOOOOX-XOX---------XOX----XOX--XOO---OOOOOX--XOOOOO---XOOOOX---OX-OO-XOOOO-OX---OOOX--OOOX----XOOOOXXO-O--OOOX--XOX-OX-------X--------------
------X-------X---------------------O---------OX----XOX----------X-------------X------X-----X--------------X------------X---OX------X----------X-------------XX--------XX-----X----X-----------X-------------------------X-----X---XO-X-----X-----------X------X-----------------X------X-----X----XX----XX----X------------------------XX-------X-------------X--------------------------------------X-------XX-------XX-----------------------X-----X--------X----------X-----------------X--------------
------------------------------------OX-------XO-----XO----------------------------------------------------------------------OX-------------------------------OX--------------------------------------------------------------------XO-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------------------------------------XO-------XO------O----------------------------------------------------------------------OX-------------------------------X---------------------------------------------------------------------XO-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-------------------------------------X-------XX------X----------------------------------------------------------------------X-------------------------------------------------------------------------------------------------------X-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------X-----------------------------------------------------------------X-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------OX----OO-----------------------------O-------------------------OX-OX----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------OX-----X----------------------------XO-------------------------OX-X-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------X----XXOX-OX---XOO----OO--OXOO--XX-XXOX---XOX---XOX------XOO--OOO----XXO-X---X-XXOO-----XOO-X--XOO-XOX---XOX--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------X---XOOOOOOOX-XOOOO--OOOO-OOOOX-XX-OOOOX-XOOOX-XOOOX----XOOOO-OOO----OOOXO--XO-XOOOO----XOO-O-XOOOOOOO--XOOOX-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
----------XOXXOOXOX-OO-XO-XOXXOXOOXOO-XO-OO-OX-OO-XO-OO-OO----OO-XO-XOX----OOXXO--XO-XOXXO----XOX-OXXOXXOOXOX-OX-OO-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
----------XO--OX-XO-X--XO-OO--XXOX-XO-XO-O--XX-OX-XOXOOX-X----X--XO-XO-----OX--O--XO-OX--O-----OX-O-XO--O--OXXOX-XO-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
----------XO--OX-XX--XOOO-OX----OX-XO-XO-O--XX-OOOOOXXOOX------XOOO-XO-----O---O--XO-OX--O-----OX-O-XX--O--OXXOOOOO-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
----------XO--OX-XX-OOOOO-OX----OX-XO-XO-O--XX-OOXXX--XOOO----OOOXO-XO-----O---O--XO-OX--O-----OX-O-XX--O--OXXOXXXX-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
----------XO--OX-XX-OX-XO-OX--OXOX-XO-XO-O--XX-OX--X-XX-XO----OX--O-XO-----O---O--XO-OX--O-----OX-O-XX--O--OXXO---X-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
----------XO--OX-XX-OX-OO-XO-XOXOX-XO-XO-O--XX-OO-XO-OO-XO----OX-OO-XOX----O---OX-OO-OX--O-----OX-O-XO--O--OX-OX-XO-XX----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------X---XO--OX-XO-OOOOOX-OOOO-OX-XO-XO-O--XO-XOOOO-XOOOO----OOOOOX-OO----O---OOOOO-OX--OX----OOXOXXO-XO--OX-XOOOX-XO----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X-----------X--
------X----X--X--XX-XOOXX--XOO--X---X-XX-X--XX--XOO---XOO-----XOOXX--XX----X----OOXX-XX--X-----XO-X-XX--X--XX--XOX--XX----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X-----O----XO--
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X-----O----XO--
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X-----OX---XO--
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X-----O----XO--
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X-----O----XO--
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X-----O----XO--
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X-----OO---XOOO
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
---------------------------X-----XXXXX---------------------------XXXXX--------X--------------XX---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
---------------------------X-----XXXXXX--------------------------XXXXXX-------XX-------XX---XOO---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
---------------------------X-----XX--XXX-------------------------X---XX----------------XX-----O---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------XX---XXXX---XXX---XXXX-----XX---XX-XXX--X--XX--X-XXX---XXX-X----X--XXX--X--XXXX-XXX-----O---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------XXX--XXXXX-XXXXX-XXXXX-----XX---XXXXXXX-X--XX-XX-XXXX--XXX-X---XX-XXXXX-XX-XXXXX-XX-----O---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------X--XX-XX-XX-XX-XX-XX-----XXXXXX-XX-XX-XX-XX-XXXX--XX-XX--XXXXXX-XX-XX-XX-X--XX-XX-----O---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------XX-X--XX-XX-XX-XX--X-----XXXXXX-X---X-XX-XX-X-XX-XXX-X---XXXXX-XX---X-XXXX--XX-XX-----O---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------XX-X---X-XXXXX-X---X-----XXXX---X---X-XXXXXXX-XXXXXXXX---XXXX--XX---X-XXXX--XX-XX-----O---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------XX-X--XX-XXX---XX--X-----XX-----X---X-XXXXXXX-XX--X-XX---X-----XX---X-XXXX--XX-XX-----O---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------XX-X--XX-X---X-XX--X-----XX-----X---X--XX-XXX-XX--X-XX---X-----XX--XX-XXXX--XX-XX-----O---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-------XX--XX-XX-XX-XX-XX-XX-----XX-----XX-XX--XX-XXX-XX-XXX-X---X------XX-XX-XXXX--XX-XX-----O---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------XXX--XXXX---XXXX--XXXX-----XX------XXXX--XX-XX---XXXX-XX---X------XXXX--XXXX--XX-XXX----O---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-----------X-------X----------------------X-------------X-----------------X-------------------O---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-----------X---------------------------------------------------------------------------------XO---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-----------X---------------------------------------------------------------------------------OO---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
-----------X---------------------------------------------------------------------------------XX---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------X--------------
------XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------