                                                                                                                                                                                                                 ------     -----                         
                                                                                                                                                                                                        -   ---------    ----               ----          
                                                                                                                                                                                                       -  -----------------             -------- -        
                                                                                                                                                                                                     -   ---------------              -------             
                                                                                                                                                                                                 ---  -------=--------- -- -      ----                    
                                                                                                                                                                                               -----------=========-------      ----                      
                                                                                                                                                                                            -------====-===++=====------                                  
                                                                                                                                                                                       ----------======+++++====-----                                     
                                                                                                                                                                                    -----=----==++====++++===----                                         
                                                                                                                                                              ----              ----===-==--=+++=====++===--- -                                           
                                                                                                                                                           -------             ---======--==+++====++====-----                                            
                                                                                                                                                         ------        -      ---======-===++=-========------                              ---            
                                                                                                                                                       -------             ----===========++======-===----                                                
                                                                                                                                                        --                ---=====================----                                                    
                                                                                                                                                                 -     ----=====+====-=====-------            --  -                                       
                                                                                                                                                          -------------====+++=+===--====------         -------                                           
                                                                                                                                                        ----=====-=--==++++++++=--===----------         -----                                             
                                                                                                                                                     ------=========++++++==========--=---------       ---                                                
                                                                                                                                                   --=--===-======+++++++++++==========------------------                                                 
                                                                                                                                             -   ---==-===-=====+xx++++xx+++++=========--------------                                                     
                                                                                                                                        ----   ---=--==----===++x++xxxxx+++++++=++======-----------                                                       
                                  -------------                                                                                        ---- ---=======-----=+xxxx#####xxxxx++++++++=====--------=----                                                     
                             --- ---=---------                                                                                       -=------========--===++xxx#######xxxxxxx+++++=========------                                                         
                        -  -----=====-----                                                                                         -====-=============+++xx###########x#xxxxxx++==------                                                                  
                      -----==------                                                                                              --=+===++++++++++++xxxxx###########xxxxxx+++=---                                                                         
                    --=--------                                                                                           -- ----=+++++xx##xxxxxx#################x###xx++=---                                                                            
              - ----=---------                                                                                      --  -==-===+++x######++++xxxx##xx######xxxxxxx++==---                                                                                 
       -    -------==-----                                                                                     --------==+=++++x######xx++++x+++++++x+++++++===-----                                                                                      
      -    ---===--------                                                                               -   ---------===++++++x#####x++================+===---                                                                                            
   --      --=+=--=====--                                                                              ----====----======+++++xxxx++==----------------====--------                                                                                        
