+--------+                                                       
         |        |  +------++-------+                                    
      +--+--------+--+------++-------+-------++--------+                  
      +--+--------+--+------++-------+-------+|        |                  
         |       ++--+------++--+--+-+---++---+---+    |                  
         |    +--++--+------++  |  | |   ||   |   |  +-+----+             
+--------+----+--++--+------++--+--+-+-+-++---+---+--+-+---+|             
|        |    |  ||  |   ++ ||  |  | | | ||   |   |  | |   ||             
+--------+----+--++--+---++-++--+--+-+-+-++---+---+--+-+---+|             
        ++---++--++--+++-++-++--+--+-+-+-++---+---++++-+----+--+          
  +-----++---++--++--+++----++--+--+-+-+-++---+   |||| |    |  |          
  |  +--+++--++--++--+++----++--+--+-+-+-++---+-+-++++-+    |  |          
  |  |   |   ++--++--+++----++--+--+-+-+-++---+---++++ |    |  |          
  |  +---+---++--++--+------++--+--+-+-+--+---+---++++-+    |  |          
  |      +---++--++  |      || ++--+-+-+--+---+---+||| |    |  |          
  |          ||  |   |      ||+++--+-+-+--+---+---+||+-+----+  |          
  |          ||  |   |      ||||+--+ | |  |   |   |||| |       |          
  |     +----++--+---+------+++++----+-+--+---+---++++-+-------+-+        
  | +---+----++--+---+------+++++----+-+--+---+---++|| |       | |        
  | |   |    ||  |   +------+||||    | |  |   |   |||| |       | |        
  | |   +----++--+---+-------++++----+-+--+---+---++++-+-------+-+        
  | |        ||  |   |       ||||    | |  +---+---++++-+-------+          
  | +--------++--+---+-------++++----+-+------++--++   |                  
  |          |+--+---+-------+|++------+----+-++--++---+------------+     
  |          |   |            | |      |    | ||  ||   |            |     
  |          |   |            | +------+----+-++--++---+------------+     
  |          +---+------------+---------------++--++   |                  
  |+---------------+--------------------------++-------++--------------+  
  |+------------------------------------------++-------++                 
  +-------------------------------------------++