----    -----=+=======--                                                                         ----=-=======----==========+++++++=------------------------  ----                                                                                        
----  ------====++=----                                                                         --========------------======+=++++=-----===----------------------  --                                                           --                        
-------------=+x+-----                                                                       -----==----------------======+xxxx+====--====------===========---------                                                          ------       -    -------   
-----------==+x=-----                                                                      -----------------------=====+++++===-----====----==-=-----------------                                             -            ----------     --  ----------- 
--===-----++x+====-                    -                                                 ------------------------==---====---------=++==+===========------                                                   -------    ----------------------------------
-==========+x==------      ------------                    --                           ---------====----------------------------=+xx++========----------                                                  -------     -----------------------------------
==+++=====++=-------     ------------                   ----                         ---------=====---===----------------=------=+++++====---------                                                 -------------   --------------------------------------
+++++++==++==-------------=-==-----                   ----------              ---------------====----===----------------====---=========-------                                               ------------------ -------====-----------------===---=====--
++++++=====------------======-----               -------- -------- ----------------------------------==-- - -----------=-=-------======-----               -                               --------------------------=====-----------------===------------
========+==-----======++++++=----            ----------------------------===---------------==--------=--      ----------------------------               ---                          ------==--------------------==+====-----------------=------------   
----========-=====++++++++===--            -----------------=----=========----------------------------      -----------------------------               ---  ----                -------======-=------------=====++==------------------------- --------   
-----=============+++===----          ----------=====---===+=========----------       ---       -----        ------=--=--==-------      ---            ---- ----            ------==========--==---========+=+++++===------------------  -------------    
--=========++====++=-----           ---------=========++xx++++====-----------                      --       ------=======------          ------ -   ----------           ----=================++=++++++=++++++++==-------------          --------- ---    
======++++++=======---------------------==========+++x##xx+===========------          --- --               ------====-=-----         --  ----=----- ---------   ---------===========++++++++++++xxx+x+++++++===----  -----             - ---------        
=+++++++++++++====-------------------=======+++++x######x++++=========------        ---------- --  - -   ------------------       -------------- --------------------============++++++++++++xxxxxxx+++++=---                            ---------- ------
xxx+xxxx++++==-------------------=======++++++xx######xxx+++++x+++====---------  ---------------------          -----=---       ---====----------------------==----====================++++++++++++==----                          -  ---===--------------
xxxx++++===-----==---------===========++++xx#########xx#######xx+===--------------------------------          -----=----       ---------------------------------=================--==+++++++===-----                      ---  -----==+++++++=======------
x+++++======--------=========++==+++++xxx##################xx++====-------------------=----------          -----------  ---------------==----------------------------------====---=========----              -          -------======+++++=======-------  
+++=============---===+==++++++++++xxx###################x++=========-==-====---==--------------     ---- ---==--===--====+==================-===-------  --- -----------====----===--------            --      -------------=---====++=======----------  
++===========++====++++++++++++xxx##################x+++======================-=--------====----  ---==---==+++++xxx+xx+++==---===++==========---                --------===-------------           -------  -------------------========----------------  
++==========++++++++xxxxx++xxx##################x+++===++++===+++==========-===========+===--  ------=---=++++++++++==-------==+===-----------                 ---------==---=---------        -------------------------------=======---------------------
+++========++xx+xx###xxxxxxx##################xxxxx++++++++++++++++++=======+++x++++++==-----------==--======---------------==----------                    -------==========--------       ---------------------------------=========--------------------
+++======+++x#######xxx##########################xxxxxxxxxxx++++++====++++++++++===------------------------------------------   ------                 ---------==++====------          --------------------------------------=========--------=====-===--
+++====++xx#############################################xx+++=======+======-------   -----------------  -----------------                        ---------===++++==-----------    ----------------------------------------------============+++=======----
++===++xx###########################################xxx+++++++==========----------------------- ----------- ---------        -        ----------------===+++++==------------------------------------------------------==================+++==-------------
+++++xx####################################xxxx++++++++++==========----------------------------- ------  - -  ---- -  ---------  ----------------===++++++========-------------------------------------------------==++============-----------------------
+++xx#################################xx++++++++++++++=======------------------------------------- ---     ---- ---------------------------====++xxxxx+++=====------------------------------------- ------------==+++==========---------------------------
++xx#################################xxxxxxx+x+++==========----------------------------------- ----------------------------------------=+++++++++++++====--------------------------------------------------==============+====----------------------------
x################################xxxx++++=================-------------------------------------------------------------------------==================----------------------------===--------------------=====----===========------------------------------
#######################xxx++++=========================-------------------------------------=============---------------------==========--=========----===--==-=---==------==========------------------------------------=--------------------------------
#####################xx++++====---======++++=======------------------------------------==========----------------------------------------=========================================------------------------------------------------------------------------
###############xx+++++====---=====+++++++=====-----=----===---------------------==========-==---===------------------------------------======+++==++=============+++++++=+++++===-------------------------------------------------------------------------
#########xx+++=====------====+++++++========-=========-=====--===----------------==-----------==========+=--------------======--------====++++++++========++++++xxxx++++++++==----------------------------------------------------------------------------
######xxxx++============+++++++=======-=====================-=-----------=----------=--------=========++====================------=--====+++++=========++x#x+xxxxx++++++====------------------------------------------------------------------------------
#xxxxxxxx+++=======+++++x++===================================----===--====-=========---==========++xxxx++++++=+=======----------==-===++++=====+=====++x##xxx+++++++===----------------------------------------------------------------------------------
xxxxxxx+++++====++++++++===============++=======+++================+===++==++====================++++============---=======-----===++++===============++++++x++======--------------======--=--------------------------=-====-----==----------=-------=----
####x+++==++++++x+++==================+++++++++++++==============================-========-======---============----==========================--=================------------=-=======-=-----------====-----------============-==========--===--=--===----
##x+++++++++++++++====================++++++++++++++=======++========================---==-=-------===---===--==--=========+=============------------------------=========+=+++++==========-==============-------========================---============--
#x+++++xx+++===++++++===========+++++++++++++++++++++==++++++==++++++======++++=======--============---------========================-==------------------==--========+++++xxxx+=+++++=====================----==========================--=============--
xxxxx+++++++++++++++==+++++=++++++++++++++++++xxxxxxxxx#x+++++++x+++++++++xxx++=====+===+====================================----=======---------------======-====================+++=+++===============================================================--
xx+++++++++++++++++++++++++++++xx##x+++xxxxxxxxxxxxxxxxx++++++++xxx##xx###x++++++x+++++================++==+===++==+====================----=======---==================+++++++=======================-===================================================
++xxxxxxxx+++++++++++++++++++x+x#####xxxxxxxxx+++++++xxxxxxx++xx#########x+xxxxx+++============+++++++++++++++++++=========================-===========================++++++++==========--=============-=================================================